http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.02.tar.gz
authorZygo Blaxell <zblaxell@hungrycats.org>
Mon, 2 Mar 2009 05:42:53 +0000 (00:42 -0500)
committerZygo Blaxell <zblaxell@faye.furryterror.org>
Fri, 8 Feb 2013 17:53:49 +0000 (12:53 -0500)
-rw-r--r-- 1 zblaxell zblaxell 2201442 Mar 20  2002 xscreensaver-4.02.tar.gz
b32cf3ed37680669a4a7ea2b945fadb5841fc6b3  xscreensaver-4.02.tar.gz

79 files changed:
README
config.h.in
configure
configure.in
driver/Makefile.in
driver/XScreenSaver.ad.in
driver/XScreenSaver_ad.h
driver/demo-Gtk-conf.c
driver/demo-Gtk.c
driver/lock.c
driver/passwd-pam.c
driver/passwd.c
driver/prefs.c
driver/remote.c
driver/splash.c
driver/subprocs.c
driver/test-passwd.c
driver/test-xdpms.c
driver/timers.c
driver/windows.c
driver/xscreensaver-command.man
driver/xscreensaver-demo.man
driver/xscreensaver-getimage-file
driver/xscreensaver-getimage-file.man
driver/xscreensaver-getimage-video.man
driver/xscreensaver-getimage.c
driver/xscreensaver-getimage.man
driver/xscreensaver.c
driver/xscreensaver.h
driver/xscreensaver.man
driver/xset.c
hacks/Makefile.in
hacks/bsod.c
hacks/bsod.man
hacks/bumps.c
hacks/bumps.h
hacks/compile_axp.com
hacks/compile_decc.com
hacks/config/README
hacks/config/bsod.xml
hacks/config/cubenetic.xml [new file with mode: 0644]
hacks/config/glplanet.xml
hacks/config/pipes.xml
hacks/fluidballs.c [new file with mode: 0644]
hacks/forest.c
hacks/glx/Makefile.in
hacks/glx/boxed.c
hacks/glx/cage.c
hacks/glx/circuit.c
hacks/glx/cubenetic.c [new file with mode: 0644]
hacks/glx/dangerball.c
hacks/glx/extrusion.c
hacks/glx/flipscreen3d.c
hacks/glx/fps.c
hacks/glx/glplanet.c
hacks/glx/glsnake.c
hacks/glx/menger.c
hacks/glx/moebius.c
hacks/glx/molecule.c
hacks/glx/pipes.c
hacks/glx/pulsar.c
hacks/glx/sphere.c
hacks/glx/stairs.c
hacks/images/earth.xbm [deleted file]
hacks/images/earth.xpm [new file with mode: 0644]
hacks/images/macbomb.xbm [new file with mode: 0644]
hacks/screenhack.c
hacks/screenhack.h
hacks/webcollage-helper.c
setup.com
utils/colors.c
utils/compile_axp.com
utils/compile_decc.com
utils/images/logo-180.xpm
utils/images/logo-50.xpm
utils/logo.c
utils/version.h
xscreensaver.lsm
xscreensaver.spec

diff --git a/README b/README
index bd6de77d3f15d8677bfc83973af0cc41401c140e..f6063fde0257c3ca50d9e5c6c178c7e75d73b895 100644 (file)
--- a/README
+++ b/README
@@ -57,17 +57,32 @@ there's no need to recompile or reinstall anything.
                               ============
 
 Along with the xscreensaver daemon itself, this package also includes
                               ============
 
 Along with the xscreensaver daemon itself, this package also includes
-numerous graphics hacks for use as screensavers.  There is nothing magic
-about these: they are just programs that draw on the root window.
-
-More than 140 such programs are included.  For details, see the xscreensaver
-web page, or the enclosed manual pages.
+numerous graphics hacks for use as screensavers.  There is nothing
+magic about these: they are just programs that draw on the root window.
+More than 140 such programs are included.  For details, see the
+xscreensaver web page, or the enclosed manual pages.
 
 The latest version of xscreensaver is always available on the web at
 http://www.jwz.org/xscreensaver/.
 
 
 The latest version of xscreensaver is always available on the web at
 http://www.jwz.org/xscreensaver/.
 
+Looking for tips on writing your own screensavers?  There is an entry in
+the XScreenSaver FAQ about that: http://www.jwz.org/xscreensaver/faq.html
+
                               ============
 
                               ============
 
+Changes since 4.01:   * Plugged a few minor leaks in `xscreensaver' and
+                        `xscreensaver-demo'.
+                      * New hacks, `cubenetic' and `fluidballs'.
+                      * Sped up `pipes'.
+                      * Fixed sphere projection error in `glplanet'; installed
+                        a better image of earth.
+                      * Added Win2K and MacOS 1 crashes to `bsod'.
+                      * Put back previous (better) version of `forest' that
+                        was accidentially downgraded in the last release.
+                      * New version of `bumps'.
+                      * Made FPS computation in GL hacks more efficient: it
+                        will influence the results less, thus resulting in
+                        higher (but more accurate) reported frame rates.
 Changes since 4.00:   * New hacks: `twang', `glsnake', `boxed', `sballs',
                         and `glforestfire'.
                       * New hacks `apollonian', `euler2d', `juggle',
 Changes since 4.00:   * New hacks: `twang', `glsnake', `boxed', `sballs',
                         and `glforestfire'.
                       * New hacks `apollonian', `euler2d', `juggle',
index bb1d104058a93eef4f9890bdb2703bf767aeca81..0a16192a702e7f20b177757d94c73318ff1595e1 100644 (file)
 /* Define this if you have the setrlimit function. */
 #undef HAVE_SETRLIMIT
 
 /* Define this if you have the setrlimit function. */
 #undef HAVE_SETRLIMIT
 
+/* Define if you have the sbrk function.  */
+#define HAVE_SBRK 1
+
 /* Define if you have the <unistd.h> header file.  */
 #undef HAVE_UNISTD_H
 
 /* Define if you have the <unistd.h> header file.  */
 #undef HAVE_UNISTD_H
 
index 14fcbb0430ba27d5ebb2f799c738da193dd0ec55..af5ae0269ad3370f544e759c5440da345d81f879 100755 (executable)
--- a/configure
+++ b/configure
@@ -16,8 +16,7 @@ ac_help="$ac_help
 Installation options:
 
   --with-hackdir=DIR      Where to install the hundreds of demo executables.
 Installation options:
 
   --with-hackdir=DIR      Where to install the hundreds of demo executables.
-                          Default: \`PREFIX/lib/xscreensaver/'
-"
+                          Default: \`PREFIX/lib/xscreensaver/'"
 ac_help="$ac_help
 "
 ac_help="$ac_help
 ac_help="$ac_help
 "
 ac_help="$ac_help
@@ -829,7 +828,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:844: checking host system type" >&5
+echo "configure:843: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
 
 host_alias=$host
 case "$host_alias" in
@@ -852,7 +851,7 @@ echo "$ac_t""$host" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:867: checking for $ac_word" >&5
+echo "configure:866: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -882,7 +881,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:897: checking for $ac_word" >&5
+echo "configure:896: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -933,7 +932,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:948: checking for $ac_word" >&5
+echo "configure:947: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -965,7 +964,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:979: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -976,12 +975,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
 
 cat > conftest.$ac_ext << EOF
 
-#line 991 "configure"
+#line 990 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1007,12 +1006,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1022: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1021: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1027: checking whether we are using GNU C" >&5
+echo "configure:1026: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1021,7 +1020,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1040,7 +1039,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1055: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1054: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1074,7 +1073,7 @@ fi
 
   if test -z "$GCC"; then
     echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6
 
   if test -z "$GCC"; then
     echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6
-echo "configure:1089: checking how to request ANSI compilation" >&5
+echo "configure:1088: checking how to request ANSI compilation" >&5
     case "$host" in
       *-hpux* )
         echo "$ac_t""HPUX: adding -Ae" 1>&6
     case "$host" in
       *-hpux* )
         echo "$ac_t""HPUX: adding -Ae" 1>&6
@@ -1097,16 +1096,16 @@ echo "configure:1089: checking how to request ANSI compilation" >&5
   fi
 
   echo $ac_n "checking whether the compiler works on ANSI C""... $ac_c" 1>&6
   fi
 
   echo $ac_n "checking whether the compiler works on ANSI C""... $ac_c" 1>&6
-echo "configure:1112: checking whether the compiler works on ANSI C" >&5
+echo "configure:1111: checking whether the compiler works on ANSI C" >&5
   if test "$cross_compiling" = yes; then
   { echo "configure: error: Couldn't build even a trivial ANSI C program: check CC." 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
   if test "$cross_compiling" = yes; then
   { echo "configure: error: Couldn't build even a trivial ANSI C program: check CC." 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 1117 "configure"
+#line 1116 "configure"
 #include "confdefs.h"
  main(int ac, char **av) { return 0; } 
 EOF
 #include "confdefs.h"
  main(int ac, char **av) { return 0; } 
 EOF
-if { (eval echo configure:1121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   echo "$ac_t""yes" 1>&6
 else
 then
   echo "$ac_t""yes" 1>&6
 else
@@ -1141,7 +1140,7 @@ fi
 if test -n "$GCC"; then
    if test -n "$GCC"; then
    echo $ac_n "checking whether gcc accepts -std""... $ac_c" 1>&6
 if test -n "$GCC"; then
    if test -n "$GCC"; then
    echo $ac_n "checking whether gcc accepts -std""... $ac_c" 1>&6
-echo "configure:1156: checking whether gcc accepts -std" >&5
+echo "configure:1155: checking whether gcc accepts -std" >&5
 if eval "test \"`echo '$''{'ac_cv_gcc_accepts_std'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_gcc_accepts_std'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1185,7 +1184,7 @@ echo "$ac_t""$ac_cv_gcc_accepts_std" 1>&6
   fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
   fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1200: checking how to run the C preprocessor" >&5
+echo "configure:1199: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1200,13 +1199,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1215 "configure"
+#line 1214 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1217,13 +1216,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1232 "configure"
+#line 1231 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1234,13 +1233,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1249 "configure"
+#line 1248 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1255: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1265,12 +1264,12 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1280: checking for working const" >&5
+echo "configure:1279: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1285 "configure"
+#line 1284 "configure"
 #include "confdefs.h"
 
 int main() {
 #include "confdefs.h"
 
 int main() {
@@ -1319,7 +1318,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1334: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1340,21 +1339,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1355: checking for inline" >&5
+echo "configure:1354: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 1362 "configure"
+#line 1361 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1369: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1379,9 +1378,104 @@ EOF
  ;;
 esac
 
  ;;
 esac
 
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:1394: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1399 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:1410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_cygwin=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:1427: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1432 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:1439: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_mingw32=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1458: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+  ac_cv_exeext=.exe
+else
+  rm -f conftest*
+  echo 'int main () { return 0; }' > conftest.$ac_ext
+  ac_cv_exeext=
+  if { (eval echo configure:1468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+    for file in conftest.*; do
+      case $file in
+      *.c | *.o | *.obj) ;;
+      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+      esac
+    done
+  else
+    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+  fi
+  rm -f conftest*
+  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
 ac_bc_result=`echo 6+9 | bc 2>/dev/null`
   echo $ac_n "checking for bc""... $ac_c" 1>&6
 ac_bc_result=`echo 6+9 | bc 2>/dev/null`
   echo $ac_n "checking for bc""... $ac_c" 1>&6
-echo "configure:1396: checking for bc" >&5
+echo "configure:1490: checking for bc" >&5
   if test "$ac_bc_result" = "15" ; then
     echo "$ac_t""yes" 1>&6
   else
   if test "$ac_bc_result" = "15" ; then
     echo "$ac_t""yes" 1>&6
   else
@@ -1406,7 +1500,7 @@ echo "configure:1396: checking for bc" >&5
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1421: checking for a BSD compatible install" >&5
+echo "configure:1515: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1459,7 +1553,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether \"\${INSTALL} -d\" creates intermediate directories""... $ac_c" 1>&6
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether \"\${INSTALL} -d\" creates intermediate directories""... $ac_c" 1>&6
-echo "configure:1474: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
+echo "configure:1568: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
 if eval "test \"`echo '$''{'ac_cv_install_d_creates_dirs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_install_d_creates_dirs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1481,7 +1575,7 @@ echo "$ac_t""$ac_cv_install_d_creates_dirs" 1>&6
 
   if test "$ac_cv_install_d_creates_dirs" = no ; then
     echo $ac_n "checking whether \"mkdir -p\" creates intermediate directories""... $ac_c" 1>&6
 
   if test "$ac_cv_install_d_creates_dirs" = no ; then
     echo $ac_n "checking whether \"mkdir -p\" creates intermediate directories""... $ac_c" 1>&6
-echo "configure:1496: checking whether \"mkdir -p\" creates intermediate directories" >&5
+echo "configure:1590: checking whether \"mkdir -p\" creates intermediate directories" >&5
 if eval "test \"`echo '$''{'ac_cv_mkdir_p_creates_dirs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_mkdir_p_creates_dirs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1512,7 +1606,7 @@ echo "$ac_t""$ac_cv_mkdir_p_creates_dirs" 1>&6
   fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
   fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1527: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1621: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1548,12 +1642,12 @@ INSTALL_SCRIPT='${INSTALL}'
 
 # random libc stuff
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
 
 # random libc stuff
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1563: checking for ANSI C header files" >&5
+echo "configure:1657: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1568 "configure"
+#line 1662 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1561,7 +1655,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1670: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1578,7 +1672,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1593 "configure"
+#line 1687 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1596,7 +1690,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1611 "configure"
+#line 1705 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1617,7 +1711,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1632 "configure"
+#line 1726 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1628,7 +1722,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
 exit (0); }
 
 EOF
-if { (eval echo configure:1643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
 then
   :
 else
@@ -1655,17 +1749,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1670: checking for $ac_hdr" >&5
+echo "configure:1764: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1675 "configure"
+#line 1769 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1774: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1692,12 +1786,12 @@ fi
 done
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
 done
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:1707: checking for mode_t" >&5
+echo "configure:1801: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1712 "configure"
+#line 1806 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1725,12 +1819,12 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1740: checking for pid_t" >&5
+echo "configure:1834: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1745 "configure"
+#line 1839 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1758,12 +1852,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1773: checking for size_t" >&5
+echo "configure:1867: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1778 "configure"
+#line 1872 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1791,12 +1885,12 @@ EOF
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1806: checking return type of signal handlers" >&5
+echo "configure:1900: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1811 "configure"
+#line 1905 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -1813,7 +1907,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:1828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -1832,12 +1926,12 @@ EOF
 
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
 
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1847: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1941: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1852 "configure"
+#line 1946 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -1846,7 +1940,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:1861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -1867,12 +1961,12 @@ EOF
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1882: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1976: checking for sys/wait.h that is POSIX.1 compatible" >&5
 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1887 "configure"
+#line 1981 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1888,7 +1982,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -1913,12 +2007,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:1928: checking for $ac_hdr that defines DIR" >&5
+echo "configure:2022: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1933 "configure"
+#line 2027 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -1926,7 +2020,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:1941: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -1951,7 +2045,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:1966: checking for opendir in -ldir" >&5
+echo "configure:2060: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1959,7 +2053,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1974 "configure"
+#line 2068 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1970,7 +2064,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1992,7 +2086,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:2007: checking for opendir in -lx" >&5
+echo "configure:2101: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2000,7 +2094,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2015 "configure"
+#line 2109 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2011,7 +2105,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:2026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2034,12 +2128,12 @@ fi
 fi
 
 echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6
-echo "configure:2049: checking how to call gettimeofday" >&5
+echo "configure:2143: checking how to call gettimeofday" >&5
   if eval "test \"`echo '$''{'ac_cv_gettimeofday_args'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
   if eval "test \"`echo '$''{'ac_cv_gettimeofday_args'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2054 "configure"
+#line 2148 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                     #include <sys/time.h>
 #include "confdefs.h"
 #include <stdlib.h>
                     #include <sys/time.h>
@@ -2048,7 +2142,7 @@ struct timeval tv; struct timezone tzp;
                     gettimeofday(&tv, &tzp);
 ; return 0; }
 EOF
                     gettimeofday(&tv, &tzp);
 ; return 0; }
 EOF
-if { (eval echo configure:2063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_gettimeofday_args=2
 else
   rm -rf conftest*
   ac_gettimeofday_args=2
 else
@@ -2056,7 +2150,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 2071 "configure"
+#line 2165 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <sys/time.h>
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <sys/time.h>
@@ -2064,7 +2158,7 @@ int main() {
 struct timeval tv; gettimeofday(&tv);
 ; return 0; }
 EOF
 struct timeval tv; gettimeofday(&tv);
 ; return 0; }
 EOF
-if { (eval echo configure:2079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2173: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_gettimeofday_args=1
 else
   rm -rf conftest*
   ac_gettimeofday_args=1
 else
@@ -2100,15 +2194,15 @@ EOF
     echo "$ac_t""unknown" 1>&6
   fi
 
     echo "$ac_t""unknown" 1>&6
   fi
 
-for ac_func in select fcntl uname nice setpriority getcwd getwd putenv
+for ac_func in select fcntl uname nice setpriority getcwd getwd putenv sbrk
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2118: checking for $ac_func" >&5
+echo "configure:2212: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2123 "configure"
+#line 2217 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2131,7 +2225,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:2146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2159,12 +2253,12 @@ done
 for ac_func in sigaction syslog realpath setrlimit
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
 for ac_func in sigaction syslog realpath setrlimit
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2174: checking for $ac_func" >&5
+echo "configure:2268: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2179 "configure"
+#line 2273 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2187,7 +2281,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:2202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2212,12 +2306,12 @@ fi
 done
 
 echo $ac_n "checking for struct icmp""... $ac_c" 1>&6
 done
 
 echo $ac_n "checking for struct icmp""... $ac_c" 1>&6
-echo "configure:2227: checking for struct icmp" >&5
+echo "configure:2321: checking for struct icmp" >&5
 if eval "test \"`echo '$''{'ac_cv_have_icmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_have_icmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2232 "configure"
+#line 2326 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
@@ -2257,7 +2351,7 @@ struct icmp i;
                    
 ; return 0; }
 EOF
                    
 ; return 0; }
 EOF
-if { (eval echo configure:2272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2366: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_icmp=yes
 else
   rm -rf conftest*
   ac_cv_have_icmp=yes
 else
@@ -2277,12 +2371,12 @@ EOF
 
  fi
 echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6
 
  fi
 echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6
-echo "configure:2292: checking for struct icmphdr" >&5
+echo "configure:2386: checking for struct icmphdr" >&5
 if eval "test \"`echo '$''{'ac_cv_have_icmphdr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_have_icmphdr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2297 "configure"
+#line 2391 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
@@ -2317,7 +2411,7 @@ struct icmphdr i;
                    ip.ip_hl = 0;
 ; return 0; }
 EOF
                    ip.ip_hl = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:2332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_icmphdr=yes
 else
   rm -rf conftest*
   ac_cv_have_icmphdr=yes
 else
@@ -2340,17 +2434,17 @@ for ac_hdr in crypt.h sys/select.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2355: checking for $ac_hdr" >&5
+echo "configure:2449: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2360 "configure"
+#line 2454 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2365: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2381,7 +2475,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2396: checking for $ac_word" >&5
+echo "configure:2490: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2420,7 +2514,7 @@ done
     PERL_VERSION=0
   else
     echo $ac_n "checking perl version""... $ac_c" 1>&6
     PERL_VERSION=0
   else
     echo $ac_n "checking perl version""... $ac_c" 1>&6
-echo "configure:2435: checking perl version" >&5
+echo "configure:2529: checking perl version" >&5
 if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2442,7 +2536,7 @@ fi
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:2457: checking for X" >&5
+echo "configure:2551: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -2504,12 +2598,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 2519 "configure"
+#line 2613 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2578,14 +2672,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2593 "configure"
+#line 2687 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:2600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -2691,17 +2785,17 @@ else
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:2706: checking whether -R must be followed by a space" >&5
+echo "configure:2800: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 2709 "configure"
+#line 2803 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -2717,14 +2811,14 @@ rm -f conftest*
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 2732 "configure"
+#line 2826 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -2756,7 +2850,7 @@ rm -f conftest*
     # libraries were built with DECnet support.  And karl@cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
     # libraries were built with DECnet support.  And karl@cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:2771: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2865: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2764,7 +2858,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2779 "configure"
+#line 2873 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2775,7 +2869,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2797,7 +2891,7 @@ fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:2812: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2906: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2805,7 +2899,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2820 "configure"
+#line 2914 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2816,7 +2910,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2845,12 +2939,12 @@ fi
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:2860: checking for gethostbyname" >&5
+echo "configure:2954: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2865 "configure"
+#line 2959 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2873,7 +2967,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:2888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -2894,7 +2988,7 @@ fi
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2909: checking for gethostbyname in -lnsl" >&5
+echo "configure:3003: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2902,7 +2996,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2917 "configure"
+#line 3011 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2913,7 +3007,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2943,12 +3037,12 @@ fi
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:2958: checking for connect" >&5
+echo "configure:3052: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2963 "configure"
+#line 3057 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -2971,7 +3065,7 @@ connect();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:2986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -2992,7 +3086,7 @@ fi
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:3007: checking for connect in -lsocket" >&5
+echo "configure:3101: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3000,7 +3094,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3015 "configure"
+#line 3109 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3011,7 +3105,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:3026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3035,12 +3129,12 @@ fi
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:3050: checking for remove" >&5
+echo "configure:3144: checking for remove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3055 "configure"
+#line 3149 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -3063,7 +3157,7 @@ remove();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:3078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -3084,7 +3178,7 @@ fi
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:3099: checking for remove in -lposix" >&5
+echo "configure:3193: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3092,7 +3186,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3107 "configure"
+#line 3201 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3103,7 +3197,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:3118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3127,12 +3221,12 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:3142: checking for shmat" >&5
+echo "configure:3236: checking for shmat" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3147 "configure"
+#line 3241 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -3155,7 +3249,7 @@ shmat();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:3170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -3176,7 +3270,7 @@ fi
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:3191: checking for shmat in -lipc" >&5
+echo "configure:3285: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3184,7 +3278,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3199 "configure"
+#line 3293 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3195,7 +3289,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:3210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3228,7 +3322,7 @@ fi
   # libraries we check for below, so use a different variable.
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
   # libraries we check for below, so use a different variable.
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:3243: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3337: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3236,7 +3330,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3251 "configure"
+#line 3345 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3247,7 +3341,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:3262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3278,7 +3372,7 @@ fi
 
 
     echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6
 
 
     echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6
-echo "configure:3293: checking for X app-defaults directory" >&5
+echo "configure:3387: checking for X app-defaults directory" >&5
 if eval "test \"`echo '$''{'ac_cv_x_app_defaults'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_x_app_defaults'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3485,7 +3579,7 @@ case "$host" in
 
         # Some versions of Slowlaris Motif require -lgen.  But not all.  Why?
         echo $ac_n "checking for regcmp in -lgen""... $ac_c" 1>&6
 
         # Some versions of Slowlaris Motif require -lgen.  But not all.  Why?
         echo $ac_n "checking for regcmp in -lgen""... $ac_c" 1>&6
-echo "configure:3500: checking for regcmp in -lgen" >&5
+echo "configure:3594: checking for regcmp in -lgen" >&5
 ac_lib_var=`echo gen'_'regcmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gen'_'regcmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3493,7 +3587,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3508 "configure"
+#line 3602 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3504,7 +3598,7 @@ int main() {
 regcmp()
 ; return 0; }
 EOF
 regcmp()
 ; return 0; }
 EOF
-if { (eval echo configure:3519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3528,7 +3622,7 @@ fi
     ;;
   esac
 echo $ac_n "checking for XPointer""... $ac_c" 1>&6
     ;;
   esac
 echo $ac_n "checking for XPointer""... $ac_c" 1>&6
-echo "configure:3543: checking for XPointer" >&5
+echo "configure:3637: checking for XPointer" >&5
 if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3539,14 +3633,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 3554 "configure"
+#line 3648 "configure"
 #include "confdefs.h"
 #include <X11/Xlib.h>
 int main() {
 XPointer foo = (XPointer) 0;
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <X11/Xlib.h>
 int main() {
 XPointer foo = (XPointer) 0;
 ; return 0; }
 EOF
-if { (eval echo configure:3561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_xpointer=yes
 else
   rm -rf conftest*
   ac_cv_xpointer=yes
 else
@@ -3584,17 +3678,17 @@ have_xmu=no
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/Xmu/Error.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Xmu/Error.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/Xmu/Error.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Xmu/Error.h""... $ac_c" 1>&6
-echo "configure:3599: checking for X11/Xmu/Error.h" >&5
+echo "configure:3693: checking for X11/Xmu/Error.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3604 "configure"
+#line 3698 "configure"
 #include "confdefs.h"
 #include <X11/Xmu/Error.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/Xmu/Error.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3703: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3643,7 +3737,7 @@ if test "$have_xmu" = yes ; then
   case "$host" in
     *-sunos4*)
     echo $ac_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug""... $ac_c" 1>&6
   case "$host" in
     *-sunos4*)
     echo $ac_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug""... $ac_c" 1>&6
-echo "configure:3658: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
+echo "configure:3752: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
 if eval "test \"`echo '$''{'ac_cv_sunos_xmu_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_sunos_xmu_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3656,14 +3750,14 @@ else
                     # with X libraries because we know it's SunOS.
                     LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
                     cat > conftest.$ac_ext <<EOF
                     # with X libraries because we know it's SunOS.
                     LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
                     cat > conftest.$ac_ext <<EOF
-#line 3671 "configure"
+#line 3765 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_sunos_xmu_bug=no
 else
   rm -rf conftest*
   ac_cv_sunos_xmu_bug=no
 else
@@ -3679,21 +3773,21 @@ fi
 echo "$ac_t""$ac_cv_sunos_xmu_bug" 1>&6
     if test "$ac_cv_sunos_xmu_bug" = yes ; then
       echo $ac_n "checking whether the compiler understands -static""... $ac_c" 1>&6
 echo "$ac_t""$ac_cv_sunos_xmu_bug" 1>&6
     if test "$ac_cv_sunos_xmu_bug" = yes ; then
       echo $ac_n "checking whether the compiler understands -static""... $ac_c" 1>&6
-echo "configure:3694: checking whether the compiler understands -static" >&5
+echo "configure:3788: checking whether the compiler understands -static" >&5
 if eval "test \"`echo '$''{'ac_cv_ld_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
                       LDFLAGS="$LDFLAGS -static"
                       cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_ld_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
                       LDFLAGS="$LDFLAGS -static"
                       cat > conftest.$ac_ext <<EOF
-#line 3701 "configure"
+#line 3795 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_ld_static=yes
 else
   rm -rf conftest*
   ac_cv_ld_static=yes
 else
@@ -3832,7 +3926,7 @@ fi
 
     /*)
      echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6
-echo "configure:3847: checking for SGI SCREEN_SAVER headers" >&5
+echo "configure:3941: checking for SGI SCREEN_SAVER headers" >&5
      d=$with_sgi/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_sgi/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -3842,7 +3936,7 @@ echo "configure:3847: checking for SGI SCREEN_SAVER headers" >&5
      fi
 
      echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6
-echo "configure:3857: checking for SGI SCREEN_SAVER libs" >&5
+echo "configure:3951: checking for SGI SCREEN_SAVER libs" >&5
      d=$with_sgi/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_sgi/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -3875,17 +3969,17 @@ if test "$with_sgi" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XScreenSaver.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XScreenSaver.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XScreenSaver.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XScreenSaver.h""... $ac_c" 1>&6
-echo "configure:3890: checking for X11/extensions/XScreenSaver.h" >&5
+echo "configure:3984: checking for X11/extensions/XScreenSaver.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3895 "configure"
+#line 3989 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XScreenSaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/XScreenSaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3942,7 +4036,7 @@ fi
 
     /*)
      echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6
-echo "configure:3957: checking for MIT-SCREEN-SAVER headers" >&5
+echo "configure:4051: checking for MIT-SCREEN-SAVER headers" >&5
      d=$with_mit/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_mit/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -3952,7 +4046,7 @@ echo "configure:3957: checking for MIT-SCREEN-SAVER headers" >&5
      fi
 
      echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6
-echo "configure:3967: checking for MIT-SCREEN-SAVER libs" >&5
+echo "configure:4061: checking for MIT-SCREEN-SAVER libs" >&5
      d=$with_mit/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_mit/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -3985,17 +4079,17 @@ if test "$with_mit" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/scrnsaver.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/scrnsaver.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/scrnsaver.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/scrnsaver.h""... $ac_c" 1>&6
-echo "configure:4000: checking for X11/extensions/scrnsaver.h" >&5
+echo "configure:4094: checking for X11/extensions/scrnsaver.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4005 "configure"
+#line 4099 "configure"
 #include "confdefs.h"
 #include <X11/extensions/scrnsaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/scrnsaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4104: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4040,7 +4134,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6
-echo "configure:4055: checking for XScreenSaverRegister in -lXext" >&5
+echo "configure:4149: checking for XScreenSaverRegister in -lXext" >&5
 ac_lib_var=`echo Xext'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xext'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4048,7 +4142,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4063 "configure"
+#line 4157 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4059,7 +4153,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:4074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4106,7 +4200,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6
-echo "configure:4121: checking for XScreenSaverRegister in -lXExExt" >&5
+echo "configure:4215: checking for XScreenSaverRegister in -lXExExt" >&5
 ac_lib_var=`echo XExExt'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo XExExt'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4114,7 +4208,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXExExt -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXExExt -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4129 "configure"
+#line 4223 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4125,7 +4219,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:4140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4175,7 +4269,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6
-echo "configure:4190: checking for XScreenSaverRegister in -lXss" >&5
+echo "configure:4284: checking for XScreenSaverRegister in -lXss" >&5
 ac_lib_var=`echo Xss'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xss'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4183,7 +4277,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXss -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXss -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4198 "configure"
+#line 4292 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4194,7 +4288,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:4209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4260,7 +4354,7 @@ fi
 
     /*)
      echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6
-echo "configure:4275: checking for XIDLE headers" >&5
+echo "configure:4369: checking for XIDLE headers" >&5
      d=$with_xidle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xidle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4270,7 +4364,7 @@ echo "configure:4275: checking for XIDLE headers" >&5
      fi
 
      echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6
-echo "configure:4285: checking for XIDLE libs" >&5
+echo "configure:4379: checking for XIDLE libs" >&5
      d=$with_xidle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xidle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4303,17 +4397,17 @@ if test "$with_xidle" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xidle.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xidle.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xidle.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xidle.h""... $ac_c" 1>&6
-echo "configure:4318: checking for X11/extensions/xidle.h" >&5
+echo "configure:4412: checking for X11/extensions/xidle.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4323 "configure"
+#line 4417 "configure"
 #include "confdefs.h"
 #include <X11/extensions/xidle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/xidle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4328: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4369,7 +4463,7 @@ fi
 
     /*)
      echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6
-echo "configure:4384: checking for SGI-VIDEO-CONTROL headers" >&5
+echo "configure:4478: checking for SGI-VIDEO-CONTROL headers" >&5
      d=$with_sgivc/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_sgivc/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4379,7 +4473,7 @@ echo "configure:4384: checking for SGI-VIDEO-CONTROL headers" >&5
      fi
 
      echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6
-echo "configure:4394: checking for SGI-VIDEO-CONTROL libs" >&5
+echo "configure:4488: checking for SGI-VIDEO-CONTROL libs" >&5
      d=$with_sgivc/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_sgivc/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4414,17 +4508,17 @@ if test "$with_sgivc" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XSGIvc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XSGIvc.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XSGIvc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XSGIvc.h""... $ac_c" 1>&6
-echo "configure:4429: checking for X11/extensions/XSGIvc.h" >&5
+echo "configure:4523: checking for X11/extensions/XSGIvc.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4434 "configure"
+#line 4528 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XSGIvc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/XSGIvc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4468,7 +4562,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6
-echo "configure:4483: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
+echo "configure:4577: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
 ac_lib_var=`echo Xsgivc'_'XSGIvcQueryGammaMap | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xsgivc'_'XSGIvcQueryGammaMap | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4476,7 +4570,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXsgivc -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXsgivc -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4491 "configure"
+#line 4585 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4487,7 +4581,7 @@ int main() {
 XSGIvcQueryGammaMap()
 ; return 0; }
 EOF
 XSGIvcQueryGammaMap()
 ; return 0; }
 EOF
-if { (eval echo configure:4502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4552,7 +4646,7 @@ fi
 
     /*)
      echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6
-echo "configure:4567: checking for DPMS headers" >&5
+echo "configure:4661: checking for DPMS headers" >&5
      d=$with_dpms/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_dpms/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4562,7 +4656,7 @@ echo "configure:4567: checking for DPMS headers" >&5
      fi
 
      echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6
-echo "configure:4577: checking for DPMS libs" >&5
+echo "configure:4671: checking for DPMS libs" >&5
      d=$with_dpms/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_dpms/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4597,17 +4691,17 @@ if test "$with_dpms" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/dpms.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/dpms.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/dpms.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/dpms.h""... $ac_c" 1>&6
-echo "configure:4612: checking for X11/extensions/dpms.h" >&5
+echo "configure:4706: checking for X11/extensions/dpms.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4617 "configure"
+#line 4711 "configure"
 #include "confdefs.h"
 #include <X11/extensions/dpms.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/dpms.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4653,7 +4747,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXext""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXext""... $ac_c" 1>&6
-echo "configure:4668: checking for DPMSInfo in -lXext" >&5
+echo "configure:4762: checking for DPMSInfo in -lXext" >&5
 ac_lib_var=`echo Xext'_'DPMSInfo | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xext'_'DPMSInfo | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4661,7 +4755,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4676 "configure"
+#line 4770 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4672,7 +4766,7 @@ int main() {
 DPMSInfo()
 ; return 0; }
 EOF
 DPMSInfo()
 ; return 0; }
 EOF
-if { (eval echo configure:4687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4718,7 +4812,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6
-echo "configure:4733: checking for DPMSInfo in -lXdpms" >&5
+echo "configure:4827: checking for DPMSInfo in -lXdpms" >&5
 ac_lib_var=`echo Xdpms'_'DPMSInfo | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xdpms'_'DPMSInfo | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4726,7 +4820,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXdpms -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXdpms -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4741 "configure"
+#line 4835 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4737,7 +4831,7 @@ int main() {
 DPMSInfo()
 ; return 0; }
 EOF
 DPMSInfo()
 ; return 0; }
 EOF
-if { (eval echo configure:4752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4804,7 +4898,7 @@ fi
 
     /*)
      echo $ac_n "checking for XINERAMA headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XINERAMA headers""... $ac_c" 1>&6
-echo "configure:4819: checking for XINERAMA headers" >&5
+echo "configure:4913: checking for XINERAMA headers" >&5
      d=$with_xinerama/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xinerama/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4814,7 +4908,7 @@ echo "configure:4819: checking for XINERAMA headers" >&5
      fi
 
      echo $ac_n "checking for XINERAMA libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XINERAMA libs""... $ac_c" 1>&6
-echo "configure:4829: checking for XINERAMA libs" >&5
+echo "configure:4923: checking for XINERAMA libs" >&5
      d=$with_xinerama/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xinerama/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4849,17 +4943,17 @@ if test "$with_xinerama" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/Xinerama.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/Xinerama.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/Xinerama.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/Xinerama.h""... $ac_c" 1>&6
-echo "configure:4864: checking for X11/extensions/Xinerama.h" >&5
+echo "configure:4958: checking for X11/extensions/Xinerama.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4869 "configure"
+#line 4963 "configure"
 #include "confdefs.h"
 #include <X11/extensions/Xinerama.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/Xinerama.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4905,7 +4999,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XineramaQueryExtension in -lXext""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XineramaQueryExtension in -lXext""... $ac_c" 1>&6
-echo "configure:4920: checking for XineramaQueryExtension in -lXext" >&5
+echo "configure:5014: checking for XineramaQueryExtension in -lXext" >&5
 ac_lib_var=`echo Xext'_'XineramaQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xext'_'XineramaQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4913,7 +5007,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4928 "configure"
+#line 5022 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4924,7 +5018,7 @@ int main() {
 XineramaQueryExtension()
 ; return 0; }
 EOF
 XineramaQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:4939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4970,7 +5064,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XineramaQueryExtension in -lXinerama""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XineramaQueryExtension in -lXinerama""... $ac_c" 1>&6
-echo "configure:4985: checking for XineramaQueryExtension in -lXinerama" >&5
+echo "configure:5079: checking for XineramaQueryExtension in -lXinerama" >&5
 ac_lib_var=`echo Xinerama'_'XineramaQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xinerama'_'XineramaQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4978,7 +5072,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXinerama -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXinerama -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4993 "configure"
+#line 5087 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4989,7 +5083,7 @@ int main() {
 XineramaQueryExtension()
 ; return 0; }
 EOF
 XineramaQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:5004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5055,7 +5149,7 @@ fi
 
     /*)
      echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6
-echo "configure:5070: checking for xf86vmode headers" >&5
+echo "configure:5164: checking for xf86vmode headers" >&5
      d=$with_xf86vmode/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xf86vmode/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5065,7 +5159,7 @@ echo "configure:5070: checking for xf86vmode headers" >&5
      fi
 
      echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6
-echo "configure:5080: checking for xf86vmode libs" >&5
+echo "configure:5174: checking for xf86vmode libs" >&5
      d=$with_xf86vmode/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xf86vmode/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5100,17 +5194,17 @@ if test "$with_xf86vmode" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6
-echo "configure:5115: checking for X11/extensions/xf86vmode.h" >&5
+echo "configure:5209: checking for X11/extensions/xf86vmode.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5120 "configure"
+#line 5214 "configure"
 #include "confdefs.h"
 #include <X11/extensions/xf86vmode.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/xf86vmode.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5125: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5219: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5154,7 +5248,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6
-echo "configure:5169: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
+echo "configure:5263: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeGetViewPort | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeGetViewPort | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5162,7 +5256,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5177 "configure"
+#line 5271 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5173,7 +5267,7 @@ int main() {
 XF86VidModeGetViewPort()
 ; return 0; }
 EOF
 XF86VidModeGetViewPort()
 ; return 0; }
 EOF
-if { (eval echo configure:5188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5239,7 +5333,7 @@ fi
 
     /*)
      echo $ac_n "checking for xf86gamma headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for xf86gamma headers""... $ac_c" 1>&6
-echo "configure:5254: checking for xf86gamma headers" >&5
+echo "configure:5348: checking for xf86gamma headers" >&5
      d=$with_xf86gamma/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xf86gamma/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5249,7 +5343,7 @@ echo "configure:5254: checking for xf86gamma headers" >&5
      fi
 
      echo $ac_n "checking for xf86gamma libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for xf86gamma libs""... $ac_c" 1>&6
-echo "configure:5264: checking for xf86gamma libs" >&5
+echo "configure:5358: checking for xf86gamma libs" >&5
      d=$with_xf86gamma/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xf86gamma/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5287,17 +5381,17 @@ if test "$with_xf86gamma" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6
-echo "configure:5302: checking for X11/extensions/xf86vmode.h" >&5
+echo "configure:5396: checking for X11/extensions/xf86vmode.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5307 "configure"
+#line 5401 "configure"
 #include "confdefs.h"
 #include <X11/extensions/xf86vmode.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/xf86vmode.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5312: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5406: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5342,7 +5436,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeSetGamma in -lXxf86vm""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeSetGamma in -lXxf86vm""... $ac_c" 1>&6
-echo "configure:5357: checking for XF86VidModeSetGamma in -lXxf86vm" >&5
+echo "configure:5451: checking for XF86VidModeSetGamma in -lXxf86vm" >&5
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeSetGamma | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeSetGamma | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5350,7 +5444,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5365 "configure"
+#line 5459 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5361,7 +5455,7 @@ int main() {
 XF86VidModeSetGamma()
 ; return 0; }
 EOF
 XF86VidModeSetGamma()
 ; return 0; }
 EOF
-if { (eval echo configure:5376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5409,7 +5503,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeSetGammaRamp in -lXxf86vm""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeSetGammaRamp in -lXxf86vm""... $ac_c" 1>&6
-echo "configure:5424: checking for XF86VidModeSetGammaRamp in -lXxf86vm" >&5
+echo "configure:5518: checking for XF86VidModeSetGammaRamp in -lXxf86vm" >&5
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeSetGammaRamp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xxf86vm'_'XF86VidModeSetGammaRamp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5417,7 +5511,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5432 "configure"
+#line 5526 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5428,7 +5522,7 @@ int main() {
 XF86VidModeSetGammaRamp()
 ; return 0; }
 EOF
 XF86VidModeSetGammaRamp()
 ; return 0; }
 EOF
-if { (eval echo configure:5443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5494,7 +5588,7 @@ fi
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5509 "configure"
+#line 5603 "configure"
 #include "confdefs.h"
 #include <X11/XHPlib.h>
 EOF
 #include "confdefs.h"
 #include <X11/XHPlib.h>
 EOF
@@ -5532,7 +5626,7 @@ fi
 if test "$with_proc_interrupts" = yes; then
 
    echo $ac_n "checking whether /proc/interrupts contains keyboard data""... $ac_c" 1>&6
 if test "$with_proc_interrupts" = yes; then
 
    echo $ac_n "checking whether /proc/interrupts contains keyboard data""... $ac_c" 1>&6
-echo "configure:5547: checking whether /proc/interrupts contains keyboard data" >&5
+echo "configure:5641: checking whether /proc/interrupts contains keyboard data" >&5
 if eval "test \"`echo '$''{'ac_cv_have_proc_interrupts'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_have_proc_interrupts'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5665,7 +5759,7 @@ fi
 
     /*)
      echo $ac_n "checking for PAM headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for PAM headers""... $ac_c" 1>&6
-echo "configure:5680: checking for PAM headers" >&5
+echo "configure:5774: checking for PAM headers" >&5
      d=$with_pam/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_pam/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5675,7 +5769,7 @@ echo "configure:5680: checking for PAM headers" >&5
      fi
 
      echo $ac_n "checking for PAM libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for PAM libs""... $ac_c" 1>&6
-echo "configure:5690: checking for PAM libs" >&5
+echo "configure:5784: checking for PAM libs" >&5
      d=$with_pam/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_pam/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5701,7 +5795,7 @@ echo "configure:5690: checking for PAM libs" >&5
 
 if test "$enable_locking" = yes -a "$with_pam" = yes; then
   echo $ac_n "checking for PAM""... $ac_c" 1>&6
 
 if test "$enable_locking" = yes -a "$with_pam" = yes; then
   echo $ac_n "checking for PAM""... $ac_c" 1>&6
-echo "configure:5716: checking for PAM" >&5
+echo "configure:5810: checking for PAM" >&5
 if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5712,14 +5806,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5727 "configure"
+#line 5821 "configure"
 #include "confdefs.h"
 #include <security/pam_appl.h>
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <security/pam_appl.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_pam=yes
 else
   rm -rf conftest*
   ac_cv_pam=yes
 else
@@ -5744,7 +5838,7 @@ EOF
     # libpam typically requires dlopen and dlsym.  On FreeBSD,
     # those are in libc.  On Linux and Solaris, they're in libdl.
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
     # libpam typically requires dlopen and dlsym.  On FreeBSD,
     # those are in libc.  On Linux and Solaris, they're in libdl.
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:5759: checking for dlopen in -ldl" >&5
+echo "configure:5853: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5752,7 +5846,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5767 "configure"
+#line 5861 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5763,7 +5857,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:5778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5785,12 +5879,12 @@ fi
 
 
     echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6
 
 
     echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6
-echo "configure:5800: checking how to call pam_strerror" >&5
+echo "configure:5894: checking how to call pam_strerror" >&5
     if eval "test \"`echo '$''{'ac_cv_pam_strerror_args'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
     if eval "test \"`echo '$''{'ac_cv_pam_strerror_args'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5805 "configure"
+#line 5899 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                       #include <stdlib.h>
 #include "confdefs.h"
 #include <stdio.h>
                       #include <stdlib.h>
@@ -5800,7 +5894,7 @@ pam_handle_t *pamh = 0;
                       char *s = pam_strerror(pamh, PAM_SUCCESS);
 ; return 0; }
 EOF
                       char *s = pam_strerror(pamh, PAM_SUCCESS);
 ; return 0; }
 EOF
-if { (eval echo configure:5815: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_pam_strerror_args=2
 else
   rm -rf conftest*
   ac_pam_strerror_args=2
 else
@@ -5808,7 +5902,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5823 "configure"
+#line 5917 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                                       #include <stdlib.h>
 #include "confdefs.h"
 #include <stdio.h>
                                       #include <stdlib.h>
@@ -5818,7 +5912,7 @@ char *s =
                                        pam_strerror(PAM_SUCCESS);
 ; return 0; }
 EOF
                                        pam_strerror(PAM_SUCCESS);
 ; return 0; }
 EOF
-if { (eval echo configure:5833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_pam_strerror_args=1
 else
   rm -rf conftest*
   ac_pam_strerror_args=1
 else
@@ -5875,7 +5969,7 @@ fi
 
     /*)
      echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6
-echo "configure:5890: checking for Kerberos headers" >&5
+echo "configure:5984: checking for Kerberos headers" >&5
      d=$with_kerberos/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_kerberos/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5885,7 +5979,7 @@ echo "configure:5890: checking for Kerberos headers" >&5
      fi
 
      echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6
-echo "configure:5900: checking for Kerberos libs" >&5
+echo "configure:5994: checking for Kerberos libs" >&5
      d=$with_kerberos/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_kerberos/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5911,7 +6005,7 @@ echo "configure:5900: checking for Kerberos libs" >&5
 
 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
   echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6
 
 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
   echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6
-echo "configure:5926: checking for Kerberos 4" >&5
+echo "configure:6020: checking for Kerberos 4" >&5
 if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5922,14 +6016,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5937 "configure"
+#line 6031 "configure"
 #include "confdefs.h"
 #include <krb.h>
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <krb.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6038: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_kerberos=yes
 else
   rm -rf conftest*
   ac_cv_kerberos=yes
 else
@@ -5944,7 +6038,7 @@ fi
 
 echo "$ac_t""$ac_cv_kerberos" 1>&6
   echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6
 
 echo "$ac_t""$ac_cv_kerberos" 1>&6
   echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6
-echo "configure:5959: checking for Kerberos 5" >&5
+echo "configure:6053: checking for Kerberos 5" >&5
 if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5955,14 +6049,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5970 "configure"
+#line 6064 "configure"
 #include "confdefs.h"
 #include <kerberosIV/krb.h>
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <kerberosIV/krb.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_kerberos5=yes
 else
   rm -rf conftest*
   ac_cv_kerberos5=yes
 else
@@ -6009,12 +6103,12 @@ EOF
 
   if test "$have_kerberos" = yes ; then
     echo $ac_n "checking for res_search""... $ac_c" 1>&6
 
   if test "$have_kerberos" = yes ; then
     echo $ac_n "checking for res_search""... $ac_c" 1>&6
-echo "configure:6024: checking for res_search" >&5
+echo "configure:6118: checking for res_search" >&5
 if eval "test \"`echo '$''{'ac_cv_func_res_search'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_res_search'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6029 "configure"
+#line 6123 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char res_search(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char res_search(); below.  */
@@ -6037,7 +6131,7 @@ res_search();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:6052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_res_search=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_res_search=yes"
 else
@@ -6055,7 +6149,7 @@ if eval "test \"`echo '$ac_cv_func_'res_search`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6
-echo "configure:6070: checking for res_search in -lresolv" >&5
+echo "configure:6164: checking for res_search in -lresolv" >&5
 ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6063,7 +6157,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6078 "configure"
+#line 6172 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6074,7 +6168,7 @@ int main() {
 res_search()
 ; return 0; }
 EOF
 res_search()
 ; return 0; }
 EOF
-if { (eval echo configure:6089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6129,7 +6223,7 @@ fi
 
     /*)
      echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6
-echo "configure:6144: checking for shadow password headers" >&5
+echo "configure:6238: checking for shadow password headers" >&5
      d=$with_shadow/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_shadow/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6139,7 +6233,7 @@ echo "configure:6144: checking for shadow password headers" >&5
      fi
 
      echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6
-echo "configure:6154: checking for shadow password libs" >&5
+echo "configure:6248: checking for shadow password libs" >&5
      d=$with_shadow/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_shadow/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -6177,7 +6271,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6
-echo "configure:6192: checking for Sun-style shadow passwords" >&5
+echo "configure:6286: checking for Sun-style shadow passwords" >&5
 if eval "test \"`echo '$''{'ac_cv_sun_adjunct'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_sun_adjunct'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6188,7 +6282,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6203 "configure"
+#line 6297 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -6201,7 +6295,7 @@ struct passwd_adjunct *p = getpwanam("nobody");
                        const char *pw = p->pwa_passwd;
 ; return 0; }
 EOF
                        const char *pw = p->pwa_passwd;
 ; return 0; }
 EOF
-if { (eval echo configure:6216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sun_adjunct=yes
 else
   rm -rf conftest*
   ac_cv_sun_adjunct=yes
 else
@@ -6231,7 +6325,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6
-echo "configure:6246: checking for DEC-style shadow passwords" >&5
+echo "configure:6340: checking for DEC-style shadow passwords" >&5
 if eval "test \"`echo '$''{'ac_cv_enhanced_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_enhanced_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6242,7 +6336,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6257 "configure"
+#line 6351 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -6259,7 +6353,7 @@ struct pr_passwd *p;
                        pw = p->ufld.fd_encrypt;
 ; return 0; }
 EOF
                        pw = p->ufld.fd_encrypt;
 ; return 0; }
 EOF
-if { (eval echo configure:6274: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_enhanced_passwd=yes
 else
   rm -rf conftest*
   ac_cv_enhanced_passwd=yes
 else
@@ -6283,7 +6377,7 @@ echo "$ac_t""$ac_cv_enhanced_passwd" 1>&6
     # But on DEC, it's in -lsecurity.
     #
     echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6
     # But on DEC, it's in -lsecurity.
     #
     echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6
-echo "configure:6298: checking for getprpwnam in -lprot" >&5
+echo "configure:6392: checking for getprpwnam in -lprot" >&5
 ac_lib_var=`echo prot'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo prot'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6291,7 +6385,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lprot -lx $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lprot -lx $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6306 "configure"
+#line 6400 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6302,7 +6396,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6321,7 +6415,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:6336: checking for getprpwnam in -lsecurity" >&5
+echo "configure:6430: checking for getprpwnam in -lsecurity" >&5
 ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6329,7 +6423,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6344 "configure"
+#line 6438 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6340,7 +6434,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6373,7 +6467,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6
-echo "configure:6388: checking for HP-style shadow passwords" >&5
+echo "configure:6482: checking for HP-style shadow passwords" >&5
 if eval "test \"`echo '$''{'ac_cv_hpux_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_hpux_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6384,7 +6478,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6399 "configure"
+#line 6493 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -6397,7 +6491,7 @@ struct s_passwd *p = getspwnam("nobody");
                        const char *pw = p->pw_passwd;
 ; return 0; }
 EOF
                        const char *pw = p->pw_passwd;
 ; return 0; }
 EOF
-if { (eval echo configure:6412: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_hpux_passwd=yes
 else
   rm -rf conftest*
   ac_cv_hpux_passwd=yes
 else
@@ -6418,7 +6512,7 @@ echo "$ac_t""$ac_cv_hpux_passwd" 1>&6
 
     # on HPUX, bigcrypt is in -lsec
     echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6
 
     # on HPUX, bigcrypt is in -lsec
     echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6
-echo "configure:6433: checking for bigcrypt in -lsec" >&5
+echo "configure:6527: checking for bigcrypt in -lsec" >&5
 ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6426,7 +6520,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6441 "configure"
+#line 6535 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6437,7 +6531,7 @@ int main() {
 bigcrypt()
 ; return 0; }
 EOF
 bigcrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6475,7 +6569,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6
-echo "configure:6490: checking for FreeBSD-style shadow passwords" >&5
+echo "configure:6584: checking for FreeBSD-style shadow passwords" >&5
 if eval "test \"`echo '$''{'ac_cv_master_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_master_passwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6501,7 +6595,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6
-echo "configure:6516: checking for generic shadow passwords" >&5
+echo "configure:6610: checking for generic shadow passwords" >&5
 if eval "test \"`echo '$''{'ac_cv_shadow'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_shadow'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6512,7 +6606,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6527 "configure"
+#line 6621 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -6524,7 +6618,7 @@ struct spwd *p = getspnam("nobody");
                        const char *pw = p->sp_pwdp;
 ; return 0; }
 EOF
                        const char *pw = p->sp_pwdp;
 ; return 0; }
 EOF
-if { (eval echo configure:6539: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_shadow=yes
 else
   rm -rf conftest*
   ac_cv_shadow=yes
 else
@@ -6545,7 +6639,7 @@ echo "$ac_t""$ac_cv_shadow" 1>&6
     # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
     have_getspnam=no
     echo $ac_n "checking for getspnam in -lc""... $ac_c" 1>&6
     # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
     have_getspnam=no
     echo $ac_n "checking for getspnam in -lc""... $ac_c" 1>&6
-echo "configure:6560: checking for getspnam in -lc" >&5
+echo "configure:6654: checking for getspnam in -lc" >&5
 ac_lib_var=`echo c'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo c'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6553,7 +6647,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6568 "configure"
+#line 6662 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6564,7 +6658,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6586,7 +6680,7 @@ fi
 
     if test "$have_getspnam" = no ; then
       echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6
 
     if test "$have_getspnam" = no ; then
       echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6
-echo "configure:6601: checking for getspnam in -lgen" >&5
+echo "configure:6695: checking for getspnam in -lgen" >&5
 ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6594,7 +6688,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6609 "configure"
+#line 6703 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6605,7 +6699,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6641,7 +6735,7 @@ if test "$enable_locking" = yes ; then
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
   echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
   echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6
-echo "configure:6656: checking for crypt in -lc" >&5
+echo "configure:6750: checking for crypt in -lc" >&5
 ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6649,7 +6743,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6664 "configure"
+#line 6758 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6660,7 +6754,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6682,7 +6776,7 @@ fi
 
   if test "$have_crypt" = no ; then
     echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
 
   if test "$have_crypt" = no ; then
     echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:6697: checking for crypt in -lcrypt" >&5
+echo "configure:6791: checking for crypt in -lcrypt" >&5
 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6690,7 +6784,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6705 "configure"
+#line 6799 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6701,7 +6795,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6785,7 +6879,7 @@ fi
 
     /*)
      echo $ac_n "checking for Motif headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for Motif headers""... $ac_c" 1>&6
-echo "configure:6800: checking for Motif headers" >&5
+echo "configure:6894: checking for Motif headers" >&5
      d=$with_motif/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_motif/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6795,7 +6889,7 @@ echo "configure:6800: checking for Motif headers" >&5
      fi
 
      echo $ac_n "checking for Motif libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for Motif libs""... $ac_c" 1>&6
-echo "configure:6810: checking for Motif libs" >&5
+echo "configure:6904: checking for Motif libs" >&5
      d=$with_motif/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_motif/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -6834,17 +6928,17 @@ if test "$with_motif" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:6849: checking for Xm/Xm.h" >&5
+echo "configure:6943: checking for Xm/Xm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6854 "configure"
+#line 6948 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6883,17 +6977,17 @@ if test "$have_motif" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "Xm/ComboBox.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/ComboBox.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "Xm/ComboBox.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/ComboBox.h""... $ac_c" 1>&6
-echo "configure:6898: checking for Xm/ComboBox.h" >&5
+echo "configure:6992: checking for Xm/ComboBox.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6903 "configure"
+#line 6997 "configure"
 #include "confdefs.h"
 #include <Xm/ComboBox.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <Xm/ComboBox.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7002: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6956,7 +7050,7 @@ esac
 
     /*)
      echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6
-echo "configure:6971: checking for Gtk headers" >&5
+echo "configure:7065: checking for Gtk headers" >&5
      d=$with_gtk/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_gtk/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6966,7 +7060,7 @@ echo "configure:6971: checking for Gtk headers" >&5
      fi
 
      echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
-echo "configure:6981: checking for Gtk libs" >&5
+echo "configure:7075: checking for Gtk libs" >&5
      d=$with_gtk/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_gtk/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -7024,7 +7118,7 @@ esac
 
     /*)
      echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6
-echo "configure:7039: checking for Gnome headers" >&5
+echo "configure:7133: checking for Gnome headers" >&5
      d=$with_gnome/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_gnome/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -7034,7 +7128,7 @@ echo "configure:7039: checking for Gnome headers" >&5
      fi
 
      echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6
-echo "configure:7049: checking for Gnome libs" >&5
+echo "configure:7143: checking for Gnome libs" >&5
      d=$with_gnome/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_gnome/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -7068,21 +7162,21 @@ jurassic_gtk=no
 if test "$with_gtk" = yes; then
   have_gtk=no
   
 if test "$with_gtk" = yes; then
   have_gtk=no
   
-  # if the user specified --with-gtk=/foo/ then look in /foo/bin/
-  # for glib-config and gtk-config.
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
   #
   gtk_path="$PATH"
 
   if test ! -z "$gtk_dir"; then
     # canonicalize slashes.
   #
   gtk_path="$PATH"
 
   if test ! -z "$gtk_dir"; then
     # canonicalize slashes.
-    gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
-    gtk_path="$gtk_dir:$gtk_path"
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    gtk_path="$foo:$gtk_path"
   fi
 
   fi
 
-  if test ! -z "gnome_dir"; then
+  if test ! -z "$gnome_dir"; then
     # canonicalize slashes.
     # canonicalize slashes.
-    gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
-    gtk_path="$gnome_dir:$gtk_path"
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    gtk_path="$foo:$gtk_path"
   fi
 
   for ac_prog in glib12-config glib-config
   fi
 
   for ac_prog in glib12-config glib-config
@@ -7090,7 +7184,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7105: checking for $ac_word" >&5
+echo "configure:7199: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_glib_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_glib_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7130,7 +7224,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7145: checking for $ac_word" >&5
+echo "configure:7239: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_gtk_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_gtk_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7172,7 +7266,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7187: checking for $ac_word" >&5
+echo "configure:7281: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_gnome_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_gnome_config'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7209,7 +7303,7 @@ done
 
   fi
 
 
   fi
 
-  if test -n "$glib_config" -a  -n "gtk_config" ; then
+  if test -n "$glib_config" -a  -n "$gtk_config" ; then
     have_gtk=yes
     if test "$with_gnome" = yes -a -n "$gnome_config" ; then
       have_gnome=yes
     have_gtk=yes
     if test "$with_gnome" = yes -a -n "$gnome_config" ; then
       have_gnome=yes
@@ -7218,7 +7312,7 @@ done
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking Gtk version number""... $ac_c" 1>&6
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking Gtk version number""... $ac_c" 1>&6
-echo "configure:7233: checking Gtk version number" >&5
+echo "configure:7327: checking Gtk version number" >&5
 if eval "test \"`echo '$''{'ac_cv_gtk_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_gtk_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7247,7 +7341,7 @@ echo "$ac_t""$ac_cv_gtk_version_string" 1>&6
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6
-echo "configure:7262: checking for Gtk includes" >&5
+echo "configure:7356: checking for Gtk includes" >&5
 if eval "test \"`echo '$''{'ac_cv_gtk_config_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_gtk_config_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7256,7 +7350,7 @@ fi
 
 echo "$ac_t""$ac_cv_gtk_config_cflags" 1>&6
     echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
 
 echo "$ac_t""$ac_cv_gtk_config_cflags" 1>&6
     echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
-echo "configure:7271: checking for Gtk libs" >&5
+echo "configure:7365: checking for Gtk libs" >&5
 if eval "test \"`echo '$''{'ac_cv_gtk_config_libs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_gtk_config_libs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7271,9 +7365,9 @@ echo "$ac_t""$ac_cv_gtk_config_libs" 1>&6
   # Check for Gnome Capplet support.
   #
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
   # Check for Gnome Capplet support.
   #
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
-    gnome_config_libs="gtk capplet gnomeui xml gdk_pixbuf"
+    gnome_config_libs="gtk capplet gnomeui gdk_pixbuf"
     echo $ac_n "checking for Gnome capplet includes""... $ac_c" 1>&6
     echo $ac_n "checking for Gnome capplet includes""... $ac_c" 1>&6
-echo "configure:7288: checking for Gnome capplet includes" >&5
+echo "configure:7382: checking for Gnome capplet includes" >&5
     if eval "test \"`echo '$''{'ac_cv_gnome_config_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     if eval "test \"`echo '$''{'ac_cv_gnome_config_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7296,7 +7390,7 @@ fi
 
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
     echo $ac_n "checking for Gnome capplet libs""... $ac_c" 1>&6
 
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
     echo $ac_n "checking for Gnome capplet libs""... $ac_c" 1>&6
-echo "configure:7311: checking for Gnome capplet libs" >&5
+echo "configure:7405: checking for Gnome capplet libs" >&5
     if eval "test \"`echo '$''{'ac_cv_gnome_config_libs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     if eval "test \"`echo '$''{'ac_cv_gnome_config_libs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7353,7 +7447,7 @@ EOF
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for capplet_widget_changes_are_immediate in -lcapplet""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for capplet_widget_changes_are_immediate in -lcapplet""... $ac_c" 1>&6
-echo "configure:7368: checking for capplet_widget_changes_are_immediate in -lcapplet" >&5
+echo "configure:7462: checking for capplet_widget_changes_are_immediate in -lcapplet" >&5
 ac_lib_var=`echo capplet'_'capplet_widget_changes_are_immediate | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo capplet'_'capplet_widget_changes_are_immediate | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7361,7 +7455,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcapplet $ac_gnome_config_libs $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lcapplet $ac_gnome_config_libs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7376 "configure"
+#line 7470 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7372,7 +7466,7 @@ int main() {
 capplet_widget_changes_are_immediate()
 ; return 0; }
 EOF
 capplet_widget_changes_are_immediate()
 ; return 0; }
 EOF
-if { (eval echo configure:7387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7421,7 +7515,7 @@ if test "$have_gnome" = yes; then
   # Extract the first word of "gnome-help-browser", so it can be a program name with args.
 set dummy gnome-help-browser; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "gnome-help-browser", so it can be a program name with args.
 set dummy gnome-help-browser; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7436: checking for $ac_word" >&5
+echo "configure:7530: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_have_gnome_help'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_have_gnome_help'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7455,7 +7549,7 @@ fi
 
 ###############################################################################
 #
 
 ###############################################################################
 #
-#       Check for -lxml (if we have Gtk)
+#       Check for -lxml
 #
 ###############################################################################
 
 #
 ###############################################################################
 
@@ -7471,6 +7565,17 @@ else
 fi
 
 
 fi
 
 
+# if --with-xml=/directory/ was specified, remember that directory so that
+# we can also look for the `xml-config' program in that directory.
+case "$with_xml" in
+  /*)
+    xml_dir="$with_xml"
+    ;;
+  *)
+    xml_dir=""
+    ;;
+esac
+
 
    case "$with_xml" in
     yes) ;;
 
    case "$with_xml" in
     yes) ;;
@@ -7478,7 +7583,7 @@ fi
 
     /*)
      echo $ac_n "checking for XML headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XML headers""... $ac_c" 1>&6
-echo "configure:7493: checking for XML headers" >&5
+echo "configure:7598: checking for XML headers" >&5
      d=$with_xml/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xml/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -7488,7 +7593,7 @@ echo "configure:7493: checking for XML headers" >&5
      fi
 
      echo $ac_n "checking for XML libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XML libs""... $ac_c" 1>&6
-echo "configure:7503: checking for XML libs" >&5
+echo "configure:7608: checking for XML libs" >&5
      d=$with_xml/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xml/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -7517,20 +7622,94 @@ if test "$with_xml" != yes -a "$with_xml" != no ; then
   exit 1
 fi
 
   exit 1
 fi
 
-if test "$have_gtk" != yes; then
-  # don't bother if no GTK
-  with_xml=no
-fi
-
 if test "$with_xml" = yes; then
   have_xml=no
 
 if test "$with_xml" = yes; then
   have_xml=no
 
-  # the XML stuff is likely to be in GTK paths.
-  ac_save_X_CFLAGS="$X_CFLAGS"
-  ac_save_X_LIBS="$X_LIBS"
-  X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags"
-  X_LIBS="$X_LIBS $ac_gtk_config_libs"
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for for xml-config.
+  #
+  xml_path="$PATH"
 
 
+  if test ! -z "$gtk_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    xml_path="$foo:$xml_path"
+  fi
+
+  if test ! -z "$gnome_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    xml_path="$foo:$xml_path"
+  fi
+
+  for ac_prog in xml2-config xml-config
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:7662: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_xml_config'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$xml_config" in
+  /*)
+  ac_cv_path_xml_config="$xml_config" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_xml_config="$xml_config" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$xml_path"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_xml_config="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+xml_config="$ac_cv_path_xml_config"
+if test -n "$xml_config"; then
+  echo "$ac_t""$xml_config" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$xml_config" && break
+done
+
+
+  # If we found the xml-config program, run it to get flags.
+  #
+  if test -n "$xml_config" ; then
+    echo $ac_n "checking for XML includes""... $ac_c" 1>&6
+echo "configure:7702: checking for XML includes" >&5
+if eval "test \"`echo '$''{'ac_cv_xml_config_cflags'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_xml_config_cflags=`$xml_config --cflags`
+fi
+
+echo "$ac_t""$ac_cv_xml_config_cflags" 1>&6
+    echo $ac_n "checking for XML libs""... $ac_c" 1>&6
+echo "configure:7711: checking for XML libs" >&5
+if eval "test \"`echo '$''{'ac_cv_xml_config_libs'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_xml_config_libs=`$xml_config --libs`
+fi
+
+echo "$ac_t""$ac_cv_xml_config_libs" 1>&6
+    ac_xml_config_cflags=$ac_cv_xml_config_cflags
+    ac_xml_config_libs=$ac_cv_xml_config_libs
+  fi
+
+  ac_save_xml_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
   
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
   
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
@@ -7539,17 +7718,17 @@ if test "$with_xml" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "xmlIO.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for xmlIO.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "xmlIO.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for xmlIO.h""... $ac_c" 1>&6
-echo "configure:7554: checking for xmlIO.h" >&5
+echo "configure:7733: checking for xmlIO.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7559 "configure"
+#line 7738 "configure"
 #include "confdefs.h"
 #include <xmlIO.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <xmlIO.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7564: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7571,6 +7750,7 @@ else
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
+  CPPFLAGS="$ac_save_xml_CPPFLAGS"
 
   if test "$have_xml" = yes; then
     # we have the header, now check for the library
 
   if test "$have_xml" = yes; then
     # we have the header, now check for the library
@@ -7594,15 +7774,15 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for xmlParseChunk in -lxml""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for xmlParseChunk in -lxml""... $ac_c" 1>&6
-echo "configure:7609: checking for xmlParseChunk in -lxml" >&5
+echo "configure:7789: checking for xmlParseChunk in -lxml" >&5
 ac_lib_var=`echo xml'_'xmlParseChunk | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 ac_lib_var=`echo xml'_'xmlParseChunk | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
-LIBS="-lxml  $LIBS"
+LIBS="-lxml $ac_xml_config_libs $LIBS"
 cat > conftest.$ac_ext <<EOF
 cat > conftest.$ac_ext <<EOF
-#line 7617 "configure"
+#line 7797 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7613,7 +7793,7 @@ int main() {
 xmlParseChunk()
 ; return 0; }
 EOF
 xmlParseChunk()
 ; return 0; }
 EOF
-if { (eval echo configure:7628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7637,6 +7817,7 @@ EOF
 
 else
   echo "$ac_t""no" 1>&6
 
 else
   echo "$ac_t""no" 1>&6
+true
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
@@ -7645,8 +7826,14 @@ fi
   
   fi
 
   
   fi
 
-  X_CFLAGS="$ac_save_X_CFLAGS"
-  X_LIBS="$ac_save_X_LIBS"
+  if test "$have_xml" = yes; then
+    INCLUDES="$INCLUDES $ac_xml_config_cflags"
+    GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
+    cat >> confdefs.h <<\EOF
+#define HAVE_XML 1
+EOF
+
+  fi
 
 fi
 
 
 fi
 
@@ -7660,7 +7847,7 @@ fi
 have_lesstif=no
 if test "$have_motif" = yes ; then
   echo $ac_n "checking whether Motif is really LessTif""... $ac_c" 1>&6
 have_lesstif=no
 if test "$have_motif" = yes ; then
   echo $ac_n "checking whether Motif is really LessTif""... $ac_c" 1>&6
-echo "configure:7675: checking whether Motif is really LessTif" >&5
+echo "configure:7862: checking whether Motif is really LessTif" >&5
 if eval "test \"`echo '$''{'ac_cv_have_lesstif'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_have_lesstif'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7671,14 +7858,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 7686 "configure"
+#line 7873 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 int main() {
 long vers = LesstifVersion;
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <Xm/Xm.h>
 int main() {
 long vers = LesstifVersion;
 ; return 0; }
 EOF
-if { (eval echo configure:7693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7880: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_lesstif=yes
 else
   rm -rf conftest*
   ac_cv_have_lesstif=yes
 else
@@ -7703,7 +7890,7 @@ if test "$have_lesstif" = yes ; then
   ltv=unknown
   echo unknown > conftest-lt
   echo $ac_n "checking LessTif version number""... $ac_c" 1>&6
   ltv=unknown
   echo unknown > conftest-lt
   echo $ac_n "checking LessTif version number""... $ac_c" 1>&6
-echo "configure:7718: checking LessTif version number" >&5
+echo "configure:7905: checking LessTif version number" >&5
 if eval "test \"`echo '$''{'ac_cv_lesstif_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_lesstif_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7718,7 +7905,7 @@ else
                      ac_cv_lesstif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
                      ac_cv_lesstif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 7733 "configure"
+#line 7920 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -7731,7 +7918,7 @@ else
                        exit(0);
                      }
 EOF
                        exit(0);
                      }
 EOF
-if { (eval echo configure:7746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ltv=`cat conftest-lt`
                      ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
 then
   ltv=`cat conftest-lt`
                      ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
@@ -7761,7 +7948,7 @@ if test "$have_motif" = yes ; then
   mtv=unknown
   echo unknown > conftest-mt
   echo $ac_n "checking Motif version number""... $ac_c" 1>&6
   mtv=unknown
   echo unknown > conftest-mt
   echo $ac_n "checking Motif version number""... $ac_c" 1>&6
-echo "configure:7776: checking Motif version number" >&5
+echo "configure:7963: checking Motif version number" >&5
 if eval "test \"`echo '$''{'ac_cv_motif_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_motif_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7776,7 +7963,7 @@ else
                      ac_cv_motif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
                      ac_cv_motif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 7791 "configure"
+#line 7978 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -7789,7 +7976,7 @@ else
                        exit(0);
                      }
 EOF
                        exit(0);
                      }
 EOF
-if { (eval echo configure:7804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   mtv=`cat conftest-mt`
                      ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
 then
   mtv=`cat conftest-mt`
                      ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
@@ -7833,7 +8020,7 @@ fi
 motif_requires_xpm=no
 if test "$have_motif" = yes ; then
    echo $ac_n "checking whether Motif requires XPM""... $ac_c" 1>&6
 motif_requires_xpm=no
 if test "$have_motif" = yes ; then
    echo $ac_n "checking whether Motif requires XPM""... $ac_c" 1>&6
-echo "configure:7848: checking whether Motif requires XPM" >&5
+echo "configure:8035: checking whether Motif requires XPM" >&5
    if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
    then
      motif_requires_xpm=yes
    if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
    then
      motif_requires_xpm=yes
@@ -7875,7 +8062,7 @@ if test "$have_motif" = yes ; then
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XpQueryExtension in -lXp""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XpQueryExtension in -lXp""... $ac_c" 1>&6
-echo "configure:7890: checking for XpQueryExtension in -lXp" >&5
+echo "configure:8077: checking for XpQueryExtension in -lXp" >&5
 ac_lib_var=`echo Xp'_'XpQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xp'_'XpQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7883,7 +8070,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXp -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXp -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7898 "configure"
+#line 8085 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7894,7 +8081,7 @@ int main() {
 XpQueryExtension()
 ; return 0; }
 EOF
 XpQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:7909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7948,7 +8135,7 @@ if test "$have_motif" = yes ; then
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for _Xsetlocale in -lXintl""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for _Xsetlocale in -lXintl""... $ac_c" 1>&6
-echo "configure:7963: checking for _Xsetlocale in -lXintl" >&5
+echo "configure:8150: checking for _Xsetlocale in -lXintl" >&5
 ac_lib_var=`echo Xintl'_'_Xsetlocale | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo Xintl'_'_Xsetlocale | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7956,7 +8143,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXintl -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXintl -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7971 "configure"
+#line 8158 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7967,7 +8154,7 @@ int main() {
 _Xsetlocale()
 ; return 0; }
 EOF
 _Xsetlocale()
 ; return 0; }
 EOF
-if { (eval echo configure:7982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8024,7 +8211,7 @@ fi
 
     /*)
      echo $ac_n "checking for GL headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for GL headers""... $ac_c" 1>&6
-echo "configure:8039: checking for GL headers" >&5
+echo "configure:8226: checking for GL headers" >&5
      d=$with_gl/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_gl/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8034,7 +8221,7 @@ echo "configure:8039: checking for GL headers" >&5
      fi
 
      echo $ac_n "checking for GL libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for GL libs""... $ac_c" 1>&6
-echo "configure:8049: checking for GL libs" >&5
+echo "configure:8236: checking for GL libs" >&5
      d=$with_gl/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_gl/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8070,17 +8257,17 @@ if test "$with_gl" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gl.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gl.h""... $ac_c" 1>&6
-echo "configure:8085: checking for GL/gl.h" >&5
+echo "configure:8272: checking for GL/gl.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8090 "configure"
+#line 8277 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <GL/gl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8095: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8111,17 +8298,17 @@ fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/glx.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/glx.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/glx.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/glx.h""... $ac_c" 1>&6
-echo "configure:8126: checking for GL/glx.h" >&5
+echo "configure:8313: checking for GL/glx.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8131 "configure"
+#line 8318 "configure"
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8136: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8153,7 +8340,7 @@ fi
     # to link against.
     #
     echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6
     # to link against.
     #
     echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6
-echo "configure:8168: checking whether GL is really MesaGL" >&5
+echo "configure:8355: checking whether GL is really MesaGL" >&5
 if eval "test \"`echo '$''{'ac_cv_have_mesa_gl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_have_mesa_gl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8165,7 +8352,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 8180 "configure"
+#line 8367 "configure"
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
@@ -8194,7 +8381,7 @@ echo "$ac_t""$ac_cv_have_mesa_gl" 1>&6
     #
     if test "$ac_have_mesa_gl" = yes; then
       echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
     #
     if test "$ac_have_mesa_gl" = yes; then
       echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:8209: checking for pthread_create in -lpthread" >&5
+echo "configure:8396: checking for pthread_create in -lpthread" >&5
 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8202,7 +8389,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8217 "configure"
+#line 8404 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8213,7 +8400,7 @@ int main() {
 pthread_create()
 ; return 0; }
 EOF
 pthread_create()
 ; return 0; }
 EOF
-if { (eval echo configure:8228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8260,7 +8447,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6
-echo "configure:8275: checking for glXCreateContext in -lMesaGL" >&5
+echo "configure:8462: checking for glXCreateContext in -lMesaGL" >&5
 ac_lib_var=`echo MesaGL'_'glXCreateContext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo MesaGL'_'glXCreateContext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8268,7 +8455,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8283 "configure"
+#line 8470 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8279,7 +8466,7 @@ int main() {
 glXCreateContext()
 ; return 0; }
 EOF
 glXCreateContext()
 ; return 0; }
 EOF
-if { (eval echo configure:8294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8325,7 +8512,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6
-echo "configure:8340: checking for glXCreateContext in -lGL" >&5
+echo "configure:8527: checking for glXCreateContext in -lGL" >&5
 ac_lib_var=`echo GL'_'glXCreateContext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo GL'_'glXCreateContext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8333,7 +8520,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8348 "configure"
+#line 8535 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8344,7 +8531,7 @@ int main() {
 glXCreateContext()
 ; return 0; }
 EOF
 glXCreateContext()
 ; return 0; }
 EOF
-if { (eval echo configure:8359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8402,12 +8589,12 @@ EOF
     if test "$ac_have_mesa_gl" = yes; then
 
       echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6
     if test "$ac_have_mesa_gl" = yes; then
 
       echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6
-echo "configure:8417: checking MesaGL version number" >&5
+echo "configure:8604: checking MesaGL version number" >&5
 if eval "test \"`echo '$''{'ac_cv_mesagl_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_mesagl_version_string'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8422 "configure"
+#line 8609 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
@@ -8478,7 +8665,7 @@ echo "$ac_t""$ac_cv_mesagl_version_string" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glBindTexture in -l$gl_lib_1""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glBindTexture in -l$gl_lib_1""... $ac_c" 1>&6
-echo "configure:8493: checking for glBindTexture in -l$gl_lib_1" >&5
+echo "configure:8680: checking for glBindTexture in -l$gl_lib_1" >&5
 ac_lib_var=`echo $gl_lib_1'_'glBindTexture | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo $gl_lib_1'_'glBindTexture | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8486,7 +8673,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8501 "configure"
+#line 8688 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8497,7 +8684,7 @@ int main() {
 glBindTexture()
 ; return 0; }
 EOF
 glBindTexture()
 ; return 0; }
 EOF
-if { (eval echo configure:8512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8558,7 +8745,7 @@ fi
 
     /*)
      echo $ac_n "checking for GLE headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for GLE headers""... $ac_c" 1>&6
-echo "configure:8573: checking for GLE headers" >&5
+echo "configure:8760: checking for GLE headers" >&5
      d=$with_gle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_gle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8568,7 +8755,7 @@ echo "configure:8573: checking for GLE headers" >&5
      fi
 
      echo $ac_n "checking for GLE libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for GLE libs""... $ac_c" 1>&6
-echo "configure:8583: checking for GLE libs" >&5
+echo "configure:8770: checking for GLE libs" >&5
      d=$with_gle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_gle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8604,17 +8791,17 @@ if test "$with_gle" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gle.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gle.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gle.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gle.h""... $ac_c" 1>&6
-echo "configure:8619: checking for GL/gle.h" >&5
+echo "configure:8806: checking for GL/gle.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8624 "configure"
+#line 8811 "configure"
 #include "confdefs.h"
 #include <GL/gle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <GL/gle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8647,17 +8834,17 @@ fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gutil.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gutil.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gutil.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gutil.h""... $ac_c" 1>&6
-echo "configure:8662: checking for GL/gutil.h" >&5
+echo "configure:8849: checking for GL/gutil.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8667 "configure"
+#line 8854 "configure"
 #include "confdefs.h"
 #include <GL/gutil.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <GL/gutil.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8672: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8688,17 +8875,17 @@ fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/tube.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/tube.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/tube.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/tube.h""... $ac_c" 1>&6
-echo "configure:8703: checking for GL/tube.h" >&5
+echo "configure:8890: checking for GL/tube.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8708 "configure"
+#line 8895 "configure"
 #include "confdefs.h"
 #include <GL/tube.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <GL/tube.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8744,7 +8931,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6
-echo "configure:8759: checking for gleCreateGC in -lgle" >&5
+echo "configure:8946: checking for gleCreateGC in -lgle" >&5
 ac_lib_var=`echo gle'_'gleCreateGC | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gle'_'gleCreateGC | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8752,7 +8939,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8767 "configure"
+#line 8954 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8763,7 +8950,7 @@ int main() {
 gleCreateGC()
 ; return 0; }
 EOF
 gleCreateGC()
 ; return 0; }
 EOF
-if { (eval echo configure:8778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8823,7 +9010,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for uview_direction in -lgle""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for uview_direction in -lgle""... $ac_c" 1>&6
-echo "configure:8838: checking for uview_direction in -lgle" >&5
+echo "configure:9025: checking for uview_direction in -lgle" >&5
 ac_lib_var=`echo gle'_'uview_direction | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gle'_'uview_direction | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8831,7 +9018,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8846 "configure"
+#line 9033 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8842,7 +9029,7 @@ int main() {
 uview_direction()
 ; return 0; }
 EOF
 uview_direction()
 ; return 0; }
 EOF
-if { (eval echo configure:8857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8887,7 +9074,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for uview_direction_d in -lmatrix""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for uview_direction_d in -lmatrix""... $ac_c" 1>&6
-echo "configure:8902: checking for uview_direction_d in -lmatrix" >&5
+echo "configure:9089: checking for uview_direction_d in -lmatrix" >&5
 ac_lib_var=`echo matrix'_'uview_direction_d | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo matrix'_'uview_direction_d | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8895,7 +9082,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8910 "configure"
+#line 9097 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8906,7 +9093,7 @@ int main() {
 uview_direction_d()
 ; return 0; }
 EOF
 uview_direction_d()
 ; return 0; }
 EOF
-if { (eval echo configure:8921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8979,7 +9166,7 @@ fi
 
     /*)
      echo $ac_n "checking for XPM headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XPM headers""... $ac_c" 1>&6
-echo "configure:8994: checking for XPM headers" >&5
+echo "configure:9181: checking for XPM headers" >&5
      d=$with_xpm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xpm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8989,7 +9176,7 @@ echo "configure:8994: checking for XPM headers" >&5
      fi
 
      echo $ac_n "checking for XPM libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XPM libs""... $ac_c" 1>&6
-echo "configure:9004: checking for XPM libs" >&5
+echo "configure:9191: checking for XPM libs" >&5
      d=$with_xpm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xpm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9022,17 +9209,17 @@ if test "$with_xpm" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6
-echo "configure:9037: checking for X11/xpm.h" >&5
+echo "configure:9224: checking for X11/xpm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9042 "configure"
+#line 9229 "configure"
 #include "confdefs.h"
 #include <X11/xpm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/xpm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9047: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9091,6 +9278,17 @@ else
 fi
 
 
 fi
 
 
+# if --with-pixbuf=/directory/ was specified, remember that directory so that
+# we can also look for the `gdk-pixbuf-config' program in that directory.
+case "$with_gdk_pixbuf" in
+  /*)
+    gdk_pixbuf_dir="$with_gdk_pixbuf"
+    ;;
+  *)
+    gdk_pixbuf_dir=""
+    ;;
+esac
+
 
    case "$with_gdk_pixbuf" in
     yes) ;;
 
    case "$with_gdk_pixbuf" in
     yes) ;;
@@ -9098,7 +9296,7 @@ fi
 
     /*)
      echo $ac_n "checking for GDK_PIXBUF headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for GDK_PIXBUF headers""... $ac_c" 1>&6
-echo "configure:9113: checking for GDK_PIXBUF headers" >&5
+echo "configure:9311: checking for GDK_PIXBUF headers" >&5
      d=$with_gdk_pixbuf/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_gdk_pixbuf/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -9108,7 +9306,7 @@ echo "configure:9113: checking for GDK_PIXBUF headers" >&5
      fi
 
      echo $ac_n "checking for GDK_PIXBUF libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for GDK_PIXBUF libs""... $ac_c" 1>&6
-echo "configure:9123: checking for GDK_PIXBUF libs" >&5
+echo "configure:9321: checking for GDK_PIXBUF libs" >&5
      d=$with_gdk_pixbuf/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_gdk_pixbuf/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9132,15 +9330,102 @@ echo "configure:9123: checking for GDK_PIXBUF libs" >&5
    esac
   
 
    esac
   
 
+if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then
+  echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
+  exit 1
+fi
+
 if test "$with_gdk_pixbuf" = yes; then
 if test "$with_gdk_pixbuf" = yes; then
+  have_gdk_pixbuf=no
 
 
-  if test "$have_gtk" = yes; then
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for for gdk-pixbuf-config.
+  #
+  gdk_pixbuf_path="$PATH"
+
+  if test ! -z "$gtk_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+  fi
 
 
-    ac_save_gdk_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $ac_gtk_config_cflags"
+  if test ! -z "$gnome_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+  fi
 
 
-    have_gdk_pixbuf=no
-    
+  for ac_prog in gdk-pixbuf-config
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9375: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_gdk_pixbuf_config'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$gdk_pixbuf_config" in
+  /*)
+  ac_cv_path_gdk_pixbuf_config="$gdk_pixbuf_config" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_gdk_pixbuf_config="$gdk_pixbuf_config" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$gdk_pixbuf_path"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_gdk_pixbuf_config="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+gdk_pixbuf_config="$ac_cv_path_gdk_pixbuf_config"
+if test -n "$gdk_pixbuf_config"; then
+  echo "$ac_t""$gdk_pixbuf_config" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$gdk_pixbuf_config" && break
+done
+
+
+  # If we found the gdk-pixbuf-config program, run it to get flags.
+  #
+  if test -n "$gdk_pixbuf_config" ; then
+    echo $ac_n "checking for gdk-pixbuf includes""... $ac_c" 1>&6
+echo "configure:9415: checking for gdk-pixbuf includes" >&5
+if eval "test \"`echo '$''{'ac_cv_gdk_pixbuf_config_cflags'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`
+fi
+
+echo "$ac_t""$ac_cv_gdk_pixbuf_config_cflags" 1>&6
+    echo $ac_n "checking for gdk-pixbuf libs""... $ac_c" 1>&6
+echo "configure:9424: checking for gdk-pixbuf libs" >&5
+if eval "test \"`echo '$''{'ac_cv_gdk_pixbuf_config_libs'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`
+fi
+
+echo "$ac_t""$ac_cv_gdk_pixbuf_config_libs" 1>&6
+    ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
+    ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
+  fi
+
+  ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
+
+  # check for header 1...
+  
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
@@ -9148,17 +9433,17 @@ if test "$with_gdk_pixbuf" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "gdk-pixbuf/gdk-pixbuf.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gdk-pixbuf/gdk-pixbuf.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "gdk-pixbuf/gdk-pixbuf.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gdk-pixbuf/gdk-pixbuf.h""... $ac_c" 1>&6
-echo "configure:9163: checking for gdk-pixbuf/gdk-pixbuf.h" >&5
+echo "configure:9448: checking for gdk-pixbuf/gdk-pixbuf.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9168 "configure"
+#line 9453 "configure"
 #include "confdefs.h"
 #include <gdk-pixbuf/gdk-pixbuf.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <gdk-pixbuf/gdk-pixbuf.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9458: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9180,9 +9465,11 @@ else
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
-    if test "$have_gdk_pixbuf" = yes; then
-      have_gdk_pixbuf=no
-      
+
+  # if that worked, check for header 2...
+  if test "$have_gdk_pixbuf" = yes; then
+    have_gdk_pixbuf=no
+    
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
@@ -9190,17 +9477,17 @@ fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "gdk-pixbuf/gdk-pixbuf-xlib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gdk-pixbuf/gdk-pixbuf-xlib.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "gdk-pixbuf/gdk-pixbuf-xlib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gdk-pixbuf/gdk-pixbuf-xlib.h""... $ac_c" 1>&6
-echo "configure:9205: checking for gdk-pixbuf/gdk-pixbuf-xlib.h" >&5
+echo "configure:9492: checking for gdk-pixbuf/gdk-pixbuf-xlib.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9210 "configure"
+#line 9497 "configure"
 #include "confdefs.h"
 #include <gdk-pixbuf/gdk-pixbuf-xlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <gdk-pixbuf/gdk-pixbuf-xlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9222,22 +9509,153 @@ else
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
   CPPFLAGS="$ac_save_CPPFLAGS"
-    fi
+  fi
+
+  CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
+
+  if test "$have_gdk_pixbuf" = yes; then
+    # we have the headers, now check for the libraries
+    have_gdk_pixbuf=no
+    gdk_pixbuf_halfassed=yes
+    # library 1...
+    
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  ac_save_LDFLAGS="$LDFLAGS"
+#  ac_save_LIBS="$LIBS"
 
 
-    CPPFLAGS="$ac_save_gdk_CPPFLAGS"
+  if test \! -z "$includedir" ; then 
+    CPPFLAGS="$CPPFLAGS -I$includedir"
+  fi
+  # note: $X_CFLAGS includes $x_includes
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 
 
+  if test \! -z "$libdir" ; then
+    LDFLAGS="$LDFLAGS -L$libdir"
+  fi
+  # note: $X_LIBS includes $x_libraries
+  LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
+
+  echo $ac_n "checking for gdk_pixbuf_new_from_file in -lgdk_pixbuf""... $ac_c" 1>&6
+echo "configure:9551: checking for gdk_pixbuf_new_from_file in -lgdk_pixbuf" >&5
+ac_lib_var=`echo gdk_pixbuf'_'gdk_pixbuf_new_from_file | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lgdk_pixbuf $ac_gdk_pixbuf_config_libs $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9559 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gdk_pixbuf_new_from_file();
+
+int main() {
+gdk_pixbuf_new_from_file()
+; return 0; }
+EOF
+if { (eval echo configure:9570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  have_gdk_pixbuf=yes
+else
+  echo "$ac_t""no" 1>&6
+true
+fi
+
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  LDFLAGS="$ac_save_LDFLAGS"
+#  LIBS="$ac_save_LIBS"
+  
+    # library 2...
     if test "$have_gdk_pixbuf" = yes; then
     if test "$have_gdk_pixbuf" = yes; then
-      cat >> confdefs.h <<\EOF
-#define HAVE_GDK_PIXBUF 1
+      
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  ac_save_LDFLAGS="$LDFLAGS"
+#  ac_save_LIBS="$LIBS"
+
+  if test \! -z "$includedir" ; then 
+    CPPFLAGS="$CPPFLAGS -I$includedir"
+  fi
+  # note: $X_CFLAGS includes $x_includes
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
+  if test \! -z "$libdir" ; then
+    LDFLAGS="$LDFLAGS -L$libdir"
+  fi
+  # note: $X_LIBS includes $x_libraries
+  LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
+
+  echo $ac_n "checking for gdk_pixbuf_xlib_init in -lgdk_pixbuf_xlib""... $ac_c" 1>&6
+echo "configure:9615: checking for gdk_pixbuf_xlib_init in -lgdk_pixbuf_xlib" >&5
+ac_lib_var=`echo gdk_pixbuf_xlib'_'gdk_pixbuf_xlib_init | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lgdk_pixbuf_xlib $ac_gdk_pixbuf_config_libs $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9623 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gdk_pixbuf_xlib_init();
+
+int main() {
+gdk_pixbuf_xlib_init()
+; return 0; }
 EOF
 EOF
+if { (eval echo configure:9634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  have_gdk_pixbuf=yes
+                      gdk_pixbuf_halfassed=no
+else
+  echo "$ac_t""no" 1>&6
+true
+fi
 
 
-      XPM_LIBS="-lgdk_pixbuf -lgdk_pixbuf_xlib"
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  LDFLAGS="$ac_save_LDFLAGS"
+#  LIBS="$ac_save_LIBS"
+  
     fi
   fi
 
     fi
   fi
 
-elif test "$with_gdk_pixbuf" != no; then
-  echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
-  exit 1
+  if test "$have_gdk_pixbuf" = yes; then
+    INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
+    XPM_LIBS="$ac_gdk_pixbuf_config_libs -lgdk_pixbuf -lgdk_pixbuf_xlib"
+    cat >> confdefs.h <<\EOF
+#define HAVE_GDK_PIXBUF 1
+EOF
+
+  fi
 fi
 
 
 fi
 
 
@@ -9266,7 +9684,7 @@ fi
 
     /*)
      echo $ac_n "checking for JPEG headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for JPEG headers""... $ac_c" 1>&6
-echo "configure:9281: checking for JPEG headers" >&5
+echo "configure:9699: checking for JPEG headers" >&5
      d=$with_jpeg/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_jpeg/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -9276,7 +9694,7 @@ echo "configure:9281: checking for JPEG headers" >&5
      fi
 
      echo $ac_n "checking for JPEG libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for JPEG libs""... $ac_c" 1>&6
-echo "configure:9291: checking for JPEG libs" >&5
+echo "configure:9709: checking for JPEG libs" >&5
      d=$with_jpeg/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_jpeg/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9316,17 +9734,17 @@ if test "$with_jpeg" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:9331: checking for jpeglib.h" >&5
+echo "configure:9749: checking for jpeglib.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9336 "configure"
+#line 9754 "configure"
 #include "confdefs.h"
 #include <jpeglib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <jpeglib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9341: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9759: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9371,7 +9789,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for jpeg_start_compress in -ljpeg""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for jpeg_start_compress in -ljpeg""... $ac_c" 1>&6
-echo "configure:9386: checking for jpeg_start_compress in -ljpeg" >&5
+echo "configure:9804: checking for jpeg_start_compress in -ljpeg" >&5
 ac_lib_var=`echo jpeg'_'jpeg_start_compress | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo jpeg'_'jpeg_start_compress | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9379,7 +9797,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ljpeg  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ljpeg  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9394 "configure"
+#line 9812 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9390,7 +9808,7 @@ int main() {
 jpeg_start_compress()
 ; return 0; }
 EOF
 jpeg_start_compress()
 ; return 0; }
 EOF
-if { (eval echo configure:9405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -9448,7 +9866,7 @@ fi
 
     /*)
      echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6
-echo "configure:9463: checking for XSHM headers" >&5
+echo "configure:9881: checking for XSHM headers" >&5
      d=$with_xshm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xshm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -9458,7 +9876,7 @@ echo "configure:9463: checking for XSHM headers" >&5
      fi
 
      echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6
-echo "configure:9473: checking for XSHM libs" >&5
+echo "configure:9891: checking for XSHM libs" >&5
      d=$with_xshm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xshm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9493,17 +9911,17 @@ if test "$with_xshm" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6
-echo "configure:9508: checking for X11/extensions/XShm.h" >&5
+echo "configure:9926: checking for X11/extensions/XShm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9513 "configure"
+#line 9931 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XShm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/XShm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9537,17 +9955,17 @@ fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:9552: checking for sys/ipc.h" >&5
+echo "configure:9970: checking for sys/ipc.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9557 "configure"
+#line 9975 "configure"
 #include "confdefs.h"
 #include <sys/ipc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <sys/ipc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9562: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6
-echo "configure:9597: checking for sys/shm.h" >&5
+echo "configure:10015: checking for sys/shm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9602 "configure"
+#line 10020 "configure"
 #include "confdefs.h"
 #include <sys/shm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <sys/shm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9607: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10025: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9644,7 +10062,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6
-echo "configure:9659: checking for XShmQueryExtension in -lXextSam" >&5
+echo "configure:10077: checking for XShmQueryExtension in -lXextSam" >&5
 ac_lib_var=`echo XextSam'_'XShmQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo XextSam'_'XShmQueryExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9652,7 +10070,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9667 "configure"
+#line 10085 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9663,7 +10081,7 @@ int main() {
 XShmQueryExtension()
 ; return 0; }
 EOF
 XShmQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:9678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -9730,7 +10148,7 @@ fi
 
     /*)
      echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6
-echo "configure:9745: checking for DOUBLE-BUFFER headers" >&5
+echo "configure:10163: checking for DOUBLE-BUFFER headers" >&5
      d=$with_xdbe/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_xdbe/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -9740,7 +10158,7 @@ echo "configure:9745: checking for DOUBLE-BUFFER headers" >&5
      fi
 
      echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6
-echo "configure:9755: checking for DOUBLE-BUFFER libs" >&5
+echo "configure:10173: checking for DOUBLE-BUFFER libs" >&5
      d=$with_xdbe/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_xdbe/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9774,17 +10192,17 @@ if test "$with_xdbe" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/Xdbe.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/Xdbe.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/Xdbe.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/Xdbe.h""... $ac_c" 1>&6
-echo "configure:9789: checking for X11/extensions/Xdbe.h" >&5
+echo "configure:10207: checking for X11/extensions/Xdbe.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9794 "configure"
+#line 10212 "configure"
 #include "confdefs.h"
 #include <X11/extensions/Xdbe.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/Xdbe.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9847,7 +10265,7 @@ fi
 
     /*)
      echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6
-echo "configure:9862: checking for XReadDisplay headers" >&5
+echo "configure:10280: checking for XReadDisplay headers" >&5
      d=$with_readdisplay/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$with_readdisplay/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -9857,7 +10275,7 @@ echo "configure:9862: checking for XReadDisplay headers" >&5
      fi
 
      echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6
-echo "configure:9872: checking for XReadDisplay libs" >&5
+echo "configure:10290: checking for XReadDisplay libs" >&5
      d=$with_readdisplay/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$with_readdisplay/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -9890,17 +10308,17 @@ if test "$with_readdisplay" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/readdisplay.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/readdisplay.h""... $ac_c" 1>&6
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "X11/extensions/readdisplay.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/extensions/readdisplay.h""... $ac_c" 1>&6
-echo "configure:9905: checking for X11/extensions/readdisplay.h" >&5
+echo "configure:10323: checking for X11/extensions/readdisplay.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9910 "configure"
+#line 10328 "configure"
 #include "confdefs.h"
 #include <X11/extensions/readdisplay.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <X11/extensions/readdisplay.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9965,7 +10383,7 @@ if test -n "$with_fortune_req" ; then
 
       set dummy $with_fortune_req ; fortune_tmp=$2
       echo $ac_n "checking for $fortune_tmp""... $ac_c" 1>&6
 
       set dummy $with_fortune_req ; fortune_tmp=$2
       echo $ac_n "checking for $fortune_tmp""... $ac_c" 1>&6
-echo "configure:9980: checking for $fortune_tmp" >&5
+echo "configure:10398: checking for $fortune_tmp" >&5
       if test -x "$fortune_tmp" ; then
         echo "$ac_t""yes" 1>&6
       else
       if test -x "$fortune_tmp" ; then
         echo "$ac_t""yes" 1>&6
       else
@@ -9980,7 +10398,7 @@ echo "configure:9980: checking for $fortune_tmp" >&5
       # Extract the first word of "$fortune_tmp", so it can be a program name with args.
 set dummy $fortune_tmp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
       # Extract the first word of "$fortune_tmp", so it can be a program name with args.
 set dummy $fortune_tmp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9995: checking for $ac_word" >&5
+echo "configure:10413: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10034,7 +10452,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10049: checking for $ac_word" >&5
+echo "configure:10467: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10077,7 +10495,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10092: checking for $ac_word" >&5
+echo "configure:10510: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_fortune_tmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10119,7 +10537,7 @@ done
   #
   fortune_tmp="$fortune_tmp zippy"
   echo $ac_n "checking for zippy quotes""... $ac_c" 1>&6
   #
   fortune_tmp="$fortune_tmp zippy"
   echo $ac_n "checking for zippy quotes""... $ac_c" 1>&6
-echo "configure:10134: checking for zippy quotes" >&5
+echo "configure:10552: checking for zippy quotes" >&5
   if ( $fortune_tmp >/dev/null 2>&1 ); then
     ac_cv_fortune_program="$fortune_tmp"
     echo "$ac_t""$fortune_tmp" 1>&6
   if ( $fortune_tmp >/dev/null 2>&1 ); then
     ac_cv_fortune_program="$fortune_tmp"
     echo "$ac_t""$fortune_tmp" 1>&6
@@ -10163,7 +10581,7 @@ fi
 
     /*)
      echo $ac_n "checking for setuid hacks headers""... $ac_c" 1>&6
 
     /*)
      echo $ac_n "checking for setuid hacks headers""... $ac_c" 1>&6
-echo "configure:10178: checking for setuid hacks headers" >&5
+echo "configure:10596: checking for setuid hacks headers" >&5
      d=$setuid_hacks/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
      d=$setuid_hacks/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -10173,7 +10591,7 @@ echo "configure:10178: checking for setuid hacks headers" >&5
      fi
 
      echo $ac_n "checking for setuid hacks libs""... $ac_c" 1>&6
      fi
 
      echo $ac_n "checking for setuid hacks libs""... $ac_c" 1>&6
-echo "configure:10188: checking for setuid hacks libs" >&5
+echo "configure:10606: checking for setuid hacks libs" >&5
      d=$setuid_hacks/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
      d=$setuid_hacks/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -10309,6 +10727,7 @@ fi
 
 # Now that we know whether we have Gnome, we can decide where the XML
 # config files get installed.
 
 # Now that we know whether we have Gnome, we can decide where the XML
 # config files get installed.
+#
 if test -z "$HACK_CONF_DIR" ; then
   if test -n "$GNOME_DATADIR" ; then
     HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
 if test -z "$HACK_CONF_DIR" ; then
   if test -n "$GNOME_DATADIR" ; then
     HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
@@ -10317,6 +10736,21 @@ if test -z "$HACK_CONF_DIR" ; then
   fi
 fi
 
   fi
 fi
 
+
+
+# After computing $HACK_CONF_DIR, make sure $GTK_ICONDIR has a value
+# so that we know where to install the Gtk pixmaps.
+#
+if test -n "$GNOME_DATADIR" ; then
+  GTK_ICONDIR='$(GNOME_DATADIR)/pixmaps'
+elif test "$have_gtk" = yes; then
+  # should this be "$(prefix)/share/pixmaps"? But /usr/X11R6/share/ is wrong...
+  GTK_ICONDIR='/usr/share/pixmaps'
+else
+  GTK_ICONDIR=''
+fi
+
+
 # canonicalize slashes.
 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 
 # canonicalize slashes.
 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 
@@ -10371,6 +10805,7 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 
 
 
 
 
 
+
 
 
 APPDEFAULTS=$ac_x_app_defaults
 
 
 APPDEFAULTS=$ac_x_app_defaults
@@ -10526,6 +10961,7 @@ s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
 s%@CC@%$CC%g
 s%@CPP@%$CPP%g
 s%@host_os@%$host_os%g
 s%@CC@%$CC%g
 s%@CPP@%$CPP%g
+s%@EXEEXT@%$EXEEXT%g
 s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
 s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
 s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
 s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
@@ -10539,6 +10975,8 @@ s%@glib_config@%$glib_config%g
 s%@gtk_config@%$gtk_config%g
 s%@gnome_config@%$gnome_config%g
 s%@have_gnome_help@%$have_gnome_help%g
 s%@gtk_config@%$gtk_config%g
 s%@gnome_config@%$gnome_config%g
 s%@have_gnome_help@%$have_gnome_help%g
+s%@xml_config@%$xml_config%g
+s%@gdk_pixbuf_config@%$gdk_pixbuf_config%g
 s%@fortune_tmp@%$fortune_tmp%g
 s%@INCLUDES@%$INCLUDES%g
 s%@PREFERRED_DEMO_PROGRAM@%$PREFERRED_DEMO_PROGRAM%g
 s%@fortune_tmp@%$fortune_tmp%g
 s%@INCLUDES@%$INCLUDES%g
 s%@PREFERRED_DEMO_PROGRAM@%$PREFERRED_DEMO_PROGRAM%g
@@ -10581,6 +11019,7 @@ s%@GNOMEHELP_Y@%$GNOMEHELP_Y%g
 s%@GNOMEHELP_N@%$GNOMEHELP_N%g
 s%@HACKDIR@%$HACKDIR%g
 s%@GNOME_DATADIR@%$GNOME_DATADIR%g
 s%@GNOMEHELP_N@%$GNOMEHELP_N%g
 s%@HACKDIR@%$HACKDIR%g
 s%@GNOME_DATADIR@%$GNOME_DATADIR%g
+s%@GTK_ICONDIR@%$GTK_ICONDIR%g
 s%@HACK_CONF_DIR@%$HACK_CONF_DIR%g
 s%@APPDEFAULTS@%$APPDEFAULTS%g
 s%@DEPEND@%$DEPEND%g
 s%@HACK_CONF_DIR@%$HACK_CONF_DIR%g
 s%@APPDEFAULTS@%$APPDEFAULTS%g
 s%@DEPEND@%$DEPEND%g
@@ -10998,11 +11437,11 @@ if test "$have_motif" = yes -a "$have_gtk" = no ; then
 fi
 
 
 fi
 
 
-if test "$with_xpm_req" = yes ; then
+if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
   warnL 'Use of XPM was requested, but it was not found.'
 fi
 
   warnL 'Use of XPM was requested, but it was not found.'
 fi
 
-if test "$with_gdk_pixbuf_req" = yes ; then
+if test "$with_gdk_pixbuf_req" = yes  -a "$have_gdk_pixbuf" = no; then
   warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
 fi
 
   warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
 fi
 
@@ -11024,6 +11463,14 @@ if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no; then
     warnL 'The GDK-Pixbuf library was not found.'
   fi
 
     warnL 'The GDK-Pixbuf library was not found.'
   fi
 
+  if test "$gdk_pixbuf_halfassed" = yes ; then
+    echo ''
+    warn2 'More specifically, we found the headers, but not the'
+    warn2 'libraries; so either GDK-Pixbuf is half-installed on this'
+    warn2 "system, or something else went wrong.  The \`config.log'"
+    warn2 'file might contain some clues.'
+  fi
+
   echo ''
   warn2 'Some of the demos will not be as colorful as they'
   warn2 'could be.  You should consider installing Pixbuf or'
   echo ''
   warn2 'Some of the demos will not be as colorful as they'
   warn2 'could be.  You should consider installing Pixbuf or'
@@ -11254,12 +11701,11 @@ if test "$do_dir_warning" = yes; then
   echo "      will be installed in ${bindir}/."
   echo ""
   echo "      The various graphics demos (140+ different executables) will"
   echo "      will be installed in ${bindir}/."
   echo ""
   echo "      The various graphics demos (140+ different executables) will"
-  echo "      also be installed in ${HACKDIR}/."
+  echo "      be installed in ${HACKDIR}/."
   echo ""
   echo ""
-  echo "      If you would prefer the demos to be installed elsewhere"
-  echo "      (for example, in a dedicated directory) you should re-run"
-  echo "      configure with the --with-hackdir=DIR option.  For more"
-  echo "      information, run $0 --help."
+  echo "      If you would prefer the demos to be installed elsewhere,"
+  echo "      you should re-run configure with the --with-hackdir=DIR"
+  echo "      option.  For more information, run \`./configure --help'."
   warning=yes
 fi
 
   warning=yes
 fi
 
index 335afa2f57b60e219ed7c881b64b63c61febaa7b..f965a9cf5635694cd7683f9d760e3babd34faff7 100644 (file)
@@ -1,6 +1,7 @@
 # configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
 #
 
 # configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
 #
 
+AC_PREREQ(2.13)
 AC_INIT(driver/subprocs.c)
 AC_CONFIG_HEADER(config.h)
 
 AC_INIT(driver/subprocs.c)
 AC_CONFIG_HEADER(config.h)
 
@@ -746,6 +747,7 @@ AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
 AC_PROG_CPP
 AC_C_CONST
 AC_C_INLINE
 AC_PROG_CPP
 AC_C_CONST
 AC_C_INLINE
+AC_EXEEXT
 AC_DEMAND_BC
 
 # stuff for Makefiles
 AC_DEMAND_BC
 
 # stuff for Makefiles
@@ -771,7 +773,7 @@ AC_HEADER_TIME
 AC_HEADER_SYS_WAIT
 AC_HEADER_DIRENT
 AC_GETTIMEOFDAY_ARGS
 AC_HEADER_SYS_WAIT
 AC_HEADER_DIRENT
 AC_GETTIMEOFDAY_ARGS
-AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
+AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
 
 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
 AC_CHECK_ICMP
 
 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
 AC_CHECK_ICMP
@@ -871,8 +873,7 @@ AC_ARG_WITH(hackdir,[
 Installation options:
 
   --with-hackdir=DIR      Where to install the hundreds of demo executables.
 Installation options:
 
   --with-hackdir=DIR      Where to install the hundreds of demo executables.
-                          Default: \`PREFIX/lib/xscreensaver/'
-],
+                          Default: \`PREFIX/lib/xscreensaver/'],
   [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
 
 if test x"$with_hackdir" = xyes; then
   [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
 
 if test x"$with_hackdir" = xyes; then
@@ -1836,21 +1837,21 @@ jurassic_gtk=no
 if test "$with_gtk" = yes; then
   have_gtk=no
   
 if test "$with_gtk" = yes; then
   have_gtk=no
   
-  # if the user specified --with-gtk=/foo/ then look in /foo/bin/
-  # for glib-config and gtk-config.
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
   #
   gtk_path="$PATH"
 
   if test ! -z "$gtk_dir"; then
     # canonicalize slashes.
   #
   gtk_path="$PATH"
 
   if test ! -z "$gtk_dir"; then
     # canonicalize slashes.
-    gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
-    gtk_path="$gtk_dir:$gtk_path"
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    gtk_path="$foo:$gtk_path"
   fi
 
   fi
 
-  if test ! -z "gnome_dir"; then
+  if test ! -z "$gnome_dir"; then
     # canonicalize slashes.
     # canonicalize slashes.
-    gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
-    gtk_path="$gnome_dir:$gtk_path"
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    gtk_path="$foo:$gtk_path"
   fi
 
   AC_PATH_PROGS(glib_config,  glib12-config glib-config,,  $gtk_path)
   fi
 
   AC_PATH_PROGS(glib_config,  glib12-config glib-config,,  $gtk_path)
@@ -1860,7 +1861,7 @@ if test "$with_gtk" = yes; then
     AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
   fi
 
     AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
   fi
 
-  if test -n "$glib_config" -a  -n "gtk_config" ; then
+  if test -n "$glib_config" -a  -n "$gtk_config" ; then
     have_gtk=yes
     if test "$with_gnome" = yes -a -n "$gnome_config" ; then
       have_gnome=yes
     have_gtk=yes
     if test "$with_gnome" = yes -a -n "$gnome_config" ; then
       have_gnome=yes
@@ -1901,7 +1902,7 @@ if test "$with_gtk" = yes; then
   # Check for Gnome Capplet support.
   #
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
   # Check for Gnome Capplet support.
   #
   if test "$have_gnome" = yes -a "$have_gtk" = yes; then
-    gnome_config_libs="gtk capplet gnomeui xml gdk_pixbuf"
+    gnome_config_libs="gtk capplet gnomeui gdk_pixbuf"
     AC_MSG_CHECKING(for Gnome capplet includes)
     AC_CACHE_VAL(ac_cv_gnome_config_cflags,
       [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
     AC_MSG_CHECKING(for Gnome capplet includes)
     AC_CACHE_VAL(ac_cv_gnome_config_cflags,
       [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
@@ -1978,7 +1979,7 @@ fi
 
 ###############################################################################
 #
 
 ###############################################################################
 #
-#       Check for -lxml (if we have Gtk)
+#       Check for -lxml
 #
 ###############################################################################
 
 #
 ###############################################################################
 
@@ -1990,6 +1991,17 @@ AC_ARG_WITH(xml,
                           the Gtk interface.],
 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
 
                           the Gtk interface.],
 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
 
+# if --with-xml=/directory/ was specified, remember that directory so that
+# we can also look for the `xml-config' program in that directory.
+case "$with_xml" in
+  /*)
+    xml_dir="$with_xml"
+    ;;
+  *)
+    xml_dir=""
+    ;;
+esac
+
 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
 
 if test "$with_xml" != yes -a "$with_xml" != no ; then
 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
 
 if test "$with_xml" != yes -a "$with_xml" != no ; then
@@ -1997,21 +2009,43 @@ if test "$with_xml" != yes -a "$with_xml" != no ; then
   exit 1
 fi
 
   exit 1
 fi
 
-if test "$have_gtk" != yes; then
-  # don't bother if no GTK
-  with_xml=no
-fi
-
 if test "$with_xml" = yes; then
   have_xml=no
 
 if test "$with_xml" = yes; then
   have_xml=no
 
-  # the XML stuff is likely to be in GTK paths.
-  ac_save_X_CFLAGS="$X_CFLAGS"
-  ac_save_X_LIBS="$X_LIBS"
-  X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags"
-  X_LIBS="$X_LIBS $ac_gtk_config_libs"
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for for xml-config.
+  #
+  xml_path="$PATH"
+
+  if test ! -z "$gtk_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    xml_path="$foo:$xml_path"
+  fi
+
+  if test ! -z "$gnome_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    xml_path="$foo:$xml_path"
+  fi
+
+  AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
 
 
+  # If we found the xml-config program, run it to get flags.
+  #
+  if test -n "$xml_config" ; then
+    AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
+                   [ac_cv_xml_config_cflags=`$xml_config --cflags`])
+    AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
+                   [ac_cv_xml_config_libs=`$xml_config --libs`])
+    ac_xml_config_cflags=$ac_cv_xml_config_cflags
+    ac_xml_config_libs=$ac_cv_xml_config_libs
+  fi
+
+  ac_save_xml_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
   AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes])
   AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes])
+  CPPFLAGS="$ac_save_xml_CPPFLAGS"
 
   if test "$have_xml" = yes; then
     # we have the header, now check for the library
 
   if test "$have_xml" = yes; then
     # we have the header, now check for the library
@@ -2021,11 +2055,16 @@ if test "$with_xml" = yes; then
                    [have_xml=yes
                     xml_halfassed=no
                     XML_LIBS="-lxml"
                    [have_xml=yes
                     xml_halfassed=no
                     XML_LIBS="-lxml"
-                    AC_DEFINE(HAVE_XML)])
+                    AC_DEFINE(HAVE_XML)],
+                   [true],
+                   $ac_xml_config_libs)
   fi
 
   fi
 
-  X_CFLAGS="$ac_save_X_CFLAGS"
-  X_LIBS="$ac_save_X_LIBS"
+  if test "$have_xml" = yes; then
+    INCLUDES="$INCLUDES $ac_xml_config_cflags"
+    GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
+    AC_DEFINE(HAVE_XML)
+  fi
 
 fi
 
 
 fi
 
@@ -2462,33 +2501,94 @@ AC_ARG_WITH(pixbuf,
   [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
   [with_gdk_pixbuf=yes])
 
   [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
   [with_gdk_pixbuf=yes])
 
+# if --with-pixbuf=/directory/ was specified, remember that directory so that
+# we can also look for the `gdk-pixbuf-config' program in that directory.
+case "$with_gdk_pixbuf" in
+  /*)
+    gdk_pixbuf_dir="$with_gdk_pixbuf"
+    ;;
+  *)
+    gdk_pixbuf_dir=""
+    ;;
+esac
+
 HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
 
 HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
 
+if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then
+  echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
+  exit 1
+fi
+
 if test "$with_gdk_pixbuf" = yes; then
 if test "$with_gdk_pixbuf" = yes; then
+  have_gdk_pixbuf=no
 
 
-  if test "$have_gtk" = yes; then
+  # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+  # look in /foo/bin/ for for gdk-pixbuf-config.
+  #
+  gdk_pixbuf_path="$PATH"
 
 
-    ac_save_gdk_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $ac_gtk_config_cflags"
+  if test ! -z "$gtk_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+    gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+  fi
 
 
+  if test ! -z "$gnome_dir"; then
+    # canonicalize slashes.
+    foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+    gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+  fi
+
+  AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
+
+  # If we found the gdk-pixbuf-config program, run it to get flags.
+  #
+  if test -n "$gdk_pixbuf_config" ; then
+    AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
+               [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`])
+    AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
+               [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`])
+    ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
+    ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
+  fi
+
+  ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
+
+  # check for header 1...
+  AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
+
+  # if that worked, check for header 2...
+  if test "$have_gdk_pixbuf" = yes; then
     have_gdk_pixbuf=no
     have_gdk_pixbuf=no
-    AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
-    if test "$have_gdk_pixbuf" = yes; then
-      have_gdk_pixbuf=no
-      AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, [have_gdk_pixbuf=yes])
-    fi
+    AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, [have_gdk_pixbuf=yes])
+  fi
 
 
-    CPPFLAGS="$ac_save_gdk_CPPFLAGS"
+  CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
 
 
+  if test "$have_gdk_pixbuf" = yes; then
+    # we have the headers, now check for the libraries
+    have_gdk_pixbuf=no
+    gdk_pixbuf_halfassed=yes
+    # library 1...
+    AC_CHECK_X_LIB(gdk_pixbuf, gdk_pixbuf_new_from_file,
+                   [have_gdk_pixbuf=yes], [true],
+                   $ac_gdk_pixbuf_config_libs)
+    # library 2...
     if test "$have_gdk_pixbuf" = yes; then
     if test "$have_gdk_pixbuf" = yes; then
-      AC_DEFINE(HAVE_GDK_PIXBUF)
-      XPM_LIBS="-lgdk_pixbuf -lgdk_pixbuf_xlib"
+      AC_CHECK_X_LIB(gdk_pixbuf_xlib, gdk_pixbuf_xlib_init,
+                     [have_gdk_pixbuf=yes
+                      gdk_pixbuf_halfassed=no],
+                     [true],
+                     $ac_gdk_pixbuf_config_libs)
     fi
   fi
 
     fi
   fi
 
-elif test "$with_gdk_pixbuf" != no; then
-  echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
-  exit 1
+  if test "$have_gdk_pixbuf" = yes; then
+    INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
+    XPM_LIBS="$ac_gdk_pixbuf_config_libs -lgdk_pixbuf -lgdk_pixbuf_xlib"
+    AC_DEFINE(HAVE_GDK_PIXBUF)
+  fi
 fi
 
 
 fi
 
 
@@ -2870,6 +2970,7 @@ fi
 
 # Now that we know whether we have Gnome, we can decide where the XML
 # config files get installed.
 
 # Now that we know whether we have Gnome, we can decide where the XML
 # config files get installed.
+#
 if test -z "$HACK_CONF_DIR" ; then
   if test -n "$GNOME_DATADIR" ; then
     HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
 if test -z "$HACK_CONF_DIR" ; then
   if test -n "$GNOME_DATADIR" ; then
     HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
@@ -2878,6 +2979,21 @@ if test -z "$HACK_CONF_DIR" ; then
   fi
 fi
 
   fi
 fi
 
+
+
+# After computing $HACK_CONF_DIR, make sure $GTK_ICONDIR has a value
+# so that we know where to install the Gtk pixmaps.
+#
+if test -n "$GNOME_DATADIR" ; then
+  GTK_ICONDIR='$(GNOME_DATADIR)/pixmaps'
+elif test "$have_gtk" = yes; then
+  # should this be "$(prefix)/share/pixmaps"? But /usr/X11R6/share/ is wrong...
+  GTK_ICONDIR='/usr/share/pixmaps'
+else
+  GTK_ICONDIR=''
+fi
+
+
 # canonicalize slashes.
 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 
 # canonicalize slashes.
 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 
@@ -2932,6 +3048,7 @@ AC_SUBST(GNOMEHELP_Y)
 AC_SUBST(GNOMEHELP_N)
 AC_SUBST(HACKDIR)
 AC_SUBST(GNOME_DATADIR)
 AC_SUBST(GNOMEHELP_N)
 AC_SUBST(HACKDIR)
 AC_SUBST(GNOME_DATADIR)
+AC_SUBST(GTK_ICONDIR)
 AC_SUBST(HACK_CONF_DIR)
 
 APPDEFAULTS=$ac_x_app_defaults
 AC_SUBST(HACK_CONF_DIR)
 
 APPDEFAULTS=$ac_x_app_defaults
@@ -3136,11 +3253,11 @@ if test "$have_motif" = yes -a "$have_gtk" = no ; then
 fi
 
 
 fi
 
 
-if test "$with_xpm_req" = yes ; then
+if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
   warnL 'Use of XPM was requested, but it was not found.'
 fi
 
   warnL 'Use of XPM was requested, but it was not found.'
 fi
 
-if test "$with_gdk_pixbuf_req" = yes ; then
+if test "$with_gdk_pixbuf_req" = yes  -a "$have_gdk_pixbuf" = no; then
   warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
 fi
 
   warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
 fi
 
@@ -3162,6 +3279,14 @@ if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no; then
     warnL 'The GDK-Pixbuf library was not found.'
   fi
 
     warnL 'The GDK-Pixbuf library was not found.'
   fi
 
+  if test "$gdk_pixbuf_halfassed" = yes ; then
+    echo ''
+    warn2 'More specifically, we found the headers, but not the'
+    warn2 'libraries; so either GDK-Pixbuf is half-installed on this'
+    warn2 "system, or something else went wrong.  The \`config.log'"
+    warn2 'file might contain some clues.'
+  fi
+
   echo ''
   warn2 'Some of the demos will not be as colorful as they'
   warn2 'could be.  You should consider installing Pixbuf or'
   echo ''
   warn2 'Some of the demos will not be as colorful as they'
   warn2 'could be.  You should consider installing Pixbuf or'
@@ -3392,12 +3517,11 @@ if test "$do_dir_warning" = yes; then
   echo "      will be installed in ${bindir}/."
   echo ""
   echo "      The various graphics demos (140+ different executables) will"
   echo "      will be installed in ${bindir}/."
   echo ""
   echo "      The various graphics demos (140+ different executables) will"
-  echo "      also be installed in ${HACKDIR}/."
+  echo "      be installed in ${HACKDIR}/."
   echo ""
   echo ""
-  echo "      If you would prefer the demos to be installed elsewhere"
-  echo "      (for example, in a dedicated directory) you should re-run"
-  echo "      configure with the --with-hackdir=DIR option.  For more"
-  echo "      information, run $0 --help."
+  echo "      If you would prefer the demos to be installed elsewhere,"
+  echo "      you should re-run configure with the --with-hackdir=DIR"
+  echo "      option.  For more information, run \`./configure --help'."
   warning=yes
 fi
 
   warning=yes
 fi
 
index 563e9028ed356a17f4c1d829f3775f17fc5dd08f..2df4f3ea5dbdbf6d11e9deeaa2eb3981f1cd9538 100644 (file)
@@ -20,16 +20,16 @@ GNOME_DATADIR       = @GNOME_DATADIR@
 GNOME_CCDIR_1  = $(GNOME_DATADIR)/control-center/Desktop
 GNOME_CCDIR_2  = $(GNOME_DATADIR)/control-center/capplets
 GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
 GNOME_CCDIR_1  = $(GNOME_DATADIR)/control-center/Desktop
 GNOME_CCDIR_2  = $(GNOME_DATADIR)/control-center/capplets
 GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
-GNOME_ICONDIR  = $(GNOME_DATADIR)/pixmaps
 GNOME_BINDIR   = $(bindir)
 HACK_CONF_DIR  = @HACK_CONF_DIR@
 GNOME_BINDIR   = $(bindir)
 HACK_CONF_DIR  = @HACK_CONF_DIR@
+GTK_ICONDIR    = @GTK_ICONDIR@
 
 CC             = @CC@
 CFLAGS         = @CFLAGS@
 LDFLAGS                = @LDFLAGS@
 DEFS           = @DEFS@
 SUBP_DEFS      = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
 
 CC             = @CC@
 CFLAGS         = @CFLAGS@
 LDFLAGS                = @LDFLAGS@
 DEFS           = @DEFS@
 SUBP_DEFS      = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
-GTK_DEFS       = $(DEFS) -DDEFAULT_ICONDIR='"$(GNOME_ICONDIR)"'
+GTK_DEFS       = $(DEFS) -DDEFAULT_ICONDIR='"$(GTK_ICONDIR)"'
 CONF_DEFS      = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"'
 
 LIBS           = @LIBS@
 CONF_DEFS      = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"'
 
 LIBS           = @LIBS@
@@ -127,7 +127,7 @@ GL_LIBS             = @SAVER_GL_LIBS@
 
 ICON_SRC        = $(UTILS_SRC)/images
 LOGO           = $(ICON_SRC)/logo-50.xpm
 
 ICON_SRC        = $(UTILS_SRC)/images
 LOGO           = $(ICON_SRC)/logo-50.xpm
-GNOME_ICONS     = $(ICON_SRC)/screensaver-*.xpm
+GTK_ICONS      = $(ICON_SRC)/screensaver-*.xpm
 
 DEMO_UTIL_SRCS = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
                  $(UTILS_SRC)/visual.c
 
 DEMO_UTIL_SRCS = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
                  $(UTILS_SRC)/visual.c
@@ -515,31 +515,31 @@ install-gnome:: screensaver-properties-capplet
 
 # xscreensaver.xpm
 install-gnome:: $(LOGO)
 
 # xscreensaver.xpm
 install-gnome:: $(LOGO)
-       @if [ "$(GNOME_DATADIR)" != "" ]; then                                \
-           if [ ! -d "$(install_prefix)$(GNOME_ICONDIR)" ]; then              \
-             echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)"        ;\
-                  $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)"        ;\
+       @if [ "$(GTK_ICONDIR)" != "" ]; then                                  \
+           if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then                \
+             echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)"          ;\
+                  $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)"          ;\
            fi                                                                ;\
           target=xscreensaver.xpm                                           ;\
           echo $(INSTALL_DATA) $(LOGO)                                       \
            fi                                                                ;\
           target=xscreensaver.xpm                                           ;\
           echo $(INSTALL_DATA) $(LOGO)                                       \
-                 $(install_prefix)$(GNOME_ICONDIR)/$$target                 ;\
+                 $(install_prefix)$(GTK_ICONDIR)/$$target                   ;\
                $(INSTALL_DATA) $(LOGO)                                       \
                $(INSTALL_DATA) $(LOGO)                                       \
-                 $(install_prefix)$(GNOME_ICONDIR)/$$target                 ;\
+                 $(install_prefix)$(GTK_ICONDIR)/$$target                   ;\
         fi
 
 # ../utils/images/screensaver-*.xpm
 install-gnome::
         fi
 
 # ../utils/images/screensaver-*.xpm
 install-gnome::
-       @if [ "$(GNOME_DATADIR)" != "" ]; then                                \
-           if [ ! -d "$(install_prefix)$(GNOME_ICONDIR)" ]; then              \
-             echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)"        ;\
-                  $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)"        ;\
+       @if [ "$(GTK_ICONDIR)" != "" ]; then                                  \
+           if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then                \
+             echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)"          ;\
+                  $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)"          ;\
            fi                                                                ;\
            fi                                                                ;\
-          for target in $(GNOME_ICONS) ; do                                  \
+          for target in $(GTK_ICONS) ; do                                    \
             dest=`echo $$target | sed 's@^.*/@@'`                           ;\
             echo $(INSTALL_DATA) $$target                                    \
             dest=`echo $$target | sed 's@^.*/@@'`                           ;\
             echo $(INSTALL_DATA) $$target                                    \
-                 $(install_prefix)$(GNOME_ICONDIR)/$$dest                   ;\
+                 $(install_prefix)$(GTK_ICONDIR)/$$dest                     ;\
                  $(INSTALL_DATA) $$target                                    \
                  $(INSTALL_DATA) $$target                                    \
-                 $(install_prefix)$(GNOME_ICONDIR)/$$dest                   ;\
+                 $(install_prefix)$(GTK_ICONDIR)/$$dest                     ;\
           done                                                              ;\
         fi
 
           done                                                              ;\
         fi
 
@@ -563,19 +563,19 @@ uninstall-gnome::
 
 # xscreensaver.xpm
 uninstall-gnome::
 
 # xscreensaver.xpm
 uninstall-gnome::
-       @if [ "$(GNOME_DATADIR)" != "" ]; then                                \
+       @if [ "$(GTK_ICONDIR)" != "" ]; then                                  \
          target=xscreensaver.xpm                                            ;\
          target=xscreensaver.xpm                                            ;\
-         echo rm -f $(install_prefix)$(GNOME_ICONDIR)/$$target              ;\
-              rm -f $(install_prefix)$(GNOME_ICONDIR)/$$target              ;\
+         echo rm -f $(install_prefix)$(GTK_ICONDIR)/$$target                ;\
+              rm -f $(install_prefix)$(GTK_ICONDIR)/$$target                ;\
         fi
 
 # xscreensaver.xpm
 uninstall-gnome::
         fi
 
 # xscreensaver.xpm
 uninstall-gnome::
-       @if [ "$(GNOME_DATADIR)" != "" ]; then                                \
-          for target in $(GNOME_ICONS) ; do                                  \
+       @if [ "$(GTK_ICONDIR)" != "" ]; then                                  \
+          for target in $(GTK_ICONS) ; do                                    \
             dest=`echo $$target | sed 's@^.*/@@'`                           ;\
             dest=`echo $$target | sed 's@^.*/@@'`                           ;\
-            echo rm -f $(install_prefix)$(GNOME_ICONDIR)/$$dest             ;\
-                 rm -f $(install_prefix)$(GNOME_ICONDIR)/$$dest             ;\
+            echo rm -f $(install_prefix)$(GTK_ICONDIR)/$$dest               ;\
+                 rm -f $(install_prefix)$(GTK_ICONDIR)/$$dest               ;\
           done                                                              ;\
         fi
 
           done                                                              ;\
         fi
 
@@ -762,7 +762,8 @@ xscreensaver-command: $(CMD_OBJS)
 
 
 xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@
 
 
 xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@
-       $(INSTALL_PROGRAM) @PREFERRED_DEMO_PROGRAM@ $@
+       cp -p @PREFERRED_DEMO_PROGRAM@@EXEEXT@ $@@EXEEXT@
+#      $(INSTALL_PROGRAM) @PREFERRED_DEMO_PROGRAM@ $@
 
 xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS)
        $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \
 
 xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS)
        $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \
index cf6cef1612f6f6d8c6da1e22465a499cb5021fa7..72f9ce0d7a993149f5d78d0dc39beaa6cfc25e05 100644 (file)
@@ -4,8 +4,8 @@
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
-!                              version 4.01
-!                              24-Feb-2002
+!                              version 4.02
+!                              18-Mar-2002
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
                                  -ncolors 230                              \n\
 -                              juggle -root                                \n\
                                polyominoes -root                           \n\
                                  -ncolors 230                              \n\
 -                              juggle -root                                \n\
                                polyominoes -root                           \n\
-                               thornbird -root                             \n\
+-                              thornbird -root                             \n\
+                               fluidballs -root                            \n\
   color:                       bubbles -root                               \n\
   default-n:                   webcollage -root                            \n\
   default-n:  "WebCollage (whacked)"                                         \
   color:                       bubbles -root                               \n\
   default-n:                   webcollage -root                            \n\
   default-n:  "WebCollage (whacked)"                                         \
 @GL_KLUDGE@ GL:                        boxed -root                                 \n\
 @GL_KLUDGE@ GL:                        glforestfire -root                          \n\
 @GL_KLUDGE@ GL:                        sballs -root                                \n\
 @GL_KLUDGE@ GL:                        boxed -root                                 \n\
 @GL_KLUDGE@ GL:                        glforestfire -root                          \n\
 @GL_KLUDGE@ GL:                        sballs -root                                \n\
+@GL_KLUDGE@ GL:                        cubenetic -root                             \n\
                                                                              \
 -                              xdaliclock -root -builtin3 -cycle           \n\
 - default-n:                   xearth -nofork -nostars -ncolors 50           \
                                                                              \
 -                              xdaliclock -root -builtin3 -cycle           \n\
 - default-n:                   xearth -nofork -nostars -ncolors 50           \
@@ -615,6 +617,7 @@ XScreenSaver*doc.fontList:       *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1
 *hacks.xfishtank.name:      XFishTank
 *hacks.electricsheep.name:  ElectricSheep
 *hacks.sphereEversion.name: SphereEversion
 *hacks.xfishtank.name:      XFishTank
 *hacks.electricsheep.name:  ElectricSheep
 *hacks.sphereEversion.name: SphereEversion
+*hacks.fluidballs.name:     FluidBalls
 
 ! obsolete, but still used by xscreensaver-demo-Xm.
 *hacks.documentation.isInstalled: True
 
 ! obsolete, but still used by xscreensaver-demo-Xm.
 *hacks.documentation.isInstalled: True
index 68a28183b14995d6054a295f7c2b84dc58a7c76d..d00f9c00195c03355d7720030f064a66dd9a69b2 100644 (file)
                                  -ncolors 230                              \\n\
 -                              juggle -root                                \\n\
                                polyominoes -root                           \\n\
                                  -ncolors 230                              \\n\
 -                              juggle -root                                \\n\
                                polyominoes -root                           \\n\
-                               thornbird -root                             \\n\
+-                              thornbird -root                             \\n\
+                               fluidballs -root                            \\n\
   color:                       bubbles -root                               \\n\
   default-n:                   webcollage -root                            \\n\
   default-n:  \"WebCollage (whacked)\"                                       \
   color:                       bubbles -root                               \\n\
   default-n:                   webcollage -root                            \\n\
   default-n:  \"WebCollage (whacked)\"                                       \
           GL:                  boxed -root                                 \\n\
           GL:                  glforestfire -root                          \\n\
           GL:                  sballs -root                                \\n\
           GL:                  boxed -root                                 \\n\
           GL:                  glforestfire -root                          \\n\
           GL:                  sballs -root                                \\n\
+          GL:                  cubenetic -root                             \\n\
                                                                              \
 -                              xdaliclock -root -builtin3 -cycle           \\n\
 - default-n:                   xearth -nofork -nostars -ncolors 50           \
                                                                              \
 -                              xdaliclock -root -builtin3 -cycle           \\n\
 - default-n:                   xearth -nofork -nostars -ncolors 50           \
 "*hacks.xfishtank.name:      XFishTank",
 "*hacks.electricsheep.name:  ElectricSheep",
 "*hacks.sphereEversion.name: SphereEversion",
 "*hacks.xfishtank.name:      XFishTank",
 "*hacks.electricsheep.name:  ElectricSheep",
 "*hacks.sphereEversion.name: SphereEversion",
+"*hacks.fluidballs.name:     FluidBalls",
 "*hacks.documentation.isInstalled: True",
 "*hacks.documentation.isInstalled: True",
index d51d1df7b3fe2e3282b8e2fbc51c32f274829130..02dad2ba03282455e4073837118c0b6b17cefb5f 100644 (file)
@@ -1671,10 +1671,15 @@ load_configurator_1 (const char *program, const char *arguments,
 {
   const char *dir = HACK_CONFIGURATION_PATH;
   int L = strlen (dir);
 {
   const char *dir = HACK_CONFIGURATION_PATH;
   int L = strlen (dir);
-  char *file = (char *) malloc (L + strlen (program) + 10);
+  char *file;
   char *s;
   FILE *f;
   char *s;
   FILE *f;
-  conf_data *data = (conf_data *) calloc (1, sizeof(*data));
+  conf_data *data;
+
+  if (L == 0) return 0;
+
+  file = (char *) malloc (L + strlen (program) + 10);
+  data = (conf_data *) calloc (1, sizeof(*data));
 
   strcpy (file, dir);
   if (file[L-1] != '/')
 
   strcpy (file, dir);
   if (file[L-1] != '/')
@@ -1703,7 +1708,12 @@ load_configurator_1 (const char *program, const char *arguments,
         fprintf (stderr, "%s: reading %s...\n", blurb(), file);
 
       res = fread (chars, 1, 4, f);
         fprintf (stderr, "%s: reading %s...\n", blurb(), file);
 
       res = fread (chars, 1, 4, f);
-      if (res <= 0) return 0;
+      if (res <= 0)
+        {
+          free (data);
+          data = 0;
+          goto DONE;
+        }
 
       ctxt = xmlCreatePushParserCtxt(NULL, NULL, chars, res, file);
       while ((res = fread(chars, 1, size, f)) > 0)
 
       ctxt = xmlCreatePushParserCtxt(NULL, NULL, chars, res, file);
       while ((res = fread(chars, 1, size, f)) > 0)
@@ -1748,6 +1758,9 @@ load_configurator_1 (const char *program, const char *arguments,
     }
 
   data->progname = strdup (program);
     }
 
   data->progname = strdup (program);
+
+ DONE:
+  free (file);
   return data;
 }
 
   return data;
 }
 
@@ -1848,7 +1861,9 @@ free_conf_data (conf_data *data)
     gtk_widget_destroy (data->widget);
 
   if (data->progname)
     gtk_widget_destroy (data->widget);
 
   if (data->progname)
-    free (data->progname);;
+    free (data->progname);
+  if (data->description)
+    free (data->description);
 
   memset (data, ~0, sizeof(*data));
   free (data);
 
   memset (data, ~0, sizeof(*data));
   free (data);
index 26c69db6791e52d827c1d40065c7ea31076d177a..dc6f46551d0e898c2ce1a003ae71b538d22d92f9 100644 (file)
@@ -1874,8 +1874,18 @@ populate_prefs_page (state *s)
   saver_preferences *p = &s->prefs;
   char str[100];
 
   saver_preferences *p = &s->prefs;
   char str[100];
 
+  /* The file supports timeouts of less than a minute, but the GUI does
+     not, so throttle the values to be at least one minute (since "0" is
+     a bad rounding choice...)
+   */
+# define THROTTLE(NAME) if (p->NAME != 0 && p->NAME < 60000) p->NAME = 60000
+  THROTTLE (timeout);
+  THROTTLE (cycle);
+  THROTTLE (passwd_timeout);
+# undef THROTTLE
+
 # define FMT_MINUTES(NAME,N) \
 # define FMT_MINUTES(NAME,N) \
-    sprintf (str, "%d", ((N) + 59) / (60 * 1000)); \
+    sprintf (str, "%d", (((N / 1000) + 59) / 60)); \
     gtk_entry_set_text (GTK_ENTRY (name_to_widget (s, (NAME))), str)
 
 # define FMT_SECONDS(NAME,N) \
     gtk_entry_set_text (GTK_ENTRY (name_to_widget (s, (NAME))), str)
 
 # define FMT_SECONDS(NAME,N) \
@@ -2012,6 +2022,10 @@ populate_popup_window (state *s)
   screenhack *hack = (hack_number >= 0 ? p->screenhacks[hack_number] : 0);
   char *doc_string = 0;
 
   screenhack *hack = (hack_number >= 0 ? p->screenhacks[hack_number] : 0);
   char *doc_string = 0;
 
+  /* #### not in Gtk 1.2
+  gtk_label_set_selectable (doc);
+   */
+
 # ifdef HAVE_XML
   if (s->cdata)
     {
 # ifdef HAVE_XML
   if (s->cdata)
     {
@@ -2796,7 +2810,7 @@ launch_preview_subproc (state *s)
 {
   saver_preferences *p = &s->prefs;
   Window id;
 {
   saver_preferences *p = &s->prefs;
   Window id;
-  char *new_cmd;
+  char *new_cmd = 0;
   pid_t forked;
   const char *cmd = s->desired_preview_cmd;
 
   pid_t forked;
   const char *cmd = s->desired_preview_cmd;
 
@@ -2808,7 +2822,7 @@ launch_preview_subproc (state *s)
   if (s->preview_suppressed_p)
     {
       kill_preview_subproc (s);
   if (s->preview_suppressed_p)
     {
       kill_preview_subproc (s);
-      return;
+      goto DONE;
     }
 
   new_cmd = malloc (strlen (cmd) + 40);
     }
 
   new_cmd = malloc (strlen (cmd) + 40);
@@ -2831,7 +2845,7 @@ launch_preview_subproc (state *s)
     {
       s->running_preview_error_p = True;
       clear_preview_window (s);
     {
       s->running_preview_error_p = True;
       clear_preview_window (s);
-      return;
+      goto DONE;
     }
 
   switch ((int) (forked = fork ()))
     }
 
   switch ((int) (forked = fork ()))
@@ -2842,7 +2856,8 @@ launch_preview_subproc (state *s)
         sprintf (buf, "%s: couldn't fork", blurb());
         perror (buf);
         s->running_preview_error_p = True;
         sprintf (buf, "%s: couldn't fork", blurb());
         perror (buf);
         s->running_preview_error_p = True;
-        return;
+        goto DONE;
+        break;
       }
     case 0:
       {
       }
     case 0:
       {
@@ -2876,6 +2891,10 @@ launch_preview_subproc (state *s)
     }
 
   schedule_preview_check (s);
     }
 
   schedule_preview_check (s);
+
+ DONE:
+  if (new_cmd) free (new_cmd);
+  new_cmd = 0;
 }
 
 
 }
 
 
@@ -2902,6 +2921,11 @@ hack_environment (state *s)
   if (s->debug_p)
     fprintf (stderr, "%s: %s\n", blurb(), ndpy);
 
   if (s->debug_p)
     fprintf (stderr, "%s: %s\n", blurb(), ndpy);
 
+  /* don't free(ndpy) -- some implementations of putenv (BSD 4.4, glibc
+     2.0) copy the argument, but some (libc4,5, glibc 2.1.2) do not.
+     So we must leak it (and/or the previous setting).  Yay.
+   */
+
   if (def_path && *def_path)
     {
       const char *opath = getenv("PATH");
   if (def_path && *def_path)
     {
       const char *opath = getenv("PATH");
@@ -2913,6 +2937,7 @@ hack_environment (state *s)
 
       if (putenv (npath))
        abort ();
 
       if (putenv (npath))
        abort ();
+      /* do not free(npath) -- see above */
 
       if (s->debug_p)
         fprintf (stderr, "%s: added \"%s\" to $PATH\n", blurb(), def_path);
 
       if (s->debug_p)
         fprintf (stderr, "%s: added \"%s\" to $PATH\n", blurb(), def_path);
@@ -3139,7 +3164,7 @@ static void
 the_network_is_not_the_computer (state *s)
 {
   Display *dpy = GDK_DISPLAY();
 the_network_is_not_the_computer (state *s)
 {
   Display *dpy = GDK_DISPLAY();
-  char *rversion, *ruser, *rhost;
+  char *rversion = 0, *ruser = 0, *rhost = 0;
   char *luser, *lhost;
   char *msg = 0;
   struct passwd *p = getpwuid (getuid ());
   char *luser, *lhost;
   char *msg = 0;
   struct passwd *p = getpwuid (getuid ());
@@ -3250,6 +3275,9 @@ the_network_is_not_the_computer (state *s)
   if (*msg)
     warning_dialog (s->toplevel_widget, msg, True, 1);
 
   if (*msg)
     warning_dialog (s->toplevel_widget, msg, True, 1);
 
+  if (rversion) free (rversion);
+  if (ruser) free (ruser);
+  if (rhost) free (rhost);
   free (msg);
 }
 
   free (msg);
 }
 
@@ -3424,7 +3452,10 @@ main (int argc, char **argv)
   }
 
 #ifdef DEFAULT_ICONDIR  /* from -D on compile line */
   }
 
 #ifdef DEFAULT_ICONDIR  /* from -D on compile line */
-  add_pixmap_directory (DEFAULT_ICONDIR);
+  {
+    const char *dir = DEFAULT_ICONDIR;
+    if (*dir) add_pixmap_directory (dir);
+  }
 #endif
 
   /* This is gross, but Gtk understands --display and not -display...
 #endif
 
   /* This is gross, but Gtk understands --display and not -display...
index 277cfc3c21f27c67a0c15b63511a5bd32413097f..03890a909c3e58dbe4a059b36c8c734864a03162 100644 (file)
@@ -1,5 +1,5 @@
 /* lock.c --- handling the password dialog for locking-mode.
 /* lock.c --- handling the password dialog for locking-mode.
- * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -187,7 +187,7 @@ make_passwd_window (saver_info *si)
     pw->heading_label = s;
   }
 
     pw->heading_label = s;
   }
 
-  pw->user_string = (p && p->pw_name ? p->pw_name : "???");
+  pw->user_string = strdup (p && p->pw_name ? p->pw_name : "???");
   pw->passwd_string = strdup("");
 
   f = get_string_resource ("passwd.headingFont", "Dialog.Font");
   pw->passwd_string = strdup("");
 
   f = get_string_resource ("passwd.headingFont", "Dialog.Font");
@@ -771,6 +771,9 @@ destroy_passwd_window (saver_info *si)
   Pixel white = WhitePixelOfScreen (ssi->screen);
   XEvent event;
 
   Pixel white = WhitePixelOfScreen (ssi->screen);
   XEvent event;
 
+  memset (pw->typed_passwd, 0, sizeof(pw->typed_passwd));
+  memset (pw->passwd_string, 0, strlen(pw->passwd_string));
+
   if (pw->timer)
     XtRemoveTimeOut (pw->timer);
 
   if (pw->timer)
     XtRemoveTimeOut (pw->timer);
 
@@ -818,11 +821,15 @@ destroy_passwd_window (saver_info *si)
   if (pw->body_label)    free (pw->body_label);
   if (pw->user_label)    free (pw->user_label);
   if (pw->passwd_label)  free (pw->passwd_label);
   if (pw->body_label)    free (pw->body_label);
   if (pw->user_label)    free (pw->user_label);
   if (pw->passwd_label)  free (pw->passwd_label);
+  if (pw->date_label)    free (pw->date_label);
+  if (pw->user_string)   free (pw->user_string);
+  if (pw->passwd_string) free (pw->passwd_string);
 
   if (pw->heading_font) XFreeFont (si->dpy, pw->heading_font);
   if (pw->body_font)    XFreeFont (si->dpy, pw->body_font);
   if (pw->label_font)   XFreeFont (si->dpy, pw->label_font);
   if (pw->passwd_font)  XFreeFont (si->dpy, pw->passwd_font);
 
   if (pw->heading_font) XFreeFont (si->dpy, pw->heading_font);
   if (pw->body_font)    XFreeFont (si->dpy, pw->body_font);
   if (pw->label_font)   XFreeFont (si->dpy, pw->label_font);
   if (pw->passwd_font)  XFreeFont (si->dpy, pw->passwd_font);
+  if (pw->date_font)    XFreeFont (si->dpy, pw->date_font);
 
   if (pw->foreground != black && pw->foreground != white)
     XFreeColors (si->dpy, cmap, &pw->foreground, 1, 0L);
 
   if (pw->foreground != black && pw->foreground != white)
     XFreeColors (si->dpy, cmap, &pw->foreground, 1, 0L);
@@ -843,17 +850,23 @@ destroy_passwd_window (saver_info *si)
 
   if (pw->logo_pixmap)
     XFreePixmap (si->dpy, pw->logo_pixmap);
 
   if (pw->logo_pixmap)
     XFreePixmap (si->dpy, pw->logo_pixmap);
-  if (pw->logo_npixels && pw->logo_pixels)
-    XFreeColors (si->dpy, cmap, pw->logo_pixels, pw->logo_npixels, 0L);
   if (pw->logo_pixels)
   if (pw->logo_pixels)
-    free (pw->logo_pixels);
+    {
+      if (pw->logo_npixels)
+        XFreeColors (si->dpy, cmap, pw->logo_pixels, pw->logo_npixels, 0L);
+      free (pw->logo_pixels);
+      pw->logo_pixels = 0;
+      pw->logo_npixels = 0;
+    }
 
 
-  memset (pw, 0, sizeof(*pw));
-  free (pw);
+  if (pw->save_under)
+    XFreePixmap (si->dpy, pw->save_under);
 
   if (cmap)
     XInstallColormap (si->dpy, cmap);
 
 
   if (cmap)
     XInstallColormap (si->dpy, cmap);
 
+  memset (pw, 0, sizeof(*pw));
+  free (pw);
   si->pw_data = 0;
 }
 
   si->pw_data = 0;
 }
 
index 324e31fd197188e3e87b5c9192893744f7951124..7083cfe487f41342c5c26ff1dd10518ceedcbdeb 100644 (file)
@@ -1,7 +1,7 @@
 /* passwd-pam.c --- verifying typed passwords with PAM
  * (Pluggable Authentication Modules.)
  * written by Bill Nottingham <notting@redhat.com> (and jwz) for
 /* passwd-pam.c --- verifying typed passwords with PAM
  * (Pluggable Authentication Modules.)
  * written by Bill Nottingham <notting@redhat.com> (and jwz) for
- * xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -212,11 +212,12 @@ pam_passwd_valid_p (const char *typed_passwd, Bool verbose_p)
      far as PAM is concerned...)
    */
   {
      far as PAM is concerned...)
    */
   {
-    const char *tty = ":0.0";
-    status = pam_set_item (pamh, PAM_TTY, strdup(tty));
+    char *tty = strdup (":0.0");
+    status = pam_set_item (pamh, PAM_TTY, tty);
     if (verbose_p)
       fprintf (stderr, "%s:   pam_set_item (p, PAM_TTY, \"%s\") ==> %d (%s)\n",
                blurb(), tty, status, PAM_STRERROR(pamh, status));
     if (verbose_p)
       fprintf (stderr, "%s:   pam_set_item (p, PAM_TTY, \"%s\") ==> %d (%s)\n",
                blurb(), tty, status, PAM_STRERROR(pamh, status));
+    free (tty);
   }
 
   /* Try to authenticate as the current user.
   }
 
   /* Try to authenticate as the current user.
@@ -263,8 +264,10 @@ pam_passwd_valid_p (const char *typed_passwd, Bool verbose_p)
 
   /* If that didn't work, set the user to root, and try to authenticate again.
    */
 
   /* If that didn't work, set the user to root, and try to authenticate again.
    */
-  c.user = "root";
-  status = pam_set_item (pamh, PAM_USER, strdup(c.user));
+  if (user) free (user);
+  user = strdup ("root");
+  c.user = user;
+  status = pam_set_item (pamh, PAM_USER, c.user);
   if (verbose_p)
     fprintf (stderr, "%s:   pam_set_item(p, PAM_USER, \"%s\") ==> %d (%s)\n",
              blurb(), c.user, status, PAM_STRERROR(pamh, status));
   if (verbose_p)
     fprintf (stderr, "%s:   pam_set_item(p, PAM_USER, \"%s\") ==> %d (%s)\n",
              blurb(), c.user, status, PAM_STRERROR(pamh, status));
index b55334c936aad2c53157de05298cfece5c0feeee..9a9a4b8863b4efe628970853eaa0f4088f3e3d69 100644 (file)
@@ -1,5 +1,5 @@
 /* passwd.c --- verifying typed passwords with the OS.
 /* passwd.c --- verifying typed passwords with the OS.
- * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -23,6 +23,7 @@
 #endif
 
 extern char *blurb(void);
 #endif
 
 extern char *blurb(void);
+extern void check_for_leaks (const char *where);
 
 
 /* blargh */
 
 
 /* blargh */
@@ -132,8 +133,12 @@ passwd_valid_p (const char *typed_passwd, Bool verbose_p)
   int i, j;
   for (i = 0; i < countof(methods); i++)
     {
   int i, j;
   for (i = 0; i < countof(methods); i++)
     {
-      if (methods[i].initted_p &&
-          methods[i].valid_p (typed_passwd, verbose_p))
+      int ok_p = (methods[i].initted_p &&
+                  methods[i].valid_p (typed_passwd, verbose_p));
+
+      check_for_leaks (methods[i].name);
+
+      if (ok_p)
         {
           /* If we successfully authenticated by method N, but attempting
              to authenticate by method N-1 failed, mention that (since if
         {
           /* If we successfully authenticated by method N, but attempting
              to authenticate by method N-1 failed, mention that (since if
index 46b93886211cc1cef9991d06950eeed1fe0e08e5..180dfca6478f31d4bd0bb06b7b83118efcf24994 100644 (file)
@@ -77,6 +77,8 @@ static void get_screenhacks (saver_preferences *p);
 static char *format_command (const char *cmd, Bool wrap_p);
 static void merge_system_screenhacks (saver_preferences *p,
                                       screenhack **system_list, int count);
 static char *format_command (const char *cmd, Bool wrap_p);
 static void merge_system_screenhacks (saver_preferences *p,
                                       screenhack **system_list, int count);
+static void stop_the_insanity (saver_preferences *p);
+
 
 static char *
 chase_symlinks (const char *file)
 
 static char *
 chase_symlinks (const char *file)
@@ -216,6 +218,7 @@ get_byte_resource (char *name, char *class)
     LOSE:
       fprintf (stderr, "%s: %s must be a number of bytes, not \"%s\".\n",
                progname, name, s);
     LOSE:
       fprintf (stderr, "%s: %s must be a number of bytes, not \"%s\".\n",
                progname, name, s);
+      free (s);
       return 0;
     }
   s2++;
       return 0;
     }
   s2++;
@@ -223,6 +226,7 @@ get_byte_resource (char *name, char *class)
   while (isspace(*s2)) s2++;
   if (*s2) goto LOSE;
 
   while (isspace(*s2)) s2++;
   if (*s2) goto LOSE;
 
+  free (s);
   return n;
 }
 
   return n;
 }
 
@@ -632,6 +636,11 @@ write_init_file (saver_preferences *p, const char *version_string,
 
   if (n2) name = n2;
 
 
   if (n2) name = n2;
 
+  /* Throttle the various timeouts to reasonable values before writing
+     the file to disk. */
+  stop_the_insanity (p);
+
+
   if (verbose_p)
     fprintf (stderr, "%s: writing \"%s\".\n", blurb(), name);
 
   if (verbose_p)
     fprintf (stderr, "%s: writing \"%s\".\n", blurb(), name);
 
@@ -701,6 +710,7 @@ write_init_file (saver_preferences *p, const char *version_string,
        *ss++ = '\n';
        *ss = 0;
       }
        *ss++ = '\n';
        *ss = 0;
       }
+    free (hack_strings);
   }
 
   {
   }
 
   {
@@ -939,6 +949,7 @@ free_screenhack_list (screenhack **list, int count)
 }
 
 
 }
 
 
+
 /* Populate `saver_preferences' with the contents of the resource database.
    Note that this may be called multiple times -- it is re-run each time
    the ~/.xscreensaver file is reloaded.
 /* Populate `saver_preferences' with the contents of the resource database.
    Note that this may be called multiple times -- it is re-run each time
    the ~/.xscreensaver file is reloaded.
@@ -1043,43 +1054,7 @@ load_init_file (saver_preferences *p)
                                                     "Boolean");
   p->use_proc_interrupts = get_boolean_resource ("procInterrupts", "Boolean");
 
                                                     "Boolean");
   p->use_proc_interrupts = get_boolean_resource ("procInterrupts", "Boolean");
 
-  /* Throttle the various timeouts to reasonable values.
-   */
-  if (p->passwd_timeout <= 0) p->passwd_timeout = 30000;        /* 30 secs */
-  if (p->timeout < 10000) p->timeout = 10000;                   /* 10 secs */
-  if (p->cycle != 0 && p->cycle < 2000) p->cycle = 2000;        /*  2 secs */
-  if (p->pointer_timeout <= 0) p->pointer_timeout = 5000;       /*  5 secs */
-  if (p->notice_events_timeout <= 0)
-    p->notice_events_timeout = 10000;                           /* 10 secs */
-  if (p->fade_seconds <= 0 || p->fade_ticks <= 0)
-    p->fade_p = False;
-  if (! p->fade_p) p->unfade_p = False;
-
-  /* The DPMS settings may have the value 0.
-     But if they are negative, or are a range less than 10 seconds,
-     reset them to sensible defaults.  (Since that must be a mistake.)
-   */
-  if (p->dpms_standby != 0 &&
-      p->dpms_standby < 10 * 1000)
-    p->dpms_standby =  2 * 60 * 60 * 1000;                      /* 2 hours */
-  if (p->dpms_suspend != 0 &&
-      p->dpms_suspend < 10 * 1000)
-    p->dpms_suspend =  2 * 60 * 60 * 1000;                      /* 2 hours */
-  if (p->dpms_off != 0 &&
-      p->dpms_off < 10 * 1000)
-    p->dpms_off      = 4 * 60 * 60 * 1000;                      /* 4 hours */
-
-  if (p->dpms_standby == 0 &&     /* if *all* are 0, then DPMS is disabled */
-      p->dpms_suspend == 0 &&
-      p->dpms_off     == 0)
-    p->dpms_enabled_p = False;
-
-
-  p->watchdog_timeout = p->cycle * 0.6;
-  if (p->watchdog_timeout < 30000) p->watchdog_timeout = 30000;          /* 30 secs */
-  if (p->watchdog_timeout > 3600000) p->watchdog_timeout = 3600000; /*  1 hr */
-
-  get_screenhacks (p);
+  get_screenhacks (p);                /* Parse the "programs" resource. */
 
   p->selected_hack = get_integer_resource ("selected", "Integer");
   if (p->selected_hack < 0 || p->selected_hack >= p->screenhacks_count)
 
   p->selected_hack = get_integer_resource ("selected", "Integer");
   if (p->selected_hack < 0 || p->selected_hack >= p->screenhacks_count)
@@ -1091,6 +1066,7 @@ load_init_file (saver_preferences *p)
     else if (s && !strcasecmp (s, "blank")) p->mode = BLANK_ONLY;
     else if (s && !strcasecmp (s, "off"))   p->mode = DONT_BLANK;
     else                                    p->mode = RANDOM_HACKS;
     else if (s && !strcasecmp (s, "blank")) p->mode = BLANK_ONLY;
     else if (s && !strcasecmp (s, "off"))   p->mode = DONT_BLANK;
     else                                    p->mode = RANDOM_HACKS;
+    if (s) free (s);
   }
 
   if (system_default_screenhack_count)  /* note: first_time is also true */
   }
 
   if (system_default_screenhack_count)  /* note: first_time is also true */
@@ -1110,6 +1086,10 @@ load_init_file (saver_preferences *p)
       p->timestamp_p = True;
       p->initial_delay = 0;
     }
       p->timestamp_p = True;
       p->initial_delay = 0;
     }
+
+  /* Throttle the various timeouts to reasonable values after reading the
+     disk file. */
+  stop_the_insanity (p);
 }
 
 
 }
 
 
@@ -1319,7 +1299,10 @@ make_hack_name (const char *shell_command)
   sprintf (res_name, "hacks.%s.name", s);              /* resource? */
   s2 = get_string_resource (res_name, res_name);
   if (s2)
   sprintf (res_name, "hacks.%s.name", s);              /* resource? */
   s2 = get_string_resource (res_name, res_name);
   if (s2)
-    return s2;
+    {
+      free (s);
+      return s2;
+    }
 
   for (s2 = s; *s2; s2++)      /* if it has any capitals, return it */
     if (*s2 >= 'A' && *s2 <= 'Z')
 
   for (s2 = s; *s2; s2++)      /* if it has any capitals, return it */
     if (*s2 >= 'A' && *s2 <= 'Z')
@@ -1481,9 +1464,51 @@ get_screenhacks (saver_preferences *p)
       start = end+1;
     }
 
       start = end+1;
     }
 
+  free (d);
+
   if (p->screenhacks_count == 0)
     {
       free (p->screenhacks);
       p->screenhacks = 0;
     }
 }
   if (p->screenhacks_count == 0)
     {
       free (p->screenhacks);
       p->screenhacks = 0;
     }
 }
+
+
+/* Make sure all the values in the preferences struct are sane.
+ */
+static void
+stop_the_insanity (saver_preferences *p)
+{
+  if (p->passwd_timeout <= 0) p->passwd_timeout = 30000;        /* 30 secs */
+  if (p->timeout < 15000) p->timeout = 15000;                   /* 15 secs */
+  if (p->cycle != 0 && p->cycle < 2000) p->cycle = 2000;        /*  2 secs */
+  if (p->pointer_timeout <= 0) p->pointer_timeout = 5000;       /*  5 secs */
+  if (p->notice_events_timeout <= 0)
+    p->notice_events_timeout = 10000;                           /* 10 secs */
+  if (p->fade_seconds <= 0 || p->fade_ticks <= 0)
+    p->fade_p = False;
+  if (! p->fade_p) p->unfade_p = False;
+
+  /* The DPMS settings may have the value 0.
+     But if they are negative, or are a range less than 10 seconds,
+     reset them to sensible defaults.  (Since that must be a mistake.)
+   */
+  if (p->dpms_standby != 0 &&
+      p->dpms_standby < 10 * 1000)
+    p->dpms_standby =  2 * 60 * 60 * 1000;                      /* 2 hours */
+  if (p->dpms_suspend != 0 &&
+      p->dpms_suspend < 10 * 1000)
+    p->dpms_suspend =  2 * 60 * 60 * 1000;                      /* 2 hours */
+  if (p->dpms_off != 0 &&
+      p->dpms_off < 10 * 1000)
+    p->dpms_off      = 4 * 60 * 60 * 1000;                      /* 4 hours */
+
+  if (p->dpms_standby == 0 &&     /* if *all* are 0, then DPMS is disabled */
+      p->dpms_suspend == 0 &&
+      p->dpms_off     == 0)
+    p->dpms_enabled_p = False;
+
+  p->watchdog_timeout = p->cycle * 0.6;
+  if (p->watchdog_timeout < 30000) p->watchdog_timeout = 30000;          /* 30 secs */
+  if (p->watchdog_timeout > 3600000) p->watchdog_timeout = 3600000; /*  1 hr */
+}
index 38bc4c8b4720fd0c7b2d2415d364e55da54abf0a..2ecd7cbb70671fbfc8c095c7f1b3ab0ba91739eb 100644 (file)
@@ -119,11 +119,15 @@ find_screensaver_window (Display *dpy, char **version)
 
       if (status == Success && type != None)
        {
 
       if (status == Success && type != None)
        {
+          Window ret = kids[i];
          if (version)
            *version = v;
          if (version)
            *version = v;
-         return kids[i];
+          XFree (kids);
+         return ret;
        }
     }
        }
     }
+
+  if (kids) XFree (kids);
   return 0;
 }
 
   return 0;
 }
 
@@ -132,6 +136,7 @@ static int
 send_xscreensaver_command (Display *dpy, Atom command, long arg,
                           Window *window_ret, char **error_ret)
 {
 send_xscreensaver_command (Display *dpy, Atom command, long arg,
                           Window *window_ret, char **error_ret)
 {
+  int status = -1;
   char *v = 0;
   Window window = find_screensaver_window (dpy, &v);
   XWindowAttributes xgwa;
   char *v = 0;
   Window window = find_screensaver_window (dpy, &v);
   XWindowAttributes xgwa;
@@ -148,15 +153,20 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
       if (error_ret)
         {
           *error_ret = strdup (err);
       if (error_ret)
         {
           *error_ret = strdup (err);
-          return -1;
+          status = -1;
+          goto DONE;
         }
 
       if (command == XA_EXIT)
         }
 
       if (command == XA_EXIT)
-        /* Don't print an error if xscreensaver is already dead. */
-        return 1;
+        {
+          /* Don't print an error if xscreensaver is already dead. */
+          status = 1;
+          goto DONE;
+        }
 
       fprintf (stderr, "%s: %s\n", progname, err);
 
       fprintf (stderr, "%s: %s\n", progname, err);
-      return -1;
+      status = -1;
+      goto DONE;
     }
 
   /* Select for property change events, so that we can read the response. */
     }
 
   /* Select for property change events, so that we can read the response. */
@@ -176,7 +186,9 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
-         return -1;
+
+          status = -1;
+          goto DONE;
        }
 
       XGetClassHint(dpy, window, &hint);
        }
 
       XGetClassHint(dpy, window, &hint);
@@ -188,7 +200,10 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
-         return -1;
+
+          if (v) free (v);
+          status = -1;
+          goto DONE;
        }
 
       fprintf (stdout, "%s %s", hint.res_class, v);
        }
 
       fprintf (stdout, "%s %s", hint.res_class, v);
@@ -225,7 +240,8 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
                   fprintf (stdout, "\n");
                   fflush (stdout);
                   fprintf (stderr, "bad status format on root window.\n");
                   fprintf (stdout, "\n");
                   fflush (stdout);
                   fprintf (stderr, "bad status format on root window.\n");
-                  return -1;
+                  status = -1;
+                  goto DONE;
                 }
                   
               blanked = (Atom) data[0];
                 }
                   
               blanked = (Atom) data[0];
@@ -286,12 +302,14 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
              fprintf (stdout, "\n");
              fflush (stdout);
              fprintf (stderr, "no saver status on root window.\n");
              fprintf (stdout, "\n");
              fflush (stdout);
              fprintf (stderr, "no saver status on root window.\n");
-             return -1;
+              status = -1;
+              goto DONE;
            }
        }
 
       /* No need to read a response for these commands. */
            }
        }
 
       /* No need to read a response for these commands. */
-      return 1;
+      status = 1;
+      goto DONE;
     }
   else
     {
     }
   else
     {
@@ -326,11 +344,17 @@ send_xscreensaver_command (Display *dpy, Atom command, long arg,
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
             *error_ret = strdup (err);
           else
             fprintf (stderr, "%s: %s\n", progname, err);
-         return -1;
+          status = -1;
+          goto DONE;
        }
     }
        }
     }
+
+  status = 0;
+
+ DONE:
+  if (v) free (v);
   XSync (dpy, 0);
   XSync (dpy, 0);
-  return 0;
+  return status;
 }
 
 
 }
 
 
index 0ae76a4a3dc1b59850cbc5bbcda8af663c6789e1..55c4e9be37398756e51e71b56ede4d3b1f00e4e8 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1991-2001 Jamie Zawinski <jwz@netscape.com>
+/* xscreensaver, Copyright (c) 1991-2002 Jamie Zawinski <jwz@netscape.com>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -645,6 +645,7 @@ destroy_splash_window (saver_info *si)
   
   if (sp->heading_label) free (sp->heading_label);
   if (sp->body_label)    free (sp->body_label);
   
   if (sp->heading_label) free (sp->heading_label);
   if (sp->body_label)    free (sp->body_label);
+  if (sp->body2_label)   free (sp->body2_label);
   if (sp->demo_label)    free (sp->demo_label);
 #ifdef PREFS_BUTTON
   if (sp->prefs_label)   free (sp->prefs_label);
   if (sp->demo_label)    free (sp->demo_label);
 #ifdef PREFS_BUTTON
   if (sp->prefs_label)   free (sp->prefs_label);
@@ -670,14 +671,17 @@ destroy_splash_window (saver_info *si)
 
   if (sp->logo_pixmap)
     XFreePixmap (si->dpy, sp->logo_pixmap);
 
   if (sp->logo_pixmap)
     XFreePixmap (si->dpy, sp->logo_pixmap);
-  if (sp->logo_npixels && sp->logo_pixels)
-    XFreeColors (si->dpy, cmap, sp->logo_pixels, sp->logo_npixels, 0L);
   if (sp->logo_pixels)
   if (sp->logo_pixels)
-    free (sp->logo_pixels);
+    {
+      if (sp->logo_npixels)
+        XFreeColors (si->dpy, cmap, sp->logo_pixels, sp->logo_npixels, 0L);
+      free (sp->logo_pixels);
+      sp->logo_pixels = 0;
+      sp->logo_npixels = 0;
+    }
 
   memset (sp, 0, sizeof(*sp));
   free (sp);
 
   memset (sp, 0, sizeof(*sp));
   free (sp);
-
   si->sp_data = 0;
 }
 
   si->sp_data = 0;
 }
 
index 62ae9ae9040281054a50711acfd5b0c5ae395a04..910d5cc92912bacc819fcbad128faff93a237981 100644 (file)
@@ -732,8 +732,8 @@ spawn_screenhack_1 (saver_screen_info *ssi, Bool first_time_p)
              */
              if (p->verbose_p)
                fprintf(stderr,
              */
              if (p->verbose_p)
                fprintf(stderr,
-                       "%s: no suitable visuals for these programs.\n",
-                       blurb());
+                     "%s: %d: no programs enabled, or no suitable visuals.\n",
+                       blurb(), ssi->number);
              return;
            }
          else
              return;
            }
          else
@@ -885,6 +885,11 @@ hack_environment (saver_info *si)
 
       if (putenv (npath))
        abort ();
 
       if (putenv (npath))
        abort ();
+
+      /* don't free (npath) -- some implementations of putenv (BSD 4.4,
+         glibc 2.0) copy the argument, but some (libc4,5, glibc 2.1.2)
+         do not.  So we must leak it (and/or the previous setting). Yay.
+       */
     }
 #endif /* HAVE_PUTENV && DEFAULT_PATH_PREFIX */
 }
     }
 #endif /* HAVE_PUTENV && DEFAULT_PATH_PREFIX */
 }
@@ -923,6 +928,7 @@ hack_subproc_environment (saver_screen_info *ssi)
 #ifdef HAVE_PUTENV
   if (putenv (ndpy))
     abort ();
 #ifdef HAVE_PUTENV
   if (putenv (ndpy))
     abort ();
+  /* do not free(ndpy) -- see above. */
 #endif /* HAVE_PUTENV */
 }
 
 #endif /* HAVE_PUTENV */
 }
 
index 988b00126c7f411303a4a76c5d9fe207cfbfb32e..9ef2cfe190daeb7fd488bffc989975b5819b85f2 100644 (file)
@@ -52,11 +52,14 @@ void start_notice_events_timer (saver_info *si, Window w, Bool b) {}
 Bool handle_clientmessage (saver_info *si, XEvent *e, Bool u) { return False; }
 int BadWindow_ehandler (Display *dpy, XErrorEvent *error) { exit(1); }
 const char *signal_name(int signal) { return "???"; }
 Bool handle_clientmessage (saver_info *si, XEvent *e, Bool u) { return False; }
 int BadWindow_ehandler (Display *dpy, XErrorEvent *error) { exit(1); }
 const char *signal_name(int signal) { return "???"; }
-void restore_real_vroot (saver_info *si) {}
+Bool restore_real_vroot (saver_info *si) { return False; }
 void store_saver_status (saver_info *si) {}
 void saver_exit (saver_info *si, int status, const char *core) { exit(status);}
 int move_mouse_grab (saver_info *si, Window to, Cursor c, int ts) { return 0; }
 int mouse_screen (saver_info *si) { return 0; }
 void store_saver_status (saver_info *si) {}
 void saver_exit (saver_info *si, int status, const char *core) { exit(status);}
 int move_mouse_grab (saver_info *si, Window to, Cursor c, int ts) { return 0; }
 int mouse_screen (saver_info *si) { return 0; }
+void check_for_leaks (const char *where) { }
+void exec_command (const char *shell, const char *command, int nice) { }
+void shutdown_stderr (saver_info *si) { }
 
 const char *blurb(void) { return progname; }
 Atom XA_SCREENSAVER, XA_DEMO, XA_PREFS;
 
 const char *blurb(void) { return progname; }
 Atom XA_SCREENSAVER, XA_DEMO, XA_PREFS;
index 79a0dfdf0d67830508b427bad7a73a44cee984d6..a401c38cd7aca45f7773882d54adebba4d3ab57a 100644 (file)
@@ -20,6 +20,7 @@
 #endif
 
 #include <stdio.h>
 #endif
 
 #include <stdio.h>
+#include <time.h>
 #include <sys/time.h>
 
 #include <X11/Xlib.h>
 #include <sys/time.h>
 
 #include <X11/Xlib.h>
index 9f3877e5b07e0a4a230c79d759f0e8ef9e1e5c52..5e73d5b12134823b47769066cf35ce63ab7cd4cc 100644 (file)
@@ -1,6 +1,5 @@
 /* timers.c --- detecting when the user is idle, and other timer-related tasks.
 /* timers.c --- detecting when the user is idle, and other timer-related tasks.
- * xscreensaver, Copyright (c) 1991-1997, 1998
- *  Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -15,8 +14,6 @@
 # include "config.h"
 #endif
 
 # include "config.h"
 #endif
 
-/* #define DEBUG_TIMERS */
-
 #include <stdio.h>
 #include <X11/Xlib.h>
 #include <X11/Intrinsic.h>
 #include <stdio.h>
 #include <X11/Xlib.h>
 #include <X11/Intrinsic.h>
@@ -85,11 +82,9 @@ schedule_wakeup_event (saver_info *si, Time when, Bool verbose_p)
   si->timer_id = XtAppAddTimeOut (si->app, when, idle_timer,
                                   (XtPointer) si);
 
   si->timer_id = XtAppAddTimeOut (si->app, when, idle_timer,
                                   (XtPointer) si);
 
-#ifdef DEBUG_TIMERS
   if (verbose_p)
     fprintf (stderr, "%s: starting idle_timer (%ld, %ld)\n",
              blurb(), when, si->timer_id);
   if (verbose_p)
     fprintf (stderr, "%s: starting idle_timer (%ld, %ld)\n",
              blurb(), when, si->timer_id);
-#endif /* DEBUG_TIMERS */
 }
 
 
 }
 
 
@@ -142,7 +137,7 @@ notice_events (saver_info *si, Window window, Bool top_p)
    */
   XSelectInput (si->dpy, window, SubstructureNotifyMask | events);
 
    */
   XSelectInput (si->dpy, window, SubstructureNotifyMask | events);
 
-  if (top_p && p->verbose_p && (events & KeyPressMask))
+  if (top_p && p->debug_p && (events & KeyPressMask))
     {
       /* Only mention one window per tree (hack hack). */
       fprintf (stderr, "%s: %d: selected KeyPress on 0x%lX\n",
     {
       /* Only mention one window per tree (hack hack). */
       fprintf (stderr, "%s: %d: selected KeyPress on 0x%lX\n",
@@ -262,20 +257,16 @@ cycle_timer (XtPointer closure, XtIntervalId *id)
       si->cycle_id = XtAppAddTimeOut (si->app, how_long, cycle_timer,
                                       (XtPointer) si);
 
       si->cycle_id = XtAppAddTimeOut (si->app, how_long, cycle_timer,
                                       (XtPointer) si);
 
-# ifdef DEBUG_TIMERS
-      if (p->verbose_p)
+      if (p->debug_p)
         fprintf (stderr, "%s: starting cycle_timer (%ld, %ld)\n",
                  blurb(), how_long, si->cycle_id);
         fprintf (stderr, "%s: starting cycle_timer (%ld, %ld)\n",
                  blurb(), how_long, si->cycle_id);
-# endif /* DEBUG_TIMERS */
     }
     }
-# ifdef DEBUG_TIMERS
   else
     {
   else
     {
-      if (p->verbose_p)
+      if (p->debug_p)
         fprintf (stderr, "%s: not starting cycle_timer: how_long == %d\n",
                  blurb(), how_long);
     }
         fprintf (stderr, "%s: not starting cycle_timer: how_long == %d\n",
                  blurb(), how_long);
     }
-# endif /* DEBUG_TIMERS */
 }
 
 
 }
 
 
@@ -302,15 +293,13 @@ reset_timers (saver_info *si)
 
   if (si->timer_id)
     {
 
   if (si->timer_id)
     {
-#ifdef DEBUG_TIMERS
-      if (p->verbose_p)
+      if (p->debug_p)
         fprintf (stderr, "%s: killing idle_timer  (%ld, %ld)\n",
                  blurb(), p->timeout, si->timer_id);
         fprintf (stderr, "%s: killing idle_timer  (%ld, %ld)\n",
                  blurb(), p->timeout, si->timer_id);
-#endif /* DEBUG_TIMERS */
       XtRemoveTimeOut (si->timer_id);
     }
 
       XtRemoveTimeOut (si->timer_id);
     }
 
-  schedule_wakeup_event (si, p->timeout, p->verbose_p); /* sets si->timer_id */
+  schedule_wakeup_event (si, p->timeout, p->debug_p); /* sets si->timer_id */
 
   if (si->cycle_id) abort ();  /* no cycle timer when inactive */
 
 
   if (si->cycle_id) abort ();  /* no cycle timer when inactive */
 
@@ -367,8 +356,7 @@ check_pointer_timer (XtPointer closure, XtIntervalId *id)
 
       active_p = True;
 
 
       active_p = True;
 
-#ifdef DEBUG_TIMERS
-      if (p->verbose_p)
+      if (p->debug_p)
         {
           if (root_x == ssi->poll_mouse_last_root_x &&
               root_y == ssi->poll_mouse_last_root_y &&
         {
           if (root_x == ssi->poll_mouse_last_root_x &&
               root_y == ssi->poll_mouse_last_root_y &&
@@ -401,8 +389,6 @@ check_pointer_timer (XtPointer closure, XtIntervalId *id)
             }
         }
 
             }
         }
 
-#endif /* DEBUG_TIMERS */
-
       si->last_activity_screen    = ssi;
       ssi->poll_mouse_last_root_x = root_x;
       ssi->poll_mouse_last_root_y = root_y;
       si->last_activity_screen    = ssi;
       ssi->poll_mouse_last_root_x = root_x;
       ssi->poll_mouse_last_root_y = root_y;
@@ -415,11 +401,6 @@ check_pointer_timer (XtPointer closure, XtIntervalId *id)
       si->using_proc_interrupts &&
       proc_interrupts_activity_p (si))
     {
       si->using_proc_interrupts &&
       proc_interrupts_activity_p (si))
     {
-# ifdef DEBUG_TIMERS
-      if (p->verbose_p)
-        fprintf (stderr, "%s: /proc/interrupts activity at %s.\n",
-                 blurb(), timestring());
-# endif /* DEBUG_TIMERS */
       active_p = True;
     }
 #endif /* HAVE_PROC_INTERRUPTS */
       active_p = True;
     }
 #endif /* HAVE_PROC_INTERRUPTS */
@@ -456,8 +437,7 @@ check_for_clock_skew (saver_info *si)
   time_t now = time ((time_t *) 0);
   long shift = now - si->last_wall_clock_time;
 
   time_t now = time ((time_t *) 0);
   long shift = now - si->last_wall_clock_time;
 
-#ifdef DEBUG_TIMERS
-  if (p->verbose_p)
+  if (p->debug_p)
     {
       int i = (si->last_wall_clock_time == 0 ? 0 : shift);
       fprintf (stderr,
     {
       int i = (si->last_wall_clock_time == 0 ? 0 : shift);
       fprintf (stderr,
@@ -465,7 +445,6 @@ check_for_clock_skew (saver_info *si)
                blurb(),
                (i / (60 * 60)), ((i / 60) % 60), (i % 60));
     }
                blurb(),
                (i / (60 * 60)), ((i / 60) % 60), (i % 60));
     }
-#endif /* DEBUG_TIMERS */
 
   if (si->last_wall_clock_time != 0 &&
       shift > (p->timeout / 1000))
 
   if (si->last_wall_clock_time != 0 &&
       shift > (p->timeout / 1000))
@@ -616,7 +595,7 @@ sleep_until_idle (saver_info *si, Bool until_idle_p)
            is economical: for example, if the screensaver should come on in 5
            minutes, and the user has been idle for 2 minutes, then this
            timeout will go off no sooner than 3 minutes from now.  */
            is economical: for example, if the screensaver should come on in 5
            minutes, and the user has been idle for 2 minutes, then this
            timeout will go off no sooner than 3 minutes from now.  */
-        schedule_wakeup_event (si, p->timeout, p->verbose_p);
+        schedule_wakeup_event (si, p->timeout, p->debug_p);
 
       if (polling_mouse_position)
         /* Check to see if the mouse has moved, and set up a repeating timer
 
       if (polling_mouse_position)
         /* Check to see if the mouse has moved, and set up a repeating timer
@@ -698,7 +677,7 @@ sleep_until_idle (saver_info *si, Bool until_idle_p)
                    yet been idle for long enough.  So re-signal the event.
                    */
                 if (polling_for_idleness)
                    yet been idle for long enough.  So re-signal the event.
                    */
                 if (polling_for_idleness)
-                  schedule_wakeup_event (si, p->timeout - idle, p->verbose_p);
+                  schedule_wakeup_event (si, p->timeout - idle, p->debug_p);
               }
          }
        break;
               }
          }
        break;
@@ -714,11 +693,7 @@ sleep_until_idle (saver_info *si, Bool until_idle_p)
        if (scanning_all_windows)
          {
             Window w = event.xcreatewindow.window;
        if (scanning_all_windows)
          {
             Window w = event.xcreatewindow.window;
-#ifdef DEBUG_TIMERS
-           start_notice_events_timer (si, w, p->verbose_p);
-#else  /* !DEBUG_TIMERS */
-           start_notice_events_timer (si, w, False);
-#endif /* !DEBUG_TIMERS */
+           start_notice_events_timer (si, w, p->debug_p);
          }
        break;
 
          }
        break;
 
@@ -728,8 +703,7 @@ sleep_until_idle (saver_info *si, Bool until_idle_p)
       case ButtonRelease:
       case MotionNotify:
 
       case ButtonRelease:
       case MotionNotify:
 
-#ifdef DEBUG_TIMERS
-       if (p->verbose_p)
+       if (p->debug_p)
          {
             Window root, window;
             int x, y;
          {
             Window root, window;
             int x, y;
@@ -772,7 +746,6 @@ sleep_until_idle (saver_info *si, Bool until_idle_p)
                   fprintf (stderr, " at %d,%d.\n", x, y);
               }
          }
                   fprintf (stderr, " at %d,%d.\n", x, y);
               }
          }
-#endif /* DEBUG_TIMERS */
 
        /* If any widgets want to handle this event, let them. */
        dispatch_event (si, &event);
 
        /* If any widgets want to handle this event, let them. */
        dispatch_event (si, &event);
@@ -1036,8 +1009,8 @@ proc_interrupts_activity_p (saver_info *si)
   static char last_kbd_line[255] = { 0, };
   static char last_ptr_line[255] = { 0, };
   char new_line[sizeof(last_kbd_line)];
   static char last_kbd_line[255] = { 0, };
   static char last_ptr_line[255] = { 0, };
   char new_line[sizeof(last_kbd_line)];
-  Bool got_kbd = False, kbd_diff = False;
-  Bool got_ptr = False, ptr_diff = False;
+  Bool checked_kbd = False, kbd_changed = False;
+  Bool checked_ptr = False, ptr_changed = False;
 
   if (!f0)
     {
 
   if (!f0)
     {
@@ -1088,27 +1061,35 @@ proc_interrupts_activity_p (saver_info *si)
 
   while (fgets (new_line, sizeof(new_line)-1, f1))
     {
 
   while (fgets (new_line, sizeof(new_line)-1, f1))
     {
-      if (!got_kbd && strstr (new_line, "keyboard"))
+      if (!checked_kbd && strstr (new_line, "keyboard"))
         {
         {
-          kbd_diff = (*last_kbd_line && !!strcmp (new_line, last_kbd_line));
+          kbd_changed = (*last_kbd_line && !!strcmp (new_line, last_kbd_line));
           strcpy (last_kbd_line, new_line);
           strcpy (last_kbd_line, new_line);
-          got_kbd = True;
+          checked_kbd = True;
         }
         }
-      else if (!got_ptr && strstr (new_line, "PS/2 Mouse"))
+      else if (!checked_ptr && strstr (new_line, "PS/2 Mouse"))
         {
         {
-          ptr_diff = (*last_ptr_line && !!strcmp (new_line, last_ptr_line));
+          ptr_changed = (*last_ptr_line && !!strcmp (new_line, last_ptr_line));
           strcpy (last_ptr_line, new_line);
           strcpy (last_ptr_line, new_line);
-          got_ptr = True;
+          checked_ptr = True;
         }
 
         }
 
-      if (got_kbd && got_ptr)
+      if (checked_kbd && checked_ptr)
         break;
     }
 
         break;
     }
 
-  if (got_kbd || got_ptr)
+  if (checked_kbd || checked_ptr)
     {
       fclose (f1);
     {
       fclose (f1);
-      return (kbd_diff || ptr_diff);
+
+      if (si->prefs.debug_p && (kbd_changed || ptr_changed))
+        fprintf (stderr, "%s: /proc/interrupts activity: %s\n",
+                 blurb(),
+                 ((kbd_changed && ptr_changed) ? "mouse and kbd" :
+                  kbd_changed ? "kbd" :
+                  ptr_changed ? "mouse" : "ERR"));
+
+      return (kbd_changed || ptr_changed);
     }
 
 
     }
 
 
@@ -1173,19 +1154,15 @@ watchdog_timer (XtPointer closure, XtIntervalId *id)
 
       if (si->dbox_up_p)
         {
 
       if (si->dbox_up_p)
         {
-#ifdef DEBUG_TIMERS
-          if (si->prefs.verbose_p)
+          if (si->prefs.debug_p)
             fprintf (stderr, "%s: dialog box is up: not raising screen.\n",
                      blurb());
             fprintf (stderr, "%s: dialog box is up: not raising screen.\n",
                      blurb());
-#endif /* DEBUG_TIMERS */
         }
       else
         {
         }
       else
         {
-#ifdef DEBUG_TIMERS
-          if (si->prefs.verbose_p)
+          if (si->prefs.debug_p)
             fprintf (stderr, "%s: watchdog timer raising %sscreen.\n",
                      blurb(), (running_p ? "" : "and clearing "));
             fprintf (stderr, "%s: watchdog timer raising %sscreen.\n",
                      blurb(), (running_p ? "" : "and clearing "));
-#endif /* DEBUG_TIMERS */
 
           raise_window (si, True, True, running_p);
         }
 
           raise_window (si, True, True, running_p);
         }
@@ -1225,11 +1202,8 @@ reset_watchdog_timer (saver_info *si, Bool on_p)
       si->watchdog_id = XtAppAddTimeOut (si->app, p->watchdog_timeout,
                                         watchdog_timer, (XtPointer) si);
 
       si->watchdog_id = XtAppAddTimeOut (si->app, p->watchdog_timeout,
                                         watchdog_timer, (XtPointer) si);
 
-#ifdef DEBUG_TIMERS
-      if (p->verbose_p)
+      if (p->debug_p)
        fprintf (stderr, "%s: restarting watchdog_timer (%ld, %ld)\n",
                 blurb(), p->watchdog_timeout, si->watchdog_id);
        fprintf (stderr, "%s: restarting watchdog_timer (%ld, %ld)\n",
                 blurb(), p->watchdog_timeout, si->watchdog_id);
-#endif /* DEBUG_TIMERS */
-
     }
 }
     }
 }
index d6cb192ebb22c53f12f80baca33953f1cc073452..49db1ea7fd482b99f18d690f67a006ff0456a5d8 100644 (file)
@@ -758,7 +758,7 @@ saver_exit (saver_info *si, int status, const char *dump_core_reason)
       if (bugp)
        fprintf(real_stderr,
                "%s: see http://www.jwz.org/xscreensaver/bugs.html\n"
       if (bugp)
        fprintf(real_stderr,
                "%s: see http://www.jwz.org/xscreensaver/bugs.html\n"
-               "\t\tfor bug reporting information.\n\n",
+               "\t\t\tfor bug reporting information.\n\n",
                blurb());
 
 # if defined(HAVE_GETCWD)
                blurb());
 
 # if defined(HAVE_GETCWD)
@@ -884,6 +884,7 @@ store_saver_status (saver_info *si)
                    XA_SCREENSAVER_STATUS,
                    XA_INTEGER, 32, PropModeReplace,
                    (unsigned char *) status, size);
                    XA_SCREENSAVER_STATUS,
                    XA_INTEGER, 32, PropModeReplace,
                    (unsigned char *) status, size);
+  free (status);
 }
 
 
 }
 
 
index 207f2fa97119790550706a1551946ebbc8e3e146..8e98bf48e86c739d68a39117fdad8c42ad618146 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver-command - control a running xscreensaver process
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-command - control a running xscreensaver process
 .SH SYNOPSIS
index a275a2caaee1a615924a407dd7f504f8b7f1a91a..cd860888cd238d3c8973bed5059cc6df980835fc 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver-demo - interactively control the background xscreensaver daemon
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-demo - interactively control the background xscreensaver daemon
 .SH SYNOPSIS
index 2da17d5958522b907faeff90deed9f1583398441..36de487e0e7d04e608731572b95f375d0cdc3ff7 100755 (executable)
@@ -29,7 +29,10 @@ use strict;
 
 use POSIX;
 use Fcntl;
 
 use POSIX;
 use Fcntl;
-use Fcntl ':mode';
+
+# use Fcntl ':mode';   # Perl 5.6ism?
+use POSIX ':fcntl_h';  # more portable?
+
 
 my $progname = $0; $progname =~ s@.*/@@g;
 my $version = q{ $Revision: 1.8 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 
 my $progname = $0; $progname =~ s@.*/@@g;
 my $version = q{ $Revision: 1.8 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
index ca0e92cb7e17b03b688c29569a54c1601e28db9a..8a9fbc9e231c39a745904287e9c819d0761d5eb6 100644 (file)
@@ -1,4 +1,4 @@
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver-getimage-file - put a randomly-selected image on the root window
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-getimage-file - put a randomly-selected image on the root window
 .SH SYNOPSIS
index 2f05128288a41cd3c83b6852b538701e03d9c8d4..6a674b2131c843c20f2062610b169b1e8fea7864 100644 (file)
@@ -1,4 +1,4 @@
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver-getimage-video - put a video frame on the root window
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-getimage-video - put a video frame on the root window
 .SH SYNOPSIS
index 46e3019eee924e3024348b265e53402e49870395..04b752011fd63c872545b53b1faf25e9f5264697 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2001 by Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2001, 2002 by Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -295,6 +295,12 @@ get_image (Screen *screen, Window window, Bool verbose_p)
 
         if (putenv (ndpy))
           abort ();
 
         if (putenv (ndpy))
           abort ();
+
+        /* don't free (ndpy) -- some implementations of putenv (BSD
+           4.4, glibc 2.0) copy the argument, but some (libc4,5, glibc
+           2.1.2) do not.  So we must leak it (and/or the previous
+           setting).  Yay.
+         */
       }
 # endif /* HAVE_PUTENV */
 
       }
 # endif /* HAVE_PUTENV */
 
index 682c35128d9e3705e09ca92cb5d9e27d0984f824..6e95c3d9e21f5e75d1428d76b633058af79f1b97 100644 (file)
@@ -1,4 +1,4 @@
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver-getimage - put some randomly-selected image on the root window
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-getimage - put some randomly-selected image on the root window
 .SH SYNOPSIS
index 628bcf1d442b4090899e397bed66979fbddf7de6..0e60dfcc8599da4afdf6b01ab7c8e2eea4004eff 100644 (file)
@@ -484,8 +484,6 @@ lock_initialization (saver_info *si, int *argc, char **argv)
       si->nolock_reason = "running under GDM";
     }
 #endif /* NO_LOCKING */
       si->nolock_reason = "running under GDM";
     }
 #endif /* NO_LOCKING */
-
-  hack_uid (si);
 }
 
 
 }
 
 
@@ -500,13 +498,17 @@ connect_to_server (saver_info *si, int *argc, char **argv)
   char *d = getenv ("DISPLAY");
   if (!d || !*d)
     {
   char *d = getenv ("DISPLAY");
   if (!d || !*d)
     {
-      char ndpy[] = "DISPLAY=:0.0";
+      char *ndpy = strdup("DISPLAY=:0.0");
       /* if (si->prefs.verbose_p) */      /* sigh, too early to test this... */
         fprintf (stderr,
                  "%s: warning: $DISPLAY is not set: defaulting to \"%s\".\n",
                  blurb(), ndpy+8);
       if (putenv (ndpy))
         abort ();
       /* if (si->prefs.verbose_p) */      /* sigh, too early to test this... */
         fprintf (stderr,
                  "%s: warning: $DISPLAY is not set: defaulting to \"%s\".\n",
                  blurb(), ndpy+8);
       if (putenv (ndpy))
         abort ();
+      /* don't free (ndpy) -- some implementations of putenv (BSD 4.4,
+         glibc 2.0) copy the argument, but some (libc4,5, glibc 2.1.2)
+         do not.  So we must leak it (and/or the previous setting). Yay.
+       */
     }
 #endif /* HAVE_PUTENV */
 
     }
 #endif /* HAVE_PUTENV */
 
@@ -953,7 +955,13 @@ main_loop (saver_info *si)
   while (1)
     {
       Bool was_locked = False;
   while (1)
     {
       Bool was_locked = False;
+
+      if (p->verbose_p)
+       fprintf (stderr, "%s: awaiting idleness.\n", blurb());
+
+      check_for_leaks ("unblanked A");
       sleep_until_idle (si, True);
       sleep_until_idle (si, True);
+      check_for_leaks ("unblanked B");
 
       if (p->verbose_p)
        {
 
       if (p->verbose_p)
        {
@@ -1059,7 +1067,10 @@ main_loop (saver_info *si)
       ok_to_unblank = True;
       do {
 
       ok_to_unblank = True;
       do {
 
+        check_for_leaks ("blanked A");
        sleep_until_idle (si, False);           /* until not idle */
        sleep_until_idle (si, False);           /* until not idle */
+        check_for_leaks ("blanked B");
+
        maybe_reload_init_file (si);
 
 #ifndef NO_LOCKING
        maybe_reload_init_file (si);
 
 #ifndef NO_LOCKING
@@ -1181,9 +1192,6 @@ main_loop (saver_info *si)
           }
         XSync (si->dpy, False);
       }
           }
         XSync (si->dpy, False);
       }
-
-      if (p->verbose_p)
-       fprintf (stderr, "%s: awaiting idleness.\n", blurb());
     }
 }
 
     }
 }
 
@@ -1954,3 +1962,20 @@ display_is_on_console_p (saver_info *si)
     }
   return !not_on_console;
 }
     }
   return !not_on_console;
 }
+
+
+/* Do a little bit of heap introspection...
+ */
+void
+check_for_leaks (const char *where)
+{
+#ifdef HAVE_SBRK
+  static unsigned long last_brk = 0;
+  int b = (unsigned long) sbrk(0);
+  if (last_brk && last_brk < b)
+    fprintf (stderr, "%s: %s: brk grew by %luK.\n",
+             blurb(), where,
+             (((b - last_brk) + 1023) / 1024));
+  last_brk = b;
+#endif /* HAVE_SBRK */
+}
index 41b1d718f5fef7ac20002a8cf0ec52e17f4e4ddc..94a0d0cd2a276f97d67db2a20427f900555b767c 100644 (file)
@@ -417,6 +417,7 @@ extern Bool window_exists_p (Display *dpy, Window window);
 extern char *timestring (void);
 extern Bool display_is_on_console_p (saver_info *si);
 extern Visual *get_best_gl_visual (saver_screen_info *ssi);
 extern char *timestring (void);
 extern Bool display_is_on_console_p (saver_info *si);
 extern Visual *get_best_gl_visual (saver_screen_info *ssi);
+extern void check_for_leaks (const char *where);
 
 extern Atom XA_VROOT, XA_XSETROOT_ID, XA_ESETROOT_PMAP_ID, XA_XROOTPMAP_ID;
 extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID;
 
 extern Atom XA_VROOT, XA_XSETROOT_ID, XA_ESETROOT_PMAP_ID, XA_XROOTPMAP_ID;
 extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID;
index 93d9adf3f4679c42882ca4526940d5fd7261ec40..ee49dd9fc057ea148d4c4e5ce50aa22ae2fe6e5a 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "24-Feb-2002 (4.01)" "X Version 11"
+.TH XScreenSaver 1 "18-Mar-2002 (4.02)" "X Version 11"
 .SH NAME
 xscreensaver - extensible screen saver framework, plus locking
 .SH SYNOPSIS
 .SH NAME
 xscreensaver - extensible screen saver framework, plus locking
 .SH SYNOPSIS
@@ -845,17 +845,26 @@ lock command.
 I understand that KDE has invented their own wrapper around xscreensaver,
 that is inferior to 
 .BR xscreensaver-demo (1)
 I understand that KDE has invented their own wrapper around xscreensaver,
 that is inferior to 
 .BR xscreensaver-demo (1)
-in any number of ways.  I've never actually seen it.  Presumably, there is
-some way to turn off KDE's screensaver framework, and make it so that the
-usual
+in any number of ways.  I've never actually seen it, but I'm told that
+this is the way you disable it:
+.RS 4
+.TP 3
+\fB1: Switch off KDE's screen saver.\fP
+Open the ``\fIControl Center\fP'' and
+select the ``\fILook and Feel / Screensaver\fP'' page.
+Turn off the ``\fIEnable Screensaver\fP'' checkbox.
+.TP 3
+\fB2: Add xscreensaver to your startup programs.\fP
+Create a file in your \fI~/.kde2/Autostart/\fP directory
+called \fIlaunch-xscreensaver\fP.  Make that file be executable,
+and contain a single line: \fI``xscreensaver\fP''.
+.RE
+.PP
+Now use xscreensaver normally, controlling it via the usual
 .BR xscreensaver-demo (1)
 and
 .BR xscreensaver-command (1)
 .BR xscreensaver-demo (1)
 and
 .BR xscreensaver-command (1)
-mechanisms are used, in a similar way to how one can reconfigure CDE and
-VUE environments, above.
-
-But I don't know how.  If you do, please let me know, and I'll document
-it here.
+mechanisms.
 .SH ADDING TO MENUS
 The
 .BR xscreensaver-command (1)
 .SH ADDING TO MENUS
 The
 .BR xscreensaver-command (1)
index 6dabdb2d156f9f3942ed070abbce2358f23a64ca..f2afcee755011f33289f5bb6f9b62d7f5ac53af4 100644 (file)
@@ -1,5 +1,5 @@
 /* xset.c --- interacting with server extensions and the builtin screensaver.
 /* xset.c --- interacting with server extensions and the builtin screensaver.
- * xscreensaver, Copyright (c) 1991-1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -223,16 +223,11 @@ disable_builtin_screensaver (saver_info *si, Bool unblank_screen_p)
       desired_prefer_blank != current_prefer_blank ||
       desired_allow_exp != current_allow_exp)
     {
       desired_prefer_blank != current_prefer_blank ||
       desired_allow_exp != current_allow_exp)
     {
-      if (p->verbose_p && unblank_screen_p)
-        /* Used to print this all the time, but really, nobody cares.
-           Now only print it when verbose. */
-       fprintf (stderr,
-                "%s disabling server builtin screensaver.\n"
-                "%s: you can re-enable it with \"xset s on\".\n",
-                blurb(), blurb());
-
       if (p->verbose_p)
       if (p->verbose_p)
-       fprintf (stderr, "%s: (xset s %d %d; xset s %s; xset s %s)\n", blurb(),
+       fprintf (stderr,
+                 "%s: disabling server builtin screensaver:\n"
+                 "%s:  (xset s %d %d; xset s %s; xset s %s)\n",
+                 blurb(), blurb(),
                 desired_server_timeout, desired_server_interval,
                 (desired_prefer_blank ? "blank" : "noblank"),
                 (desired_allow_exp ? "expose" : "noexpose"));
                 desired_server_timeout, desired_server_interval,
                 (desired_prefer_blank ? "blank" : "noblank"),
                 (desired_allow_exp ? "expose" : "noexpose"));
index 008ec75d7fba548fede3b025cf92e6201ca91b7e..4f902f99dc10bb92d443a60720a37ae91387dfef 100644 (file)
@@ -94,7 +94,7 @@ SRCS          = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  nerverot.c xrayswarm.c hyperball.c zoom.c whirlwindwarp.c \
                  rotzoomer.c whirlygig.c speedmine.c vermiculate.c \
                  xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \
                  nerverot.c xrayswarm.c hyperball.c zoom.c whirlwindwarp.c \
                  rotzoomer.c whirlygig.c speedmine.c vermiculate.c \
                  xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \
-                 euler2d.c juggle.c polyominoes.c thornbird.c
+                 euler2d.c juggle.c polyominoes.c thornbird.c fluidballs.c
 SCRIPTS                = vidwhacker webcollage
 
 OBJS           = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
 SCRIPTS                = vidwhacker webcollage
 
 OBJS           = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
@@ -117,7 +117,7 @@ OBJS                = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
                  rotzoomer.o whirlygig.o speedmine.o vermiculate.o \
                  xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \
                  nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
                  rotzoomer.o whirlygig.o speedmine.o vermiculate.o \
                  xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \
-                 euler2d.o juggle.o polyominoes.o thornbird.o
+                 euler2d.o juggle.o polyominoes.o thornbird.o fluidballs.o
 
 NEXES          = attraction blitspin bouboule braid bubbles decayscreen deco \
                  drift flag flame forest vines galaxy grav greynetic halo \
 
 NEXES          = attraction blitspin bouboule braid bubbles decayscreen deco \
                  drift flag flame forest vines galaxy grav greynetic halo \
@@ -133,7 +133,7 @@ NEXES               = attraction blitspin bouboule braid bubbles decayscreen deco \
                  xsublim ccurve blaster bumps ripples xteevee xspirograph \
                  nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
                  whirlygig speedmine vermiculate twang apollonian euler2d \
                  xsublim ccurve blaster bumps ripples xteevee xspirograph \
                  nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
                  whirlygig speedmine vermiculate twang apollonian euler2d \
-                 juggle polyominoes thornbird \
+                 juggle polyominoes thornbird  fluidballs \
                  @JPEG_EXES@
 SEXES          = sonar
 JPEG_EXES      = webcollage-helper
                  @JPEG_EXES@
 SEXES          = sonar
 JPEG_EXES      = webcollage-helper
@@ -280,9 +280,9 @@ install-xml:
         fi ;                                                           \
         files=`cd $(srcdir)/config/ ; echo README $(STAR).xml` ;       \
         for file in $$files ; do                                       \
         fi ;                                                           \
         files=`cd $(srcdir)/config/ ; echo README $(STAR).xml` ;       \
         for file in $$files ; do                                       \
-          echo $(INSTALL_DATA) config/$$file                           \
+          echo $(INSTALL_DATA) $(srcdir)/config/$$file                 \
            $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
            $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
-         $(INSTALL_DATA) config/$$file                                 \
+         $(INSTALL_DATA) $(srcdir)/config/$$file                       \
            $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
        done
 
            $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
        done
 
@@ -665,6 +665,9 @@ vermiculate:        vermiculate.o   $(HACK_OBJS) $(COL)
 twang:         twang.o         $(HACK_OBJS) $(GRAB) $(SHM)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
 
 twang:         twang.o         $(HACK_OBJS) $(GRAB) $(SHM)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
 
+fluidballs:    fluidballs.o    $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
 
 # The rules for those hacks which follow the `xlockmore' API.
 #
 
 # The rules for those hacks which follow the `xlockmore' API.
 #
@@ -878,8 +881,8 @@ flag.o: $(srcdir)/xpm-pixmap.h
 flag.o: $(srcdir)/images/bob.xbm
 flame.o: $(srcdir)/screenhack.h
 flame.o: ../config.h
 flag.o: $(srcdir)/images/bob.xbm
 flame.o: $(srcdir)/screenhack.h
 flame.o: ../config.h
-forest.o: $(srcdir)/xlockmore.h
 forest.o: ../config.h
 forest.o: ../config.h
+forest.o: $(srcdir)/xlockmore.h
 forest.o: $(srcdir)/xlockmoreI.h
 forest.o: $(srcdir)/screenhack.h
 vines.o: $(srcdir)/xlockmore.h
 forest.o: $(srcdir)/xlockmoreI.h
 forest.o: $(srcdir)/screenhack.h
 vines.o: $(srcdir)/xlockmore.h
@@ -1093,6 +1096,7 @@ bsod.o: $(srcdir)/xpm-pixmap.h
 bsod.o: $(srcdir)/images/amiga.xpm
 bsod.o: $(srcdir)/images/atari.xbm
 bsod.o: $(srcdir)/images/mac.xbm
 bsod.o: $(srcdir)/images/amiga.xpm
 bsod.o: $(srcdir)/images/atari.xbm
 bsod.o: $(srcdir)/images/mac.xbm
+bsod.o: $(srcdir)/images/macbomb.xbm
 crystal.o: $(srcdir)/xlockmore.h
 crystal.o: ../config.h
 crystal.o: $(srcdir)/xlockmoreI.h
 crystal.o: $(srcdir)/xlockmore.h
 crystal.o: ../config.h
 crystal.o: $(srcdir)/xlockmoreI.h
@@ -1213,4 +1217,6 @@ thornbird.o: $(srcdir)/xlockmore.h
 thornbird.o: ../config.h
 thornbird.o: $(srcdir)/xlockmoreI.h
 thornbird.o: $(srcdir)/screenhack.h
 thornbird.o: ../config.h
 thornbird.o: $(srcdir)/xlockmoreI.h
 thornbird.o: $(srcdir)/screenhack.h
+fluidballs.o: $(srcdir)/screenhack.h
+fluidballs.o: ../config.h
 
 
index 8178dd4656328398c9eeb7e5dcdb0f053bfcab51..e516c813587fbb70ca10bae7711d34726614f72b 100644 (file)
@@ -27,6 +27,7 @@
 #include "images/amiga.xpm"
 #include "images/atari.xbm"
 #include "images/mac.xbm"
 #include "images/amiga.xpm"
 #include "images/atari.xbm"
 #include "images/mac.xbm"
+#include "images/macbomb.xbm"
 
 
 static int
 
 
 static int
@@ -194,7 +195,7 @@ bsod_sleep(Display *dpy, int seconds)
 
 
 static Bool
 
 
 static Bool
-windows (Display *dpy, Window window, int delay, Bool w95p)
+windows (Display *dpy, Window window, int delay, int which)
 {
   XGCValues gcv;
   XWindowAttributes xgwa;
 {
   XGCValues gcv;
   XWindowAttributes xgwa;
@@ -261,18 +262,34 @@ windows (Display *dpy, Window window, int delay, Bool w95p)
    "contact your system administrator or technical support group."
      );
 
    "contact your system administrator or technical support group."
      );
 
-  if (!get_boolean_resource((w95p? "doWindows" : "doNT"), "DoWindows"))
+  const char *w2ka =
+    ("*** STOP: 0x000000D1 (0xE1D38000,0x0000001C,0x00000000,0xF09D42DA)\n"
+     "DRIVER_IRQL_NOT_LESS_OR_EQUAL \n"
+     "\n"
+    "*** Address F09D42DA base at F09D4000, DateStamp 39f459ff - CRASHDD.SYS\n"
+     "\n"
+     "Beginning dump of physical memory\n");
+  const char *w2kb =
+    ("Physical memory dump complete. Contact your system administrator or\n"
+     "technical support group.\n");
+
+  if (which < 0 || which > 2) abort();
+
+  if (!get_boolean_resource((which == 0 ? "doWindows" :
+                             which == 1 ? "doNT" :
+                                          "doWin2K"),
+                            "DoWindows"))
     return False;
 
   XGetWindowAttributes (dpy, window, &xgwa);
 
   fontname = get_string_resource ((xgwa.height > 600
     return False;
 
   XGetWindowAttributes (dpy, window, &xgwa);
 
   fontname = get_string_resource ((xgwa.height > 600
-                                  ? (w95p
-                                     ? "windows95.font2"
-                                     : "windowsNT.font2")
-                                  : (w95p
-                                     ? "windows95.font"
-                                     : "windowsNT.font")),
+                                  ? (which == 0 ? "windows95.font2" :
+                                      which == 1 ? "windowsNT.font2" :
+                                                   "windows2K.font2")
+                                  : (which == 0 ? "windows95.font" :
+                                     which == 1 ? "windowsNT.font" :
+                                                   "windows2K.font")),
                                  "Windows.Font");
   if (!fontname || !*fontname) fontname = (char *)def_font;
   font = XLoadQueryFont (dpy, fontname);
                                  "Windows.Font");
   if (!fontname || !*fontname) fontname = (char *)def_font;
   font = XLoadQueryFont (dpy, fontname);
@@ -282,14 +299,14 @@ windows (Display *dpy, Window window, int delay, Bool w95p)
     free (fontname);
 
   gcv.font = font->fid;
     free (fontname);
 
   gcv.font = font->fid;
-  gcv.foreground = get_pixel_resource((w95p
-                                      ? "windows95.foreground"
-                                      : "windowsNT.foreground"),
+  gcv.foreground = get_pixel_resource((which == 0 ? "windows95.foreground" :
+                                      which == 1 ? "windowsNT.foreground" :
+                                                    "windows2K.foreground"),
                                      "Windows.Foreground",
                                      dpy, xgwa.colormap);
                                      "Windows.Foreground",
                                      dpy, xgwa.colormap);
-  gcv.background = get_pixel_resource((w95p
-                                      ? "windows95.background"
-                                      : "windowsNT.background"),
+  gcv.background = get_pixel_resource((which == 0 ? "windows95.background" :
+                                      which == 1 ? "windowsNT.background" :
+                                                    "windows2K.background"),
                                      "Windows.Background",
                                      dpy, xgwa.colormap);
   XSetWindowBackground(dpy, window, gcv.background);
                                      "Windows.Background",
                                      dpy, xgwa.colormap);
   XSetWindowBackground(dpy, window, gcv.background);
@@ -297,11 +314,22 @@ windows (Display *dpy, Window window, int delay, Bool w95p)
 
   gc = XCreateGC(dpy, window, GCFont|GCForeground|GCBackground, &gcv);
 
 
   gc = XCreateGC(dpy, window, GCFont|GCForeground|GCBackground, &gcv);
 
-  if (w95p)
+  if (which == 0)
     draw_string(dpy, window, gc, &gcv, font,
                0, 0, xgwa.width, xgwa.height, w95, 0);
     draw_string(dpy, window, gc, &gcv, font,
                0, 0, xgwa.width, xgwa.height, w95, 0);
-  else
+  else if (which == 1)
     draw_string(dpy, window, gc, &gcv, font, 0, 0, 10, 10, wnt, 750);
     draw_string(dpy, window, gc, &gcv, font, 0, 0, 10, 10, wnt, 750);
+  else
+    {
+      int line_height = font->ascent + font->descent + 1;
+      int x = 20;
+      int y = (xgwa.height / 4);
+
+      draw_string(dpy, window, gc, &gcv, font, x, y, 10, 10, w2ka, 750);
+      y += line_height * 6;
+      bsod_sleep(dpy, 4);
+      draw_string(dpy, window, gc, &gcv, font, x, y, 10, 10, w2kb, 750);
+    }
 
   XFreeGC(dpy, gc);
   XSync(dpy, False);
 
   XFreeGC(dpy, gc);
   XSync(dpy, False);
@@ -1142,6 +1170,59 @@ macsbug (Display *dpy, Window window, int delay)
   return True;
 }
 
   return True;
 }
 
+static Bool
+mac1 (Display *dpy, Window window, int delay)
+{
+  XGCValues gcv;
+  XWindowAttributes xgwa;
+  GC gc;
+  Pixmap pixmap = 0;
+  int pix_w = macbomb_width;
+  int pix_h = macbomb_height;
+
+  if (!get_boolean_resource("doMac1", "DoMac1"))
+    return False;
+
+  XGetWindowAttributes (dpy, window, &xgwa);
+
+  gcv.foreground = get_pixel_resource("mac1.foreground", "Mac.Foreground",
+                                     dpy, xgwa.colormap);
+  gcv.background = get_pixel_resource("mac1.background", "Mac.Background",
+                                     dpy, xgwa.colormap);
+  XSetWindowBackground(dpy, window, gcv.background);
+  XClearWindow(dpy, window);
+
+  gc = XCreateGC(dpy, window, GCForeground|GCBackground, &gcv);
+
+  pixmap = XCreatePixmapFromBitmapData(dpy, window, (char *) macbomb_bits,
+                                      macbomb_width, macbomb_height,
+                                      gcv.foreground,
+                                      gcv.background,
+                                      xgwa.depth);
+
+  {
+    int x = (xgwa.width - pix_w) / 2;
+    int y = (xgwa.height - pix_h) / 2;
+    if (y < 0) y = 0;
+    XFillRectangle (dpy, window, gc, 0, 0, xgwa.width, xgwa.height);
+    XSync(dpy, False);
+    if (bsod_sleep(dpy, 1))
+      goto DONE;
+    XCopyArea(dpy, pixmap, window, gc, 0, 0, pix_w, pix_h, x, y);
+  }
+
+ DONE:
+  XFreeGC(dpy, gc);
+  XFreePixmap(dpy, pixmap);
+  XSync(dpy, False);
+  bsod_sleep(dpy, delay);
+  XClearWindow(dpy, window);
+  return True;
+}
+
+
+
+
 \f
 /* blit damage
  *
 \f
 /* blit damage
  *
@@ -1211,11 +1292,13 @@ blitdamage (Display *dpy, Window window, int delay)
              chunk_w, chunk_h,
              x, y);
 
              chunk_w, chunk_h,
              x, y);
 
-    bsod_sleep(dpy, 0);
+    if (bsod_sleep(dpy, 0))
+      goto DONE;
   }
 
   bsod_sleep(dpy, delay);
 
   }
 
   bsod_sleep(dpy, delay);
 
+ DONE:
   XFreeGC(dpy, gc0);
 
   return True;
   XFreeGC(dpy, gc0);
 
   return True;
@@ -1452,29 +1535,35 @@ sparc_solaris (Display* dpy, Window window, int delay)
   ts = make_solaris_console (dpy, window);
 
   solaris_puts (ts, msg1, 0);
   ts = make_solaris_console (dpy, window);
 
   solaris_puts (ts, msg1, 0);
-  bsod_sleep (dpy, 3);
+  if (bsod_sleep (dpy, 3))
+    goto DONE;
 
   solaris_puts (ts, msg2, 0);
 
   solaris_puts (ts, msg2, 0);
-  bsod_sleep (dpy, 2);
+  if (bsod_sleep (dpy, 2))
+    goto DONE;
 
   for (i = 1; i <= 100; ++i)
     {
       sprintf(buf, "\b\b\b\b\b\b\b\b\b\b\b%3d%% done", i);
       solaris_puts(ts, buf, 0);
 
   for (i = 1; i <= 100; ++i)
     {
       sprintf(buf, "\b\b\b\b\b\b\b\b\b\b\b%3d%% done", i);
       solaris_puts(ts, buf, 0);
-      usleep(100000);
+      if (bsod_sleep (dpy, -1))
+        goto DONE;
     }
 
   solaris_puts (ts, msg3, 0);
     }
 
   solaris_puts (ts, msg3, 0);
-  bsod_sleep (dpy, 2);
+  if (bsod_sleep (dpy, 2))
+    goto DONE;
 
   solaris_puts (ts, msg4, 0);
 
   solaris_puts (ts, msg4, 0);
-  bsod_sleep(dpy, 3);
+  if (bsod_sleep(dpy, 3))
+    goto DONE;
 
   XFillRectangle (ts->dpy, ts->window, ts->gc, 0, 0,
                   ts->width, ts->height);
 
   bsod_sleep (dpy, 3);
 
 
   XFillRectangle (ts->dpy, ts->window, ts->gc, 0, 0,
                   ts->width, ts->height);
 
   bsod_sleep (dpy, 3);
 
+ DONE:
   free_solaris_console (ts);
 
   return True;
   free_solaris_console (ts);
 
   return True;
@@ -1488,11 +1577,13 @@ char *defaults [] = {
 
   "*doWindows:            True",
   "*doNT:                 True",
 
   "*doWindows:            True",
   "*doNT:                 True",
+  "*doWin2K:              True",
   "*doAmiga:              True",
   "*doMac:                True",
   "*doAmiga:              True",
   "*doMac:                True",
-  "*doAtari:              False",      /* boring */
   "*doMacsBug:            True",
   "*doMacsBug:            True",
+  "*doMac1:               True",
   "*doSCO:                True",
   "*doSCO:                True",
+  "*doAtari:              False",      /* boring */
   "*doBSD:                False",      /* boring */
   "*doSparcLinux:         False",      /* boring */
   "*doBlitDamage:          True",
   "*doBSD:                False",      /* boring */
   "*doSparcLinux:         False",      /* boring */
   "*doBlitDamage:          True",
@@ -1523,6 +1614,9 @@ char *defaults [] = {
   ".MacsBug.background:           White",
   ".MacsBug.borderColor:   #AAAAAA",
 
   ".MacsBug.background:           White",
   ".MacsBug.borderColor:   #AAAAAA",
 
+  ".mac1.foreground:      Black",
+  ".mac1.background:      White",
+
   ".SCO.font:             -*-courier-bold-r-*-*-*-120-*-*-m-*-*-*",
   ".SCO.font2:            -*-courier-bold-r-*-*-*-140-*-*-m-*-*-*",
   ".SCO.foreground:       White",
   ".SCO.font:             -*-courier-bold-r-*-*-*-120-*-*-m-*-*-*",
   ".SCO.font2:            -*-courier-bold-r-*-*-*-140-*-*-m-*-*-*",
   ".SCO.foreground:       White",
@@ -1552,6 +1646,8 @@ XrmOptionDescRec options [] = {
   { "-no-windows",     ".doWindows",           XrmoptionNoArg,  "False" },
   { "-nt",             ".doNT",                XrmoptionNoArg,  "True"  },
   { "-no-nt",          ".doNT",                XrmoptionNoArg,  "False" },
   { "-no-windows",     ".doWindows",           XrmoptionNoArg,  "False" },
   { "-nt",             ".doNT",                XrmoptionNoArg,  "True"  },
   { "-no-nt",          ".doNT",                XrmoptionNoArg,  "False" },
+  { "-2k",             ".doWin2K",             XrmoptionNoArg,  "True"  },
+  { "-no-2k",          ".doWin2K",             XrmoptionNoArg,  "False" },
   { "-amiga",          ".doAmiga",             XrmoptionNoArg,  "True"  },
   { "-no-amiga",       ".doAmiga",             XrmoptionNoArg,  "False" },
   { "-mac",            ".doMac",               XrmoptionNoArg,  "True"  },
   { "-amiga",          ".doAmiga",             XrmoptionNoArg,  "True"  },
   { "-no-amiga",       ".doAmiga",             XrmoptionNoArg,  "False" },
   { "-mac",            ".doMac",               XrmoptionNoArg,  "True"  },
@@ -1594,20 +1690,22 @@ screenhack (Display *dpy, Window window)
   while (1)
     {
       Bool did;
   while (1)
     {
       Bool did;
-      do {  i = (random() & 0xFF) % 11; } while (i == j);
+      do {  i = (random() & 0xFF) % 13; } while (i == j);
       switch (i)
        {
       switch (i)
        {
-       case 0: did = windows(dpy, window, delay, True); break;
-       case 1: did = windows(dpy, window, delay, False); break;
-       case 2: did = amiga(dpy, window, delay); break;
-       case 3: did = mac(dpy, window, delay); break;
-       case 4: did = macsbug(dpy, window, delay); break;
-       case 5: did = sco(dpy, window, delay); break;
-       case 6: did = sparc_linux(dpy, window, delay); break;
-       case 7: did = bsd(dpy, window, delay); break;
-       case 8: did = atari(dpy, window, delay); break;
-       case 9: did = blitdamage(dpy, window, delay); break;
-       case 10: did = sparc_solaris(dpy, window, delay); break;
+       case 0: did = windows(dpy, window, delay, 0); break;
+       case 1: did = windows(dpy, window, delay, 1); break;
+       case 2: did = windows(dpy, window, delay, 2); break;
+       case 3: did = amiga(dpy, window, delay); break;
+       case 4: did = mac(dpy, window, delay); break;
+       case 5: did = macsbug(dpy, window, delay); break;
+       case 6: did = mac1(dpy, window, delay); break;
+       case 7: did = sco(dpy, window, delay); break;
+       case 8: did = sparc_linux(dpy, window, delay); break;
+       case 9: did = bsd(dpy, window, delay); break;
+       case 10: did = atari(dpy, window, delay); break;
+       case 11: did = blitdamage(dpy, window, delay); break;
+       case 12: did = sparc_solaris(dpy, window, delay); break;
        default: abort(); break;
        }
       loop++;
        default: abort(); break;
        }
       loop++;
index 3c64cbd853375efea85f995f3784b624f228bd94..98c0f9644a89ba6b51b21d41124728be4f10e90d 100644 (file)
@@ -67,15 +67,17 @@ Notable X resources supported include the following, which control which
 hacks are displayed and which aren't.
 .BR doWindows ,
 .BR doNT ,
 hacks are displayed and which aren't.
 .BR doWindows ,
 .BR doNT ,
+.BR doWin2K ,
 .BR doAmiga ,
 .BR doMac ,
 .BR doMacsBug ,
 .BR doSCO ,
 .BR doAtari ,
 .BR doAmiga ,
 .BR doMac ,
 .BR doMacsBug ,
 .BR doSCO ,
 .BR doAtari ,
-.BR doBlitDamage ,
+.BR doBSD ,
 .BR doSparcLinux ,
 .BR doSparcLinux ,
+.BR doBlitDamage ,
 and
 and
-.BR doSSolaris .
+.BR doSolaris .
 Each of these is a Boolean resource, they all default to true, except for
 doSparcLinux and doAtari, which are turned off by default, because they're
 really not all that interesting looking unless you're a fan of those systems.
 Each of these is a Boolean resource, they all default to true, except for
 doSparcLinux and doAtari, which are turned off by default, because they're
 really not all that interesting looking unless you're a fan of those systems.
index 5eedaf7c107c23586c6728f77e545c5e080d5aa1..8718bfdab9ee6314df1ef32590feec1002e89a32 100644 (file)
@@ -1,4 +1,4 @@
-/* Bumps, Copyright (c) 1999 Shane Smit <blackend@inconnect.com>
+/* Bumps, Copyright (c) 2002 Shane Smit <CodeWeaver@DigitalLoom.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -8,7 +8,7 @@
  * software for any purpose.  It is provided "as is" without express or
  * implied warranty.
  *
  * software for any purpose.  It is provided "as is" without express or
  * implied warranty.
  *
- * Module: "Bumps.cpp"
+ * Module: "bumps.c"
  * Tab Size: 4
  *
  * Description:
  * Tab Size: 4
  *
  * Description:
@@ -21,6 +21,7 @@
  * Modification History:
  *  [10/01/99] - Shane Smit: Creation
  *  [10/08/99] - Shane Smit: Port to C. (Ick)
  * Modification History:
  *  [10/01/99] - Shane Smit: Creation
  *  [10/08/99] - Shane Smit: Port to C. (Ick)
+ *  [03/08/02] - Shane Smit: New movement code.
  */
 
 
  */
 
 
@@ -53,7 +54,7 @@ void CreateSpotLight( SSpotLight *pSpotLight, uint16_ iDiameter, uint16_ nColorC
                                pSpotLight->aLightMap[ ( ( iHeight + (pSpotLight->nDiameter/2) ) * pSpotLight->nDiameter ) + iWidth + (pSpotLight->nDiameter/2) ] = (uint8_)nDelta;
                }
 
                                pSpotLight->aLightMap[ ( ( iHeight + (pSpotLight->nDiameter/2) ) * pSpotLight->nDiameter ) + iWidth + (pSpotLight->nDiameter/2) ] = (uint8_)nDelta;
                }
 
-       /* The actual lightmap... 1/2 of the entire lightmap. */
+       /* The actual lightmap... Use 1/4 to save time within the loop. */
        pSpotLight->nRadius = pSpotLight->nDiameter / 4;
 
        for( iHeight=-pSpotLight->nRadius; iHeight<pSpotLight->nRadius; iHeight++ )
        pSpotLight->nRadius = pSpotLight->nDiameter / 4;
 
        for( iHeight=-pSpotLight->nRadius; iHeight<pSpotLight->nRadius; iHeight++ )
@@ -64,59 +65,48 @@ void CreateSpotLight( SSpotLight *pSpotLight, uint16_ iDiameter, uint16_ nColorC
                                pSpotLight->aLightMap[ ( ( iHeight + (pSpotLight->nDiameter/2) ) * pSpotLight->nDiameter ) + iWidth + (pSpotLight->nDiameter/2) ] = (uint8_)nDelta;
                }
                
                                pSpotLight->aLightMap[ ( ( iHeight + (pSpotLight->nDiameter/2) ) * pSpotLight->nDiameter ) + iWidth + (pSpotLight->nDiameter/2) ] = (uint8_)nDelta;
                }
                
-       CreateTables( pSpotLight );
-
        pSpotLight->nRadius = pSpotLight->nDiameter / 2;        /* Now set the radius back to what it should be. */
        pSpotLight->nRadius = pSpotLight->nDiameter / 2;        /* Now set the radius back to what it should be. */
-       pSpotLight->nAngleX = RANDOM() % pSpotLight->nDegreeCount;
-       pSpotLight->nAngleY = RANDOM() % pSpotLight->nDegreeCount;
-       pSpotLight->nVelocityX = ( RANDOM() % 3 ) + 1;
-       pSpotLight->nVelocityY = ( RANDOM() % 3 ) + 1;
+       pSpotLight->nAccelX = 0;
+       pSpotLight->nAccelY = 0;
+       pSpotLight->nVelocityX = ( RANDOM() % 2 ) ? pSpotLight->nVelocityMax : -pSpotLight->nVelocityMax;
+       pSpotLight->nVelocityY = ( RANDOM() % 2 ) ? pSpotLight->nVelocityMax : -pSpotLight->nVelocityMax;
 }
 
 
 }
 
 
-void CreateTables( SSpotLight *pSpotLight )
+void CalcLightPos( SBumps *pBumps )
 {
 {
-       double nUnit;
-       uint16_ iDegree;
-       
-       pSpotLight->nDegreeCount = get_integer_resource( "degrees", "Integer" );
-       if( pSpotLight->nDegreeCount < 180 ) pSpotLight->nDegreeCount = 180;    /* Less than 180 will show trails in higher resolutions. */
-#ifdef VERBOSE
-       printf( "%s: Using a %d degree circle.\n", progclass, pSpotLight->nDegreeCount );
-#endif
-
-       pSpotLight->aSinTable = calloc( pSpotLight->nDegreeCount, sizeof(double) );
-
-       /* This funtion builds the Sine Lookup Tables. */
-       nUnit = (double)( PI * 2.0F ) / (double)( pSpotLight->nDegreeCount );
-
-       for( iDegree=0; iDegree<pSpotLight->nDegreeCount; iDegree++)
-               pSpotLight->aSinTable[ iDegree ] = sin( nUnit * (double)iDegree );
-}
+       SSpotLight *pSpotLight = &pBumps->SpotLight;
+       float nGravity;
 
 
+       /* X */
+       if( pSpotLight->nXPos < pSpotLight->nDiameter * 1 )                                                                     nGravity = 1.0f;
+       else if( pSpotLight->nXPos > pBumps->iWinWidth - ( pSpotLight->nDiameter * 1 ) )        nGravity = -1.0f;
+       else                                                                                                                                                            nGravity = ( ( RANDOM() % 201 ) / 100.0f ) - 1.0f;
+               
+       pSpotLight->nAccelX += nGravity * ( pSpotLight->nAccelMax / 10.0f );
+       if( pSpotLight->nAccelX < -pSpotLight->nAccelMax )              pSpotLight->nAccelX = -pSpotLight->nAccelMax;
+       else if( pSpotLight->nAccelX > pSpotLight->nAccelMax )  pSpotLight->nAccelX = pSpotLight->nAccelMax;
 
 
-void CalcLightPos( SSpotLight *pSpotLight, uint16_ *pXPos, uint16_ *pYPos )
-{
-       pSpotLight->nVelocityX += ( RANDOM() % 2 ) ? 0.05F : -0.05F;
-       if( pSpotLight->nVelocityX < 1 )                pSpotLight->nVelocityX = 1;
-       else if( pSpotLight->nVelocityX > 3 )   pSpotLight->nVelocityX = 3;
+       pSpotLight->nVelocityX += pSpotLight->nAccelX;
+       if( pSpotLight->nVelocityX < -pSpotLight->nVelocityMax )                pSpotLight->nVelocityX = -pSpotLight->nVelocityMax;
+       else if( pSpotLight->nVelocityX > pSpotLight->nVelocityMax )    pSpotLight->nVelocityX = pSpotLight->nVelocityMax;
 
 
-       pSpotLight->nVelocityX += ( RANDOM() % 2 ) ? 0.05F : -0.05F;
-       if( pSpotLight->nVelocityY < 1 )                pSpotLight->nVelocityX = 1;
-       else if( pSpotLight->nVelocityY > 3 )   pSpotLight->nVelocityX = 3;
-       
-    pSpotLight->nAngleX += pSpotLight->nVelocityX;
-    if( pSpotLight->nAngleX >= pSpotLight->nDegreeCount )      pSpotLight->nAngleX -= pSpotLight->nDegreeCount;
+       pSpotLight->nXPos += pSpotLight->nVelocityX;
 
 
-    pSpotLight->nAngleY += pSpotLight->nVelocityY;
-    if( pSpotLight->nAngleY >= pSpotLight->nDegreeCount )      pSpotLight->nAngleY -= pSpotLight->nDegreeCount;
+       /* Y */
+       if( pSpotLight->nYPos < pSpotLight->nDiameter * 1 )                                                                     nGravity = 1.0f;
+       else if( pSpotLight->nYPos > pBumps->iWinHeight - ( pSpotLight->nDiameter * 1 ) )       nGravity = -1.0f;
+       else                                                                                                                                                            nGravity = ( ( RANDOM() % 201 ) / 100.0f ) - 1.0f;
+               
+       pSpotLight->nAccelY += nGravity * ( pSpotLight->nAccelMax / 10.0f );
+       if( pSpotLight->nAccelY < -pSpotLight->nAccelMax )              pSpotLight->nAccelY = -pSpotLight->nAccelMax;
+       else if( pSpotLight->nAccelY > pSpotLight->nAccelMax )  pSpotLight->nAccelY = pSpotLight->nAccelMax;
 
 
-    *pXPos = (uint16_)( ( pSpotLight->iWinXCenter - pSpotLight->nRadius ) * pSpotLight->aSinTable[ (uint16_)pSpotLight->nAngleX ] ) + pSpotLight->iWinXCenter;
-    *pYPos = (uint16_)( ( pSpotLight->iWinYCenter - pSpotLight->nRadius ) * pSpotLight->aSinTable[ (uint16_)pSpotLight->nAngleY ] ) + pSpotLight->iWinYCenter;
+       pSpotLight->nVelocityY += pSpotLight->nAccelY;
+       if( pSpotLight->nVelocityY < -pSpotLight->nVelocityMax )                pSpotLight->nVelocityY = -pSpotLight->nVelocityMax;
+       else if( pSpotLight->nVelocityY > pSpotLight->nVelocityMax )    pSpotLight->nVelocityY = pSpotLight->nVelocityMax;
 
 
-       /* Offset to upper left hand corner. */
-       *pXPos -= pSpotLight->nRadius;
-       *pYPos -= pSpotLight->nRadius;
+       pSpotLight->nYPos += pSpotLight->nVelocityY;
 }
 
 
 }
 
 
@@ -131,8 +121,10 @@ void CreateBumps( SBumps *pBumps, Display *pNewDisplay, Window NewWin )
        XGetWindowAttributes( pNewDisplay, NewWin, &XWinAttribs );
        pBumps->iWinWidth = XWinAttribs.width;
        pBumps->iWinHeight = XWinAttribs.height;
        XGetWindowAttributes( pNewDisplay, NewWin, &XWinAttribs );
        pBumps->iWinWidth = XWinAttribs.width;
        pBumps->iWinHeight = XWinAttribs.height;
-       pBumps->SpotLight.iWinXCenter = XWinAttribs.width / 2;
-       pBumps->SpotLight.iWinYCenter = XWinAttribs.height / 2;
+       pBumps->SpotLight.nXPos = XWinAttribs.width / 2.0f;
+       pBumps->SpotLight.nYPos = XWinAttribs.height / 2.0f;
+       pBumps->SpotLight.nVelocityMax = ( ( XWinAttribs.width < XWinAttribs.height ) ? XWinAttribs.width : XWinAttribs.height ) / 128.0f;
+       pBumps->SpotLight.nAccelMax = pBumps->SpotLight.nVelocityMax / 10.0f;
        pBumps->pDisplay = pNewDisplay;
        pBumps->Win = NewWin;
 
        pBumps->pDisplay = pNewDisplay;
        pBumps->Win = NewWin;
 
@@ -179,6 +171,14 @@ void SetPalette( SBumps *pBumps, XWindowAttributes *pXWinAttribs )
        Color.red = RANDOM() % 0xFFFF; 
        Color.green = RANDOM() % 0xFFFF;
        Color.blue = RANDOM() % 0xFFFF;
        Color.red = RANDOM() % 0xFFFF; 
        Color.green = RANDOM() % 0xFFFF;
        Color.blue = RANDOM() % 0xFFFF;
+       
+       /* Make one color full intesity to avoid dark spotlights.       */
+       switch( RANDOM() % 3 )
+       {
+               case 0: Color.red       = 0xFFFF;       break;
+               case 1: Color.green     = 0xFFFF;       break;
+               case 2: Color.blue      = 0xFFFF;       break;
+       }
 
        if( strcasecmp( sColor, "random" ) && !XParseColor( pBumps->pDisplay, pXWinAttribs->colormap, sColor, &Color ) )
                fprintf( stderr, "%s: color %s not found in database. Choosing random...\n", progname, sColor );
 
        if( strcasecmp( sColor, "random" ) && !XParseColor( pBumps->pDisplay, pXWinAttribs->colormap, sColor, &Color ) )
                fprintf( stderr, "%s: color %s not found in database. Choosing random...\n", progname, sColor );
@@ -310,7 +310,11 @@ void Execute( SBumps *pBumps )
        uint8_ *pLOffset;
        int16_ nX, nY;
        uint16_ nColor;
        uint8_ *pLOffset;
        int16_ nX, nY;
        uint16_ nColor;
-       CalcLightPos( &pBumps->SpotLight, &nLightXPos, &nLightYPos );
+       CalcLightPos( pBumps );
+       
+       /* Offset to upper left hand corner. */
+       nLightXPos = pBumps->SpotLight.nXPos - pBumps->SpotLight.nRadius;
+       nLightYPos = pBumps->SpotLight.nYPos - pBumps->SpotLight.nRadius;
 
        for( iHeight=nLightYPos, iLightHeight=0; iLightHeight<pBumps->SpotLight.nDiameter; iHeight++, iLightHeight++ )
        {
 
        for( iHeight=nLightYPos, iLightHeight=0; iLightHeight<pBumps->SpotLight.nDiameter; iHeight++, iLightHeight++ )
        {
@@ -392,9 +396,5 @@ void screenhack( Display *pDisplay, Window Win )
 }
 
  
 }
 
  
-/*
- * End of Module: "Bumps.cpp"
- */
-
 /* vim: ts=4
  */
 /* vim: ts=4
  */
index f5e8c29213c6746cbb059a89a16ff46fdae7771f..120be96102a2fb322dcc87bd532c6f3ec5e97aba 100644 (file)
@@ -1,4 +1,4 @@
-/* Bumps, Copyright (c) 1999 Shane Smit <blackend@inconnect.com>
+/* Bumps, Copyright (c) 2001 Shane Smit <CodeWeaver@DigitalLoom.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  * Tab Size: 4
  *
  * Description:
  * Tab Size: 4
  *
  * Description:
- *  Header file for module "Bumps.cpp"
+ *  Header file for module "Bumps.c"
  *
  * Modification History:
  *  [10/01/99] - Shane Smit: Creation
  *  [10/08/99] - Shane Smit: Port to C. (Ick)
  *
  * Modification History:
  *  [10/01/99] - Shane Smit: Creation
  *  [10/08/99] - Shane Smit: Port to C. (Ick)
+ *  [03/08/02] - Shane Smit: New movement code.
  */
 
 
  */
 
 
@@ -31,7 +32,6 @@
 
 /* Defines: */
 /* #define VERBOSE */
 
 /* Defines: */
 /* #define VERBOSE */
-#define PI             3.141592654
 #define RANDOM() ((int) (random() & 0X7FFFFFFFL))
 
 typedef signed char            int8_;
 #define RANDOM() ((int) (random() & 0X7FFFFFFFL))
 
 typedef signed char            int8_;
@@ -49,7 +49,6 @@ char *progclass = "Bumps";
 char *defaults [] = {
   ".background: black",
   ".foreground: white",
 char *defaults [] = {
   ".background: black",
   ".foreground: white",
-  "*degrees:   360",
   "*color:             random",
   "*colorcount:        64",
   "*delay:             50000",
   "*color:             random",
   "*colorcount:        64",
   "*delay:             50000",
@@ -62,7 +61,6 @@ char *defaults [] = {
 };
 
 XrmOptionDescRec options [] = {
 };
 
 XrmOptionDescRec options [] = {
-  { "-degrees",                ".degrees",             XrmoptionSepArg, 0 },
   { "-color",          ".color",               XrmoptionSepArg, 0 },
   { "-colorcount",     ".colorcount",  XrmoptionSepArg, 0 },
   { "-delay",          ".delay",               XrmoptionSepArg, 0 },
   { "-color",          ".color",               XrmoptionSepArg, 0 },
   { "-colorcount",     ".colorcount",  XrmoptionSepArg, 0 },
   { "-delay",          ".delay",               XrmoptionSepArg, 0 },
@@ -76,20 +74,18 @@ XrmOptionDescRec options [] = {
  * a member of TBumps. */
 typedef struct
 {
  * a member of TBumps. */
 typedef struct
 {
-       uint16_ nDegreeCount;
-       double *aSinTable;
-
        uint8_ *aLightMap;
        uint16_ nDiameter, nRadius;
        uint8_ *aLightMap;
        uint16_ nDiameter, nRadius;
-       float nAngleX, nAngleY;         /* Spotlight's movement direction. */
+       float nAccelX, nAccelY;
+       float nAccelMax;
        float nVelocityX, nVelocityY;
        float nVelocityX, nVelocityY;
-       uint16_ iWinXCenter, iWinYCenter;
+       float nVelocityMax;
+       float nXPos, nYPos;
 } SSpotLight;
 
 void CreateSpotLight( SSpotLight *, uint16_, uint16_ );
 void CreateTables( SSpotLight * );
 } SSpotLight;
 
 void CreateSpotLight( SSpotLight *, uint16_, uint16_ );
 void CreateTables( SSpotLight * );
-void CalcLightPos( SSpotLight *, uint16_ *, uint16_ * );
-void DestroySpotLight( SSpotLight *pSpotLight ) { free( pSpotLight->aLightMap ); free( pSpotLight->aSinTable ); }
+void DestroySpotLight( SSpotLight *pSpotLight ) { free( pSpotLight->aLightMap ); }
 
 
 /* The entire program's operation is contained within this structure. */
 
 
 /* The entire program's operation is contained within this structure. */
@@ -121,9 +117,5 @@ void SoftenBumpMap( SBumps * );
 #endif /* _BUMPS_H */
 
 
 #endif /* _BUMPS_H */
 
 
-/*
- * End of Module: "Bumps.h"
- */
-
 /* vim: ts=4
  */
 /* vim: ts=4
  */
index 27fc3d7149362d91fbfd30d75f3d64d4d3b58919..7f4f7ee96f774d6fed549be7d7fff2d7a1c62003 100644 (file)
@@ -6,8 +6,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BRAID.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BSOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BRAID.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BSOD.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES-DEFAULT.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES-DEFAULT.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUMPS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) CCURVE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) COMPASS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUMPS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) CCURVE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) COMPASS.C
@@ -28,6 +28,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAG.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAME.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLOW.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAG.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAME.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLOW.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLUIDBALLS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FOREST.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GALAXY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FOREST.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GALAXY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GOOP.C
@@ -53,8 +54,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LMORPH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MAZE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LMORPH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MAZE.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE2.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE2.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOUNTAIN.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MUNCH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) NERVEROT.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOUNTAIN.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MUNCH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) NERVEROT.C
index 27fc3d7149362d91fbfd30d75f3d64d4d3b58919..7f4f7ee96f774d6fed549be7d7fff2d7a1c62003 100644 (file)
@@ -6,8 +6,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BRAID.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BSOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BRAID.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BSOD.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES-DEFAULT.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES-DEFAULT.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUBBLES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUMPS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) CCURVE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) COMPASS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BUMPS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) CCURVE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) COMPASS.C
@@ -28,6 +28,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAG.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAME.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLOW.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAG.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLAME.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLOW.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FLUIDBALLS.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FOREST.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GALAXY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) FOREST.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GALAXY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) GOOP.C
@@ -53,8 +54,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LMORPH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MAZE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LMORPH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LOOP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MAZE.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE2.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOIRE2.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOUNTAIN.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MUNCH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) NERVEROT.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MOUNTAIN.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) MUNCH.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) NERVEROT.C
index 5f4ca9a4ddf87bbf401964a2384e670668800fd1..8475692b567e9bacbb2535d06d381c67c41f6f40 100644 (file)
@@ -4,8 +4,8 @@
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
-                              version 4.01
-                               24-Feb-2002
+                              version 4.02
+                               18-Mar-2002
 
                      http://www.jwz.org/xscreensaver/
 
 
                      http://www.jwz.org/xscreensaver/
 
index 69debf0fba8bf18c3a052986ba01b809a9b323c0..ed9d10c6c70598b60b0fa3931e3995bf263fca13 100644 (file)
 
   <hgroup>
    <vgroup>
 
   <hgroup>
    <vgroup>
-     <boolean id="windows"    _label="Windows"     arg-unset="-no-windows"/>
-     <boolean id="mac"        _label="MacOS"       arg-unset="-no-mac"/>
-     <boolean id="amiga"      _label="AmigaDOS"    arg-unset="-no-amiga"/>
-     <boolean id="bsd"        _label="BSD"         arg-set="-bsd"/>
-     <boolean id="sparclinux" _label="Sparc Linux" arg-set="-sparclinux"/>
+     <boolean id="windows"    _label="Windows"      arg-unset="-no-windows"/>
+     <boolean id="mac"        _label="Sad Mac"      arg-unset="-no-mac"/>
+     <boolean id="mac1"       _label="Mac Bomb"     arg-unset="-no-mac1"/>
+     <boolean id="amiga"      _label="AmigaDOS"     arg-unset="-no-amiga"/>
+     <boolean id="bsd"        _label="BSD"          arg-set="-bsd"/>
+     <boolean id="sparclinux" _label="Sparc Linux"  arg-set="-sparclinux"/>
    </vgroup>
    <vgroup>
    </vgroup>
    <vgroup>
-     <boolean id="nt"         _label="Windows NT"  arg-unset="-no-nt"/>
-     <boolean id="macsbug"    _label="MacsBug"     arg-unset="-no-macsbug"/>
-     <boolean id="atari"      _label="Atari"       arg-set="-atari"/>
-     <boolean id="sco"        _label="SCO"         arg-unset="-no-sco"/>
-     <boolean id="solaris"    _label="Solaris"     arg-unset="-no-solaris"/>
+     <boolean id="nt"         _label="Windows NT"   arg-unset="-no-nt"/>
+     <boolean id="2k"         _label="Windows 2000" arg-unset="-no-2k"/>
+     <boolean id="macsbug"    _label="MacsBug"      arg-unset="-no-macsbug"/>
+     <boolean id="atari"      _label="Atari"        arg-set="-atari"/>
+     <boolean id="sco"        _label="SCO"          arg-unset="-no-sco"/>
+     <boolean id="solaris"    _label="Solaris"      arg-unset="-no-solaris"/>
    </vgroup>
   </hgroup>
   <boolean id="blitdamage" _label="NCD X Terminal" arg-unset="-no-blitdamage"/>
    </vgroup>
   </hgroup>
   <boolean id="blitdamage" _label="NCD X Terminal" arg-unset="-no-blitdamage"/>
diff --git a/hacks/config/cubenetic.xml b/hacks/config/cubenetic.xml
new file mode 100644 (file)
index 0000000..3be42f5
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="cubenetic" _label="Cubenetic">
+
+  <command arg="-root"/>
+
+  <number id="speed" type="slider" arg="-delay %"
+          _label="Speed" _low-label="Slow" _high-label="Fast"
+          low="0" high="50000" default="30000"
+          convert="invert"/>
+
+  <number id="count" type="slider" arg="-count %"
+          _label="Boxes" _low-label="Few" _high-label="Many"
+          low="1" high="20" default="5"/>
+
+  <boolean id="wander" _label="Wander" arg-unset="-no-wander"/>
+
+  <select id="rotation">
+    <option id="no"  _label="Don't Rotate" arg-set="-no-spin"/>
+    <option id="x"   _label="Rotate around X axis" arg-set="-spin X"/>
+    <option id="y"   _label="Rotate around Y axis" arg-set="-spin Y"/>
+    <option id="z"   _label="Rotate around Z axis" arg-set="-spin Z"/>
+    <option id="xy"  _label="Rotate around X and Y axes" arg-set="-spin XY"/>
+    <option id="xz"  _label="Rotate around X and Z axes" arg-set="-spin XZ"/>
+    <option id="yz"  _label="Rotate around Y and Z axes" arg-set="-spin YZ"/>
+    <option id="xyz" _label="Rotate around all three axes"/>
+  </select>
+
+  <select id="render">
+    <option id="wire"     _label="Display Wireframe" arg-set="-wireframe"/>
+    <option id="textured" _label="Display Surface Patterns"/>
+    <option id="solid"    _label="Display Solid Colors" arg-set="-no-texture"/>
+  </select>
+
+  <number id="wave-speed" type="slider" arg="-wave-speed %"
+          _label="Surface Pattern Speed" _low-label="Slow" _high-label="Fast"
+          low="5" high="150" default="80"/>
+
+  <number id="wave-radius" type="slider" arg="-wave-radius %"
+          _label="Surface Pattern Overlap"
+          _low-label="Small" _high-label="Large"
+          low="5" high="600" default="512"/>
+
+  <number id="waves" type="slider" arg="-waves %"
+          _label="Surface Pattern Complexity"
+          _low-label="Low" _high-label="High"
+          low="1" high="20" default="3"/>
+
+  <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
+
+  <_description>
+Draws a pulsating set of overlapping boxes with ever-chaning blobby
+patterns undulating across their surfaces.  It's sort of a cubist Lavalite.
+Written by Jamie Zawinski.
+  </_description>
+</screensaver>
index 42a75f2bc71c8b912e79c98efd255710d593ce3b..4534d2418bf61605fc79181aa8b8fd23e2138d02 100644 (file)
@@ -6,7 +6,7 @@
 
   <!-- #### -no-rotate -->
   <!-- #### -no-roll -->
 
   <!-- #### -no-rotate -->
   <!-- #### -no-roll -->
-  <!-- #### -no-bounce -->
+  <!-- #### -no-wander -->
   <!-- #### -no-texture -->
   <!-- #### -no-stars -->
 
   <!-- #### -no-texture -->
   <!-- #### -no-stars -->
 
index c8c5662120cb11eafd088881a35903c102068a6a..c50953b13e0759ae767b0dea2458f544be488f98 100644 (file)
@@ -36,6 +36,8 @@
 
   <boolean id="tight"   _label="Allow Tight Turns" arg-set="-tightturns"/>
 
 
   <boolean id="tight"   _label="Allow Tight Turns" arg-set="-tightturns"/>
 
+  <boolean id="db"      _label="Double Buffer" arg-set="-db"/>
+
   <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
 
   <!-- #### -no-rotatepipes -->
   <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
 
   <!-- #### -no-rotatepipes -->
diff --git a/hacks/fluidballs.c b/hacks/fluidballs.c
new file mode 100644 (file)
index 0000000..528c999
--- /dev/null
@@ -0,0 +1,676 @@
+/* fluidballs, Copyright (c) 2000 by Peter Birtles <peter@bqdesign.com.au>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * Ported to X11 and xscreensaver by jwz, 27-Feb-2002.
+ *
+ * http://astronomy.swin.edu.au/~pbourke/modelling/fluid/
+ */
+
+#include <math.h>
+#include "screenhack.h"
+#include <stdio.h>
+
+
+typedef struct {
+  Display *dpy;
+  Window window;
+  XWindowAttributes xgwa;
+
+  GC draw_gc;          /* most of the balls */
+  GC draw_gc2;         /* the ball being dragged with the mouse */
+  GC erase_gc;
+  XColor fg;
+  XColor fg2;
+
+  int count;           /* number of balls */
+  float xmin, ymin;    /* rectangle of window, relative to root */
+  float xmax, ymax;
+
+  int mouse_ball;      /* index of ball being dragged, or 0 if none. */
+
+  float tc;            /* time constant (time-warp multiplier) */
+  float accx;          /* horizontal acceleration (wind) */
+  float accy;          /* vertical acceleration (gravity) */
+
+  float *vx,  *vy;     /* current ball velocities */
+  float *px,  *py;     /* current ball positions */
+  float *opx, *opy;    /* previous ball positions */
+  float *r;            /* ball radiuses */
+
+  float e;             /* coefficient of friction, I think? */
+  float max_radius;    /* largest radius of any ball */
+
+  Bool shake_p;                /* Whether to mess with gravity when things settle. */
+  float shake_threshold;
+  int time_since_shake;
+
+  Bool fps_p;          /* Whether to draw some text at the bottom. */
+  GC font_gc;
+  int font_height;
+  int font_baseline;
+  int frame_count;
+  int collision_count;
+
+} b_state;
+
+
+
+/* Finds the origin of the window relative to the root window, by
+   walking up the window tree until it reaches the top.
+ */
+static void
+window_origin (Display *dpy, Window window, int *x, int *y)
+{
+  Window root, parent, *kids;
+  unsigned int nkids;
+  XWindowAttributes xgwa;
+  int wx, wy;
+  XGetWindowAttributes (dpy, window, &xgwa);
+
+  wx = xgwa.x;
+  wy = xgwa.y;
+
+  kids = 0;
+  *x = 0;
+  *y = 0;
+
+  if (XQueryTree (dpy, window, &root, &parent, &kids, &nkids))
+    {
+      if (parent && parent != root)
+        {
+          int px, py;
+          window_origin (dpy, parent, &px, &py);
+          wx += px;
+          wy += py;
+        }
+    }
+  if (kids) XFree (kids);
+  *x = wx;
+  *y = wy;
+}
+
+
+/* Queries the window position to see if the window has moved or resized.
+   We poll this instead of waiting for ConfigureNotify events, because
+   when the window manager moves the window, only one ConfigureNotify
+   comes in: at the end of the motion.  If we poll, we can react to the
+   new position while the window is still being moved.  (Assuming the WM
+   does OpaqueMove, of course.)
+ */
+static void
+check_window_moved (b_state *state)
+{
+  float oxmin = state->xmin;
+  float oymin = state->ymin;
+  float oymax = state->ymax;
+  int wx, wy;
+  XGetWindowAttributes (state->dpy, state->window, &state->xgwa);
+  window_origin (state->dpy, state->window, &wx, &wy);
+  state->xmin = wx;
+  state->ymin = wy;
+  state->xmax = state->xmin + state->xgwa.width;
+  state->ymax = state->ymin + state->xgwa.height - state->font_height;
+
+  /* Only need to erase the window if the origin moved */
+  if (oxmin != state->xmin || oymin != state->ymin)
+    XClearWindow (state->dpy, state->window);
+  else if (state->fps_p && oymax != state->ymax)
+    XFillRectangle (state->dpy, state->window, state->erase_gc,
+                    0, state->xgwa.height - state->font_height,
+                    state->xgwa.width, state->font_height);
+
+}
+
+
+/* Returns the position of the mouse relative to the root window.
+ */
+static void
+query_mouse (b_state *state, int *x, int *y)
+{
+  Window root1, child1;
+  int mouse_x, mouse_y, root_x, root_y;
+  unsigned int mask;
+  if (XQueryPointer (state->dpy, state->window, &root1, &child1,
+                     &root_x, &root_y, &mouse_x, &mouse_y, &mask))
+    {
+      *x = root_x;
+      *y = root_y;
+    }
+  else
+    {
+      *x = -9999;
+      *y = -9999;
+    }
+}
+
+/* Re-pick the colors of the balls, and the mouse-ball.
+ */
+static void
+recolor (b_state *state)
+{
+  if (state->fg.flags)
+    XFreeColors (state->dpy, state->xgwa.colormap, &state->fg.pixel, 1, 0);
+  if (state->fg2.flags)
+    XFreeColors (state->dpy, state->xgwa.colormap, &state->fg2.pixel, 1, 0);
+
+  state->fg.flags  = DoRed|DoGreen|DoBlue;
+  state->fg.red    = 0x8888 + (random() % 0x8888);
+  state->fg.green  = 0x8888 + (random() % 0x8888);
+  state->fg.blue   = 0x8888 + (random() % 0x8888);
+
+  state->fg2.flags = DoRed|DoGreen|DoBlue;
+  state->fg2.red   = 0x8888 + (random() % 0x8888);
+  state->fg2.green = 0x8888 + (random() % 0x8888);
+  state->fg2.blue  = 0x8888 + (random() % 0x8888);
+
+  if (XAllocColor (state->dpy, state->xgwa.colormap, &state->fg))
+    XSetForeground (state->dpy, state->draw_gc,  state->fg.pixel);
+
+  if (XAllocColor (state->dpy, state->xgwa.colormap, &state->fg2))
+    XSetForeground (state->dpy, state->draw_gc2, state->fg2.pixel);
+}
+
+
+/* Initialize the state structure and various X data.
+ */
+static b_state *
+init_balls (Display *dpy, Window window)
+{
+  int i;
+  float extx, exty;
+  b_state *state = (b_state *) calloc (1, sizeof(*state));
+  XGCValues gcv;
+
+  state->dpy = dpy;
+  state->window = window;
+
+  check_window_moved (state);
+
+  /* Select ButtonRelease events on the external window, if no other app has
+     already selected it (only one app can select it at a time: BadAccess. */
+  if (! (state->xgwa.all_event_masks & ButtonReleaseMask))
+    XSelectInput (state->dpy, state->window,
+                  state->xgwa.your_event_mask | ButtonReleaseMask);
+
+  gcv.foreground = get_pixel_resource("foreground", "Foreground",
+                                      state->dpy, state->xgwa.colormap);
+  gcv.background = get_pixel_resource("background", "Background",
+                                      state->dpy, state->xgwa.colormap);
+  state->draw_gc = XCreateGC (state->dpy, state->window,
+                              GCForeground|GCBackground, &gcv);
+
+  gcv.foreground = get_pixel_resource("mouseForeground", "MouseForeground",
+                                      state->dpy, state->xgwa.colormap);
+  state->draw_gc2 = XCreateGC (state->dpy, state->window,
+                               GCForeground|GCBackground, &gcv);
+
+  gcv.foreground = gcv.background;
+  state->erase_gc = XCreateGC (state->dpy, state->window,
+                               GCForeground|GCBackground, &gcv);
+
+  recolor (state);
+
+  extx = state->xmax - state->xmin;
+  exty = state->ymax - state->ymin;
+
+  state->count = get_integer_resource ("count", "Count");
+  if (state->count < 1) state->count = 20;
+
+  state->max_radius = get_float_resource ("size", "Size") / 2;
+  if (state->max_radius < 1.0) state->max_radius = 1.0;
+
+  state->accx = get_float_resource ("wind", "Wind");
+  if (state->accx < -1.0 || state->accx > 1.0) state->accx = 0;
+
+  state->accy = get_float_resource ("gravity", "Gravity");
+  if (state->accy < -1.0 || state->accy > 1.0) state->accy = 0.01;
+
+  state->e = get_float_resource ("friction", "Friction");
+  if (state->e < 0.2 || state->e > 1.0) state->e = 0.97;
+
+  state->tc = get_float_resource ("timeScale", "TimeScale");
+  if (state->tc <= 0 || state->tc > 10) state->tc = 1.0;
+
+  state->shake_p = get_boolean_resource ("shake", "Shake");
+  state->shake_threshold = get_float_resource ("shakeThreshold",
+                                               "ShakeThreshold");
+
+  state->fps_p = get_boolean_resource ("doFPS", "DoFPS");
+  if (state->fps_p)
+    {
+      XFontStruct *font;
+      char *fontname = get_string_resource ("font", "Font");
+      const char *def_font = "fixed";
+      if (!fontname || !*fontname) fontname = (char *)def_font;
+      font = XLoadQueryFont (dpy, fontname);
+      if (!font) font = XLoadQueryFont (dpy, def_font);
+      if (!font) exit(-1);
+      gcv.font = font->fid;
+      gcv.foreground = get_pixel_resource("textColor", "Foreground",
+                                          state->dpy, state->xgwa.colormap);
+      state->font_gc = XCreateGC(dpy, window,
+                                 GCFont|GCForeground|GCBackground, &gcv);
+      state->font_height = font->ascent + font->descent;
+      state->font_baseline = font->descent;
+    }
+
+  state->r   = (float *) malloc (sizeof (*state->r)   * (state->count + 1));
+  state->vx  = (float *) malloc (sizeof (*state->vx)  * (state->count + 1));
+  state->vy  = (float *) malloc (sizeof (*state->vy)  * (state->count + 1));
+  state->px  = (float *) malloc (sizeof (*state->px)  * (state->count + 1));
+  state->py  = (float *) malloc (sizeof (*state->py)  * (state->count + 1));
+  state->opx = (float *) malloc (sizeof (*state->opx) * (state->count + 1));
+  state->opy = (float *) malloc (sizeof (*state->opy) * (state->count + 1));
+
+  for (i=1; i<=state->count; i++)
+    {
+      state->px[i] = frand(extx) + state->xmin;
+      state->py[i] = frand(exty) + state->ymin;
+      state->vx[i] = frand(0.2);
+      state->vy[i] = frand(0.2);
+
+      state->r[i] = state->max_radius;
+
+      /* not quite: */
+      /* state->r[i] = 4 + (random() % (int) (state->max_radius - 4)); */
+    }
+
+  return state;
+}
+
+
+/* Messes with gravity: permute "down" to be in a random direction.
+ */
+static void
+shake (b_state *state)
+{
+  float a = state->accx;
+  float b = state->accy;
+  int i = random() % 4;
+
+  switch (i)
+    {
+    case 0:
+      state->accx = a;
+      state->accy = b;
+      break;
+    case 1:
+      state->accx = -a;
+      state->accy = -b;
+      break;
+    case 2:
+      state->accx = b;
+      state->accy = a;
+      break;
+    case 3:
+      state->accx = -b;
+      state->accy = -a;
+      break;
+    default:
+      abort();
+      break;
+    }
+
+  state->time_since_shake = 0;
+  recolor (state);
+}
+
+
+/* Look at the current time, and update state->time_since_shake.
+   Draw the FPS display if desired.
+ */
+static void
+check_wall_clock (b_state *state, float max_d)
+{
+  static int tick = 0;
+  state->frame_count++;
+
+  if (tick++ > 20)  /* don't call gettimeofday() too often -- it's slow. */
+    {
+      static struct timeval last = { 0, };
+      struct timeval now;
+# ifdef GETTIMEOFDAY_TWO_ARGS
+      struct timezone tzp;
+      gettimeofday(&now, &tzp);
+# else
+      gettimeofday(&now);
+# endif
+
+      if (last.tv_sec == 0)
+        last = now;
+
+      tick = 0;
+      if (now.tv_sec == last.tv_sec)
+        return;
+
+      state->time_since_shake += (now.tv_sec - last.tv_sec);
+
+      if (state->fps_p)
+        {
+          static char buf[1024];
+          float elapsed = ((now.tv_sec  + (now.tv_usec  / 1000000.0)) -
+                           (last.tv_sec + (last.tv_usec / 1000000.0)));
+          float fps = state->frame_count / elapsed;
+          float cps = state->collision_count / elapsed;
+
+          sprintf (buf, " FPS: %.2f  Collisions: %.f/frame  Max motion: %.3f",
+                   fps, cps/fps, max_d);
+
+          XFillRectangle (state->dpy, state->window, state->erase_gc,
+                          0, state->xgwa.height - state->font_height,
+                          state->xgwa.width, state->font_height);
+          XDrawImageString (state->dpy, state->window, state->font_gc,
+                            0, state->xgwa.height - state->font_baseline,
+                            buf, strlen(buf));
+        }
+
+      state->frame_count = 0;
+      state->collision_count = 0;
+      last = now;
+    }
+}
+
+
+/* Erases the balls at their previous positions, and draws the new ones.
+ */
+static void
+repaint_balls (b_state *state)
+{
+  int a;
+  int x1a, x2a, y1a, y2a;
+  int x1b, x2b, y1b, y2b;
+  float max_d = 0;
+
+  for (a=1; a <= state->count; a++)
+    {
+      GC gc;
+      x1a = (state->opx[a] - state->r[a] - state->xmin);
+      y1a = (state->opy[a] - state->r[a] - state->ymin);
+      x2a = (state->opx[a] + state->r[a] - state->xmin);
+      y2a = (state->opy[a] + state->r[a] - state->ymin);
+
+      x1b = (state->px[a] - state->r[a] - state->xmin);
+      y1b = (state->py[a] - state->r[a] - state->ymin);
+      x2b = (state->px[a] + state->r[a] - state->xmin);
+      y2b = (state->py[a] + state->r[a] - state->ymin);
+
+/*      if (x1a != x1b || y1a != y1b)   -- leaves turds if we optimize this */
+        {          
+          gc = state->erase_gc;
+          XFillArc (state->dpy, state->window, gc,
+                    x1a, y1a, x2a-x1a, y2a-y1a,
+                    0, 360*64);
+        }
+
+      if (state->mouse_ball == a)
+        gc = state->draw_gc2;
+      else
+        gc = state->draw_gc;
+
+      XFillArc (state->dpy, state->window, gc,
+                x1b, y1b, x2b-x1b, y2b-y1b,
+                0, 360*64);
+
+      if (state->shake_p)
+        {
+          /* distance this ball moved this frame */
+          float d = ((state->px[a] - state->opx[a]) *
+                     (state->px[a] - state->opx[a]) +
+                     (state->py[a] - state->opy[a]) *
+                     (state->py[a] - state->opy[a]));
+          if (d > max_d) max_d = d;
+        }
+
+      state->opx[a] = state->px[a];
+      state->opy[a] = state->py[a];
+    }
+
+  if (state->shake_p && state->time_since_shake > 5)
+    {
+      max_d /= state->max_radius;
+      if (max_d < state->shake_threshold ||  /* when its stable */
+          state->time_since_shake > 30)      /* or when 30 secs has passed */
+        {
+          shake (state);
+        }
+    }
+
+  check_wall_clock (state, max_d);
+}
+
+
+/* Implements the laws of physics: move balls to their new positions.
+ */
+static void
+update_balls (b_state *state)
+{
+  int a, b;
+  float d, nx, ny, m, vxa, vya, vxb, vyb, dd, cdx, cdy, cosam;
+  float dee2 = state->max_radius * state->max_radius * 4;
+
+  check_window_moved (state);
+
+  /* If we're currently tracking the mouse, update that ball first.
+   */
+  if (state->mouse_ball != 0)
+    {
+      int mouse_x, mouse_y;
+      query_mouse (state, &mouse_x, &mouse_y);
+      state->px[state->mouse_ball] = mouse_x;
+      state->py[state->mouse_ball] = mouse_y;
+      state->vx[state->mouse_ball] =
+        (0.1 *
+         (state->px[state->mouse_ball] - state->opx[state->mouse_ball]) *
+         state->tc);
+      state->vy[state->mouse_ball] =
+        (0.1 *
+         (state->py[state->mouse_ball] - state->opy[state->mouse_ball]) *
+         state->tc);
+    }
+
+  /* For each ball, compute the influence of every other ball. */
+  for (a=1; a <= state->count; a++)
+    if (a != state->mouse_ball)
+      for (b=1; b <= state->count; b++)
+        if (a != b)
+          {
+            d = ((state->px[a] - state->px[b]) *
+                 (state->px[a] - state->px[b]) +
+                 (state->py[a] - state->py[b]) *
+                 (state->py[a] - state->py[b]));
+            if (d < dee2)
+              {
+                state->collision_count++;
+                d = sqrt(d);
+                vxa = state->vx[a];
+                vya = state->vy[a];
+                vxb = state->vx[b];
+                vyb = state->vy[b];
+                nx = state->px[b] - state->px[a];
+                ny = state->py[b] - state->py[a];
+                if (d < -0.0001 || d > 0.0001)
+                  {
+                    cdx = nx/d;
+                    cdy = ny/d;
+                    dd = state->r[a] + state->r[b] - d;
+                    state->px[a] -= dd*cdx;  /* just move them apart */
+                    state->py[a] -= dd*cdy;  /* no physical rationale, sorry */
+                    state->px[b] += dd*cdx;
+                    state->py[b] += dd*cdy;
+                    m = sqrt (state->vx[a] * state->vx[a] +
+                              state->vy[a] * state->vy[a]);
+                    if (m < -0.0001 || m > 0.0001)  /* A's velocity > 0 ? */
+                      {
+                        cosam = ((cdx * state->vx[a] + cdy * state->vy[a]) *
+                                 state->e);
+                        vxa -= cdx * cosam;
+                        vya -= cdy * cosam; /* conserve momentum */
+                        vxb += cdx * cosam;
+                        vyb += cdy * cosam;
+                      }
+                    m = sqrt (state->vx[b] *
+                              state->vx[b] +
+                              state->vy[b] *
+                              state->vy[b]);
+                    if (m < -0.0001 || m > 0.0001)
+                      {
+                        cosam = ((cdx * state->vx[b] + cdy * state->vy[b]) *
+                                 state->e);
+                        vxa += cdx * cosam;
+                        vya += cdy * cosam;
+                        vxb -= cdx * cosam;
+                        vyb -= cdy * cosam;
+                      }
+                  }
+                state->vx[a] = vxa;
+                state->vy[a] = vya;
+                state->vx[b] = vxb;
+                state->vy[b] = vyb;
+              }
+          }
+
+  /* Force all balls to be on screen.
+   */
+  for (a=1; a <= state->count; a++)
+    {
+      if (state->px[a] <= (state->xmin + state->r[a]))
+        {
+          state->px[a] = state->xmin + state->r[a];
+          state->vx[a] = -state->vx[a] * state->e;
+        }
+      if (state->px[a] >= (state->xmax - state->r[a]))
+        {
+          state->px[a] = state->xmax - state->r[a];
+          state->vx[a] = -state->vx[a] * state->e;
+        }
+      if (state->py[a] <= (state->ymin + state->r[a]))
+        {
+          state->py[a] = state->ymin + state->r[a];
+          state->vy[a] = -state->vy[a] * state->e;
+        }
+      if (state->py[a] >= (state->ymax - state->r[a]))
+        {
+          state->py[a] = state->ymax - state->r[a];
+          state->vy[a] = -state->vy[a] * state->e;
+        }
+    }
+
+  /* Apply gravity to all balls.
+   */
+  for (a=1; a <= state->count; a++)
+    if (a != state->mouse_ball)
+      {
+        state->vx[a] += state->accx * state->tc;
+        state->vy[a] += state->accy * state->tc;
+        state->px[a] += state->vx[a] * state->tc;
+        state->py[a] += state->vy[a] * state->tc;
+      }
+}
+
+
+/* Handle X events, specifically, allow a ball to be picked up with the mouse.
+ */
+static void
+handle_events (b_state *state)
+{
+  XSync (state->dpy, False);
+  while (XPending (state->dpy))
+    {
+      XEvent event;
+      XNextEvent (state->dpy, &event);
+      if (event.xany.type == ButtonPress)
+        {
+          int i;
+          float fmx = event.xbutton.x_root;
+          float fmy = event.xbutton.y_root;
+          if (state->mouse_ball != 0)  /* second down-click?  drop the ball. */
+            {
+              state->mouse_ball = 0;
+              return;
+            }
+          else
+            for (i=1; i <= state->count; i++)
+              {
+                float d = ((state->px[i] - fmx) * (state->px[i] - fmx) +
+                           (state->py[i] - fmy) * (state->py[i] - fmy));
+                float r = state->r[i];
+                if (d < r*r)
+                  {
+                    state->mouse_ball = i;
+                    return;
+                  }
+              }
+        }
+      else if (event.xany.type == ButtonRelease)   /* drop the ball */
+        {
+          state->mouse_ball = 0;
+          return;
+        }
+      else if (event.xany.type == ConfigureNotify)
+        {
+          /* This is redundant, since we poll this every iteration. */
+          check_window_moved (state);
+        }
+
+      screenhack_handle_event (state->dpy, &event);
+    }
+}
+
+\f
+char *progclass = "FluidBalls";
+
+char *defaults [] = {
+  ".background:                black",
+  ".textColor:         yellow",
+  ".font:              -*-helvetica-*-r-*-*-*-180-*-*-p-*-*-*",
+  "*delay:             10000",
+  "*count:             300",
+  "*size:              25",
+  "*gravity:           0.01",
+  "*wind:              0.00",
+  "*friction:          0.97",
+  "*timeScale:         1.0",
+  "*doFPS:             False",
+  "*shake:             True",
+  "*shakeThreshold:    0.015",
+  0
+};
+
+XrmOptionDescRec options [] = {
+  { "-delay",          ".delay",       XrmoptionSepArg, 0 },
+  { "-count",          ".count",       XrmoptionSepArg, 0 },
+  { "-size",           ".size",        XrmoptionSepArg, 0 },
+  { "-count",          ".count",       XrmoptionSepArg, 0 },
+  { "-gravity",                ".gravity",     XrmoptionSepArg, 0 },
+  { "-wind",           ".wind",        XrmoptionSepArg, 0 },
+  { "-friction",       ".friction",    XrmoptionSepArg, 0 },
+  { "-fps",            ".doFPS",       XrmoptionNoArg, "True" },
+  { "-no-fps",         ".doFPS",       XrmoptionNoArg, "False" },
+  { "-shake",          ".shake",       XrmoptionNoArg, "True" },
+  { "-no-shake",       ".shake",       XrmoptionNoArg, "False" },
+  { 0, 0, 0, 0 }
+};
+
+void
+screenhack (Display *dpy, Window window)
+{
+  b_state *state = init_balls(dpy, window);
+  int delay = get_integer_resource ("delay", "Integer");
+
+  while (1)
+    {
+      repaint_balls(state);
+      update_balls(state);
+
+      XSync (dpy, False);
+      handle_events (state);
+      if (delay) usleep (delay);
+    }
+}
index ce57b7b93002416a1352e57b0d51b49473129fe1..5882bb3448c51be74294c5e2b80429c73a465325 100644 (file)
-/* -*- Mode: C; tab-width: 4 -*- */
-/* forest --- binary trees in a fractal forest */
-
-#if !defined( lint ) && !defined( SABER )
-static const char sccsid[] = "@(#)forest.c     5.00 2000/11/01 xlockmore";
-
-#endif
-
-/*-
- * Copyright (c) 1995 Pascal Pensa <pensa@aurora.unice.fr>
- *
- * Original idea : Guillaume Ramey <ramey@aurora.unice.fr>
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation.
+/* forest.c (aka xtree.c), Copyright (c) 1999
+ *  Peter Baumung <unn6@rz.uni-karlsruhe.de>
  *
  *
- * This file is provided AS IS with no warranties of any kind.  The author
- * shall have no liability with respect to the infringement of copyrights,
- * trade secrets or any patents by this file or any part thereof.  In no
- * event will the author be liable for any lost revenue or profits or
- * other special, indirect and consequential damages.
- *
- * Revision History:
- * 01-Nov-2000: Allocation checks
- * 10-May-1997: Compatible with xscreensaver
+ * Most code taken from
+ *  xscreensaver, Copyright (c) 1992, 1995, 1997 
+ *  Jamie Zawinski <jwz@netscape.com>
  *
  *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
  */
 
  */
 
-#ifdef STANDALONE
-#define MODE_forest
-#define PROGCLASS "Forest"
-#define HACK_INIT init_forest
-#define HACK_DRAW draw_forest
-#define forest_opts xlockmore_opts
-#define DEFAULTS "*delay: 500000 \n" \
- "*count: 100 \n" \
- "*cycles: 200 \n" \
- "*ncolors: 20 \n"
-#define UNIFORM_COLORS
-#include "xlockmore.h"         /* in xscreensaver distribution */
-#else /* STANDALONE */
-#include "xlock.h"             /* in xlockmore distribution */
-
-#endif /* STANDALONE */
-
-#ifdef MODE_forest
-
-ModeSpecOpt forest_opts =
-{0, (XrmOptionDescRec *) NULL, 0, (argtype *) NULL, (OptionStruct *) NULL};
+#include "config.h"
 
 
-#ifdef USE_MODULES
-ModStruct   forest_description =
-{"forest", "init_forest", "draw_forest", "release_forest",
- "refresh_forest", "init_forest", (char *) NULL, &forest_opts,
- 400000, 100, 200, 1, 64, 1.0, "",
- "Shows binary trees of a fractal forest", 0, NULL};
+/* ******************************   NOTE   ******************************
 
 
-#endif
+     This is not the xlockmore version of forest, but a much better
+     looking rewrite.  Be careful not to delete it in a merging frenzy...
 
 
-#define MINTREES   1
-
-#define MINHEIGHT  20          /* Tree height range */
-#define MAXHEIGHT  40
-
-#define MINANGLE   15          /* (degree) angle between soon */
-#define MAXANGLE   35
-#define RANDANGLE  15          /* (degree) Max random angle from default */
-
-#define REDUCE     90          /* Height % from father */
-
-#define ITERLEVEL  10          /* Tree iteration */
-
-#define COLORSPEED  2          /* Color increment */
-
-/* degree to radian */
-#define DEGTORAD(x) (((float)(x)) * M_PI / 180.0)
+   **********************************************************************
+ */
 
 
-#define RANGE_RAND(min,max) ((min) + NRAND((max) - (min)))
+#ifdef STANDALONE
+# define PROGCLASS          "Forest" /*"XTree"*/
+# define HACK_INIT          init_trees
+# define HACK_DRAW          draw_trees
+# define trees_opts         xlockmore_opts 
+# define DEFAULTS   "*delay:            500000 \n"  \
+                    "*ncolors:          20     \n"  \
+                    "*eraseSpeed:       400    \n"  \
+                    "*eraseMode:        -1     \n"  \
+                    "*installColormap   False"
+# include "xlockmore.h"     /* from the xscreensaver distribution */
+#else  /* !STANDALONE */
+# include "xlock.h"                                    /* from the xlockmore distribution */
+#endif /* !STANDALONE */
+
+ModeSpecOpt trees_opts = {0, NULL, 0, NULL, NULL};
 
 typedef struct {
 
 typedef struct {
-       int         width;
-       int         height;
-       int         time;       /* up time */
-       int         ntrees;
-} foreststruct;
-
-static foreststruct *forests = (foreststruct *) NULL;
-
-static void
-draw_tree(ModeInfo * mi,
-         short int x, short int y, short int len,
-         float a, float as, short int c, short int level)
-                               /* Father's end */
-                               /* Length */
-                               /* color */
-                               /* Height level */
-                               /* Father's angle */
-                               /* Father's angle step */
-{
-       Display    *display = MI_DISPLAY(mi);
-       Window      window = MI_WINDOW(mi);
-       GC          gc = MI_GC(mi);
-       short       x_1, y_1, x_2, y_2;
-       float       a1, a2;
-
-       /* left */
-
-       a1 = a + as + DEGTORAD(NRAND(2 * RANDANGLE) - RANDANGLE);
-
-       x_1 = x + (short) (COSF(a1) * ((float) len));
-       y_1 = y + (short) (SINF(a1) * ((float) len));
-
-       /* right */
-
-       a2 = a - as + DEGTORAD(NRAND(2 * RANDANGLE) - RANDANGLE);
-
-       x_2 = x + (short) (COSF(a2) * ((float) len));
-       y_2 = y + (short) (SINF(a2) * ((float) len));
-
-       if (MI_NPIXELS(mi) > 2) {
-               XSetForeground(display, gc, MI_PIXEL(mi, c));
-               c = (c + COLORSPEED) % MI_NPIXELS(mi);
-       } else
-               XSetForeground(display, gc, MI_WHITE_PIXEL(mi));
-
-       XDrawLine(display, window, gc, x, y, x_1, y_1);
-       XDrawLine(display, window, gc, x, y, x_2, y_2);
-
-       if (level < 2) {
-               XDrawLine(display, window, gc, x + 1, y, x_1 + 1, y_1);
-               XDrawLine(display, window, gc, x + 1, y, x_2 + 1, y_2);
-       }
-       len = (len * REDUCE * 10) / 1000;
-
-       if (level < ITERLEVEL) {
-               draw_tree(mi, x_1, y_1, len, a1, as, c, level + 1);
-               draw_tree(mi, x_2, y_2, len, a2, as, c, level + 1);
-       }
+  int     x;
+  int     y;
+  int     thick;
+  double  size;
+  long    color;
+  int     toDo;
+  int     season;
+} treestruct;
+
+static treestruct *trees = NULL;
+
+XColor colors[20];
+int color;
+
+static long colorM[12] = {0xff0000, 0xff8000, 0xffff00, 0x80ff00,
+                          0x00ff00, 0x00ff80, 0x00ffff, 0x0080ff,
+                          0x0000ff, 0x8000ff, 0xff00ff, 0xff0080};
+
+static long colorV[12] = {0x0a0000, 0x0a0500, 0x0a0a00, 0x050a00,
+                          0x000a00, 0x000a05, 0x000a0a, 0x00050a,
+                          0x00000a, 0x05000a, 0x0a000a, 0x0a0005};
+
+void init_trees(ModeInfo * mi) {
+       unsigned long                   pixels[20];
+  treestruct       *tree;
+  Display          *display = MI_DISPLAY(mi);
+  GC                gc = MI_GC(mi);
+  int               i;
+
+  if (trees == NULL) {
+    trees = (treestruct *) calloc(MI_NUM_SCREENS(mi), sizeof (treestruct));
+    if (trees == NULL) {
+      return;
+    }
+               
+    if (mi->npixels > 20) {
+                       printf("%d colors selected. Setting limit to 20...\n", mi->npixels);
+                       mi->npixels = 20;
+               }
+                       
+               if (mi->npixels < 4) {
+      for (i = 0; i < mi->npixels; i++) {
+        colors[i].red   = 65535 * (i & 1);
+        colors[i].green = 65535 * (i & 1);
+        colors[i].blue  = 65535 * (i & 1);
+        colors[i].flags = DoRed | DoGreen | DoBlue;
+      }
+    } else {
+      if (mi->npixels < 8) {
+        for (i = 0; i < mi->npixels; i++) {
+          colors[i].red   = 32768 + 4096 * (i % 4);
+          colors[i].green = 32768 + 4096 * (i % 4);
+          colors[i].blue  = 32768 + 4096 * (i % 4);
+          colors[i].flags = DoRed | DoGreen | DoBlue;
+        }
+      } else {
+        for (i = 0; i < mi->npixels; i++) {
+          colors[i].red   = 24576 + 4096 * (i % 4);
+          colors[i].green = 10240 + 2048 * (i % 4);
+          colors[i].blue  =  0;
+          colors[i].flags = DoRed | DoGreen | DoBlue;
+        }
+      }
+    }
+
+    for (i = 0; i < mi->npixels; i++)
+      if (!XAllocColor(display, mi->xgwa.colormap, &colors[i])) break;
+    color = i;
+
+    XSetForeground(display, gc, colors[1].pixel);
+  }
+
+  XClearWindow(display, MI_WINDOW(mi));
+  XSetLineAttributes(display, gc, 2, LineSolid, CapButt, JoinMiter);
+  tree = &trees[MI_SCREEN(mi)];
+  tree->toDo   = 25;
+       tree->season = NRAND(12);
+
+  for (i = 4; i < mi->npixels; i++) {
+    int sIndex = (tree->season + (i-4) / 4) % 12;
+    long color = colorM[sIndex] - 2 * colorV[sIndex] * (i % 4);
+    colors[i].red = (color & 0xff0000) / 256;
+    colors[i].green = (color & 0x00ff00);
+    colors[i].blue = (color & 0x0000ff) * 256;
+    colors[i].flags = DoRed | DoGreen | DoBlue;
+  }
+
+       for (i = 0; i < color; i++)
+               pixels[i] = colors[i].pixel;
+                       
+  XFreeColors(display, mi->xgwa.colormap, pixels, mi->npixels, 0L);
+
+       for (i = 0; i < mi->npixels; i++)
+    if (!XAllocColor(display, mi->xgwa.colormap, &colors[i])) break;
+
+  color = i;
 }
 
 }
 
-void
-init_forest(ModeInfo * mi)
-{
-       foreststruct *fp;
-
-       if (forests == NULL) {
-               if ((forests = (foreststruct *) calloc(MI_NUM_SCREENS(mi),
-                                            sizeof (foreststruct))) == NULL)
-                       return;
-       }
-       fp = &forests[MI_SCREEN(mi)];
-
-       fp->width = MI_WIDTH(mi);
-       fp->height = MI_HEIGHT(mi);
-       fp->time = 0;
-
-       fp->ntrees = MI_COUNT(mi);
-       if (fp->ntrees < -MINTREES)
-               fp->ntrees = NRAND(-fp->ntrees - MINTREES + 1) + MINTREES;
-       else if (fp->ntrees < MINTREES)
-               fp->ntrees = MINTREES;
-
-       MI_CLEARWINDOW(mi);
+double rRand(double a, double b) {
+  return (a+(b-a)*NRAND(10001)/10000.0);
 }
 
 }
 
-void
-draw_forest(ModeInfo * mi)
-{
-       Display    *display = MI_DISPLAY(mi);
-       GC          gc = MI_GC(mi);
-       short       x, y, x_2, y_2, len, c = 0;
-       float       a, as;
-       foreststruct *fp;
-
-       if (forests == NULL)
-               return;
-       fp = &forests[MI_SCREEN(mi)];
-
-       MI_IS_DRAWN(mi) = True;
-       if (fp->time < fp->ntrees) {
-
-               x = RANGE_RAND(0, fp->width);
-               y = RANGE_RAND(0, fp->height + MAXHEIGHT);
-               a = -M_PI / 2.0 + DEGTORAD(NRAND(2 * RANDANGLE) - RANDANGLE);
-               as = DEGTORAD(RANGE_RAND(MINANGLE, MAXANGLE));
-               len = ((RANGE_RAND(MINHEIGHT, MAXHEIGHT) * (fp->width / 20)) / 50) + 2;
-
-               if (MI_NPIXELS(mi) > 2) {
-                       c = NRAND(MI_NPIXELS(mi));
-                       XSetForeground(display, gc, MI_PIXEL(mi, c));
-                       c = (c + COLORSPEED) % MI_NPIXELS(mi);
-               } else
-                       XSetForeground(display, gc, MI_WHITE_PIXEL(mi));
-
-               x_2 = x + (short) (COSF(a) * ((float) len));
-               y_2 = y + (short) (SINF(a) * ((float) len));
-
-               XDrawLine(display, MI_WINDOW(mi), gc, x, y, x_2, y_2);
-               XDrawLine(display, MI_WINDOW(mi), gc, x + 1, y, x_2 + 1, y_2);
-
-               draw_tree(mi, x_2, y_2, (len * REDUCE) / 100, a, as, c, 1);
-       }
-       if (++fp->time > MI_CYCLES(mi)) {
-               init_forest(mi);
-       }
+void draw_line(ModeInfo * mi,
+               int x1, int y1, int x2, int y2,
+               double angle, int widths, int widthe) {
+
+  Display    *display = MI_DISPLAY(mi);
+  GC          gc = MI_GC(mi);
+  double      sns = 0.5*widths*sin(angle + M_PI_2);
+  double      css = 0.5*widths*cos(angle + M_PI_2);
+  double      sne = 0.5*widthe*sin(angle + M_PI_2);
+  double      cse = 0.5*widthe*cos(angle + M_PI_2);
+
+  int         xs1 = (int) (x1-sns);
+  int         xs2 = (int) (x1+sns);
+  int         ys1 = (int) (y1-css);
+  int         ys2 = (int) (y1+css);
+  int         xe1 = (int) (x2-sne);
+  int         xe2 = (int) (x2+sne);
+  int         ye1 = (int) (y2-cse);
+  int         ye2 = (int) (y2+cse);
+  int         i;
+
+  for (i = 0; i < widths; i++) {
+    if (color >= 4)
+      XSetForeground(display, gc, colors[i*4/widths].pixel);
+    XDrawLine(display, MI_WINDOW(mi), gc,
+      xs1+(xs2-xs1)*i/widths, ys1+(ys2-ys1)*i/widths,
+      xe1+(xe2-xe1)*i/widths, ye1+(ye2-ye1)*i/widths);
+  }
 }
 
 }
 
-void
-release_forest(ModeInfo * mi)
-{
-       if (forests != NULL) {
-               (void) free((void *) forests);
-               forests = (foreststruct *) NULL;
-       }
+void draw_tree_rec(ModeInfo * mi, double thick, int x, int y, double angle) {
+  treestruct *tree = &trees[MI_SCREEN(mi)];
+  Display    *display = MI_DISPLAY(mi);
+  GC          gc = MI_GC(mi);
+  int         length = (24+NRAND(12))*tree->size;
+  int         a = (int) (x - length*sin(angle));
+  int         b = (int) (y - length*cos(angle));
+  int         i;
+
+  draw_line(mi, x, y, a, b, angle, thick*tree->size, 0.68*thick*tree->size);
+
+  if (thick > 2) {
+    draw_tree_rec(mi, 0.68*thick, a, b, 0.8*angle+rRand(-0.2, 0.2));
+    if (thick < tree->thick-1) {
+      draw_tree_rec(mi, 0.68*thick, a, b, angle+rRand(0.2, 0.9));
+      draw_tree_rec(mi, 0.68*thick, (a+x)/2, (b+y)/2, angle-rRand(0.2, 0.9));
+    }
+  }
+
+  if (thick < 0.5*tree->thick) {
+       int     nleaf = 12 + NRAND(4);
+         XArc    leaf[16];
+    for (i = 0; i < nleaf; i++) {
+      leaf[i].x = a + (int) (tree->size * rRand(-12, 12));
+      leaf[i].y = b + (int) (tree->size * rRand(-12, 12));
+      leaf[i].width = (int) (tree->size * rRand(2, 6));
+      leaf[i].height = leaf[i].width;
+      leaf[i].angle1 = 0;
+      leaf[i].angle2 = 360 * 64;
+    }
+    if (mi->npixels >= 4)
+      XSetForeground(display, gc, colors[tree->color+NRAND(4)].pixel);
+    XFillArcs(display, MI_WINDOW(mi), gc, leaf, nleaf);
+  }
 }
 
 }
 
-void
-refresh_forest(ModeInfo * mi)
-{
-       MI_CLEARWINDOW(mi);
+void draw_trees(ModeInfo * mi) {
+  treestruct *tree = &trees[MI_SCREEN(mi)];
+       int                                     width = MI_WIN_WIDTH(mi);
+       int                                     height = MI_WIN_HEIGHT(mi);
+
+  if (--(tree->toDo) == 0) {
+    usleep(3000000);
+    init_trees(mi);
+  }
+
+  tree->x        = NRAND(width);
+  tree->y        = (int) (1.25 * height * (1 - tree->toDo / 23.0));
+  tree->thick    = rRand(7, 12);
+  tree->size     = height / 480.0;
+  if (color < 8) {
+    tree->color = 0;
+  } else {
+    tree->color    = 4 * (1 + NRAND(color / 4 - 1));
+  }
+
+  draw_tree_rec(mi, tree->thick, tree->x, tree->y, rRand(-0.1, 0.1));
 }
 
 }
 
-#endif /* MODE_forest */
+void release_trees(ModeInfo * mi) {
+  if (trees != NULL) {
+    (void) free((void *) trees);
+    trees = NULL;
+  }
+}
index 5b8f028063a2498462d27823826e75a2cc6f03e0..9e01c2995655164cc6c58372eecb00284f4eb6e1 100644 (file)
@@ -79,7 +79,8 @@ SRCS          = xscreensaver-gl-helper.c \
                  stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
                  gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
                  menger.c engine.c flipscreen3d.c font-ximage.c \
                  stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
                  gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
                  menger.c engine.c flipscreen3d.c font-ximage.c \
-                 grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c
+                 grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c \
+                 cubenetic.c
 
 OBJS           = xscreensaver-gl-helper.o \
                  atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
 
 OBJS           = xscreensaver-gl-helper.o \
                  atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
@@ -95,13 +96,14 @@ OBJS                = xscreensaver-gl-helper.o \
                  stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
                  gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
                  menger.o engine.o flipscreen3d.o font-ximage.o \
                  stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
                  gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
                  menger.o engine.o flipscreen3d.o font-ximage.o \
-                 grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o
+                 grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o \
+                 cubenetic.o
 
 GL_EXES                = cage gears moebius pipes sproingies stairs superquadrics \
                  morph3d rubik atlantis lament bubble3d glplanet pulsar \
                  sierpinski3d gflux stonerview starwars gltext molecule \
                  dangerball circuit menger engine flipscreen3d glsnake boxed \
 
 GL_EXES                = cage gears moebius pipes sproingies stairs superquadrics \
                  morph3d rubik atlantis lament bubble3d glplanet pulsar \
                  sierpinski3d gflux stonerview starwars gltext molecule \
                  dangerball circuit menger engine flipscreen3d glsnake boxed \
-                 glforestfire sballs
+                 glforestfire sballs cubenetic
 GLE_EXES       = extrusion
 GL_UTIL_EXES   = xscreensaver-gl-helper
 HACK_EXES      = @GL_EXES@ @GLE_EXES@
 GLE_EXES       = extrusion
 GL_UTIL_EXES   = xscreensaver-gl-helper
 HACK_EXES      = @GL_EXES@ @GLE_EXES@
@@ -385,6 +387,10 @@ glforestfire:      glforestfire.o  $(HACK_OBJS) xpm-ximage.o
 sballs:                sballs.o        $(HACK_OBJS) xpm-ximage.o
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
 
 sballs:                sballs.o        $(HACK_OBJS) xpm-ximage.o
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
 
+cubenetic:     cubenetic.o     $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+
 # This one works differently (it's not xlock-like.)
 #
 STONER_OBJS=stonerview.o stonerview-move.o stonerview-osc.o stonerview-view.o \
 # This one works differently (it's not xlock-like.)
 #
 STONER_OBJS=stonerview.o stonerview-move.o stonerview-osc.o stonerview-view.o \
@@ -464,7 +470,7 @@ fps.o: ../../config.h
 xpm-ximage.o: ../../config.h
 glplanet.o: ../../config.h
 glplanet.o: $(srcdir)/sphere.h
 xpm-ximage.o: ../../config.h
 glplanet.o: ../../config.h
 glplanet.o: $(srcdir)/sphere.h
-glplanet.o: $(HACK_SRC)/images/earth.xbm
+glplanet.o: $(HACK_SRC)/images/earth.xpm
 glplanet.o: $(srcdir)/xpm-ximage.h
 pulsar.o: ../../config.h
 extrusion.o: ../../config.h
 glplanet.o: $(srcdir)/xpm-ximage.h
 pulsar.o: ../../config.h
 extrusion.o: ../../config.h
@@ -507,7 +513,6 @@ dangerball.o: ../../config.h
 dangerball.o: $(srcdir)/sphere.h
 dangerball.o: $(srcdir)/tube.h
 sphere.o: ../../config.h
 dangerball.o: $(srcdir)/sphere.h
 dangerball.o: $(srcdir)/tube.h
 sphere.o: ../../config.h
-sphere.o: $(srcdir)/tube.h
 tube.o: ../../config.h
 tube.o: $(srcdir)/tube.h
 circuit.o: ../../config.h
 tube.o: ../../config.h
 tube.o: $(srcdir)/tube.h
 circuit.o: ../../config.h
@@ -529,4 +534,5 @@ sballs.o: ../../config.h
 sballs.o: $(srcdir)/xpm-ximage.h
 sballs.o: $(HACK_SRC)/images/sball.xpm
 sballs.o: $(HACK_SRC)/images/sball-bg.xpm
 sballs.o: $(srcdir)/xpm-ximage.h
 sballs.o: $(HACK_SRC)/images/sball.xpm
 sballs.o: $(HACK_SRC)/images/sball-bg.xpm
+cubenetic.o: ../../config.h
 
 
index b973f083dd5aa7b26e038fc0b19f284a2b3555f7..30d5f6f872b58231e524b2cab4294e8851bc3e82 100644 (file)
@@ -1071,8 +1071,19 @@ pinit(ModeInfo * mi)
    
    
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    
    
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-   gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 256, 256,
-                    GL_RGB, GL_UNSIGNED_BYTE, gp->tex1);
+
+   clear_gl_error();
+   i = gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 256, 256,
+                         GL_RGB, GL_UNSIGNED_BYTE, gp->tex1);
+   if (i)
+     {
+       const char *s = gluErrorString (i);
+       fprintf (stderr, "%s: error mipmapping texture: %s\n",
+                progname, (s ? s : "(unknown)"));
+       exit (1);
+     }
+   check_gl_error("mipmapping");
+
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
index a2983bcd718f641990dfacf0e82ec715e945bd7b..5f0e4e447833a416368ab712c57c6fa999910c05 100644 (file)
@@ -319,6 +319,7 @@ reshape_cage(ModeInfo * mi, int width, int height)
 static void
 pinit(void)
 {
 static void
 pinit(void)
 {
+    int status;
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
@@ -345,8 +346,20 @@ pinit(void)
        glEnable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
        glEnable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-       gluBuild2DMipmaps(GL_TEXTURE_2D, 3, WoodTextureWidth, WoodTextureHeight,
-                         GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+
+    clear_gl_error();
+       status = gluBuild2DMipmaps(GL_TEXTURE_2D, 3,
+                               WoodTextureWidth, WoodTextureHeight,
+                               GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+    if (status)
+      {
+        const char *s = gluErrorString (status);
+        fprintf (stderr, "%s: error mipmapping texture: %s\n",
+                 progname, (s ? s : "(unknown)"));
+        exit (1);
+      }
+    check_gl_error("mipmapping");
+
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
index 0c28e9fb7a735097f26a22ff6606aedbfe5a87f3..faa30df2c63099b24fa0754be0c39aa1ff7faf78 100644 (file)
@@ -1708,7 +1708,7 @@ TexNum * fonttexturealloc (const char *str, float *fg, float *bg)
 {
   static char *strings[50]; /* max of 40 textures */
   static int w[50], h[50];
 {
   static char *strings[50]; /* max of 40 textures */
   static int w[50], h[50];
-  int i;
+  int i, status;
   static int init;
   XImage *ximage;
   char *c;
   static int init;
   XImage *ximage;
   char *c;
@@ -1737,8 +1737,20 @@ TexNum * fonttexturealloc (const char *str, float *fg, float *bg)
   for (i = 1 ; strings[i] != NULL ; i++); /* set i to the next unused value */
   glBindTexture(GL_TEXTURE_2D, i);
   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
   for (i = 1 ; strings[i] != NULL ; i++); /* set i to the next unused value */
   glBindTexture(GL_TEXTURE_2D, i);
   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-  gluBuild2DMipmaps(GL_TEXTURE_2D, 4, ximage->width, ximage->height, GL_RGBA,
-                    GL_UNSIGNED_BYTE, ximage->data);
+
+  clear_gl_error();
+  status = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, ximage->width, ximage->height,
+                             GL_RGBA, GL_UNSIGNED_BYTE, ximage->data);
+  if (status)
+    {
+      const char *s = gluErrorString (status);
+      fprintf (stderr, "%s: error mipmapping %dx%d texture: %s\n",
+               progname, ximage->width, ximage->height,
+               (s ? s : "(unknown)"));
+      exit (1);
+    }
+  check_gl_error("mipmapping");
+
   t = malloc(sizeof(TexNum));
   t->w = ximage->width;
   t->h = ximage->height;
   t = malloc(sizeof(TexNum));
   t->w = ximage->width;
   t->h = ximage->height;
diff --git a/hacks/glx/cubenetic.c b/hacks/glx/cubenetic.c
new file mode 100644 (file)
index 0000000..4b4815e
--- /dev/null
@@ -0,0 +1,662 @@
+/* cubenetic, Copyright (c) 2002 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+#include <X11/Intrinsic.h>
+
+extern XtAppContext app;
+
+#define PROGCLASS      "Cubenetic"
+#define HACK_INIT      init_cube
+#define HACK_DRAW      draw_cube
+#define HACK_RESHAPE   reshape_cube
+#define ccs_opts       xlockmore_opts
+
+#define DEF_SPIN        "XYZ"
+#define DEF_WANDER      "True"
+#define DEF_TEXTURE     "True"
+
+#define DEF_WAVE_COUNT  "3"
+#define DEF_WAVE_SPEED  "80"
+#define DEF_WAVE_RADIUS "512"
+
+#define DEFAULTS       "*delay:        30000       \n" \
+                       "*count:        5           \n" \
+                       "*showFPS:      False       \n" \
+                       "*wireframe:    False       \n" \
+                       "*spin:       " DEF_SPIN   "\n" \
+                       "*wander:     " DEF_WANDER "\n" \
+                       "*texture:    " DEF_TEXTURE"\n" \
+                       "*waves:      " DEF_WAVE_COUNT  "\n" \
+                       "*waveSpeed:  " DEF_WAVE_SPEED  "\n" \
+                       "*waveRadius: " DEF_WAVE_RADIUS "\n" \
+
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+#include "xlockmore.h"
+#include "colors.h"
+#include <ctype.h>
+
+#ifdef USE_GL /* whole file */
+
+#include <GL/glu.h>
+
+typedef struct {
+  int color;
+  GLfloat x, y, z;
+  GLfloat w, h, d;
+  int frame;
+  GLfloat dx, dy, dz;
+  GLfloat dw, dh, dd;
+} cube;
+
+typedef struct {
+  int x, y;
+  double xth, yth;
+} wave_src;
+
+typedef struct {
+  int nwaves;
+  int radius;
+  int speed;
+  wave_src *srcs;
+  int *heights;
+} waves;
+
+
+typedef struct {
+  GLXContext *glx_context;
+
+  GLfloat rotx, roty, rotz;       /* current object rotation */
+  GLfloat dx, dy, dz;             /* current rotational velocity */
+  GLfloat ddx, ddy, ddz;          /* current rotational acceleration */
+  GLfloat d_max;                  /* max velocity */
+  Bool spin_x, spin_y, spin_z;
+
+  GLuint cube_list;
+  GLuint texture_id;
+  int ncubes;
+  cube *cubes;
+  waves *waves;
+
+  int texture_width, texture_height;
+  unsigned char *texture;
+
+  int ncolors;
+  XColor *cube_colors;
+  XColor *texture_colors;
+
+} cube_configuration;
+
+static cube_configuration *ccs = NULL;
+
+static char *do_spin;
+static Bool do_wander;
+static Bool do_texture;
+
+static int wave_count;
+static int wave_speed;
+static int wave_radius;
+static int texture_size = 256;
+
+static XrmOptionDescRec opts[] = {
+  { "-spin",   ".spin",   XrmoptionSepArg, 0 },
+  { "+spin",   ".spin",   XrmoptionNoArg, "" },
+  { "-wander", ".wander", XrmoptionNoArg, "True" },
+  { "+wander", ".wander", XrmoptionNoArg, "False" },
+  {"-texture", ".texture", XrmoptionNoArg, (caddr_t) "true" },
+  {"+texture", ".texture", XrmoptionNoArg, (caddr_t) "false" },
+  {"-waves",       ".waves",      XrmoptionSepArg, 0 },
+  {"-wave-speed",  ".waveSpeed",  XrmoptionSepArg, 0 },
+  {"-wave-radius", ".waveRadius", XrmoptionSepArg, 0 },
+};
+
+static argtype vars[] = {
+  {(caddr_t *) &do_spin,   "spin",   "Spin",   DEF_SPIN,   t_String},
+  {(caddr_t *) &do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
+  {(caddr_t *) &do_texture, "texture", "Texture", DEF_TEXTURE, t_Bool},
+  {(caddr_t *) &wave_count, "waves",     "Waves",      DEF_WAVE_COUNT, t_Int},
+  {(caddr_t *) &wave_speed, "waveSpeed", "WaveSpeed",  DEF_WAVE_SPEED, t_Int},
+  {(caddr_t *) &wave_radius,"waveRadius","WaveRadius", DEF_WAVE_RADIUS,t_Int},
+};
+
+ModeSpecOpt ccs_opts = {countof(opts), opts, countof(vars), vars, NULL};
+
+
+static void
+unit_cube (Bool wire)
+{
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* front */
+  glNormal3f (0, 0, 1);
+  glTexCoord2f(1, 0); glVertex3f ( 0.5, -0.5,  0.5);
+  glTexCoord2f(0, 0); glVertex3f ( 0.5,  0.5,  0.5);
+  glTexCoord2f(0, 1); glVertex3f (-0.5,  0.5,  0.5);
+  glTexCoord2f(1, 1); glVertex3f (-0.5, -0.5,  0.5);
+  glEnd();
+
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* back */
+  glNormal3f (0, 0, -1);
+  glTexCoord2f(0, 0); glVertex3f (-0.5, -0.5, -0.5);
+  glTexCoord2f(0, 1); glVertex3f (-0.5,  0.5, -0.5);
+  glTexCoord2f(1, 1); glVertex3f ( 0.5,  0.5, -0.5);
+  glTexCoord2f(1, 0); glVertex3f ( 0.5, -0.5, -0.5);
+  glEnd();
+
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* left */
+  glNormal3f (-1, 0, 0);
+  glTexCoord2f(1, 1); glVertex3f (-0.5,  0.5,  0.5);
+  glTexCoord2f(1, 0); glVertex3f (-0.5,  0.5, -0.5);
+  glTexCoord2f(0, 0); glVertex3f (-0.5, -0.5, -0.5);
+  glTexCoord2f(0, 1); glVertex3f (-0.5, -0.5,  0.5);
+  glEnd();
+
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* right */
+  glNormal3f (1, 0, 0);
+  glTexCoord2f(1, 1); glVertex3f ( 0.5, -0.5, -0.5);
+  glTexCoord2f(1, 0); glVertex3f ( 0.5,  0.5, -0.5);
+  glTexCoord2f(0, 0); glVertex3f ( 0.5,  0.5,  0.5);
+  glTexCoord2f(0, 1); glVertex3f ( 0.5, -0.5,  0.5);
+  glEnd();
+
+  if (wire) return;
+
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* top */
+  glNormal3f (0, 1, 0);
+  glTexCoord2f(0, 0); glVertex3f ( 0.5,  0.5,  0.5);
+  glTexCoord2f(0, 1); glVertex3f ( 0.5,  0.5, -0.5);
+  glTexCoord2f(1, 1); glVertex3f (-0.5,  0.5, -0.5);
+  glTexCoord2f(1, 0); glVertex3f (-0.5,  0.5,  0.5);
+  glEnd();
+
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);    /* bottom */
+  glNormal3f (0, -1, 0);
+  glTexCoord2f(1, 0); glVertex3f (-0.5, -0.5,  0.5);
+  glTexCoord2f(0, 0); glVertex3f (-0.5, -0.5, -0.5);
+  glTexCoord2f(0, 1); glVertex3f ( 0.5, -0.5, -0.5);
+  glTexCoord2f(1, 1); glVertex3f ( 0.5, -0.5,  0.5);
+  glEnd();
+}
+
+
+
+/* Window management, etc
+ */
+void
+reshape_cube (ModeInfo *mi, int width, int height)
+{
+  GLfloat h = (GLfloat) height / (GLfloat) width;
+
+  glViewport (0, 0, (GLint) width, (GLint) height);
+
+  glMatrixMode(GL_PROJECTION);
+  glLoadIdentity();
+
+  gluPerspective( 30.0, 1/h, 1.0, 100.0 );
+  gluLookAt( 0.0, 0.0, 15.0,
+             0.0, 0.0, 0.0,
+             0.0, 1.0, 0.0);
+  glMatrixMode(GL_MODELVIEW);
+  glLoadIdentity();
+  glTranslatef(0.0, 0.0, -15.0);
+
+  glClear(GL_COLOR_BUFFER_BIT);
+}
+
+
+/* lifted from lament.c */
+#define RAND(n) ((long) ((random() & 0x7fffffff) % ((long) (n))))
+#define RANDSIGN() ((random() & 1) ? 1 : -1)
+
+static void
+rotate(GLfloat *pos, GLfloat *v, GLfloat *dv, GLfloat max_v)
+{
+  double ppos = *pos;
+
+  /* tick position */
+  if (ppos < 0)
+    ppos = -(ppos + *v);
+  else
+    ppos += *v;
+
+  if (ppos > 1.0)
+    ppos -= 1.0;
+  else if (ppos < 0)
+    ppos += 1.0;
+
+  if (ppos < 0) abort();
+  if (ppos > 1.0) abort();
+  *pos = (*pos > 0 ? ppos : -ppos);
+
+  /* accelerate */
+  *v += *dv;
+
+  /* clamp velocity */
+  if (*v > max_v || *v < -max_v)
+    {
+      *dv = -*dv;
+    }
+  /* If it stops, start it going in the other direction. */
+  else if (*v < 0)
+    {
+      if (random() % 4)
+       {
+         *v = 0;
+
+         /* keep going in the same direction */
+         if (random() % 2)
+           *dv = 0;
+         else if (*dv < 0)
+           *dv = -*dv;
+       }
+      else
+       {
+         /* reverse gears */
+         *v = -*v;
+         *dv = -*dv;
+         *pos = -*pos;
+       }
+    }
+
+  /* Alter direction of rotational acceleration randomly. */
+  if (! (random() % 120))
+    *dv = -*dv;
+
+  /* Change acceleration very occasionally. */
+  if (! (random() % 200))
+    {
+      if (*dv == 0)
+       *dv = 0.00001;
+      else if (random() & 1)
+       *dv *= 1.2;
+      else
+       *dv *= 0.8;
+    }
+}
+
+
+\f
+/* Waves.
+   Adapted from ../hacks/interference.c by Hannu Mallat.
+ */
+
+static void
+init_wave (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  waves *ww;
+  int i;
+  cc->waves = ww = (waves *) calloc (sizeof(*cc->waves), 1);
+  ww->nwaves = wave_count;
+  ww->radius = wave_radius;
+  ww->speed  = wave_speed;
+  ww->heights = (int *) calloc (sizeof(*ww->heights), ww->radius);
+  ww->srcs = (wave_src *) calloc (sizeof(*ww->srcs), ww->nwaves);
+
+  for (i = 0; i < ww->radius; i++)
+    {
+      float max = (cc->ncolors * (ww->radius - i) / (float) ww->radius);
+      ww->heights[i] = ((max + max * cos(i / 50.0)) / 2.0);
+    }
+
+  for (i = 0; i < ww->nwaves; i++)
+    {
+      ww->srcs[i].xth = frand(2.0) * M_PI;
+      ww->srcs[i].yth = frand(2.0) * M_PI;
+    }
+}
+
+static void
+interference (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  waves *ww = cc->waves;
+  int x, y, i;
+
+  /* Move the wave origins around
+   */
+  for (i = 0; i < ww->nwaves; i++)
+    {
+      ww->srcs[i].xth += (ww->speed / 1000.0);
+      if (ww->srcs[i].xth > 2*M_PI)
+        ww->srcs[i].xth -= 2*M_PI;
+      ww->srcs[i].yth += (ww->speed / 1000.0);
+      if (ww->srcs[i].yth > 2*M_PI)
+        ww->srcs[i].yth -= 2*M_PI;
+
+      ww->srcs[i].x = (cc->texture_width/2 +
+                       (cos (ww->srcs[i].xth) *
+                        cc->texture_width / 2));
+      ww->srcs[i].y = (cc->texture_height/2 +
+                       (cos (ww->srcs[i].yth) *
+                        cc->texture_height / 2));
+    }
+
+  /* Compute the effect of the waves on each pixel,
+     and generate the output map.
+   */
+  for (y = 0; y < cc->texture_height; y++)
+    for (x = 0; x < cc->texture_width; x++)
+      {
+        int result = 0;
+        unsigned char *o;
+        for (i = 0; i < ww->nwaves; i++)
+          {
+            int dx = x - ww->srcs[i].x;
+            int dy = y - ww->srcs[i].y;
+            int dist = sqrt (dx*dx + dy*dy);
+            result += (dist > ww->radius ? 0 : ww->heights[dist]);
+          }
+        result %= cc->ncolors;
+
+        o = cc->texture + (((y * cc->texture_width) + x) << 2);
+        o[0] = (cc->texture_colors[result].red   >> 8);
+        o[1] = (cc->texture_colors[result].green >> 8);
+        o[2] = (cc->texture_colors[result].blue  >> 8);
+     /* o[3] = 0xFF; */
+      }
+}
+
+\f
+/* Textures
+ */
+
+static void
+init_texture (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  int i;
+
+  glEnable(GL_TEXTURE_2D);
+
+  clear_gl_error();
+  glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+  glGenTextures (1, &cc->texture_id);
+  glBindTexture (GL_TEXTURE_2D, cc->texture_id);
+  check_gl_error("texture binding");
+
+  glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+  glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+  glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+  glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+  glTexGeni (GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
+  glTexGeni (GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
+  glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+  check_gl_error("texture initialization");
+
+  cc->texture_width  = texture_size;
+  cc->texture_height = texture_size;
+
+  i = texture_size * texture_size * 4;
+  cc->texture = (char *) malloc (i);
+  memset (cc->texture, 0xFF, i);
+}
+
+
+static void
+shuffle_texture (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  interference (mi);
+  clear_gl_error();
+  glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA,
+                cc->texture_width, cc->texture_height, 0,
+                GL_RGBA, GL_UNSIGNED_BYTE,
+                cc->texture);
+  check_gl_error("texture");
+}
+
+
+void 
+init_cube (ModeInfo *mi)
+{
+  int i;
+  cube_configuration *cc;
+  int wire = MI_IS_WIREFRAME(mi);
+
+  if (!ccs) {
+    ccs = (cube_configuration *)
+      calloc (MI_NUM_SCREENS(mi), sizeof (cube_configuration));
+    if (!ccs) {
+      fprintf(stderr, "%s: out of memory\n", progname);
+      exit(1);
+    }
+  }
+
+  cc = &ccs[MI_SCREEN(mi)];
+
+  if ((cc->glx_context = init_GL(mi)) != NULL) {
+    reshape_cube (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+  }
+
+  if (!wire)
+    {
+      static GLfloat pos[4] = {1.0, 0.5, 1.0, 0.0};
+      static GLfloat amb[4] = {0.2, 0.2, 0.2, 1.0};
+      static GLfloat dif[4] = {1.0, 1.0, 1.0, 1.0};
+
+      glLightfv(GL_LIGHT0, GL_POSITION, pos);
+      glLightfv(GL_LIGHT0, GL_AMBIENT,  amb);
+      glLightfv(GL_LIGHT0, GL_DIFFUSE,  dif);
+
+      glEnable(GL_LIGHTING);
+      glEnable(GL_LIGHT0);
+      glEnable(GL_DEPTH_TEST);
+      glEnable(GL_CULL_FACE);
+    }
+
+
+  {
+    char *s = do_spin;
+    while (*s)
+      {
+        if      (*s == 'x' || *s == 'X') cc->spin_x = 1;
+        else if (*s == 'y' || *s == 'Y') cc->spin_y = 1;
+        else if (*s == 'z' || *s == 'Z') cc->spin_z = 1;
+        else
+          {
+            fprintf (stderr,
+         "%s: spin must contain only the characters X, Y, or Z (not \"%s\")\n",
+                     progname, do_spin);
+            exit (1);
+          }
+        s++;
+      }
+  }
+
+  cc->rotx = frand(1.0) * RANDSIGN();
+  cc->roty = frand(1.0) * RANDSIGN();
+  cc->rotz = frand(1.0) * RANDSIGN();
+
+  /* bell curve from 0-6 degrees, avg 3 */
+  cc->dx = (frand(0.7) + frand(0.7) + frand(0.7)) / (360/2);
+  cc->dy = (frand(0.7) + frand(0.7) + frand(0.7)) / (360/2);
+  cc->dz = (frand(0.7) + frand(0.7) + frand(0.7)) / (360/2);
+
+  cc->d_max = cc->dx * 2;
+
+  cc->ddx = 0.00006 + frand(0.00003);
+  cc->ddy = 0.00006 + frand(0.00003);
+  cc->ddz = 0.00006 + frand(0.00003);
+
+  cc->ncolors = 256;
+  cc->texture_colors = (XColor *) calloc(cc->ncolors, sizeof(XColor));
+  cc->cube_colors    = (XColor *) calloc(cc->ncolors, sizeof(XColor));
+
+  {
+    double H[3], S[3], V[3];
+    int shift = 60;
+    H[0] = frand(360.0); 
+    H[1] = ((H[0] + shift) < 360) ? (H[0]+shift) : (H[0] + shift - 360);
+    H[2] = ((H[1] + shift) < 360) ? (H[1]+shift) : (H[1] + shift - 360);
+    S[0] = S[1] = S[2] = 1.0;
+    V[0] = V[1] = V[2] = 1.0;
+    make_color_loop(0, 0,
+                   H[0], S[0], V[0], 
+                   H[1], S[1], V[1], 
+                   H[2], S[2], V[2], 
+                   cc->texture_colors, &cc->ncolors,
+                   False, False);
+
+    make_smooth_colormap (0, 0, 0,
+                          cc->cube_colors, &cc->ncolors, 
+                          False, 0, False);
+  }
+
+  cc->ncubes = MI_COUNT (mi);
+  cc->cubes = (cube *) calloc (sizeof(cube), cc->ncubes);
+  for (i = 0; i < cc->ncubes; i++)
+    {
+      cube *cube = &cc->cubes[i];
+      cube->color = random() % cc->ncolors;
+      cube->w = 1.0;
+      cube->h = 1.0;
+      cube->d = 1.0;
+      cube->dx = frand(0.1);
+      cube->dy = frand(0.1);
+      cube->dz = frand(0.1);
+      cube->dw = frand(0.1);
+      cube->dh = frand(0.1);
+      cube->dd = frand(0.1);
+    }
+
+  if (wire)
+    do_texture = False;
+    
+  if (do_texture)
+    {
+      init_texture (mi);
+      init_wave (mi);
+      shuffle_texture (mi);
+    }
+
+  cc->cube_list = glGenLists (1);
+  glNewList (cc->cube_list, GL_COMPILE);
+  unit_cube (wire);
+  glEndList ();
+}
+
+
+static void
+shuffle_cubes (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  int i;
+  for (i = 0; i < cc->ncubes; i++)
+    {
+#     define SINOID(SCALE,FRAME,SIZE) \
+        ((((1 + sin((FRAME * (SCALE)) / 2 * M_PI)) / 2.0) * (SIZE)) - (SIZE)/2)
+
+      cube *cube = &cc->cubes[i];
+      cube->x = SINOID(cube->dx, cube->frame, 0.5);
+      cube->y = SINOID(cube->dy, cube->frame, 0.5);
+      cube->z = SINOID(cube->dz, cube->frame, 0.5);
+      cube->w = SINOID(cube->dw, cube->frame, 0.9) + 1.0;
+      cube->h = SINOID(cube->dh, cube->frame, 0.9) + 1.0;
+      cube->d = SINOID(cube->dd, cube->frame, 0.9) + 1.0;
+      cube->frame++;
+#     undef SINOID
+    }
+}
+
+
+void
+draw_cube (ModeInfo *mi)
+{
+  cube_configuration *cc = &ccs[MI_SCREEN(mi)];
+  Display *dpy = MI_DISPLAY(mi);
+  Window window = MI_WINDOW(mi);
+  int i;
+
+  if (!cc->glx_context)
+    return;
+
+  glShadeModel(GL_FLAT);
+
+  glEnable(GL_DEPTH_TEST);
+  glEnable(GL_NORMALIZE);
+  glEnable(GL_CULL_FACE);
+
+  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+  glPushMatrix ();
+
+  glScalef(1.1, 1.1, 1.1);
+
+  {
+    GLfloat x, y, z;
+
+    if (do_wander)
+      {
+        static int frame = 0;
+
+#       define SINOID(SCALE,SIZE) \
+        ((((1 + sin((frame * (SCALE)) / 2 * M_PI)) / 2.0) * (SIZE)) - (SIZE)/2)
+
+        x = SINOID(0.0071, 8.0);
+        y = SINOID(0.0053, 6.0);
+        z = SINOID(0.0037, 15.0);
+        frame++;
+        glTranslatef(x, y, z);
+      }
+
+    if (cc->spin_x || cc->spin_y || cc->spin_z)
+      {
+        x = cc->rotx;
+        y = cc->roty;
+        z = cc->rotz;
+        if (x < 0) x = 1 - (x + 1);
+        if (y < 0) y = 1 - (y + 1);
+        if (z < 0) z = 1 - (z + 1);
+
+        if (cc->spin_x) glRotatef(x * 360, 1.0, 0.0, 0.0);
+        if (cc->spin_y) glRotatef(y * 360, 0.0, 1.0, 0.0);
+        if (cc->spin_z) glRotatef(z * 360, 0.0, 0.0, 1.0);
+
+        rotate(&cc->rotx, &cc->dx, &cc->ddx, cc->d_max);
+        rotate(&cc->roty, &cc->dy, &cc->ddy, cc->d_max);
+        rotate(&cc->rotz, &cc->dz, &cc->ddz, cc->d_max);
+      }
+  }
+
+  glScalef (2.5, 2.5, 2.5);
+
+  for (i = 0; i < cc->ncubes; i++)
+    {
+      cube *cube = &cc->cubes[i];
+      GLfloat color[4];
+      color[0] = cc->cube_colors[cube->color].red   / 65536.0;
+      color[1] = cc->cube_colors[cube->color].green / 65536.0;
+      color[2] = cc->cube_colors[cube->color].blue  / 65536.0;
+      color[3] = 1.0;
+      cube->color++;
+      if (cube->color >= cc->ncolors) cube->color = 0;
+
+      glPushMatrix ();
+      glTranslatef (cube->x, cube->y, cube->z);
+      glScalef (cube->w, cube->h, cube->d);
+      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, color);
+      glCallList (cc->cube_list);
+      glPopMatrix ();
+    }
+
+  shuffle_cubes (mi);
+  if (do_texture)
+    shuffle_texture (mi);
+
+  glPopMatrix();
+
+  if (mi->fps_p) do_fps (mi);
+  glFinish();
+
+  glXSwapBuffers(dpy, window);
+}
+
+#endif /* USE_GL */
index d189602aaa7d8ffe3bda68a875e978f009f8f930..746b7b2415edeef6909a2d8b2454b0d306ebe5f8 100644 (file)
@@ -1,4 +1,4 @@
-/* dangerball, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+/* dangerball, Copyright (c) 2001, 2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -119,25 +119,6 @@ reshape_ball (ModeInfo *mi, int width, int height)
 }
 
 
 }
 
 
-static void
-gl_init (ModeInfo *mi)
-{
-/*  ball_configuration *bp = &bps[MI_SCREEN(mi)]; */
-  int wire = MI_IS_WIREFRAME(mi);
-
-  static GLfloat pos[4] = {5.0, 5.0, 10.0, 1.0};
-
-  if (!wire)
-    {
-      glLightfv(GL_LIGHT0, GL_POSITION, pos);
-      glEnable(GL_CULL_FACE);
-      glEnable(GL_LIGHTING);
-      glEnable(GL_LIGHT0);
-      glEnable(GL_DEPTH_TEST);
-    }
-}
-
-
 /* lifted from lament.c */
 #define RAND(n) ((long) ((random() & 0x7fffffff) % ((long) (n))))
 #define RANDSIGN() ((random() & 1) ? 1 : -1)
 /* lifted from lament.c */
 #define RAND(n) ((long) ((random() & 0x7fffffff) % ((long) (n))))
 #define RANDSIGN() ((random() & 1) ? 1 : -1)
@@ -296,10 +277,27 @@ init_ball (ModeInfo *mi)
 
   bp = &bps[MI_SCREEN(mi)];
 
 
   bp = &bps[MI_SCREEN(mi)];
 
-  if ((bp->glx_context = init_GL(mi)) != NULL) {
-    gl_init(mi);
-    reshape_ball (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
-  }
+  bp->glx_context = init_GL(mi);
+
+  reshape_ball (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+
+  if (!wire)
+    {
+      GLfloat pos[4] = {1.0, 1.0, 1.0, 0.0};
+      GLfloat amb[4] = {0.0, 0.0, 0.0, 1.0};
+      GLfloat dif[4] = {1.0, 1.0, 1.0, 1.0};
+      GLfloat spc[4] = {0.0, 1.0, 1.0, 1.0};
+
+      glEnable(GL_LIGHTING);
+      glEnable(GL_LIGHT0);
+      glEnable(GL_DEPTH_TEST);
+      glEnable(GL_CULL_FACE);
+
+      glLightfv(GL_LIGHT0, GL_POSITION, pos);
+      glLightfv(GL_LIGHT0, GL_AMBIENT,  amb);
+      glLightfv(GL_LIGHT0, GL_DIFFUSE,  dif);
+      glLightfv(GL_LIGHT0, GL_SPECULAR, spc);
+    }
 
   bp->rotx = frand(1.0) * RANDSIGN();
   bp->roty = frand(1.0) * RANDSIGN();
 
   bp->rotx = frand(1.0) * RANDSIGN();
   bp->roty = frand(1.0) * RANDSIGN();
@@ -349,8 +347,16 @@ draw_ball (ModeInfo *mi)
   Window window = MI_WINDOW(mi);
   int c2;
 
   Window window = MI_WINDOW(mi);
   int c2;
 
-  static GLfloat color1[4] = {0.0, 0.0, 0.0, 1.0};
-  static GLfloat color2[4] = {0.0, 0.0, 0.0, 1.0};
+  /* #### I'm not getting specular reflections on the ball,
+          and I can't figure out why.
+   */
+
+  static GLfloat bcolor[4] = {0.0, 0.0, 0.0, 1.0};
+  static GLfloat scolor[4] = {0.0, 0.0, 0.0, 1.0};
+  static GLfloat bspec[4]  = {1.0, 1.0, 1.0, 1.0};
+  static GLfloat sspec[4]  = {0.0, 0.0, 0.0, 1.0};
+  static GLfloat bshiny    = 128.0;
+  static GLfloat sshiny    = 0.0;
 
   if (!bp->glx_context)
     return;
 
   if (!bp->glx_context)
     return;
@@ -403,14 +409,14 @@ draw_ball (ModeInfo *mi)
       }
   }
 
       }
   }
 
-  color1[0] = bp->colors[bp->ccolor].red   / 65536.0;
-  color1[1] = bp->colors[bp->ccolor].green / 65536.0;
-  color1[2] = bp->colors[bp->ccolor].blue  / 65536.0;
+  bcolor[0] = bp->colors[bp->ccolor].red   / 65536.0;
+  bcolor[1] = bp->colors[bp->ccolor].green / 65536.0;
+  bcolor[2] = bp->colors[bp->ccolor].blue  / 65536.0;
 
   c2 = (bp->ccolor + bp->color_shift) % bp->ncolors;
 
   c2 = (bp->ccolor + bp->color_shift) % bp->ncolors;
-  color2[0] = bp->colors[c2].red   / 65536.0;
-  color2[1] = bp->colors[c2].green / 65536.0;
-  color2[2] = bp->colors[c2].blue  / 65536.0;
+  scolor[0] = bp->colors[c2].red   / 65536.0;
+  scolor[1] = bp->colors[c2].green / 65536.0;
+  scolor[2] = bp->colors[c2].blue  / 65536.0;
 
   bp->ccolor++;
   if (bp->ccolor >= bp->ncolors) bp->ccolor = 0;
 
   bp->ccolor++;
   if (bp->ccolor >= bp->ncolors) bp->ccolor = 0;
@@ -419,10 +425,14 @@ draw_ball (ModeInfo *mi)
 
   move_spikes (mi);
 
 
   move_spikes (mi);
 
-  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, color1);
+  glMaterialfv (GL_FRONT, GL_SPECULAR,            bspec);
+  glMateriali  (GL_FRONT, GL_SHININESS,           bshiny);
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, bcolor);
   glCallList (bp->ball_list);
 
   glCallList (bp->ball_list);
 
-  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, color2);
+  glMaterialfv (GL_FRONT, GL_SPECULAR,            sspec);
+  glMaterialf  (GL_FRONT, GL_SHININESS,           sshiny);
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, scolor);
   draw_spikes (mi);
   glPopMatrix ();
 
   draw_spikes (mi);
   glPopMatrix ();
 
index 81cdeb918a8d22a0869b9f901159cf8d4bbb40d0..0f35ffb642371ab47dbd209c6be2dcf0c8822e83 100644 (file)
@@ -454,10 +454,20 @@ void Create_Texture(char *filename, int do_mipmap, int do_texture_quality)
   }
 
   if (do_mipmap) {
   }
 
   if (do_mipmap) {
-    gluBuild2DMipmaps(GL_TEXTURE_2D, format, width, height, 
-                     format, GL_UNSIGNED_BYTE, image);
-  }
-  else {
+    int status;
+    clear_gl_error();
+    status = gluBuild2DMipmaps(GL_TEXTURE_2D, format, width, height, 
+                               format, GL_UNSIGNED_BYTE, image);
+    if (status)
+      {
+        const char *s = gluErrorString (status);
+        fprintf (stderr, "%s: error mipmapping %dx%d texture: %s\n",
+                 progname, width, height,
+                 (s ? s : "(unknown)"));
+        exit (1);
+      }
+    check_gl_error("mipmapping");
+  } else {
     clear_gl_error();
     glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0,
                 format, GL_UNSIGNED_BYTE, image);
     clear_gl_error();
     glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0,
                 format, GL_UNSIGNED_BYTE, image);
index 2134fbcfae256ebaba876c623352c86aa27aa864..8ccc710e2880befed674fa7da1d87638f0c1bbc6 100644 (file)
@@ -389,6 +389,12 @@ void getSnapshot (ModeInfo *modeinfo)
  status = gluBuild2DMipmaps(GL_TEXTURE_2D, 3,
                             ximage->width, ximage->height,
                             GL_RGBA, GL_UNSIGNED_BYTE, ximage->data);
  status = gluBuild2DMipmaps(GL_TEXTURE_2D, 3,
                             ximage->width, ximage->height,
                             GL_RGBA, GL_UNSIGNED_BYTE, ximage->data);
+
+ if (!status && glGetError())
+   /* Some implementations of gluBuild2DMipmaps(), but set a GL error anyway.
+      We could just call check_gl_error(), but that would exit. */
+   status = -1;
+
  if (status)
    {
      const char *s = gluErrorString (status);
  if (status)
    {
      const char *s = gluErrorString (status);
index 16ee1b0827fb7b852eaf8ab6a60c1f0ef1a7cba4..7da5123b7da09eea6d468fc643d875174bb1558c 100644 (file)
@@ -32,7 +32,6 @@ extern void check_gl_error (const char *type);
 static int fps_text_x = 10;
 static int fps_text_y = 10;
 static int fps_ascent, fps_descent;
 static int fps_text_x = 10;
 static int fps_text_y = 10;
 static int fps_ascent, fps_descent;
-static int fps_sample_frames = 10;
 static GLuint font_dlist;
 static Bool fps_clear_p = False;
 
 static GLuint font_dlist;
 static Bool fps_clear_p = False;
 
@@ -72,13 +71,12 @@ fps_init (ModeInfo *mi)
 static void
 fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
 {
 static void
 fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
 {
-  /* save the current state */
-  /* note: could be expensive! */
-
   if (y < 0)
     y = mi->xgwa.height + y;
 
   if (y < 0)
     y = mi->xgwa.height + y;
 
+# ifdef DEBUG
   clear_gl_error ();
   clear_gl_error ();
+# endif
 
   /* Sadly, this causes a stall of the graphics pipeline (as would the
      equivalent calls to glGet*.)  But there's no way around this, short
 
   /* Sadly, this causes a stall of the graphics pipeline (as would the
      equivalent calls to glGet*.)  But there's no way around this, short
@@ -133,7 +131,7 @@ fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
         if (fps_clear_p)
           {
             glColor3f (0, 0, 0);
         if (fps_clear_p)
           {
             glColor3f (0, 0, 0);
-            glRecti (x, y - fps_descent,
+            glRecti (x / 2, y - fps_descent,
                      mi->xgwa.width - x,
                      y + fps_ascent + fps_descent);
           }
                      mi->xgwa.width - x,
                      y + fps_ascent + fps_descent);
           }
@@ -165,23 +163,26 @@ fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
 void
 do_fps (ModeInfo *mi)
 {
 void
 do_fps (ModeInfo *mi)
 {
-  /* every N frames, get the time and use it to get the frames per second */
-  static int frame_counter = -1;
-  static double oldtime = 0; /* time in usecs, as a double */
-  static double newtime = 0;
-
+  static Bool initted_p = False;
+  static int last_ifps = 0;
+  static int frame_count = 0;
+  static struct timeval prev = { 0, };
+  static struct timeval now  = { 0, };
   static char msg [1024] = { 0, };
 
   static char msg [1024] = { 0, };
 
-  if (frame_counter == -1)
+  if (!initted_p)
     {
     {
+      initted_p = True;
       fps_init (mi);
       fps_init (mi);
-      frame_counter = fps_sample_frames;
+      strcpy (msg, "FPS: (accumulating...)");
     }
 
     }
 
-  if (frame_counter++ == fps_sample_frames)
+  /* Every N frames (where N is approximately one second's worth of frames)
+     check the wall clock.  We do this because checking the wall clock is
+     a slow operation.
+   */
+  if (frame_count++ >= last_ifps)
     {
     {
-      double fps;
-      struct timeval now;
 # ifdef GETTIMEOFDAY_TWO_ARGS
       struct timezone tzp;
       gettimeofday(&now, &tzp);
 # ifdef GETTIMEOFDAY_TWO_ARGS
       struct timezone tzp;
       gettimeofday(&now, &tzp);
@@ -189,34 +190,38 @@ do_fps (ModeInfo *mi)
       gettimeofday(&now);
 # endif
 
       gettimeofday(&now);
 # endif
 
-      oldtime = newtime;
-      newtime = now.tv_sec + ((double) now.tv_usec * 0.000001);
+      if (prev.tv_sec == 0)
+        prev = now;
+    }
+
+  /* If we've probed the wall-clock time, regenerate the string.
+   */
+  if (now.tv_sec != prev.tv_sec)
+    {
+      double uprev = prev.tv_sec + ((double) prev.tv_usec * 0.000001);
+      double unow  =  now.tv_sec + ((double)  now.tv_usec * 0.000001);
+      double fps   = frame_count / (unow - uprev);
 
 
-      fps = fps_sample_frames / (newtime - oldtime);
+      prev = now;
+      frame_count = 0;
+      last_ifps = fps;
 
 
-      if (fps < 0.0001)
-        {
-          strcpy(msg, "FPS: (accumulating...)");
-        }
-      else
+      sprintf (msg, "FPS: %.02f", fps);
+
+      if (mi->pause != 0)
         {
         {
-          sprintf(msg, "FPS: %.02f", fps);
-
-          if (mi->pause != 0)
-            {
-              char buf[40];
-              sprintf(buf, "%f", mi->pause / 1000000.0); /* FTSO C */
-              while(*buf && buf[strlen(buf)-1] == '0')
-                buf[strlen(buf)-1] = 0;
-              if (buf[strlen(buf)-1] == '.')
-                buf[strlen(buf)-1] = 0;
-              sprintf(msg + strlen(msg), " (including %s sec/frame delay)",
-                      buf);
-            }
+          char buf[40];
+          sprintf(buf, "%f", mi->pause / 1000000.0); /* FTSO C */
+          while(*buf && buf[strlen(buf)-1] == '0')
+            buf[strlen(buf)-1] = 0;
+          if (buf[strlen(buf)-1] == '.')
+            buf[strlen(buf)-1] = 0;
+          sprintf(msg + strlen(msg), " (including %s sec/frame delay)",
+                  buf);
         }
         }
-
-      frame_counter = 0;
     }
 
     }
 
+  /* Print the string every frame (or else nothing will show up.)
+   */
   fps_print_string (mi, fps_text_x, fps_text_y, msg);
 }
   fps_print_string (mi, fps_text_x, fps_text_y, msg);
 }
index 0685386f3710d20f72520485f04cac0082178da5..20632b9a56b0b792aba4f530c4213512d49029f4 100644 (file)
@@ -52,7 +52,7 @@
                                        "*showFPS:                      False   \n" \
                     "*rotate:           True    \n" \
                     "*roll:             True    \n" \
                                        "*showFPS:                      False   \n" \
                     "*rotate:           True    \n" \
                     "*roll:             True    \n" \
-                    "*bounce:           True    \n" \
+                    "*wander:           True    \n" \
                                        "*wireframe:            False   \n"     \
                                        "*light:                        True    \n"     \
                                        "*texture:                      True    \n" \
                                        "*wireframe:            False   \n"     \
                                        "*light:                        True    \n"     \
                                        "*texture:                      True    \n" \
@@ -83,9 +83,9 @@
 
 #define DEF_ROTATE  "True"
 #define DEF_ROLL    "True"
 
 #define DEF_ROTATE  "True"
 #define DEF_ROLL    "True"
-#define DEF_BOUNCE  "True"
+#define DEF_WANDER  "True"
 #define DEF_TEXTURE "True"
 #define DEF_TEXTURE "True"
-#define DEF_STARS "True"
+#define DEF_STARS   "True"
 #define DEF_LIGHT   "True"
 #define DEF_IMAGE   "BUILTIN"
 
 #define DEF_LIGHT   "True"
 #define DEF_IMAGE   "BUILTIN"
 
@@ -94,7 +94,7 @@
 
 static int do_rotate;
 static int do_roll;
 
 static int do_rotate;
 static int do_roll;
-static int do_bounce;
+static int do_wander;
 static int do_texture;
 static int do_stars;
 static int do_light;
 static int do_texture;
 static int do_stars;
 static int do_light;
@@ -104,8 +104,8 @@ static XrmOptionDescRec opts[] = {
   {"+rotate",  ".glplanet.rotate",  XrmoptionNoArg, (caddr_t) "false" },
   {"-roll",    ".glplanet.roll",    XrmoptionNoArg, (caddr_t) "true" },
   {"+roll",    ".glplanet.roll",    XrmoptionNoArg, (caddr_t) "false" },
   {"+rotate",  ".glplanet.rotate",  XrmoptionNoArg, (caddr_t) "false" },
   {"-roll",    ".glplanet.roll",    XrmoptionNoArg, (caddr_t) "true" },
   {"+roll",    ".glplanet.roll",    XrmoptionNoArg, (caddr_t) "false" },
-  {"-bounce",  ".glplanet.bounce",  XrmoptionNoArg, (caddr_t) "true" },
-  {"+bounce",  ".glplanet.bounce",  XrmoptionNoArg, (caddr_t) "false" },
+  {"-wander",  ".glplanet.wander",  XrmoptionNoArg, (caddr_t) "true" },
+  {"+wander",  ".glplanet.wander",  XrmoptionNoArg, (caddr_t) "false" },
   {"-texture", ".glplanet.texture", XrmoptionNoArg, (caddr_t) "true" },
   {"+texture", ".glplanet.texture", XrmoptionNoArg, (caddr_t) "false" },
   {"-stars",   ".glplanet.stars",   XrmoptionNoArg, (caddr_t) "true" },
   {"-texture", ".glplanet.texture", XrmoptionNoArg, (caddr_t) "true" },
   {"+texture", ".glplanet.texture", XrmoptionNoArg, (caddr_t) "false" },
   {"-stars",   ".glplanet.stars",   XrmoptionNoArg, (caddr_t) "true" },
@@ -118,7 +118,7 @@ static XrmOptionDescRec opts[] = {
 static argtype vars[] = {
   {(caddr_t *) &do_rotate,   "rotate",  "Rotate",  DEF_ROTATE,  t_Bool},
   {(caddr_t *) &do_roll,     "roll",    "Roll",    DEF_ROLL,    t_Bool},
 static argtype vars[] = {
   {(caddr_t *) &do_rotate,   "rotate",  "Rotate",  DEF_ROTATE,  t_Bool},
   {(caddr_t *) &do_roll,     "roll",    "Roll",    DEF_ROLL,    t_Bool},
-  {(caddr_t *) &do_bounce,   "bounce",  "Bounce",  DEF_BOUNCE,  t_Bool},
+  {(caddr_t *) &do_wander,   "wander",  "Wander",  DEF_WANDER,  t_Bool},
   {(caddr_t *) &do_texture,  "texture", "Texture", DEF_TEXTURE, t_Bool},
   {(caddr_t *) &do_stars,  "stars", "Stars", DEF_STARS, t_Bool},
   {(caddr_t *) &do_light,    "light",   "Light",   DEF_LIGHT,   t_Bool},
   {(caddr_t *) &do_texture,  "texture", "Texture", DEF_TEXTURE, t_Bool},
   {(caddr_t *) &do_stars,  "stars", "Stars", DEF_STARS, t_Bool},
   {(caddr_t *) &do_light,    "light",   "Light",   DEF_LIGHT,   t_Bool},
@@ -135,7 +135,7 @@ ModStruct   planet_description =
  "Animates texture mapped sphere (planet)", 0, NULL};
 #endif
 
  "Animates texture mapped sphere (planet)", 0, NULL};
 #endif
 
-#include "../images/earth.xbm"
+#include "../images/earth.xpm"
 #include "xpm-ximage.h"
 
 
 #include "xpm-ximage.h"
 
 
@@ -173,6 +173,8 @@ typedef struct {
   GLfloat dx, dy, dz;
   GLfloat box_width, box_height, box_depth;
 
   GLfloat dx, dy, dz;
   GLfloat box_width, box_height, box_depth;
 
+  GLfloat sunpos[4];
+
 } planetstruct;
 
 
 } planetstruct;
 
 
@@ -182,49 +184,32 @@ static planetstruct *planets = NULL;
 static inline void
 normalize(GLfloat v[3])
 {
 static inline void
 normalize(GLfloat v[3])
 {
-       GLfloat     d = (GLfloat) sqrt((double) (v[0] * v[0] + v[1] * v[1] + v[2] * v[2]));
-
-       if (d != 0) {
-               v[0] /= d;
-               v[1] /= d;
-               v[2] /= d;
-       } else {
-               v[0] = v[1] = v[2] = 0;
+  GLfloat d = (GLfloat) sqrt((double) (v[0] * v[0] +
+                                       v[1] * v[1] +
+                                       v[2] * v[2]));
+  if (d != 0)
+    {
+      v[0] /= d;
+      v[1] /= d;
+      v[2] /= d;
+       }
+  else
+    {
+      v[0] = v[1] = v[2] = 0;
        }
 }
 
 
 /* Set up and enable texturing on our object */
 static void
        }
 }
 
 
 /* Set up and enable texturing on our object */
 static void
-setup_xbm_texture (char *bits, int width, int height,
-                                  XColor *fgc, XColor *bgc)
+setup_xpm_texture (ModeInfo *mi, char **xpm_data)
 {
 {
-  unsigned int fg = (((fgc->red  >> 8) << 16) |
-                                        ((fgc->green >> 8) << 8) |
-                                        ((fgc->blue >> 8)));
-  unsigned int bg = (((bgc->red  >> 8) << 16) |
-                                        ((bgc->green >> 8) << 8) |
-                                        ((bgc->blue >> 8)));
-
-  unsigned char *data = (unsigned char *)
-       malloc ((width * height * 24) / 8);
-  unsigned char *out = data;
-  int x, y;
-
-  for (y = 0; y < height; y++)
-       for (x = 0; x < width; x++)
-         {
-               unsigned char byte = bits [(y * (width / 8) + (x / 8))];
-               unsigned char bit = (byte & (1 << (x % 8))) >> (x % 8);
-               unsigned int word = (bit ? bg : fg);
-               *out++ = (word & 0xFF0000) >> 16;
-               *out++ = (word & 0x00FF00) >> 8;
-               *out++ = (word & 0x0000FF);
-         }
-
+  XImage *image = xpm_to_ximage (MI_DISPLAY (mi), MI_VISUAL (mi),
+                                  MI_COLORMAP (mi), xpm_data);
   clear_gl_error();
   clear_gl_error();
-  glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0,
-                          GL_RGB, GL_UNSIGNED_BYTE, data);
+  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
+               image->width, image->height, 0,
+               GL_RGBA, GL_UNSIGNED_BYTE, image->data);
   check_gl_error("texture");
 
   /* setup parameters for texturing */
   check_gl_error("texture");
 
   /* setup parameters for texturing */
@@ -267,92 +252,47 @@ setup_file_texture (ModeInfo *mi, char *filename)
 static void
 setup_texture(ModeInfo * mi)
 {
 static void
 setup_texture(ModeInfo * mi)
 {
-  planetstruct *gp = &planets[MI_SCREEN(mi)];
+/*  planetstruct *gp = &planets[MI_SCREEN(mi)];*/
+
+  glEnable(GL_TEXTURE_2D);
+
   if (!which_image ||
          !*which_image ||
          !strcmp(which_image, "BUILTIN"))
   if (!which_image ||
          !*which_image ||
          !strcmp(which_image, "BUILTIN"))
-       setup_xbm_texture (earth_bits, earth_width, earth_height,
-                                          &gp->fg, &gp->bg);
+       setup_xpm_texture (mi, earth_xpm);
   else
        setup_file_texture (mi, which_image);
   else
        setup_file_texture (mi, which_image);
-}
-
-
-/* Set up and enable lighting */
-static void
-setup_light(void)
-{
-  /* set a number of parameters which make the scene look much nicer */
-  glEnable(GL_BLEND);
-  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-  glShadeModel(GL_SMOOTH);
-}
 
 
-
-/* Set up and enable face culling so we don't see the inside of the sphere */
-static void
-setup_face(void)
-{
-  glEnable(GL_CULL_FACE);
-  glCullFace(GL_BACK); 
+  check_gl_error("texture initialization");
 }
 
 
 }
 
 
-#if 0
-/* Function for determining points on the surface of the sphere */
-static void inline ParametricSphere(float theta, float rho, GLfloat *vector)
-{
-  vector[0] = -sin(theta) * sin(rho);
-  vector[1] = cos(theta) * sin(rho);
-  vector[2] = cos(rho);
-
-#if DO_HELIX
-  vector[0] = -(1- cos(theta)) * cos(rho); 
-  vector[1] = -(1- cos(theta)) * sin(rho); 
-  vector[2] = -(sin(theta) + rho); 
-#endif /* DO_HELIX */
-
-       return;
-}
-#endif
-
-
-/* lame way to generate some random stars */
-void generate_stars(int width, int height)
+void
+init_stars (ModeInfo *mi)
 {
   int i, j;
 {
   int i, j;
-  int max_size = 3;
+  GLfloat max_size = 3;
   GLfloat inc = 0.5;
   int steps = max_size / inc;
   GLfloat inc = 0.5;
   int steps = max_size / inc;
+  int width  = MI_WIDTH(mi);
+  int height = MI_HEIGHT(mi);
 
   planetstruct *gp = &planets[MI_SCREEN(mi)];
 
   planetstruct *gp = &planets[MI_SCREEN(mi)];
+  Bool wire = MI_IS_WIREFRAME(mi);
   
   
+  if (!wire)
+    glEnable (GL_POINT_SMOOTH);
+
   gp->starlist = glGenLists(1);
   glNewList(gp->starlist, GL_COMPILE);
 
   gp->starlist = glGenLists(1);
   glNewList(gp->starlist, GL_COMPILE);
 
-  /* this hackery makes the viewport map one-to-one with Vertex arguments */
-  glMatrixMode(GL_PROJECTION);
-  glPushMatrix();
-  glMatrixMode(GL_PROJECTION);
-  glLoadIdentity();
-  gluOrtho2D(0, width, 0, height);
-  glMatrixMode(GL_MODELVIEW);
-  glLoadIdentity();
-
-  /* disable depth testing for the stars, so they don't obscure the planet */
-  glDisable(GL_DEPTH_TEST);
-  glEnable(GL_BLEND);
-  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-  
-  glColor3f(1,1,1);
-
-  glEnable(GL_POINT_SMOOTH);
+  glScalef (1.0/width, 1.0/height, 1);
 
   for (j = 1; j <= steps; j++)
     {
       glPointSize(inc * j);
       glBegin(GL_POINTS);
 
   for (j = 1; j <= steps; j++)
     {
       glPointSize(inc * j);
       glBegin(GL_POINTS);
-      for(i = 0 ; i < NUM_STARS / steps; i++)
+      for (i = 0 ; i < NUM_STARS / steps; i++)
         {
           glColor3f (0.6 + frand(0.3),
                      0.6 + frand(0.3),
         {
           glColor3f (0.6 + frand(0.3),
                      0.6 + frand(0.3),
@@ -362,88 +302,117 @@ void generate_stars(int width, int height)
         }
       glEnd();
     }
         }
       glEnd();
     }
-
-  /* return to original PROJECT and MODELVIEW */
-  glMatrixMode(GL_PROJECTION);
-  glPopMatrix();
-  glMatrixMode(GL_MODELVIEW);
-
-
   glEndList();
 
   glEndList();
 
-}
-
-/* Set up lighting */
-static void
-init_sun (ModeInfo * mi)
-{
-  GLfloat light[4];
-  light[0] = frand(2.0) - 1.0;
-  light[1] = frand(2.0) - 1.0;
-  light[2] = 1.0;
-  light[3] = 0;
-
-  glLightfv(GL_LIGHT0, GL_POSITION, light);
+  check_gl_error("stars initialization");
 }
 
 
 }
 
 
-/* Initialization function for screen saver */
-static void
-pinit(ModeInfo * mi)
+void
+draw_stars (ModeInfo * mi)
 {
 {
-  Bool wire = MI_IS_WIREFRAME(mi);
+  int width  = MI_WIDTH(mi);
+  int height = MI_HEIGHT(mi);
+
   planetstruct *gp = &planets[MI_SCREEN(mi)];
   planetstruct *gp = &planets[MI_SCREEN(mi)];
+  
+  /* Sadly, this causes a stall of the graphics pipeline (as would the
+     equivalent calls to glGet*.)  But there's no way around this, short
+     of having each caller set up the specific display matrix we need
+     here, which would kind of defeat the purpose of centralizing this
+     code in one file.
+   */
+  glPushAttrib(GL_TRANSFORM_BIT |  /* for matrix contents */
+               GL_ENABLE_BIT |     /* for various glDisable calls */
+               GL_CURRENT_BIT |    /* for glColor3f() */
+               GL_LIST_BIT);       /* for glListBase() */
+  {
+    check_gl_error ("glPushAttrib");
+
+    /* disable lighting and texturing when drawing stars!
+       (glPopAttrib() restores these.)
+     */
+    glDisable(GL_TEXTURE_2D);
+    glDisable(GL_LIGHTING);
+    glDisable(GL_DEPTH_TEST);
+
+    /* glPopAttrib() does not restore matrix changes, so we must
+       push/pop the matrix stacks to be non-intrusive there.
+     */
+    glMatrixMode(GL_PROJECTION);
+    glPushMatrix();
+    {
+      check_gl_error ("glPushMatrix");
+      glLoadIdentity();
 
 
-  if (wire) {
-       glEnable(GL_LINE_SMOOTH);
-       do_texture = False;
-  }
+      /* Each matrix mode has its own stack, so we need to push/pop
+         them separately. */
+      glMatrixMode(GL_MODELVIEW);
+      glPushMatrix();
+      {
+        check_gl_error ("glPushMatrix");
+        glLoadIdentity();
 
 
-  /* turn on various options we like */
-  if (do_texture)
-       setup_texture(mi);
-  if (do_light)
-       setup_light();
+        gluOrtho2D (0, width, 0, height);
+        check_gl_error ("gluOrtho2D");
 
 
-  setup_face();
+        /* Draw the stars */
+        glScalef (width, height, 1);
+        glCallList(gp->starlist);
+        check_gl_error ("drawing stars");
+      }
+      glPopMatrix();
+    }
+    glMatrixMode(GL_PROJECTION);
+    glPopMatrix();
 
 
-  if (do_stars) {
-       glEnable(GL_POINT_SMOOTH);
-       generate_stars(MI_WIDTH(mi), MI_HEIGHT(mi));
   }
   }
+  /* clean up after our state changes */
+  glPopAttrib();
+  check_gl_error ("glPopAttrib");
+}
 
 
-  gp->platelist=glGenLists(1);
-  glNewList(gp->platelist, GL_COMPILE);
-  glPushMatrix ();
-  glScalef (RADIUS, RADIUS, RADIUS);
-  unit_sphere (STACKS, SLICES, wire);
-  glPopMatrix ();
-  glEndList();
 
 
-  init_sun (mi);
-}
 
 
+/* Set up lighting */
 static void
 static void
-draw_sphere(ModeInfo * mi)
+init_sun (ModeInfo * mi)
 {
   planetstruct *gp = &planets[MI_SCREEN(mi)];
 
 {
   planetstruct *gp = &planets[MI_SCREEN(mi)];
 
-  glEnable(GL_DEPTH_TEST);
+  GLfloat lamb[4] = { 0.0, 0.0, 0.0, 1.0 };
+  GLfloat ldif[4] = { 1.0, 1.0, 1.0, 1.0 };
+  GLfloat spec[4] = { 1.0, 1.0, 1.0, 1.0 };
 
 
-  /* turn on the various attributes for making the sphere look nice */
-  if (do_texture)
-       glEnable(GL_TEXTURE_2D);
+  GLfloat mamb[4] = { 0.5, 0.5, 0.5, 1.0 };
+  GLfloat mdif[4] = { 1.0, 1.0, 1.0, 1.0 };
+  GLfloat mpec[4] = { 1.0, 1.0, 1.0, 1.0 };
+  GLfloat shiny = .4;
 
 
-  if (do_light)
-       {
-         glEnable(GL_LIGHTING);
-         glEnable(GL_LIGHT0);
-         glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
-         glEnable(GL_COLOR_MATERIAL);
-       }
+  gp->sunpos[0] =  1.00 - frand(2.00);
+  gp->sunpos[1] =  0.25 - frand(0.50);
+  gp->sunpos[2] = -1.00;
+  gp->sunpos[3] =  0.00;
+
+  glEnable(GL_LIGHTING);
+  glEnable(GL_LIGHT0);
+
+  glLightfv (GL_LIGHT0, GL_POSITION, gp->sunpos);
+  glLightfv (GL_LIGHT0, GL_AMBIENT,  lamb);
+  glLightfv (GL_LIGHT0, GL_DIFFUSE,  ldif);
+  glLightfv (GL_LIGHT0, GL_SPECULAR, spec);
+
+  glMaterialfv (GL_FRONT, GL_AMBIENT,  mamb);
+  glMaterialfv (GL_FRONT, GL_DIFFUSE,  mdif);
+  glMaterialfv (GL_FRONT, GL_SPECULAR, mpec);
+  glMaterialf  (GL_FRONT, GL_SHININESS, shiny);
 
 
-  glCallList(gp->platelist);
 
 
+  glEnable(GL_BLEND);
+  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+  glShadeModel(GL_SMOOTH);
+
+  check_gl_error("lighting");
 }
 
 
 }
 
 
@@ -495,7 +464,7 @@ rotate_and_move (ModeInfo * mi)
          while (gp->tz > 360) gp->tz -= 360;
        }
 
          while (gp->tz > 360) gp->tz -= 360;
        }
 
-  if (do_bounce)
+  if (do_wander)
        {
       static int frame = 0;
 #     define SINOID(SCALE,SIZE) \
        {
       static int frame = 0;
 #     define SINOID(SCALE,SIZE) \
@@ -508,9 +477,8 @@ rotate_and_move (ModeInfo * mi)
 }
 
 
 }
 
 
-/* Standard reshape function */
 void
 void
-reshape_planet(ModeInfo *mi, int width, int height)
+reshape_planet (ModeInfo *mi, int width, int height)
 {
   GLfloat h = (GLfloat) height / (GLfloat) width;
 
 {
   GLfloat h = (GLfloat) height / (GLfloat) width;
 
@@ -520,17 +488,18 @@ reshape_planet(ModeInfo *mi, int width, int height)
   glFrustum(-1.0, 1.0, -h, h, 5.0, 100.0);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
   glFrustum(-1.0, 1.0, -h, h, 5.0, 100.0);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   glTranslatef(0.0, 0.0, -DIST);
   glTranslatef(0.0, 0.0, -DIST);
+
+  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 }
 
 
 void
 }
 
 
 void
-init_planet(ModeInfo * mi)
+init_planet (ModeInfo * mi)
 {
 {
-  int         screen = MI_SCREEN(mi);
-
   planetstruct *gp;
   planetstruct *gp;
+  int screen = MI_SCREEN(mi);
+  Bool wire = MI_IS_WIREFRAME(mi);
 
   if (planets == NULL) {
        if ((planets = (planetstruct *) calloc(MI_NUM_SCREENS(mi),
 
   if (planets == NULL) {
        if ((planets = (planetstruct *) calloc(MI_NUM_SCREENS(mi),
@@ -541,6 +510,10 @@ init_planet(ModeInfo * mi)
 
   pick_velocity (mi);
 
 
   pick_velocity (mi);
 
+  if ((gp->glx_context = init_GL(mi)) != NULL) {
+       reshape_planet(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+  }
+
   {
        char *f = get_string_resource("imageForeground", "Foreground");
        char *b = get_string_resource("imageBackground", "Background");
   {
        char *f = get_string_resource("imageForeground", "Foreground");
        char *b = get_string_resource("imageBackground", "Background");
@@ -570,18 +543,38 @@ init_planet(ModeInfo * mi)
        free (b);
   }
 
        free (b);
   }
 
+  if (wire)
+    {
+      do_texture = False;
+      do_light = False;
+      glEnable (GL_LINE_SMOOTH);
+    }
 
 
-  gp->window = MI_WINDOW(mi);
-  if ((gp->glx_context = init_GL(mi)) != NULL) {
-       reshape_planet(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
-       pinit(mi);
-  } else {
-       MI_CLEARWINDOW(mi);
-  }
+  if (do_texture)
+    setup_texture (mi);
+
+  if (do_light)
+       init_sun (mi);
+
+  if (do_stars)
+    init_stars (mi);
+
+  glEnable(GL_DEPTH_TEST);
+  glEnable(GL_CULL_FACE);
+  glCullFace(GL_BACK); 
+
+  gp->platelist = glGenLists(1);
+  glNewList (gp->platelist, GL_COMPILE);
+  glColor3f (1,1,1);
+  glPushMatrix ();
+  glScalef (RADIUS, RADIUS, RADIUS);
+  unit_sphere (STACKS, SLICES, wire);
+  glPopMatrix ();
+  glEndList();
 }
 
 void
 }
 
 void
-draw_planet(ModeInfo * mi)
+draw_planet (ModeInfo * mi)
 {
   planetstruct *gp = &planets[MI_SCREEN(mi)];
   Display    *display = MI_DISPLAY(mi);
 {
   planetstruct *gp = &planets[MI_SCREEN(mi)];
   Display    *display = MI_DISPLAY(mi);
@@ -593,35 +586,23 @@ draw_planet(ModeInfo * mi)
   glDrawBuffer(GL_BACK);
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
   glDrawBuffer(GL_BACK);
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
-  glXMakeCurrent(display, window, *(gp->glx_context));
-
+  glXMakeCurrent (display, window, *(gp->glx_context));
 
 
-  if (do_stars) {
-       /* protect our modelview matrix and attributes */
-       glPushMatrix();
-    glCallList(gp->starlist);
-       glPopMatrix();
-  }
+  if (do_stars)
+    draw_stars (mi);
 
 
-  /* protect our modelview matrix and attributes */
   glPushMatrix();
   glPushMatrix();
-  glPushAttrib(GL_ALL_ATTRIB_BITS);
-  {
-       /* this pair of rotations seem to be necessary to orient the earth correctly */
-       glRotatef(90,0,0,1);
-       glRotatef(90,0,1,0);
-
-       glTranslatef(gp->xpos, gp->ypos, gp->zpos);
-       glRotatef(gp->tx, 1, 0, 0);
-       glRotatef(gp->ty, 0, 1, 0);
-       glRotatef(gp->tz, 0, 0, 1);
-       /* draw the sphere */
-       draw_sphere(mi);
-  }
-  glPopMatrix();
-  glPopAttrib();
+  glRotatef (90,1,0,0);
+  glTranslatef (gp->xpos, gp->ypos, gp->zpos);
+
+  glRotatef (gp->tx, 1, 0, 0);
+  glRotatef (gp->ty, 0, 1, 0);
+  glRotatef (gp->tz, 0, 0, 1);
 
 
+  glLightfv (GL_LIGHT0, GL_POSITION, gp->sunpos);
 
 
+  glCallList (gp->platelist);
+  glPopMatrix();
 
   if (mi->fps_p) do_fps (mi);
   glFinish();
 
   if (mi->fps_p) do_fps (mi);
   glFinish();
@@ -630,11 +611,12 @@ draw_planet(ModeInfo * mi)
   rotate_and_move (mi);
 }
 
   rotate_and_move (mi);
 }
 
+
 void
 void
-release_planet(ModeInfo * mi)
+release_planet (ModeInfo * mi)
 {
   if (planets != NULL) {
 {
   if (planets != NULL) {
-       int         screen;
+       int screen;
 
        for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
          planetstruct *gp = &planets[screen];
 
        for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
          planetstruct *gp = &planets[screen];
index d54082b15481b474cc336fec6705edf308ab3e28..66c125551948e771a6bce7891ecc6e44d5eab0ef 100644 (file)
@@ -53,7 +53,7 @@ extern XtAppContext app;
                        "*zspin:      " DEF_ZSPIN "   \n" \
                        "*scarycolour:" DEF_SCARYCOLOUR " \n" \
                        "*labels:     " DEF_LABELS "  \n" \
                        "*zspin:      " DEF_ZSPIN "   \n" \
                        "*scarycolour:" DEF_SCARYCOLOUR " \n" \
                        "*labels:     " DEF_LABELS "  \n" \
-                       "*labelfont:  -*-helvetica-medium-r-*-*-*-120-*\n" \
+                       "*labelfont:  -*-times-bold-r-normal-*-180-*\n" \
 
 
 
 
 
 
@@ -65,7 +65,7 @@ extern XtAppContext app;
 #ifdef USE_GL /* whole file */
 
 #include <GL/glu.h>
 #ifdef USE_GL /* whole file */
 
 #include <GL/glu.h>
-#include <sys/timeb.h>
+#include <sys/time.h>
 #include <string.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
 #include <stdio.h>
@@ -98,8 +98,8 @@ typedef struct {
        int is_legal;
        int last_turn;
        int selected;
        int is_legal;
        int last_turn;
        int selected;
-       struct timeb last_iteration;
-       struct timeb last_morph;
+       struct timeval last_iteration;
+       struct timeval last_morph;
        int morphing;
        nodeang_t node[24];
        GLfloat roty;
        int morphing;
        nodeang_t node[24];
        GLfloat roty;
@@ -693,8 +693,17 @@ void glsnake_init(ModeInfo *mi) {
        bp->dragging = 0;
        bp->interactive = 0;
 
        bp->dragging = 0;
        bp->interactive = 0;
 
-       ftime(&(bp->last_iteration));
-       memcpy(&(bp->last_morph), &(bp->last_iteration), sizeof(struct timeb));
+        {
+# ifdef GETTIMEOFDAY_TWO_ARGS
+          struct timezone tzp;
+          gettimeofday(&bp->last_iteration, &tzp);
+# else
+          gettimeofday(&bp->last_iteration);
+# endif
+        }
+
+       memcpy(&bp->last_morph, &(bp->last_iteration),
+               sizeof(bp->last_morph));
        /* srand((unsigned int) bp->last_iteration.time); */
 
        /* load the model files */
        /* srand((unsigned int) bp->last_iteration.time); */
 
        /* load the model files */
@@ -871,7 +880,7 @@ void glsnake_idol(glsnake_configuration * bp) {
        long morf_msec;
        float iter_angle_max;
        int i;
        long morf_msec;
        float iter_angle_max;
        int i;
-       struct timeb current_time;
+       struct timeval current_time;
        int still_morphing;
 
        /* Do nothing to the model if we are paused */
        int still_morphing;
 
        /* Do nothing to the model if we are paused */
@@ -880,8 +889,15 @@ void glsnake_idol(glsnake_configuration * bp) {
                usleep(1);
                return;
        }
                usleep(1);
                return;
        }
-       /* ftime is winDOS compatible */
-       ftime(&current_time);
+
+        {
+# ifdef GETTIMEOFDAY_TWO_ARGS
+          struct timezone tzp;
+          gettimeofday(&current_time, &tzp);
+# else
+          gettimeofday(&current_time);
+# endif
+        }
 
        /* <spiv> Well, ftime gives time with millisecond resolution.
         * <Jaq> if current time is exactly equal to last iteration, 
 
        /* <spiv> Well, ftime gives time with millisecond resolution.
         * <Jaq> if current time is exactly equal to last iteration, 
@@ -892,18 +908,20 @@ void glsnake_idol(glsnake_configuration * bp) {
         *             it would be the same
         * <spiv>   b) The code will divide by zero
         */
         *             it would be the same
         * <spiv>   b) The code will divide by zero
         */
-       iter_msec = (long) current_time.millitm - bp->last_iteration.millitm + 
-                   ((long) current_time.time - bp->last_iteration.time) * 1000L;
+       iter_msec = ((long) current_time.tv_usec - bp->last_iteration.tv_usec)/1000L + 
+                   ((long) current_time.tv_sec - bp->last_iteration.tv_sec) * 1000L;
        if (iter_msec) {
                /* save the current time */
        if (iter_msec) {
                /* save the current time */
-               memcpy(&(bp->last_iteration), &current_time, sizeof(struct timeb));
+               memcpy(&bp->last_iteration, &current_time,
+                       sizeof(bp->last_iteration));
                
                /* work out if we have to switch models */
                
                /* work out if we have to switch models */
-               morf_msec = bp->last_iteration.millitm - bp->last_morph.millitm +
-                       ((long) (bp->last_iteration.time - bp->last_morph.time) * 1000L);
+               morf_msec = (bp->last_iteration.tv_usec - bp->last_morph.tv_usec)/1000L +
+                       ((long) (bp->last_iteration.tv_sec - bp->last_morph.tv_sec) * 1000L);
 
                if ((morf_msec > statictime) && !bp->interactive) {
 
                if ((morf_msec > statictime) && !bp->interactive) {
-                       memcpy(&(bp->last_morph), &(bp->last_iteration), sizeof(struct timeb));
+                       memcpy(&bp->last_morph, &(bp->last_iteration),
+                               sizeof(bp->last_morph));
                        start_morph(RAND(bp->m_count), 0, bp);
                }
 
                        start_morph(RAND(bp->m_count), 0, bp);
                }
 
index 96ddaccd5e3c610e60f95e27c1c931b204462fc8..e1364c44c0db7d83942e0796986e42ceac040a8c 100644 (file)
@@ -1,4 +1,4 @@
-/* menger, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+/* menger, Copyright (c) 2001, 2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -189,25 +189,6 @@ reshape_sponge (ModeInfo *mi, int width, int height)
 }
 
 
 }
 
 
-static void
-gl_init (ModeInfo *mi)
-{
-/*  sponge_configuration *sp = &sps[MI_SCREEN(mi)]; */
-  int wire = MI_IS_WIREFRAME(mi);
-
-  static GLfloat pos[4] = {-4.0, 3.0, 10.0, 1.0};
-
-  if (!wire)
-    {
-      glLightfv(GL_LIGHT0, GL_POSITION, pos);
-      glEnable(GL_CULL_FACE);
-      glEnable(GL_LIGHTING);
-      glEnable(GL_LIGHT0);
-      glEnable(GL_DEPTH_TEST);
-    }
-}
-
-
 /* lifted from lament.c */
 #define RAND(n) ((long) ((random() & 0x7fffffff) % ((long) (n))))
 #define RANDSIGN() ((random() & 1) ? 1 : -1)
 /* lifted from lament.c */
 #define RAND(n) ((long) ((random() & 0x7fffffff) % ((long) (n))))
 #define RANDSIGN() ((random() & 1) ? 1 : -1)
@@ -524,6 +505,7 @@ void
 init_sponge (ModeInfo *mi)
 {
   sponge_configuration *sp;
 init_sponge (ModeInfo *mi)
 {
   sponge_configuration *sp;
+  int wire = MI_IS_WIREFRAME(mi);
 
   if (!sps) {
     sps = (sponge_configuration *)
 
   if (!sps) {
     sps = (sponge_configuration *)
@@ -539,10 +521,29 @@ init_sponge (ModeInfo *mi)
   sp = &sps[MI_SCREEN(mi)];
 
   if ((sp->glx_context = init_GL(mi)) != NULL) {
   sp = &sps[MI_SCREEN(mi)];
 
   if ((sp->glx_context = init_GL(mi)) != NULL) {
-    gl_init(mi);
     reshape_sponge (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
   }
 
     reshape_sponge (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
   }
 
+  if (!wire)
+    {
+      static GLfloat pos0[4] = {-1.0, -1.0, 1.0, 0.1};
+      static GLfloat pos1[4] = { 1.0, -0.2, 0.2, 0.1};
+      static GLfloat dif0[4] = {1.0, 1.0, 1.0, 1.0};
+      static GLfloat dif1[4] = {1.0, 1.0, 1.0, 1.0};
+
+      glLightfv(GL_LIGHT0, GL_POSITION, pos0);
+      glLightfv(GL_LIGHT1, GL_POSITION, pos1);
+      glLightfv(GL_LIGHT0, GL_DIFFUSE, dif0);
+      glLightfv(GL_LIGHT1, GL_DIFFUSE, dif1);
+
+      glEnable(GL_LIGHTING);
+      glEnable(GL_LIGHT0);
+      glEnable(GL_LIGHT1);
+
+      glEnable(GL_DEPTH_TEST);
+      glEnable(GL_CULL_FACE);
+    }
+
   sp->rotx = frand(1.0) * RANDSIGN();
   sp->roty = frand(1.0) * RANDSIGN();
   sp->rotz = frand(1.0) * RANDSIGN();
   sp->rotx = frand(1.0) * RANDSIGN();
   sp->roty = frand(1.0) * RANDSIGN();
   sp->rotz = frand(1.0) * RANDSIGN();
index 15e3732ee84e41b8743e19bda92df9137a3dd32e..0220cbbb2476a1c5b78a7092df334ce624968f9f 100644 (file)
@@ -584,6 +584,7 @@ reshape_moebius(ModeInfo * mi, int width, int height)
 static void
 pinit(void)
 {
 static void
 pinit(void)
 {
+    int status;
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
@@ -609,8 +610,21 @@ pinit(void)
        glDisable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
        glDisable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-       gluBuild2DMipmaps(GL_TEXTURE_2D, 3, WoodTextureWidth, WoodTextureHeight,
-                         GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+
+    clear_gl_error();
+       status = gluBuild2DMipmaps(GL_TEXTURE_2D, 3,
+                               WoodTextureWidth, WoodTextureHeight,
+                               GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+    if (status)
+      {
+        const char *s = gluErrorString (status);
+        fprintf (stderr, "%s: error mipmapping %dx%d texture: %s\n",
+                 progname, WoodTextureWidth, WoodTextureHeight,
+                 (s ? s : "(unknown)"));
+        exit (1);
+      }
+    check_gl_error("mipmapping");
+
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
index 02b8362461a5285bf26fd8661f602fb715da9085..0ad814edf1eb2b3408636b704897329c705368b8 100644 (file)
@@ -1200,8 +1200,14 @@ reshape_molecule (ModeInfo *mi, int width, int height)
 static void
 gl_init (ModeInfo *mi)
 {
 static void
 gl_init (ModeInfo *mi)
 {
-  static GLfloat pos[4] = {5.0, 5.0, 10.0, 1.0};
+  static GLfloat pos[4] = {1.0, 0.4, 0.9, 0.0};
+  static GLfloat amb[4] = {0.0, 0.0, 0.0, 1.0};
+  static GLfloat dif[4] = {0.8, 0.8, 0.8, 1.0};
+  static GLfloat spc[4] = {1.0, 1.0, 1.0, 1.0};
   glLightfv(GL_LIGHT0, GL_POSITION, pos);
   glLightfv(GL_LIGHT0, GL_POSITION, pos);
+  glLightfv(GL_LIGHT0, GL_AMBIENT,  amb);
+  glLightfv(GL_LIGHT0, GL_DIFFUSE,  dif);
+  glLightfv(GL_LIGHT0, GL_SPECULAR, spc);
 
   orig_do_labels = do_labels;
   orig_do_bonds = do_bonds;
 
   orig_do_labels = do_labels;
   orig_do_bonds = do_bonds;
index 31a0bdd305756fe6e496a8a5432f55a1b4a6acb4..db1e792daddef208426799d0d8eaa0f3028170a4 100644 (file)
@@ -64,6 +64,7 @@ static const char sccsid[] = "@(#)pipes.c     4.07 97/11/24 xlockmore";
                        "*fpsSolid:     True    \n"                 \
                                        "*fisheye:              True    \n"                     \
                                        "*tightturns:   False   \n"                     \
                        "*fpsSolid:     True    \n"                 \
                                        "*fisheye:              True    \n"                     \
                                        "*tightturns:   False   \n"                     \
+                                       "*doubleBuffer: True    \n"                     \
                                        "*rotatepipes:  True    \n"
 # include "xlockmore.h"                                /* from the xscreensaver distribution */
 #else  /* !STANDALONE */
                                        "*rotatepipes:  True    \n"
 # include "xlockmore.h"                                /* from the xscreensaver distribution */
 #else  /* !STANDALONE */
@@ -79,10 +80,12 @@ static const char sccsid[] = "@(#)pipes.c   4.07 97/11/24 xlockmore";
 #define DEF_FISHEYE     "True"
 #define DEF_TIGHTTURNS  "False"
 #define DEF_ROTATEPIPES "True"
 #define DEF_FISHEYE     "True"
 #define DEF_TIGHTTURNS  "False"
 #define DEF_ROTATEPIPES "True"
+#define DEF_DBUF        "False"
 #define NofSysTypes     3
 
 static int  factory;
 static Bool fisheye, tightturns, rotatepipes;
 #define NofSysTypes     3
 
 static int  factory;
 static Bool fisheye, tightturns, rotatepipes;
+static Bool dbuf_p;
 
 static XrmOptionDescRec opts[] =
 {
 
 static XrmOptionDescRec opts[] =
 {
@@ -92,21 +95,25 @@ static XrmOptionDescRec opts[] =
        {"-tightturns", ".pipes.tightturns", XrmoptionNoArg, (caddr_t) "on"},
        {"+tightturns", ".pipes.tightturns", XrmoptionNoArg, (caddr_t) "off"},
       {"-rotatepipes", ".pipes.rotatepipes", XrmoptionNoArg, (caddr_t) "on"},
        {"-tightturns", ".pipes.tightturns", XrmoptionNoArg, (caddr_t) "on"},
        {"+tightturns", ".pipes.tightturns", XrmoptionNoArg, (caddr_t) "off"},
       {"-rotatepipes", ".pipes.rotatepipes", XrmoptionNoArg, (caddr_t) "on"},
-      {"+rotatepipes", ".pipes.rotatepipes", XrmoptionNoArg, (caddr_t) "off"}
+      {"+rotatepipes", ".pipes.rotatepipes", XrmoptionNoArg, (caddr_t) "off"},
+      {"-db", ".pipes.doubleBuffer", XrmoptionNoArg, (caddr_t) "on"},
+      {"+db", ".pipes.doubleBuffer", XrmoptionNoArg, (caddr_t) "off"},
 };
 static argtype vars[] =
 {
        {(caddr_t *) & factory, "factory", "Factory", DEF_FACTORY, t_Int},
        {(caddr_t *) & fisheye, "fisheye", "Fisheye", DEF_FISHEYE, t_Bool},
        {(caddr_t *) & tightturns, "tightturns", "Tightturns", DEF_TIGHTTURNS, t_Bool},
 };
 static argtype vars[] =
 {
        {(caddr_t *) & factory, "factory", "Factory", DEF_FACTORY, t_Int},
        {(caddr_t *) & fisheye, "fisheye", "Fisheye", DEF_FISHEYE, t_Bool},
        {(caddr_t *) & tightturns, "tightturns", "Tightturns", DEF_TIGHTTURNS, t_Bool},
-       {(caddr_t *) & rotatepipes, "rotatepipes", "Rotatepipes", DEF_ROTATEPIPES, t_Bool}
+       {(caddr_t *) & rotatepipes, "rotatepipes", "Rotatepipes", DEF_ROTATEPIPES, t_Bool},
+       {(caddr_t *) & dbuf_p, "doubleBuffer", "DoubleBuffer", DEF_DBUF, t_Bool}
 };
 static OptionStruct desc[] =
 {
        {"-factory num", "how much extra equipment in pipes (0 for none)"},
        {"-/+fisheye", "turn on/off zoomed-in view of pipes"},
        {"-/+tightturns", "turn on/off tight turns"},
 };
 static OptionStruct desc[] =
 {
        {"-factory num", "how much extra equipment in pipes (0 for none)"},
        {"-/+fisheye", "turn on/off zoomed-in view of pipes"},
        {"-/+tightturns", "turn on/off tight turns"},
-       {"-/+rotatepipes", "turn on/off pipe system rotation per screenful"}
+       {"-/+rotatepipes", "turn on/off pipe system rotation per screenful"},
+       {"-/+db", "turn on/off double buffering"}
 };
 
 ModeSpecOpt pipes_opts =
 };
 
 ModeSpecOpt pipes_opts =
@@ -534,7 +541,7 @@ pinit(ModeInfo * mi, int zera)
 
        if (zera) {
                pp->system_number = 1;
 
        if (zera) {
                pp->system_number = 1;
-               glDrawBuffer(GL_FRONT_AND_BACK);
+               glDrawBuffer(dbuf_p ? GL_BACK : GL_FRONT);
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                (void) memset(pp->Cells, 0, sizeof (pp->Cells));
                for (X = 0; X < HCELLS; X++) {
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                (void) memset(pp->Cells, 0, sizeof (pp->Cells));
                for (X = 0; X < HCELLS; X++) {
@@ -731,7 +738,8 @@ draw_pipes(ModeInfo * mi)
                /* If the maximum number of system was drawn, restart (clearing the screen), */
                /* else start a new system. */
                if (++pp->system_number > pp->number_of_systems) {
                /* If the maximum number of system was drawn, restart (clearing the screen), */
                /* else start a new system. */
                if (++pp->system_number > pp->number_of_systems) {
-                       (void) sleep(1);
+          if (!mi->fps_p)
+            sleep(1);
                        pinit(mi, 1);
                } else {
                        pinit(mi, 0);
                        pinit(mi, 1);
                } else {
                        pinit(mi, 0);
@@ -961,7 +969,8 @@ draw_pipes(ModeInfo * mi)
 
        glFlush();
 
 
        glFlush();
 
-    glXSwapBuffers(display, window);
+    if (dbuf_p)
+      glXSwapBuffers(display, window);
 
     if (mi->fps_p) do_fps (mi);
 }
 
     if (mi->fps_p) do_fps (mi);
 }
index 9d894f4085e6b0555eec17a19517966e9f454c5e..6e6194462ed899cd0853e88749c24a2907b6bed8 100644 (file)
@@ -436,7 +436,6 @@ void Create_Texture(char *filename)
 {
   int height, width;
   GLubyte *image;
 {
   int height, width;
   GLubyte *image;
-  GLint a;
   int format;
 
   if ( !strncmp(filename, "BUILTIN", 7))
   int format;
 
   if ( !strncmp(filename, "BUILTIN", 7))
@@ -476,7 +475,21 @@ void Create_Texture(char *filename)
 
   /* mipmaps make the image look much nicer */
   if (do_mipmap)
 
   /* mipmaps make the image look much nicer */
   if (do_mipmap)
-       a=gluBuild2DMipmaps(GL_TEXTURE_2D, format, width, height, format, GL_UNSIGNED_BYTE, image);
+    {
+      int status;
+      clear_gl_error();
+      status = gluBuild2DMipmaps(GL_TEXTURE_2D, format, width, height, format,
+                                 GL_UNSIGNED_BYTE, image);
+      if (status)
+        {
+          const char *s = gluErrorString (status);
+          fprintf (stderr, "%s: error mipmapping %dx%d texture: %s\n",
+                   progname, width, height,
+                   (s ? s : "(unknown)"));
+          exit (1);
+        }
+      check_gl_error("mipmapping");
+    }
   else
     {
       clear_gl_error();
   else
     {
       clear_gl_error();
index d11eb9f10f79f9e83a8034793094ae89841a71c8..5aba74f0ddffbdf2c46dbe072f9ba2d84191d819 100644 (file)
@@ -1,4 +1,4 @@
-/* sphere, Copyright (c) 1998 David Konerding <dek@cgl.ucsf.edu>
+/* sphere, Copyright (c) 2002 Paul Bourke <pbourke@swin.edu.au>
  * Utility function to create a unit sphere in GL.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * Utility function to create a unit sphere in GL.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -9,85 +9,88 @@
  * software for any purpose.  It is provided "as is" without express or 
  * implied warranty.
  *
  * software for any purpose.  It is provided "as is" without express or 
  * implied warranty.
  *
- *  8-Oct-98: dek           Released initial version of "glplanet"
- * 21-Mar-01: jwz@jwz.org   Broke sphere routine out into its own file.
+ *  8-Oct-98: dek          Released initial version of "glplanet"
+ * 21-Mar-01: jwz@jwz.org  Broke sphere routine out into its own file.
+ * 28-Feb-02: jwz@jwz.org  New implementation from Paul Bourke:
+ *                         http://astronomy.swin.edu.au/~pbourke/opengl/sphere/
  */
 
 #include "config.h"
 #include <stdlib.h>
 #include <math.h>
 #include <GL/glx.h>
  */
 
 #include "config.h"
 #include <stdlib.h>
 #include <math.h>
 #include <GL/glx.h>
-#include "tube.h"
 
 
-/* Function for determining points on the surface of the sphere */
-static void
-parametric_sphere (float theta, float rho, GLfloat *vector)
-{
-  vector[0] = -sin(theta) * sin(rho);
-  vector[1] = cos(theta) * sin(rho);
-  vector[2] = cos(rho);
-}
 
 
+typedef struct { GLfloat x, y, z; } XYZ;
 
 void
 unit_sphere (int stacks, int slices, Bool wire)
 {
 
 void
 unit_sphere (int stacks, int slices, Bool wire)
 {
-  int i, j;
-  float drho, dtheta;
-  float rho, theta;
-  GLfloat vector[3];
-  GLfloat ds, dt, t, s;
+  int i,j;
+  double theta1, theta2, theta3;
+  XYZ e, p;
+  XYZ la, lb;
+  XYZ c = {0, 0, 0};  /* center */
+  double r = 1.0;     /* radius */
+  int stacks2 = stacks * 2;
 
 
-  if (!wire)
-    glShadeModel(GL_SMOOTH);
+  if (r < 0)
+    r = -r;
+  if (slices < 0)
+    slices = -slices;
+
+  if (slices < 4 || stacks < 2 || r <= 0)
+    {
+      glBegin (GL_POINTS);
+      glVertex3f (c.x, c.y, c.z);
+      glEnd();
+      return;
+    }
 
 
-  /* Generate a sphere with quadrilaterals.
-   * Quad vertices are determined using a parametric sphere function.
-   * For fun, you could generate practically any parameteric surface and
-   * map an image onto it. 
-   */
-  drho = M_PI / stacks;
-  dtheta = 2.0 * M_PI / slices;
-  ds = 1.0 / slices;
-  dt = 1.0 / stacks;
+  glFrontFace(GL_CW);
 
 
-  glFrontFace(GL_CCW);
-  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);
+  for (j = 0; j < stacks; j++)
+    {
+      theta1 = j       * (M_PI+M_PI) / stacks2 - M_PI_2;
+      theta2 = (j + 1) * (M_PI+M_PI) / stacks2 - M_PI_2;
 
 
-  t = 0.0;
-  for (i=0; i < stacks; i++) {
-    rho = i * drho;
-    s = 0.0;
-    for (j=0; j < slices; j++) {
-      theta = j * dtheta;
+      glBegin (wire ? GL_LINE_LOOP : GL_TRIANGLE_STRIP);
+      for (i = 0; i <= slices; i++)
+        {
+          theta3 = i * (M_PI+M_PI) / slices;
 
 
-      glTexCoord2f (s,t);
-      parametric_sphere (theta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
+          if (wire && i != 0)
+            {
+              glVertex3f (lb.x, lb.y, lb.z);
+              glVertex3f (la.x, la.y, la.z);
+            }
 
 
-      glTexCoord2f (s,t+dt);
-      parametric_sphere (theta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
+          e.x = cos (theta2) * cos(theta3);
+          e.y = sin (theta2);
+          e.z = cos (theta2) * sin(theta3);
+          p.x = c.x + r * e.x;
+          p.y = c.y + r * e.y;
+          p.z = c.z + r * e.z;
 
 
-      glTexCoord2f (s+ds,t+dt);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
+          glNormal3f (e.x, e.y, e.z);
+          glTexCoord2f (i       / (double)slices,
+                        2*(j+1) / (double)stacks2);
+          glVertex3f (p.x, p.y, p.z);
+          if (wire) la = p;
 
 
-      glTexCoord2f (s+ds, t);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
+          e.x = cos(theta1) * cos(theta3);
+          e.y = sin(theta1);
+          e.z = cos(theta1) * sin(theta3);
+          p.x = c.x + r * e.x;
+          p.y = c.y + r * e.y;
+          p.z = c.z + r * e.z;
 
 
-      s = s + ds;
+          glNormal3f (e.x, e.y, e.z);
+          glTexCoord2f (i   / (double)slices,
+                        2*j / (double)stacks2);
+          glVertex3f (p.x, p.y, p.z);
+          if (wire) lb = p;
+        }
+      glEnd();
     }
     }
-    t = t + dt;
-  }
-  glEnd();
 }
 }
index e905cae4a76c51f85be59de8d2c96979ed2e320d..6832bf4117bc0d48f34acad2a58f71ac3a0edf3b 100644 (file)
@@ -440,6 +440,7 @@ reshape_stairs(ModeInfo * mi, int width, int height)
 static void
 pinit(void)
 {
 static void
 pinit(void)
 {
+    int status;
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
        glClearDepth(1.0);
        glClearColor(0.0, 0.0, 0.0, 1.0);
 
@@ -465,8 +466,21 @@ pinit(void)
        glEnable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
        glEnable(GL_CULL_FACE);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-       gluBuild2DMipmaps(GL_TEXTURE_2D, 3, WoodTextureWidth, WoodTextureHeight,
-                         GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+
+    clear_gl_error();
+    status = gluBuild2DMipmaps(GL_TEXTURE_2D, 3,
+                               WoodTextureWidth, WoodTextureHeight,
+                               GL_RGB, GL_UNSIGNED_BYTE, WoodTextureData);
+    if (status)
+      {
+        const char *s = gluErrorString (status);
+        fprintf (stderr, "%s: error mipmapping %dx%d texture: %s\n",
+                 progname, WoodTextureWidth, WoodTextureHeight,
+                 (s ? s : "(unknown)"));
+        exit (1);
+      }
+    check_gl_error("mipmapping");
+
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
diff --git a/hacks/images/earth.xbm b/hacks/images/earth.xbm
deleted file mode 100644 (file)
index dab546c..0000000
+++ /dev/null
@@ -1,2192 +0,0 @@
-/* The surface of the earth.  Created with:
-   xearth -proj mercator -noshade -ppm \
-     | ppmtopgm | pgmtopbm -thresh | pbmtoxbm
- */
-#define earth_width 512
-#define earth_height 512
-static char earth_bits[] = {
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfc,0x80,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x0f,0xfc,0x00,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x07,0xfc,0x00,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0x07,0xfc,0x01,0xc2,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xff,0x3f,0xff,0xdf,0x3f,0x00,0x7e,0x00,
- 0xc0,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xfe,0x1f,0xfe,0xff,
- 0x3f,0x00,0x1e,0x00,0xc0,0x01,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0xfe,0x1f,0xfc,0xff,0x3f,0x00,0x3f,0x00,0xc0,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0xfe,0x1f,0xfc,0xff,0x37,0x00,0x3f,0x00,0x80,0x00,0xe0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x7f,0xff,0x1f,0xfc,0xff,0x03,0x00,0x7f,
- 0x00,0x80,0x00,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0x1f,0xfc,
- 0xff,0x03,0x00,0x8f,0x03,0x80,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0xf0,0xff,0x1f,0xfc,0xff,0x03,0x00,0x0f,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0xc0,0xff,0x3f,0xf8,0xff,0x07,0x00,0x0f,0x00,0x00,0x00,
- 0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0xc0,0x3f,0xe0,0xff,0x0f,0xf8,0xff,0x03,0x00,
- 0xff,0x0c,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xc0,0x1f,0xf0,0xff,0x03,
- 0xf0,0xff,0x01,0x00,0x3f,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0xc0,
- 0x1f,0xf8,0xff,0x07,0xf0,0xff,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0xe0,0x3f,0xf8,0xff,0x07,0xf0,0xff,0x03,0x00,0x7e,0x00,0x00,
- 0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xe0,0x7f,0xfc,0xff,0x3f,0xf0,0xff,0x07,
- 0x00,0xfe,0x01,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf0,0xff,0xff,0xff,
- 0x3f,0x70,0xff,0x0f,0x00,0xf3,0x07,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,
- 0xf0,0xff,0xff,0xff,0x7f,0x78,0xfc,0x1f,0x00,0xe3,0x0f,0x0e,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0f,0x40,0xf0,0xff,0xff,0xef,0x7f,0x38,0xfc,0x30,0x80,0xc3,0x0f,
- 0x03,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x60,0xfc,0xff,0xff,0xef,0x7f,0x38,0xfc,
- 0x00,0x80,0xc1,0xfd,0x03,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x70,0xfe,0xff,0xff,
- 0xef,0x7f,0x38,0xf8,0x00,0x80,0xc1,0x70,0x06,0x00,0x00,0xe0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,
- 0xf8,0xff,0xff,0xff,0xef,0xff,0x3c,0xf8,0x00,0x80,0x41,0x00,0x00,0x00,0x00,
- 0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0xfc,0xff,0xff,0xff,0xef,0xff,0x3f,0xf8,0x00,0x80,0x41,
- 0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x87,0xff,0xff,0xff,0xff,0x3f,
- 0xfc,0x00,0x80,0x41,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x81,0xff,
- 0xf9,0xff,0xff,0x3f,0xfc,0x00,0xc0,0x41,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xe7,0x01,0xfe,0xf8,0xff,0xff,0xff,0x7f,0x00,0xf1,0x40,0x00,0x00,0x00,
- 0x06,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xe7,0x03,0x7e,0xf8,0xff,0xff,0xff,0xff,0x00,0xff,
- 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x7c,0xf8,0xff,0xff,
- 0x7f,0xfe,0x80,0xff,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,
- 0x7c,0xfc,0xff,0xff,0x3f,0xfc,0xcf,0x41,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x00,0x7c,0xfc,0xf7,0xff,0x7f,0xf8,0xff,0xc0,0x01,0x00,0x00,
- 0x80,0xff,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x7c,0xfc,0xf7,0xff,0xff,0xff,0x7f,
- 0x80,0x03,0x00,0x00,0xf8,0xff,0x08,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x78,0xf8,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0xc0,0xff,0x7f,0x08,0xfc,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0x00,0x78,0xf8,0xe3,0xf3,0xf7,0xff,0xff,0x07,0x00,0x0c,0xf3,0x7f,0x27,0x08,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x0d,0x00,0xc0,0x67,0xe3,0xc3,0xbf,0xff,0x07,0x80,0x39,
- 0xf7,0x0f,0x00,0x08,0x36,0x1f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xc0,0x7f,0xc3,0xc3,0xbf,
- 0xc7,0x03,0x80,0xf7,0xff,0x07,0x00,0x00,0x16,0x3f,0xbc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0x01,0xc0,
- 0x7f,0x82,0x83,0xff,0xc7,0x01,0x00,0xfe,0xff,0x07,0x00,0x00,0x1c,0x4b,0x1c,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
- 0xff,0x0f,0x00,0xe0,0x3f,0xc0,0x83,0xff,0xc7,0x00,0x00,0xfc,0xff,0x07,0x00,
- 0x00,0x08,0x8b,0x0c,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0f,0xe0,0xff,0x03,0x00,0xe0,0x0f,0xc0,0x87,0xff,0xc7,0x08,0x00,
- 0xf8,0xff,0x1f,0x00,0x00,0x00,0x8b,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xc0,0xff,0x07,0x70,0x70,0x0f,0xc0,0x07,
- 0xfe,0x84,0x05,0x00,0xfc,0xff,0x0f,0x00,0x00,0x00,0x0f,0x00,0xe0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0xf8,0x07,0xfe,
- 0x3f,0xff,0xe1,0x1f,0x2c,0x00,0x01,0x00,0xff,0xff,0x07,0x00,0x00,0x00,0x03,
- 0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0xf0,0xff,0xff,0xff,0xff,0xe0,0x3f,0x1c,0x00,0x00,0x00,0xff,0xff,0x03,
- 0x00,0x00,0x00,0x00,0x00,0xc4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x00,0xf0,0xff,0xff,0xff,0x3f,0xe0,0x3f,0x38,0x00,0x10,
- 0xc8,0xff,0xef,0x01,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xe0,0xff,0xff,0xff,0x3f,0xf0,
- 0x3f,0x78,0x00,0x18,0xfc,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xe0,0xff,
- 0xff,0xff,0x3f,0xf8,0x3e,0xfe,0x01,0x30,0xfe,0x07,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x03,0x00,0xe0,0xff,0xff,0xff,0xff,0x3f,0x3c,0xfe,0x03,0xc0,0xff,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x03,0x00,0xc0,0xff,0xff,0xff,0xff,0x1f,0x3c,0xfc,0x27,
- 0xc0,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0xf0,0xff,0xff,0xff,0xff,
- 0x1f,0x1c,0xfc,0xff,0xc0,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x1c,
- 0xff,0xff,0xff,0xff,0x1f,0x0c,0xfc,0xff,0x81,0xff,0x0f,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xf0,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x00,0x00,0x03,0xff,0xff,0xff,0xff,0x3f,0x0c,0xf8,0xff,0x81,0xff,0x1f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x00,0xc0,0x00,0xff,0x7f,0xfc,0xff,0x7f,0x0e,0xe0,
- 0xff,0xc1,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x60,0x80,0xff,0x7f,0xf8,
- 0xff,0xff,0x0f,0xc0,0xf1,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x30,
- 0x80,0xf0,0x4f,0xf8,0x37,0xff,0x0f,0x00,0xc0,0xff,0xff,0xfb,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x00,0x38,0x00,0x70,0x07,0xfc,0xe3,0xff,0x3f,0x00,0x80,0xfb,0xff,
- 0xa1,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x1c,0x00,0x70,0x87,0xfe,0x01,0xdf,0xff,
- 0x01,0x00,0xff,0xff,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x1c,0x00,0x38,0x86,
- 0xff,0x03,0x0f,0xff,0x01,0x00,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf8,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x0e,0x00,0x00,0x06,0xff,0x83,0x07,0xfc,0x03,0x00,0xff,0xff,0x07,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x04,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x1e,0x00,0x00,0x06,0x9f,0xc1,0x03,0xf8,0x3f,0x00,0xff,
- 0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xf0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0x3f,0x00,0x00,0x82,0x1f,0xe1,0x03,
- 0xf0,0xff,0x81,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xf0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x1f,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,
- 0x86,0x1f,0xc0,0x03,0xf8,0xff,0xc3,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x00,0x00,0x86,0x3f,0xc0,0x01,0xfc,0xff,0xff,0xff,0xff,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xdf,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x80,0x3f,0x80,0x01,0x7e,0xf8,0xff,
- 0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,
- 0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xfd,0xff,0x1f,0x00,0x00,0x80,0x7f,0x80,
- 0x01,0x1f,0xf0,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x01,0x00,0x00,0xc0,0xf9,0xff,0xff,0xff,0xf9,0xff,0x3f,0x00,
- 0x00,0x00,0x7f,0x80,0xb1,0x0f,0xf8,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x7f,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x30,0xe0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xe7,
- 0xf8,0xff,0xff,0x00,0x00,0x80,0xff,0xc0,0xf1,0x0f,0x3c,0xfe,0xff,0xff,0xff,
- 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0x3b,0x30,0xf0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,
- 0xc0,0xff,0xff,0x71,0x78,0xff,0xff,0x3f,0x00,0x80,0xff,0xc0,0xf9,0x07,0x0e,
- 0xf4,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0x1f,
- 0x00,0x00,0x00,0x00,0x00,0xfc,0x7f,0x08,0x78,0xff,0xff,0x7f,0x00,0x80,0xff,
- 0xe4,0xff,0x03,0x07,0xe0,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x02,0xfb,
- 0xff,0xff,0xff,0xff,0xff,0x01,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,
- 0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0xf8,0x23,0x06,0x30,0xe3,0x3f,
- 0xe0,0x00,0x80,0xff,0xfd,0xfe,0x03,0x01,0x82,0xff,0xff,0xff,0x3f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0xc3,0xff,0xff,0xff,0xff,0xff,0x03,0xf8,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0xf0,0x01,
- 0x00,0x00,0xc3,0x3f,0x00,0x00,0x80,0xff,0x7f,0xfc,0x81,0x01,0x00,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdf,0xef,0xff,0xff,0xff,0x03,0x82,0xff,0xff,0xff,0xff,0x7f,0x03,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0x81,0x00,0x00,0x80,0x3f,0x00,0x00,0x00,0xff,0x3f,0xfc,0x81,
- 0x01,0x00,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0x0f,0x83,0xff,0xff,0xff,
- 0xff,0xff,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,
- 0xfe,0x1f,0xf8,0x81,0x03,0x06,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,
- 0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xfd,0xf9,0xff,0xff,0xff,0xff,
- 0xc3,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x7c,0x00,0x00,0x00,0xfc,0x0f,0xf8,0x80,0x00,0x3f,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xf8,0x03,0x00,0x00,0xf8,0x1f,0xf8,0x80,0x00,0xcf,0xff,
- 0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xbf,0xff,
- 0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x0f,0x00,0x00,0xf8,0x0f,0xfc,
- 0x83,0x00,0x8c,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
- 0xff,0xff,0x1f,0xf9,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,
- 0x00,0xf8,0x0f,0xf8,0x87,0x00,0x14,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,
- 0x00,0xf0,0xff,0xff,0xff,0x7f,0x17,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x0c,0x00,0x81,0xff,0x07,0xf8,0xc0,0x00,0x00,0xff,0xff,0xff,0x3f,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x3f,0x71,0xe0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0xe0,0x83,0xff,0x0e,0xf8,0x00,0x00,0xc0,
- 0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x3f,0x70,
- 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x30,0xf8,0xff,0xff,0xff,
- 0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0x06,0x7e,0x0e,
- 0xfc,0x01,0x00,0x00,0xfe,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,
- 0xff,0xff,0x3f,0xe0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x10,
- 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0xff,
- 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
- 0x1f,0x1c,0x7f,0x1c,0xfc,0x03,0x00,0x00,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0x3f,0xe0,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x3f,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0x30,0xfc,0xff,0xff,0xff,
- 0x0f,0xf0,0x8f,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xff,0x0f,0xfc,0x1f,0x7c,0xfe,0x0f,0x00,0x80,0xfe,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0x3f,0xc0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0xe0,0xff,0xff,0xff,0xff,0x0f,0x04,
- 0xfe,0x0f,0xfc,0xff,0x19,0x00,0x00,0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x7f,0xfc,0x3f,0x38,0xf8,0x0f,0x00,
- 0x00,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xdc,0xff,0xff,0xff,0x3f,
- 0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0xc0,0xff,0xff,
- 0xff,0xff,0x0f,0x10,0xf8,0x03,0xf8,0xff,0x3e,0x00,0x00,0xf8,0xff,0xff,0x0f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xf8,0x7f,
- 0x18,0xf0,0x7f,0x00,0x00,0xf0,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0x7f,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,
- 0x00,0xc0,0xff,0xff,0xff,0xff,0x07,0x08,0xc0,0x01,0xf8,0x3f,0x3c,0x00,0x00,
- 0xe0,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,
- 0x00,0x1c,0xe0,0xff,0x38,0xf8,0x9f,0x01,0x00,0xf0,0xff,0xff,0x1f,0x00,0x00,
- 0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0x21,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0xc0,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0xf0,
- 0x01,0x30,0x00,0x00,0x80,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7c,0x00,0x00,0x10,0xc0,0x3f,0x3f,0xd8,0x0f,0x9f,0x01,0xfc,0xff,
- 0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0x7f,0xf0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xe0,0xff,0x9f,0xf9,0xff,0x0f,
- 0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x80,0x3f,0x00,0x00,0x10,0x00,0x3f,0x1e,0x98,0x0f,
- 0xbe,0x01,0xf0,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,
- 0xff,0x73,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0xe0,0xff,
- 0x0f,0xf0,0xff,0x0f,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
- 0xf7,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x78,0x02,0x00,0x10,0x00,
- 0x40,0x06,0x88,0x1f,0xee,0x01,0xe8,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,
- 0xf8,0xff,0xff,0xff,0xff,0x39,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0xb0,0xff,0x1f,0xf8,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x83,0xff,0xf3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfa,
- 0x03,0x00,0x10,0x00,0x00,0x02,0x80,0x0f,0xfc,0x03,0x80,0xff,0xff,0x0f,0x00,
- 0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0x7f,0x78,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0x10,0xf8,0xff,0x1f,0xe4,0xff,0x03,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0x01,0x00,0x10,0x00,0x00,0x02,0x80,0x07,0xfc,0x03,0x80,
- 0xff,0xff,0x27,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0x0f,0x00,0x08,0xf8,0x83,0x7f,0xc6,0x3f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x7c,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x02,0xc0,
- 0x03,0xde,0x07,0xd0,0xff,0xff,0x23,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
- 0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,0x07,0x00,0x07,0x08,
- 0x01,0x00,0xe4,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
- 0x00,0x00,0x02,0xc0,0x02,0xff,0x03,0x10,0xff,0xff,0x37,0x00,0x00,0x00,0x00,
- 0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,
- 0x07,0x00,0x01,0x1c,0x00,0x00,0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x12,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x01,0xff,0x01,0x00,0xff,0xff,0x3f,
- 0x00,0x00,0x00,0x00,0xc0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0xf8,0xff,0xf7,0x03,0x00,0x02,0x0e,0x00,0x00,0x80,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0xff,0x0f,
- 0xc0,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x1f,0xfc,0xff,0xff,0x01,0x00,0x00,0x06,0x02,0x00,0x00,
- 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xc0,0xff,0x00,0x06,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xff,0x1f,0x20,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x8c,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xfe,0xff,0xff,0x01,0x00,0x00,
- 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xec,
- 0xc0,0xff,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x1c,0xc0,0xff,0xff,0x67,0x00,0x00,0x00,
- 0x80,0x0b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfc,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x14,0xe0,0xff,0xff,
- 0x43,0x00,0x00,0x00,0x00,0xda,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xc3,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc1,0xff,0xff,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7f,
- 0x34,0xe0,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0xf7,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xcf,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x81,0xc9,0x7f,0x3e,0xc0,0xff,0xff,0x11,0x00,0x00,0x00,0x00,0xe2,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
- 0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x02,0xff,0xff,0x3f,0xc0,0xff,0xff,0x63,0x00,0x00,
- 0x00,0x00,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,
- 0xff,0x1f,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc4,0xfb,0xff,0x1f,0x00,0xff,
- 0xff,0x3b,0x00,0x00,0x00,0x00,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xf1,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xf0,0x1f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0xff,
- 0xff,0x1f,0x00,0xfe,0xff,0x3f,0x00,0x00,0x00,0x20,0xf8,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xe7,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x60,0xfe,0xff,0x07,0x00,0xfe,0xff,0x3f,0x00,0x00,0x00,0x00,0xf8,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0xff,0x0f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xfc,0xff,0xc3,0x00,0xfe,0xff,0x1f,0x00,
- 0x00,0x00,0x80,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,
- 0xff,0xfe,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x30,0x38,0x00,0x30,0x00,0x00,0x30,0xf8,0xff,0xc3,0x01,
- 0xf8,0xff,0x03,0x00,0x00,0x00,0x90,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xfd,0xff,0xb9,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x1c,0x00,0x18,0x00,0x00,0x38,
- 0xf0,0xef,0x03,0x10,0xfc,0xff,0x09,0x00,0x00,0x00,0x88,0xf8,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfc,0xff,0xb0,0x71,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,
- 0xff,0x07,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x07,0x00,
- 0x00,0x00,0x90,0x1f,0xe0,0x47,0x00,0x30,0xf0,0xff,0x16,0x00,0x00,0x00,0xf0,
- 0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0x7f,0xb0,0xc3,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfc,0xff,0xff,0x07,0x00,0x00,0xe0,0x1c,0x00,0x00,0x00,0x00,0x00,
- 0x80,0xf8,0x03,0x00,0x00,0x00,0xc0,0x0f,0xe0,0x03,0x00,0x3c,0xf0,0xff,0x08,
- 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0xfe,0x7f,0x90,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0x1f,0x00,0x00,0x10,0x3c,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xc0,0x3f,0xe6,0x07,0x10,
- 0x38,0xf8,0xff,0x04,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0xfe,0x7f,0x90,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x18,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0x00,0xf8,
- 0x3f,0xc7,0xef,0x30,0x38,0xfc,0xff,0x01,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xfe,0x7f,0x18,0x87,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,
- 0xff,0xff,0x1f,0x00,0x00,0x1c,0xfc,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0x01,0x78,0xfe,0xff,0x00,0x00,0x00,0x00,
- 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xfe,0x3f,0x30,
- 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfc,0xff,0xff,0xff,0x1f,0x00,0x00,0x0c,0xff,0x7f,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0x03,0xf0,0xff,0xff,
- 0x00,0x00,0x00,0x10,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x7f,0xfc,0x3f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x06,0x00,0xfe,0xff,0xff,0xff,0x33,0x02,0x80,0x9e,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf9,0xfd,
- 0x03,0xe0,0xff,0xff,0x00,0x00,0x00,0x90,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xbf,0xf8,0x3f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0xff,0xff,0xff,0xff,0xf3,
- 0x07,0x20,0xcf,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xfc,0xff,0x07,0xe0,0xff,0x7f,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf0,0x7f,0x20,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0xfe,0xff,0xff,0x4f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0x87,0xe0,0xff,0xff,0x00,0x00,0x00,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x7f,
- 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x02,0x80,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xfe,0xff,0xff,0x9f,0x02,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0x9f,0xf9,0x0f,0xe1,0xff,
- 0xff,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xc9,0xff,
- 0xff,0xff,0x9f,0x3f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x84,0x03,0xc0,0xff,0xff,0xff,0xff,0xff,0xf7,0x07,0xfe,
- 0xff,0xff,0xff,0x05,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0xc0,0xff,0xff,0xdf,
- 0xf0,0x0f,0xe3,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x2f,0xc0,0xff,0xff,0xff,0xbf,0xfc,0x60,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x03,0xe4,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0xfb,0xff,0xff,0x7f,0x0a,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
- 0xe0,0xff,0xff,0xff,0x00,0x3f,0xf6,0xff,0xff,0x03,0x00,0xc8,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x07,0xe0,0xff,0xff,0xff,0x7f,0xf0,0xe0,0x04,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xcf,0x01,0xef,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x97,0xfb,0xff,0xff,0x7f,0x0a,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x01,0x3f,0xfc,0xff,0xff,0x01,0x00,
- 0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x05,0x00,0xff,0xff,0xfb,0xff,
- 0xc0,0xc1,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x80,0xff,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xf8,0xff,0xff,0xff,
- 0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x00,0xfe,0xfc,
- 0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,
- 0xfe,0xff,0xf3,0xdf,0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xff,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,
- 0xfc,0xff,0xff,0xff,0x1d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
- 0xff,0x00,0xfe,0xfd,0xff,0xff,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x7f,0x00,0x04,0xf0,0xff,0x7f,0x47,0x00,0xc0,0x08,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x7f,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0xff,0xff,0xff,0x00,0xfc,0xff,0xff,0xff,0x00,0xc0,0xff,0xff,0x7f,
- 0xff,0xff,0xff,0xff,0xff,0x2f,0x00,0x00,0xe0,0x9f,0x1f,0x01,0x00,0xc0,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x7f,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0xff,0xff,0xff,0x3d,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x01,0x80,0xff,0xff,0xff,0x00,0xf0,0xf7,0xff,0xff,0x01,
- 0xc0,0xff,0xff,0x1f,0xbf,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0xc0,0x1f,0x0f,
- 0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0x3f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfc,0xff,0xff,0xff,
- 0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0xff,0xff,0xff,0x00,0xf0,
- 0xff,0xff,0xff,0x01,0xc0,0xff,0xff,0x7f,0x01,0xff,0xff,0xff,0xff,0x0f,0x00,
- 0x00,0x00,0x1e,0x07,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0x1f,0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0xfe,0xff,0xff,0xff,0xff,0x2f,0x00,0x38,0x00,0x00,0x00,0x80,0x00,0x80,0xff,
- 0xff,0x7f,0x00,0xf0,0xff,0xff,0xff,0x01,0xe0,0xff,0xff,0x7f,0x00,0xff,0xff,
- 0xff,0xff,0x0f,0x00,0x00,0x00,0xdc,0x01,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x1f,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0xff,0xff,0xff,0xff,0xff,0x4f,0x02,0x00,0x00,0x00,0x00,
- 0x80,0x00,0x80,0xff,0xff,0x3f,0x00,0xf8,0xff,0xff,0xff,0x01,0xf0,0xff,0xff,
- 0x3f,0x00,0xfe,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x9c,0x01,0x00,0x00,0x38,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xf9,0x1f,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,
- 0x00,0x00,0x00,0x00,0x40,0x00,0x00,0xff,0xff,0x3f,0x00,0xf8,0xfb,0xff,0xff,
- 0x03,0xf8,0xff,0xff,0x7f,0x00,0xfe,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x3c,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf0,0xfd,0x0f,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xf8,0xff,0x3f,0x00,
- 0xf8,0xfb,0xff,0xff,0x03,0xf8,0xff,0xff,0x3f,0x00,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x01,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xf0,0xff,0x7f,0x00,0xf8,0xf1,0xff,0xff,0x03,0xfc,0xff,0xff,0x7f,0x80,0xff,
- 0xff,0xff,0xff,0x01,0x00,0x00,0x06,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0x03,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0xfe,0xff,0xff,0xff,0xff,0xff,0xaf,0x03,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0x00,0xe0,0xf1,0xff,0xff,0x27,0xfc,0xff,
- 0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0xbc,0x01,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,
- 0x03,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,
- 0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0x00,0x60,0xf0,0xff,
- 0xff,0x3f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x70,0x00,0xfc,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf8,0xff,0xff,0x01,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xdf,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,
- 0x00,0x00,0xf0,0xff,0xff,0x7f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x78,0x00,0xfc,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0x01,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xff,0xff,0x00,0x00,0xf0,0xff,0xff,0xbf,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0x78,0x00,0xdc,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0x01,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x77,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x38,0x00,0x9c,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,
- 0xff,0x01,0xfc,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x00,0x10,0x24,0x00,0x00,0xf0,0x7f,0x00,0x00,0xe0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x1c,0x00,
- 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xff,0xff,0xff,0x01,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0xc0,
- 0x3f,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x0e,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x01,0xf8,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0x00,0x00,0x00,0x00,0x00,
- 0x3e,0x00,0x00,0xc0,0x0f,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x03,0x00,0x07,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0x01,0xfe,
- 0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xc0,0x83,0x02,0x04,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,
- 0xff,0xff,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xc0,0x03,0x00,0x00,
- 0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xc0,0x03,
- 0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
- 0xc0,0x07,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x7f,0x00,0xc0,0x03,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x03,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x02,0x00,0x00,0x00,
- 0x00,0x40,0x00,0x00,0xa0,0x03,0x00,0x20,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0x01,0xe0,0x03,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x83,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x06,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0xc0,0x03,0x00,0x00,0x80,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x7f,0x00,0xe0,0x03,0x26,0x0c,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,
- 0xbf,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x0c,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xc0,0x07,0x00,
- 0xc0,0x01,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0xe0,
- 0x03,0x60,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xc0,0xf9,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x09,0x00,0x00,0x00,0x00,0x48,0x00,
- 0x00,0x80,0x07,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x7f,0x00,0xc0,0x03,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x31,0xff,0xff,0xcf,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1b,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x80,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x80,0x8f,0xe7,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,
- 0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf9,0x7f,0x10,0x80,0xff,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x20,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x13,0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x00,0x00,
- 0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0x3f,0x18,
- 0xc1,0x3f,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x01,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x03,0x04,0x00,0x00,0x06,0x01,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xfc,0x7f,0x9c,0xe0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,
- 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0xf8,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xe0,0xff,0x3f,0xf0,0x17,0x00,0x40,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x60,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
- 0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xff,0x3f,0xf0,0x1f,0x00,
- 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
- 0x00,0x00,0x60,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,
- 0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,
- 0x37,0xb0,0x1f,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x80,0x01,0x00,0x00,0x00,0x00,0x60,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x80,0x3f,0x00,0x00,0x00,0x38,0xc0,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xfc,0xff,0x77,0xf0,0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0xe0,0xfc,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x00,0x00,0x00,0xc0,0x7f,0x00,0x00,0x00,0xfc,0xe3,0xfd,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0x71,0xf0,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0xe0,
- 0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0xc0,0xfd,0x00,0x00,0x00,0x7f,
- 0xfe,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0xe0,0xff,0x79,0xfe,0x01,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x40,0x00,0x00,
- 0x00,0x00,0x00,0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,
- 0x00,0x00,0x80,0xc0,0xfd,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xe3,
- 0xff,0x51,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x7f,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xc3,0xc3,0xff,0xf9,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0xe0,0xfe,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x03,0x00,0x00,0xf0,0x3f,0xe0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xc3,0xff,0xfb,0xff,0x00,0x00,0x00,0x00,
- 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
- 0xe0,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x13,0x00,0x00,
- 0xe0,0x1f,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xc1,0xff,0x93,0x47,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xf0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x1c,0x3e,0x00,0x00,0xf0,0x1f,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,
- 0xc1,0x3f,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x08,0x3e,0x00,0x00,0xe0,0xff,0xc7,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xf1,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xf8,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x0e,0x00,0x00,0x20,0xfb,0xcb,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf8,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x04,0x00,
- 0x00,0x90,0xfd,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x83,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf8,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x0c,0xc4,0x07,0x00,0x2e,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x7d,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x06,0xc0,0x03,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xd1,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7a,0x00,0xf0,0xf3,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x08,0xfe,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,
- 0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x37,0x00,
- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xf0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,
- 0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xf8,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xfe,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x20,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0x01,0x0c,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x0f,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xf0,0x01,0x0e,0x00,0x10,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x30,0x3c,0x00,0xfc,0x01,0x0f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0xff,0x7f,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xa0,0x00,0x00,0x78,0x3c,
- 0x00,0x7c,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xc2,
- 0xff,0x7f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x07,0x00,0xe0,
- 0x00,0x00,0xf8,0x00,0x00,0x3e,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xb8,0x87,0xff,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x00,0x00,0xc0,0xe3,0x01,0x00,0xfc,0x3e,0x00,0x7c,0x00,0x0d,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x07,0xff,0x3f,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x00,0x00,0xef,0xc3,0x01,0x00,0xfc,0x7f,0x00,0x7c,0x00,
- 0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x07,0xff,0x1f,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xc2,0x07,0x00,0xfe,
- 0xff,0x03,0xfc,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0x1f,0xfe,0x07,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,0x01,0x00,0x00,0x00,0x00,0x00,0x80,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,
- 0x86,0x0f,0x00,0xfe,0xff,0x07,0xf8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x08,0x1f,0xfe,0x07,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x03,0x00,0x00,
- 0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x00,0xc0,0xff,0x0f,0x1e,0x00,0xfe,0xff,0x07,0xf0,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x1f,0xfc,0x80,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x9f,0x03,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x00,0xe0,0xff,0x3e,0x3e,0x00,0x7e,0xfc,0x03,0xe0,
- 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x3f,0x3c,0xf0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x03,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xf0,0x7f,0x7e,0x38,0x00,
- 0x10,0xe0,0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xf0,0x1f,0x9f,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x06,0x00,0x00,0x00,0x00,0x00,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x78,
- 0x7f,0xfe,0x34,0xf8,0x03,0x00,0x00,0xe0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xf0,0xff,0x4f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x06,0x00,
- 0x00,0x00,0x20,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x00,0xf0,0x7f,0xff,0x3d,0x3c,0x00,0x00,0x00,0xe0,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0x27,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0c,0x00,0x00,0xf0,0xe3,0x03,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf8,0xff,0xff,0x7d,0x3c,0x00,0x00,0x00,
- 0xf0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xcf,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x7f,0x1c,0x00,0x00,0xfc,0xff,0x1f,0xfe,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0xfc,0xff,0xff,0x7d,
- 0x7c,0x00,0x00,0x00,0xf0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xc0,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x38,0x00,0x00,0xfe,0xff,
- 0x3f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,
- 0xfe,0xff,0x0f,0xff,0x78,0x00,0x00,0x80,0xe0,0x07,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xc4,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x73,
- 0x00,0x00,0xff,0xff,0x3f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x1f,0x04,0x3e,0xff,0xfc,0x00,0x00,0x00,0x80,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x73,0x00,0x00,0xff,0xff,0x3f,0xfe,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0x03,0x00,0xfc,0xff,0xfd,0x01,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x00,0x00,0xfe,0xff,0x3f,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0xfc,
- 0xff,0xff,0x33,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0x01,0x00,0xfe,
- 0xff,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x03,0x00,0x00,0xfc,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xcf,0x01,0x00,0xff,0xff,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xfe,0xff,0xcf,0x7f,0x06,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xdf,0x03,0x00,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,
- 0xfc,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x80,
- 0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x80,0x3f,0xfc,0xff,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x80,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x3f,0xf0,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0xff,0xff,0x37,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,
- 0x00,0x00,0x3c,0x80,0xef,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0xff,0x83,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xf7,0x07,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x1f,0x00,0xfe,0x83,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0xfe,0xc1,0xff,0x8f,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x40,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x70,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xf8,0xc1,
- 0xff,0x1f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x78,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xe0,0x03,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x07,0x00,0xe0,0xff,0xff,0x87,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
- 0x00,0xc0,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0xe0,0xff,0xe7,0x07,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0x00,0xc0,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x0c,
- 0xf0,0xff,0xff,0x8f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0xbf,0x1f,0x1f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x9f,
- 0xff,0x3f,0x00,0x00,0x00,0x40,0x00,0x00,0xc0,0xfd,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x1c,0x00,0x00,0x0e,0xff,0xff,0x00,0x00,0x00,0xc0,0x00,0x00,0xe0,0xfd,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xf8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0xfc,0xff,0x00,0x00,0x00,0xfc,0x00,
- 0x00,0xf0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0xf8,0xff,0x00,
- 0x00,0x00,0xfe,0x01,0x00,0xf0,0xfc,0xff,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x07,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x78,0x00,0x00,
- 0x00,0xf0,0xff,0x01,0x00,0x00,0xfe,0x03,0x00,0xf0,0xfc,0xff,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf8,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x70,0x00,0x00,0x00,0xf8,0xff,0x33,0x00,0x00,0xff,0x07,0x00,0xe0,0xff,
- 0xff,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xf8,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xfc,0xff,0x3f,0x00,0x80,0xff,
- 0x0f,0x00,0xe0,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0xfe,0xff,
- 0x3f,0x00,0xc0,0xff,0x0f,0x00,0xc0,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xfc,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x03,
- 0x00,0x00,0xfe,0xff,0x3f,0x00,0xe0,0xff,0x8f,0x00,0x00,0xff,0xff,0xf9,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf8,0xff,0xf8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xe0,0x03,0x00,0x00,0xff,0xff,0x3f,0x00,0xf0,0xff,0xcf,0x01,0x00,
- 0xfe,0xff,0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xf9,0x3f,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x07,0x00,0x80,0xff,0xff,0x7f,0x00,0xf8,
- 0xff,0xff,0x01,0x00,0xfe,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x73,0x3e,0x08,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x0f,0x00,0xc0,0xff,
- 0xff,0x7f,0x00,0xfc,0xff,0xff,0x01,0x00,0xfe,0xff,0x5b,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x09,0x08,0x00,0xfb,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0x0f,0x00,0xf8,0xff,0xff,0x7f,0x00,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x03,0x00,
- 0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0x0f,0x00,0xfc,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x33,
- 0x00,0xfe,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0f,0x00,0xfe,0xff,0xff,0xff,0x00,
- 0xfe,0xff,0xfb,0xf7,0x00,0xfe,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xc0,0xff,
- 0xff,0xff,0xff,0x01,0xfe,0xff,0xfb,0xf7,0x01,0xff,0xff,0xdf,0xfd,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0xe0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x18,0xe0,0xff,0xff,0xff,0xff,0x01,0xfe,0xff,0xff,0xf7,0xc3,0xff,0xbf,
- 0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
- 0x08,0x00,0x00,0x00,0x00,0x10,0xfe,0xff,0xff,0xff,0xff,0x03,0xff,0xff,0xff,
- 0xf7,0xcf,0xff,0xdf,0x1f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0xa0,0xff,0xe7,0xff,0xff,0xff,
- 0x03,0xff,0xff,0xff,0xf7,0xef,0xff,0xff,0x6f,0xfe,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x80,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,
- 0xff,0xff,0xff,0xff,0x07,0xff,0xff,0xff,0xe7,0xff,0xff,0xff,0x7f,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,
- 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x10,0xe0,0x0f,0xff,0xff,0xff,0xff,0x07,0xff,0xff,0xff,0xe7,0xff,0xff,
- 0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x01,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0xff,0xff,0xff,0xff,0x0f,0xfd,0xff,
- 0xff,0xef,0xff,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
- 0xff,0xcf,0xf9,0xff,0xff,0x1f,0xff,0xff,0x07,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0x3f,0xfe,0xff,0x83,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0x3f,0x00,0x00,0x00,
- 0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x01,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0x3f,0xfc,
- 0xff,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,
- 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xf9,
- 0xff,0x7f,0x3c,0xfc,0xff,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x78,0xfc,0x7f,0x80,0xff,0xbf,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xf8,0x3f,0x00,0xff,
- 0x9e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,
- 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,
- 0xf8,0x27,0x80,0xe3,0xdf,0xc7,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0x00,0x00,0x00,0x00,0xc0,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0xf3,0x07,0x80,0xfb,0xff,0x83,0xc5,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x40,0xe4,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xfe,0x07,0x80,0xdb,0xdf,0x8f,0x03,
- 0xfc,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x80,
- 0xc2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf8,0x07,0xc0,
- 0xe3,0xff,0x0f,0x01,0xc0,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0xf8,0x0f,0xc0,0xe3,0x3f,0x1c,0x00,0x00,0x7f,0xef,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x08,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0xe0,0x1f,0xc0,0xc9,0xef,0xff,0x03,0x00,0x8e,0xdf,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x80,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xa0,0x1f,0xe0,0x81,0xff,0xff,
- 0x1f,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,
- 0x48,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x7d,
- 0xe7,0x57,0xff,0xff,0x1f,0x00,0xfc,0xff,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x81,0xff,0xff,0x33,0xff,0x7f,0x3f,0x00,0xf8,0xff,0xdf,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0xc0,0x00,0xf0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xff,0x1f,0xe0,0xf1,
- 0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0xe0,0x00,0xf8,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,
- 0xf7,0xdf,0xe1,0xe3,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,
- 0x00,0xe0,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,
- 0xff,0xff,0xff,0xef,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x20,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0x38,0xf8,0xff,0xdb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf0,0x8d,0xf7,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x37,0xfe,
- 0xf9,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,
- 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xe7,0xfd,0xff,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x00,0x00,0x00,0x02,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x37,0xf2,0xc7,0xff,0xff,0xff,
- 0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x02,0x80,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
- 0xc7,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x02,
- 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0xf8,0x07,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x01,0x00,0x00,0x04,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0xf8,0x07,0xff,0xff,0xff,0xff,0xff,0xbf,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x04,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x04,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x03,0xf8,0x07,0xfe,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x08,0x00,0x00,0x00,0x00,0xc0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x08,0x00,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x01,
- 0xf0,0x07,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,
- 0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x0f,0x00,0x80,0x07,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x02,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x01,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0xc0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x01,0xde,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,
- 0x00,0x00,0x00,0xf0,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,
- 0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,
- 0x00,0x00,0x01,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x01,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x01,0x00,0x00,0x00,0x01,0xfe,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0xfe,0x8f,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
- 0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,
- 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
- 0xfc,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,
- 0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,
- 0x00,0x00,0x00,0x00,0xfc,0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0xfe,0x03,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x10,0x00,0x7e,0x80,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
- 0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,
- 0x00,0x7f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x40,0x00,0x80,0x7f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xe0,0x7f,0x80,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xf0,0x7f,0xc0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,
- 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
- 0x00,0xf8,0x7f,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x7f,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0x00,0x00,0x00,0xfc,0x7f,0xc0,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0xfe,0x7f,0xe0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0xc0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0xfe,0x3f,
- 0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,
- 0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,
- 0x00,0x00,0xfe,0x3f,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0x00,0x00,0x00,0xfc,0x3f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0xfc,0x3f,0xf0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x02,0x00,0xf0,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0xfc,
- 0x3f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x00,0xfc,0x3f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x1f,0x00,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x00,0xfc,0x7f,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,
- 0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xf0,0x07,
- 0x00,0x00,0xf0,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0xc0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x01,0x00,0xfc,0x0f,0x00,0x00,0xf8,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x01,0x80,0xff,0x1f,0x01,0x00,0xf8,0xff,0xff,0xff,0xcf,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0xc0,0xff,0xbf,0x01,0x00,0xf8,
- 0xff,0xff,0xff,0x1f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x80,0xc0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0xc0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0xc0,0xff,
- 0xff,0x02,0x00,0xf8,0xff,0xff,0xff,0x0f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0xe3,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,
- 0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x03,0xfe,0xff,0xff,0x0f,0x00,0xf8,0xff,0xff,0xff,0x0f,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x03,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x1f,0x00,0xf8,0xff,0xff,0xff,
- 0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x01,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0x1f,0x00,
- 0xff,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x1f,0x80,0xff,0xff,0xff,0xff,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,
- 0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xd1,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x01,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x4f,0xfe,0xff,0xff,0x7f,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x02,0x10,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xfc,0xff,
- 0xff,0x3f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x7f,0x03,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0xfe,0xff,0xff,0x1f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x01,0xf0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0xff,0xff,0x0f,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,
- 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0x0f,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x01,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf8,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x80,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x7f,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x3f,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xc0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x3f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xf8,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xbf,0xf2,0x7f,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x5f,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1b,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x4f,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xf1,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x6f,0xe8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdf,0x88,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x4f,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x01,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0xe8,0xef,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,
- 0x00,0xee,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0x07,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1e,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0x3f,0x06,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x1e,
- 0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0x1e,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xff,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x06,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x83,
- 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x43,0xff,0xff,0xff,0x3f,0x06,0xfc,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0x0f,0xff,0xff,0xff,0x3f,
- 0x02,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0x77,
- 0xff,0xff,0xff,0x18,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0xc6,0xff,0xff,0xfc,0xff,0xff,0xff,0x3f,0x04,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xc7,0xfd,0xff,0xe1,0xdf,0xff,0xff,0x0f,0x00,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xf7,0xff,0x87,0xff,0xff,0xff,
- 0x00,0x02,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x0c,0x7f,0xb3,0xff,
- 0x00,0x30,0xff,0xff,0x08,0x02,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x30,0xff,0x01,0x00,0xfe,0xf7,0x1f,0x02,0xfc,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x01,0x00,0x00,0x80,0xff,0x01,0x00,0xf8,0xe7,0x1f,0x03,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x80,0xff,0x03,0x00,0xf8,
- 0xfd,0x03,0x03,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,
- 0xff,0x03,0x00,0xe0,0x3c,0xdf,0x03,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0x03,
- 0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x40,0x38,0xff,0x01,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x7f,0x00,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x80,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
- 0xff,0xff,0xff,0xfd,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xe0,0xff,0xff,0xff,0xff,0x7f,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0x7f,0xc0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x7f,0xc0,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0x07,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0xfe,0xff,0xff,
- 0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0xfe,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0xf4,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x0f,0x00,0xfc,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0xfc,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x00,0xe0,0x9f,0x3f,0xfe,0xff,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0x03,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,
- 0x00,0xfe,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xcf,0xff,0xff,0xff,0xe7,0x0f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0x03,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,
- 0x03,0x00,0x00,0x00,0x00,0xfc,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xee,0xff,0xff,0xff,0xc7,0x3f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x9f,0x01,0x00,0x00,0x00,0x00,0xfc,0xff,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,
- 0xff,0x87,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0xfe,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xfc,0xff,0xff,0xff,0x87,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,
- 0x00,0x00,0xfe,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0x9f,0xff,0x03,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x04,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,
- 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xfc,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,
- 0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x38,0xf8,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xc0,0x70,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x79,
- 0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0x07,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xc0,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xbf,0x38,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0xff,
- 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xf1,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x38,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0x8f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x18,0xfe,0xff,0xff,
- 0xef,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0x7f,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0x83,0x01,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
- 0x00,0xc0,0xff,0xff,0xe0,0xff,0xff,0xff,0xff,0xff,0x07,0xfe,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0x07,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x80,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x1f,0x00,0x80,0x1f,0x00,0xc0,0xff,0xfd,0xff,0xff,0xff,0x03,
- 0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfa,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x87,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x02,0x00,0x00,0x02,0x00,0x80,0x03,0xc3,
- 0xff,0xff,0xff,0x00,0xf4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfe,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,
- 0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x01,0x00,0xff,0xff,0x1f,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xf8,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0x1f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x0f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,
- 0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf0,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0x03,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,
- 0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0xff,0x7f,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xfb,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,
- 0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,
- 0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xf8,0xff,0xff,0xff,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xf8,0xf7,0xf9,0xff,0x00,0xff,0xff,0xff,0xff,0xff,
- 0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
- 0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xe7,0xfc,0xff,0x00,0xfe,
- 0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfe,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,
- 0xfc,0x7f,0x00,0xfe,0xff,0xff,0x3f,0xfc,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xe0,0x1f,0xfe,0x3f,0x00,0xff,0xff,0x7f,0x00,0xe0,0x0f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0x7f,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x1f,0xff,0x3f,0xc0,0xff,0xff,0x01,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
- 0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xbf,0xff,0x1f,0xc0,
- 0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x80,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
- 0xff,0xff,0x07,0xc0,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0xff,0xff,0x00,0xc0,0xbf,0x07,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0x01,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0xe0,0xff,0x03,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf4,
- 0xff,0xff,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x1f,0x00,
- 0xe0,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xe0,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xff,0x1f,0x00,0xe0,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xff,0x3f,0x00,0xf0,0xff,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,
- 0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0xf8,0xff,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xc0,0xff,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
- 0x0f,0xfe,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,
- 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
- 0xff,0xff,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0x03,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0xfc,0xff,0xff,0xff,0xff,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0,0xff,0xff,
- 0xff,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x80,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x1f,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0xf0,0xff,0x1f,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0xfe,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
diff --git a/hacks/images/earth.xpm b/hacks/images/earth.xpm
new file mode 100644 (file)
index 0000000..851c89f
--- /dev/null
@@ -0,0 +1,303 @@
+/* XPM */
+static char *earth_xpm[] = {
+/* width height ncolors chars_per_pixel */
+"512 256 40 1",
+/* colors */
+"  c #243C6C",
+". c #22386A",
+"X c #2A365E",
+"o c #28485F",
+"O c #5D544A",
+"+ c #FEFFFF",
+"@ c #9B6852",
+"# c #2B446B",
+"$ c #24447B",
+"% c #D0ECF2",
+"& c #BE8F63",
+"* c #3E5C5F",
+"= c #FBF7DD",
+"- c #1C3C79",
+"; c #786A63",
+": c #244B8E",
+"> c #244484",
+", c #795C50",
+"< c #2B4384",
+"1 c #304D78",
+"2 c #5D5B58",
+"3 c #FCFCF4",
+"4 c #1B3363",
+"5 c #8DD9F0",
+"6 c #233C7B",
+"7 c #74BADE",
+"8 c #D0C89D",
+"9 c #5F6859",
+"0 c #827B78",
+"q c #233C6D",
+"w c #2C3C65",
+"e c #28448C",
+"r c #2C447C",
+"t c #2C3C7C",
+"y c #FFFFFF",
+"u c #1C346C",
+"i c #243466",
+"p c #334971",
+"a c #2C3C74",
+"s c None",
+/* pixels */
+"55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555",
+"555555555555555%5555555555555555555555555555555555555555555555555555555555557555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555",
+"5555555%%5%%%%%%%%%%%%%%%%5%%%55555555555555%55%%%5%%%555555555555555555555555555%%%5555%%55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555",
+"555555%%%%%%%%%%%555555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555%%55555555555555555555555%%55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555",
+"555555%%5555555555557555555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555555555555555%%%%555555555555%5%555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555575555555555555555555555555555555555555555555555555555555555555555555555555",
+"55555555555555555555%%%5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555755555555755575555755555555",
+"55555555577555555555555%%%%%%%%%%%%%%%%%%%%3%%%%%%%%%%%%%%%5%%%%3%%%%%%555555555555555555555555555555555555555555555555555%555%5555555555555555555555555555557557775555755555555555555555555555555555555777777555557577557577775555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555557555555555555555555555555555555555555555555555555555555555755555555555555555555555",
+"5555555555555555%%%%%5%55%3%%3%3%%%%%%%%%333%%%%%%5555%%%555%%%%%%%%%3333333%%%%%5555555%555%%555555555555555555555555555555555%55%55555555555555557777777777:77777777777755757777777777777777777777777777::7777777777777:::::77777777775575555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555557777777777555755555555555555555555555555555555555555555555555555555555555555555555555555",
+"55555555555555555%%%%%%3%%%%3%%3%3%%%%%%%333333%%%%%%%%%%%5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5555555555555555555555555%%%%5%%%%55555555555555777::>>>>>$:$$$6q$6r<>>::::77777777777777777777:7::>$rrrrqq$q$q-$$$>>6$>>$r<::::::::::7777577757555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555777777755555555555555555555575555575777777777775557555555555555555555555555555555555555555555555755555555555555555555555555",
+"5555555555555555555555%%3%333%%3333%%%%%%%3%%%%%%33333%%%%%%%%%%%%%%%%%%%%%%%%%%%55555555555555555555555555%5%5%%%5555%%%55555%%5555577777::::::$u-rr<<<$$q$6qq-qq-q666qqq--<:<::>:::::$$>::::$$<<:rr11:1$r$:::::1::::::<<rrr<::::<:><:::::::777777777775555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555557777777755555555555%5555555775555555557777777777575555555555555555555555555555555555555555555555555555555555555555555555555",
+"55555555555555555555555%%%%%3%%333%%%%%%55%%%%%%%%3%33%%%%33%%%%%%%%%%%%%%%%%%%%%%555555555555555%%%%%5555%5555555555555555555577::11qrr6u.11107700775555577777:0::::::<r>>$quuuqqq qu.qrqurq1:::::<::11::75577777777:7::::::<rqrrrrrrr6rrqqq::::::::::7775555555555555777777777::::::::777777:7::777755555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555777755555555577777755775757575555555555555555555555555555555555555555755555555555555555555555555555",
+"555555555555555555555555555555555%%%55%%5555%%55%5%%%%%%%%%%333%%%%%5%%%%%%%%5%%5555555555555555555555555555555555555555777777111:11:00070077075555555%555%55%5777777::1$>-6::77777::7:$q:77777::7755%55%%%%%%%%%55557777::::::1:rtrttrt$rrrraqq$<<<::777777755555777::11r1<r$<><$<rrrr$$$r>$rr$$$6:<<::::::1::::::7:7777777::::::::::::1:::1::771::::7777777777777777777777777777777777555555577577777757577777777755577555777775555557777757775555555555555555555555555555555%555555555555555555555555555555555555555555555555",
+"5555555555555555555555555555555%%%%%%%5%%%%%5%%%%%55%%%%%%55%%%55555555555555555555555555555555555555555555577::::::1:1<$r1r1q 1775555555555%7755775555555557777011r--$$<7557555%%%55%%577%%%%%%%%%%%%%%%%%%%3%55%%%%%%57777:7777::::::::<rr$ararrrrr<<rrtr::::1:1<r$<<<<<<<<<<<<<<<<<<<<<<<<<<<<<rr1rrtr<<r<rr<rrr$r$$rrrr$r<<<r<<<<<$<<r<1<<<<<::1rr::<<:::<<r<::::::::::::::<e:eee<:::::::::::::e>::77:1<e:::::::::7755557755555555555555555555555555555%%%55555555555555555%55555555555555555555%%%5555555555555555555555555",
+"5555555555555555555555555555%%%%%%%%%%%%%%%%%%%%%%%%%55555555555555555555555555555%%%5555555555555555777:::>666$q---66q100000011p*001007700777000075555555557711$1075575%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%33%%3%%%%%557777777777:1<rrr$aqrtrr<r<<r<rr1r1rr<<<<1<<<<<<<<<<<<<<<<<r$<1<<1rr1rrrr1<1<1<<<<<<<<<<<<<<<<<<<<<<<1:::::7:1<1<11:::::1:7711:1:<<<<::::::<<<r<<<<<<<<<<<<<<<<r<r<<<<r1775577<ar<<rrrr<:7755555555%%%%%%%%%%%%%%%%%%%%%%%%555555%%%%5555555575555555555555555555555555555%%555555555555555555555555",
+"555555555555555555555555555%%%5%%%%%%%%%%%%%%%%%55555555555555555555555555555555555555555555577777::1>6q6666$6$6$r1<$$$p000757770101ip1;0w22000075%%%%%%57011$---<175%33%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3%%%%%%%33%33%55577777:1q6rrrrrrar$rr1<r1<r<<<<<<<1<<<<<<<<<<<<<<1<<11r:11p0007007777011r<<1r<111<<<<<<<<<r<<<<<<<<<:::11<<<1<<1<:1:1:111<<<<<<<<<<r<<1r<1<<<<<<<<<<<<<<<<<<<<<1<<<101177000::1rrrr<rrr11755555%%%%%%%%%%%%%%%%%%%5%%55%%55555555%%%%%%%5%%555555555555555555555555555555555555555555555555555555",
+"555555555555555555555555555%%%55%%%%55%%%%555%%55555555575555555555555555555555575777:::1:::::<<$6q-$$rr$r11::<<$6rr$$qr11020075550012210000075%557755011quuu-<1:1:0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%333%333333355777:::<rrrrrr$raqaarrr<r<r<r<1r<r1<<<<<<<<<<<<<<10700700800002001700111r<<<<<1<<<<<<<1<<<1<<<1<<<<<<rr<1<<<<<<<<<<<<<<<<<<:<:<<<<<1<<r<<<<<<<<<<<<<<<<<<<1<<<<1<<111<1<00777770w::11rrrrt11755%33%%%%%%%33%%%%%33%%%55555555777777555555555%%%%%5555555555555555%555%%%5555%%%%%%%%%%%%%%%%%%%%%%",
+"%%%%%%%%%%5%555555555%5%5555%%%5%%%%%55555555555555555555555555555555555777::::1$>$qqq--q-q-q$$rr<1<$$<><rr1111111aqp1111qr2007070112**p;00075%%575701q-607775%%%3%3%%%%%%3%%%%3%3%%3%%%%%%%%%%%%%%%%%%%%%%%%%%333%3%3333333%%5757:arrrr<rrrrrqq$a$rrrrrr<r<r<r<r<r<<<<<<1<<<1<1p00800000&&0001ra6$rr<rr1<1<<<1<r<<<<<<<<<1<<<<<<<<<<<<<<<<<<<<<<<<:<<<<:<<<<<<<1<r<<<<r<<<1<r<r<<<<<<<r<r<1<<1<<<<r<rr11<<1111:1#wwwrr<<a<7555%55555555%%557755555777777::::::::::777555555555%%%%%55555555555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"%%%%%%%%5555%%55555555%%%%55%%%%%%5%%%5555555555555555555555555555555577:$$-u-q-$q$r6q6$$$rrrqr111016$$$$qa<rar1aw.qrappp waqw11. .p1110007755%%57771$>>>775555555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3%%33333333%33333333333333+%55577:1rrrrrrrrrr$aaq6r$rrrrr<1<r<r<r<r1<<1<<<<r<<<<<<t1a p0pppt6<11rr<<r<<<<<<1<r<1<r<<1<1<<<<<<<<<1<<<<<1<<<<<<<<<:<:<:<:<<:<:<<<rr<<<<<<<<<<<1<r<r<<<<1<<1<r<1<rrrrr1rrr<rrrrtrrrar<11rr<1<rq<::75%%%55555555555575777777::::::::::::::::::77777555555555555%%5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"%%%555555%5555555555%%5555%555555555555555555555%5555555555555555755557555777:$r$$q6r111111r6r$a1rr$r$6r$qwr-q6-6$q6qaap11prq6121<1000700557%5%5:<q--6$>6--1:77555%%%%%%%%%%%%%%%%%%%%3%3%3%%%333333333333333333333333333%577757:w11rrrrrrrrrr$r$tqrrrr<r<rrr<rrrr<rr<rrr<r<<1r<r<<<rrrart><<$<rrr1r1r<1<<1<1<1<1<<1<<<<<<<<<<1<<<<<<<<<<<<<<<<<<:<<<:<<<<<<rr<::11<r<<<<<<<<<1<<1<1<<1r<r<rrrrrrrrrrrrr1rrrrra$::77:1<1r$$rrq q17755555555555555555555555555555557757775575555755555575755555555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"%5555555555%%%%%%555555555555555%5%%%55%%%5%%55%%5%55555555555555755555555557:$6$r11001p1111::<r$qq1::qqr>a111r1<1111 a12221;000122;20000071:7771<$$$>>6>$6<1:555555777775%%%%%%%33333%33333333333333333333333333333333333%%%%57::rrrrrrrr$rrra$qaqar$rrrrrrrrrrrrrrrrrrrrr<rr<rrrr><<rrr<r<<1<rr<<<<r<r<r<1<1<1<r<r<1<<<1<1<1<1<<1<1<<<r<1<<<<<<<<<rr<::::::77771r<<<r<<<<r<rr<r<r<r1rr1rrrrrrrrr$rr<11:111111:1000777:1111;;;1rq:7557777777::::7:7777777775555555%%5%%%3+++33%%55555555555555555555555%%%%%%%%%%%%%%%%%%%%%%%%",
+"%%5555%5555555%55555555555555555555%%%55%%%%55%%%%555555555555555555555%555:$$<>$1<1pp<1r<100000:<<<001::1q1p11101000rrr11r.p000;p1ar w11:77701rq6>>>$>>$>>$6>><<$$>---q->1:75%3%%33%3333333333333333333333333333333333333333%5771111r$rrrrrr$r$qqqqqrrrrrrrrrrrrrrrrrrrrrrr<<r$<r<<rr<1<rr<rr<rr<r1<1<r<1<<<<r<r<1<r<<<<<<<1<r<r<r<r<rr<<<1<<<1rr<:7777777:0:1<1<<<<<<r<r<<rr1r1r1<1rr1<rrrrrr<<11120000000020000;00777070000000p:77:<>$$>$>$6r<6t>e::e::7777577::0;;07007087%%==%%%%5555%%%%%%%%555555555555%%%%%%%%%%%%55%%%5",
+"55%%5%%%%555555%%5%%%%%%%5%%5%%%%%%%%5%%%3%5555%55%%5%55555755555555555577:>$$$6q-q-q-6$t<111111100111111aq1<qaa.101pqr10006w;;00;000075%5%%5%0r$>6$6>$>6$>>$>>6>>>$>>>>>66-u:7533%33333%3333333333333333333333333333333333333%57::1rrrrrrrrrrrr$qaqqr$rrrrrrrrrrrrrrrrrrrrrrrrr1$rr$rrr1r$r<1<rrrrrrrrr<<<r1<<r<r<<<r<1<1<<<<1<<1<r<11<r<<<<<r1:7777711<1<<r<<<<<<<<r<<r<1rr<rr<rrr1<rrrr11220000000;@@00@;00;0;;;;200000000000;1$rqqrrrrrtrrrrtrrrrrrr$::777777770;;00007007550000083%%%3%%%%3++33++33%%%%%%%%%%%%%%%55%%%%%%5",
+"%%%55555%5%55555555%%%%%%%%%%%%%%%%%%5%%%%555%%%%%%%555555555555555577:::$6$$$r1:11:11r<<$q6qte11<tt6q6qqqqaaq$qqqqq$$aarp11q1112#11220221101:uu--6$>6>6>6>6>$>>>$>>>>$>$$>><q-:5%33%3%33333333333333333333333333333333333333%87711rrrr$rrrrrrrr$aqqqqrrrrrr$rrrrrrrrrrrrrrr<r<$<r1<<r<r<r<rr<r<<r<r<r<rr<<<<1<<<1<r1<1<1<r1<r<1<<1<r1r1<<1<1<::777111r<<<r<<1<r<1<<rr<<<r<rrrrrrrrrtrrrrr10@00;00;;000;0;000;2*2;;;;;;;;;;0;1p21a$$$rq6$tr$rrr6$>><<$rrr:::::::7777::::7775555%%5%%5%3++++yy++yy+3%33%++++++333%%%%%%%%%%%%%%%%",
+"3+3%5555%%5555555%%55%%%%%%%%%%%%5%%%5%%%5%%%%%%55%%%5555555557:111>$$666<$$$qq10000000001:r$rqqqq6qq6$6111rq$qq<:111< q2000001ruq11121-$::::1777::-6>$>$>$>>>>$>6>>$>>>r><$r$t$:5%33%33333333333333333333333333333333333858000;11rrrrrrr$r$rr$$rtqq$6r$rrrrrrrrrr$rrrrrrrrrrrr1rr<1<rrrrrrrrrr<rr1rr1rrr<<r<<1<1<rr<1<<<<r<r<<<11<rrr<rr<1r<11701pr<<<1r<1<1<1<1<r<1<<rr<r<<rrrrr<111122;22000;@0000;;;;;;;;;;0;;0;0000;;2p0;;20pp221111q6$>>>12::::::ra::::7777777::::2;;::::::::::77757007000878%%%5%3+++++++++++++++++++++++",
+"5%%55555555555%%577777777775%%%%%%57:77:::::::::<<1::111:::::1$6$$>6r$$$$$$$6q1000000001101001<:<$r1<q11001qqa::110;11rw00;201w a2;;;1p0;0000107755:-66$$6>6>6>>6>>><$>>>$$>$$>$<175%33333333333333333333333333333333333%7711000rrrrrr$rrrrrrrrrtqqqta$rrrrrrr$rrrrrrrrrrrrrrr<$<rrrrrr<r<rr<r<1<1<r<r<r<<<<1<<<<<r<1<r<r<r<<1<1rr<r<<rr<rr:1011<<t<r<rrrr<1<r<1<r110011r11<rr<r1q10000000000000000;0;;;;;;;;0;;00;;;2;;22;;;;;,00000000022:111200;1:01::r$$:::::::::::1p212a<r6>>>-$6q-6q--qq-qq6>:::::775%%%%%%%5555%%%7075555",
+"4rr  177777777557::::$uqq.w1:17557:$---6-66>>6>>>>>$6>>>666>>6>>>>$>$>$$$$$tq100000002<10000000001:001100;1.aa11100;0;1up21.qqqq2;0;;r19;;;;01ppp05%7:$q--6$$>$>>$>$>r>$>><$<$rt>:775%33333333333333333333333333333333%%%8800121rrrrrrrr$rrrrrrrr6$qqa$t$rrr$rrrrrrrrrrrrrrrrr$rr$rrrrrrrrrrrrr<r<r$rrrrr<1<r<11<<<r<<1<<1<r<<rr<rr1rr<rr<100001tr<r<1<r<r<rr1rr$1000000r102120021p2200;;;;@;0;;0;00;0;;;;;;;;;;;,2OOO,,,,;;22,,,;0@@@@@,@@@000;,;222;1::rrrrqq$6>::>>0000000001:001::>$$r6<rrr$$r>:<$r6qa11p1r1aqii44wwX4444ii4",
+"pp.44rr$$$$$$$<r<<$$$6$$6$6-q-u1:<-6$6$>>>><><><<>>><><<><>$>>>$>$<>$$>$$6$6tt1100201u1100000000000000*0;90:qqqq.a1:1*a12;1<qqq 1;2;0222;00;;00;;;08807:11rq66r>6><>$<$<>>$>$>r$::71:053333333333333333333333333333333335000;77::6rrrrrrrrrrrrrrrrqq6q$rr$rrrrrrrrrrrrrrrrrrrrr$<r<r<rrrrrrrr<r$r$r$$r$r$$$r<1<<1<<1<1<<r<r<r<rrr<r<1rrrr:10010:1r<1r1<rrrrrrr<11000000r000p10;00000;2;;@@;;@;;;;0;00;0;0;;;;;,,,22,OO,,OOO,;,,,,;;;;;;0000@08@0;00;;,;1:$q1;2p1121p12000000000000001::<q6>>$$t$$6$66$$$$aqq-qq.qu....444ui.i4wp",
+"211u.qqq66$666666q$6r$r$6666r111*111:1<<$$>$>$>$>>$>$$$<><><>r$>r>$$$tq66$$q$qqqa1qqq$q111010000009;;9999901$rr6qqqw.q1099*91$qaw1222;0000;00002;0,08570770:::66$<$>><$<$<$<$<$>rr$:::17333333333333333333333333333333%%%%5:u:071rrrrrrrrrrr$rrrr6r$qqqt$rrrr$rrrrrrrrrrrr$r$r$rrrr$rrrr$rr$$$rr1p121pp22021<$<1<1<<<<<1<rrrrr1<1rrrr<r<rr<<11101<r<<rrr<rrrrr1;0@@@@001a000000;0000012;;;;;;;;;00;0;92;2222O,,OO22OOOOOOOO9OO2O;;,,;;20;OO,OOO088;;,;00;22;;00,;000000;;;;000000;00000;11:20000011rq$aa6qqqqq.u..444444444.4i1p",
+"44..qqq$6rrr$$$6$$t66$66<11::0002;00000011;011:11<<<1:>>66>r$$$$6$6$6111w11<qq$6qq$6qqqqa:10291:19999***99*9**::< qq$qw09****1aqqqp1112200;2200112000850000857::<$>$<$>$>><$<$>r6>7777:7533333333333333333333333333333%075755711prrrrrrrrr$rrrrrrr$aqrt$rrrrrrrrrrrrrrrrrrrrrrrrrr<rrrrrrr11pp20;00000000002$11$$$r<<<<<r1<1<r<rr<rrrrrr<rrrt<<t1rr111<<1<r$rrr10@00;;01100;;;;;00;@012;;;;;0;,,29;;92992,,OOO,,O,2OOOOOOOOOOO2O2OO;;,,,;;0;9;000;OOO0888&,,088,2,;;;;,,;;0;000;0;;00000000000000;;p$>$rr$q.q. 1wi111ar qww44444",
+"uuu.qqqqtq$tqr$6$$r666$<0000;29;;;;;;;;;;;00;999999;;111::<$6q$111111200010:11011099111$q1101************12*92:awr$10911po*****rr<qqa.100221rw11< 10;;0000;;075:1$t$>$<><$<r><$>$<:77:1p7%33333333333333333333333333333+33357:1rrrrrrrrrrrrr$rrrr$6aqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$r1r120@;9;000000000000000011111r$<rrr<1rrrrrrrr11:1rrrr<rrrr$r11p0000;211r120000;0p100;;;;;;;;@;00;;;,;2222;22,22O,O,,,O,OOOOOOOOOOOOOOOOO,,OO;,,;,08&888&,OO,00888=&O08=0O,,,2,,,,,,;;;;0;;;;;,;;;;;0;;00;;;01011101011111pu100000;;0011pw",
+"pwuuqq6q$6q$66rqr6q1:1000022992922;;;9;;;;;;0000000000001001::2229220;00;000000990999999***0*11*211****p*111111aq<a*99*oqr*****1*01$qq1;;;;0<qq<<qa112;;0000;901q q6$>>r><>r>>><$$66-q$17%3333333333333333333333%%3+%%%5777:6qr<rrrrrrrrrrrrrrrrrr$qaa6$rrrrrrrrrrrrrrrrrrrrrrrrrrr112;20;,O999;00;;00;000000000000001<rrr<rr<1111rr111r<<102r111110110@@@@;@002110;0000p1;;;12;;;;;;;;;,;,,,,O222;,,,,,2OO,,OOOOOOOOOOOOOOOO9OO2OOO,,,;0@@0@,,,20888888@O08@;,,,,,,O2;,,,,,,;;;22,,O22;;;0;0000;2000;0000000000111000000;000000",
+"0;0pa.qqqqqqt$q666q<1000;;22992999;;9000000000000;;20;0;2009000929009,,99999999999999*99990921 1#11#q ***9**####rr##**2#*********01q1100;;;1$6qr$q10011p00;0;0077::<<6r$r$$>$><$>>$r<110%333333333333333333333333507121wa66trrrrrrrrrrrrrrrrrrrrrr6qr6rrr$rrrrrrrrrrrrrrrrrrrrrrrrrp12;;;OO*99O9;;9;9;;;000000000000000011rrrr10011rr<:00000;0000000000000@@;;;;;,;;;000pr0@@000;,;;,,;,;;;,;;,,,,2,O,2OOOOOOOOOOOOOOOOOOOOOOOOO,2000,;;&;,,,,OO0=888888080&@,,,O,,,,,2;;,,O22222,,,O,2;;;;;;0000;00;;00000000000000000000000000",
+";;000;*qq quqqqqqq$quqp;2;22222222200099222099O22929O2299**99999999999999999*999999999999999*9***999*oo9999*****99;9999**99******9;110020000<q$q6q1021rqr0000008%%%71:-$>$r$>$>>r>r<:1205+3333333333333333333+y%01qqqt$rrrrrrrr$rrrrr$rr$rrrrrrr$r$qaqrqrrrrrrrrrrrrrrrrrrrrrrr$rr$rp;@;99*9O999;;;;;999;9;;00;000000000002arr102ar<000000000000000000000;;;,;;;;;;@@00pr;;@@;;;;;;,;;;;;;22,;,,O,,2O,,OOOO99OOOOOOOOOOOOOOO2OO,,;;@022OOOOOOO2O,;080888808&,;;;O2,,,,,,,;,O,,,,2,,,,,,;;;;;;;;;;;;;00;00000;0000000000000;00000",
+"000;000p10::<-qqqquqr1<.wp*oo*229;2922929999999*92999999999999999;9999*9999999***99111992999999*99999*o*999*****99922;99O99*******9;;1122011q6a$66qqqqr1100X;00;;08%777::6rr>r>$>$$<::008+33333333333333+%%%%%51qtrrrrrrrrrrrr$1<$$$$$$$<<$$r$r$rr6qq6rrrrrr$r$rrrrrrr$rrr$rrrr<r$10@;;9*O999;;00;;;;999;9;90;002;000000001<111000000000@;0@;@0;00;00;;0;;,;;;;,,;,;;2a20@@;;;;,;;;;2;;;,,922O99O9,OO2,9OO99OO,OOOOOOOOO9OOOOOO9OOOOOOO9OOOOOOO2OO,8888000&O@88,,OO,,;;,,,,,,,,,,O22O,,,,,;;;;;;,;;00&00;;;;00000&0;;0;;;;;;;;;;",
+";*000000;00000p..11000022222***222*2*299;9999999*9*99999999999999999*999*9*999**1*1>-1*1*9*9999*9**999999999***9**929**O99******22;00111rrqqq$6t$q6qq-10000;;0001XX0070:rr6$$>r>r<$r:75773+33333333333+3%7:711aqrrrrrrrrrrrrr11001rp12p1;001$rrr$rqq$q6rrrrrrrr$rrrrrrr$rrrrrrrr$p0;99OO929;@@@0;;;0;;,;9;;,;;000pa1<111<100000000000@@00;;0@;;0;;;;;;;;,,,;;,;;;;;;;;;;@@@;,,;99;;;;O,,O,,,92,29O99,9,99OO9O9OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO2OO8808388;0&8@O,,O,,;,;,,,,,,,O,,,,,OO,;;;;;;;,;2;0008@08888&@0;2;;0;;00;;0;;00",
+"2u**p1;000012p...wp0;0;0;;22922***9**9292*O*;9OO999*9999999;999999999*9*99******::$***9**9**9****************o*****9999***********20rp;11:$qqtq$611:1:1000*O;;00:>uw111r$$$$r>$>r>rrap017+33333333333%50111qq$rrrrrrrrrrrrrr$111;000;000070;16$rt$6qqarr$rrr$rrrrrrrrrrrrrr$rr$$p;@OOOOOO9;;;0;ar6$1;;;;9;@99;0;01rr11aa1000000;0000@0@;;;;;;;;;;;;;;;;;OO;;9;,;;;;;;;;;;;;,;;29999929,99,9,,99229O9O9O9OOOO99O9OOOOOOOOOOOOOOOO9OOOOOOOOOOOOOOOOO,,@08=8808&8;,O00,,OO2,,,O,,,,O,,,,,,2,;;;2O2;O00O,0800088@;0;;0;;;;;0;;;00;0;",
+"..4uu4ip20144uii..41p1*p*wp222**O*2**22*Oo;0080O*999999*999999999999*9999*9*********9999****99*9****oo*******o***oo***************11 1;0000:-$rqq10011*200100000007$.r$$tr><>$<r>r$r$ta11%+3333333333%7-tr$rrrrrrrrrrrrrrrrrrr<<10000755%5711rr$rqqqqr6rrr$rrrrrrrrrrrrrrr$$$$r2;@,*O9OO9;;@;02$$r20;999,;2;;;@9;011100020000;000;;;;;9;99;;9;,;;;9;;,O,,,,,,2;,;,99;;;;29;999299999O,9,,,,,O99999O2OO99O9O9OOO9O9OOOOOOOOOOOO9OO,,OOOOOOOOOOOOOO*22O;8&8%=388%888800800;;;;,,,,,,,,,,,,OO2O,,O;20&,O58=888088&0;;;000000;002pXi",
+"u4.4u.uuiw..w .i...iuuuuu.w2O2*O*90*9O;100%78%5700O2O9999*9999;9,99999999**99**9999********99999****9***o**o******oo************111 120001*211qqrr1rqqq.p20000000,01<66$>>$>r>r>r<r$<$<:7%333333333+%5:rrrrrrrrrrrrrrrrrrrrrrrrr1*99070001r$r$rr6qqqqa$t$rrrrr$rrrrrrrrrr$$r1p;0,O9O*OO9@@&@02qr1;@;;;;;;;;;;;;;;;000;0000000@;;@@;,99*9999999,,;99,999OO,9O;2,;,99,;;;,O;29,9,,OO9O999999OO99999999OO9OO99OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*2O2;00&088888=%3%8880;;,OO,,O,,,,,,,,OO;,,080088=&80;O@00;@,,;;;0;0;0;;;;w4",
+"4.4.4....44wpp1ri...$>112992**O9O0009O998%8000&88800002OOOO99999999999*99**9***999***991****99***O******ooo****o#***o*2**9*9***rqqqqrq11 r<1rrqqr<r6qq6qq.*0000112;016rr<$<><$<r>r>rrrr::8+3333+333571rrrrrrrrrrrrrrrrrrrrrrrrrrrta1<1t6q$<rrrrr$qqqqqq6rrrrrrrrr$rrrrr$$a1;,,;,,OOO*O9;;&;pa$2;@;9;;2;;;;;;,;,9;9;0@@0000;000;;;9;9999O999O99999O9OOOO9O9999,,,,OO,;,;;9,,9999OOOOOOO999O999O99O99OOOOOOOO99OOOOOOOOOOOOOOOOOOOOOOOOOO2OOOOOOOOOOOOOOOOOOOOOOO,0888=3%80000;OOOOOO,,,O,OO,O080888888OOO,,,OOO2,O,,;88000;080&0w",
+".4.4........iiw....i$1*29OO*22O920O99O20%82O2OO09205%7002;0OOO2OO9999999*******99*9*999*999*********9O9**ooo*oo#oo**o*****9916aqq6q66qqqr11rqa1rr00111111q.r#*;00: 1rq$>>>>$><r>r>rtr$t::73+33+33+%7rqrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$$6$rrrrrrr$r6qq qqrqr$rr$rrr$rrrrrra2;;,999OOOOO9;;;016$rr@@;9O92292222;@,,,9;;@;@@@;;;@;;;;;99999999999999O99,OOOOOO,999;;;;9999,,99,OO99O9O9O99O9OOO99O9O999OOOO9OOOOO9OOOOOOOOOOOO2OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;@083y38%3%8880;;02O,;0;,8,03+==8,,OO0,XXO20;;;;;0%%8880000100#",
+"..4i4......i..ii..ir0222222O****OO99;28%;O*99;009000&08870000;O02999999999O******9***9*9999*1-#1*****O***ooo*ooo*********9*aqq6q6qq6qqqq6wqqqr1ra;;000;001quuu4iw1r$q$$<$<>>>$<r>$t$<r$r::7%yy+++3+7qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$rrrqq  q aaqa$t$r$rt$r$r$r;@,OO9OOOOO,OO;;@0qrrr$2@,222222;2,@;;0,99;1;@@;;;,9;@,,@999999O99999999O9999OOOO,,99O,,;;9O9O9999O9999O9O9999O9O99,O99929O9O2O9OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,OOOOOOOOOOOOOO2OOOOOOOO28@&0&8333==++%88088;088888%%=82*wpO;00242058880888=&,O2Xi44444i",
+"4i4i.i.......i...444p22O22***2****O20700****929988000800850808709999O99*9*********9********>$1*************oo*oo**oooo***2<qqqqq$q$q$6qq6qtqqqqqq2;2;,2,;0011 ..uu.qq$>>>>r>t>$<r<<r<<<<rr6057083+516rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraqq q  qaqqqq$r$6rrrrrr;;,OOOOO9OOO9O9;;;6$rr$;;992;;;0;0&@oX*9,,;;;;;0,,9999,999999O99OO99O99999999OO9OO9O9,9;;;229O999999999999O99999999OO99O99999OOOOO9OOOO,OO,,OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO2OOOOOOOOO;8000,O838&0=88%3==%=+3%%%3=8,Xqq661;*440%=88&;;088,OXi44.4444i4",
+"i4i4i...iwwii.iuuip1wp**2*22*2O92*992;9#*90001q.p120089008820000O99O9999**O*O*****9*9********99**O*********oo*o***o******1qq6q6qa6q6q$6$q$qr6qqqqp0;;;;2;;;00..q...$$q<6r>>>><>$>r$<>r<$<<t6tte17%:-rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr6rraaq q   aqaqaqaqqq$6rr2;,OOOO9OOO9O9,,;@;1r1r2000;0;11p2;00*22,9,9,99;9,999999O999999999OOO999999OOOO9,999999,;,999OOO9999O99929OOOOO9O9O99O999OOOOO99O9O99O,O,OOOOOOOOOOOOOOOOOOO;OOOOO2O**OOOOOOOOOOOOOOOOO200000;,0%=0@,;&88&0&8&8=8888@*.qr$$qq.4088&&*;OwXw;OX44iii4i4ii4i",
+"4....i....w...4..iwp 4wwXp299*O2O2****rq20;### .u444X4X*w*;288087*OO*O99****999**************99*****o****o*******oo***9*91q6$qq$6$qqqq6qqa6qq6$qq1;;;;;;,;;;; 4..uq01$6>>$>r><$><><>r><<$<<<rrrr11r$rrrrr$r$r$rrrrrrrrrrrrrr<rrrrrrrrrrr$rr$rrrr$6$qa    q     aqaqqq$qp,,OOO,2O,2OOO,;;;;01<r$r11******;9,,,;@,,99999,999O999OO9OOO9OOO9999999O9OOOOO9,,99999,,,O999OO999O9OOOO2OO9O99OO,,9OO9,99OO9OO9OOOO,,O,OOOOOOOOOOOOOOOOOO0&OOOOO200;OOOOOOOOOOOOOOOO28;O,,,O08=80O2O0;OOOO2X*;,,@O*q6r$t$6w*8=0X4XiX444444iiiii4i4i4i4i",
+"4.4i4.4..i..i.........u.4p2**2*o*2*901u #.44u.......4.i44iw*00;9070OOOOO2*****O9**9*9****9**9*********O***o*oo***oo*******11q6q6qq6$6$qq6$6r6qqq10;;;;;;;;;;02144#2001$6><$><><<><><>r<$<r><r$rr6q$rrrrrrrrrrrrrrrrrrrrrrrr<rrrrrrrrrrrrrr$rrrrrrraaq  a #a1  a   qqqaqr;,O99*p1;;O2;;;@;*rrrrr11;@,,,;;,,,9;9,OO9,999;0,O9OOO999OOO999999999999*9OOOOOOO999O9O,,99OOOOO9O9OOO999O992999O9O999OO9OOOO9O99OO,OOOOOOOOOOOOOOOOOOOOO,0,;;2;;088;9OOOOOOOOOOOO22088OOOOO0%=&O*#qr  rqrqa66qppp#wrrq$q$wO5=,Oi1X44i.iiii4i4i4iii4i4i4",
+"iii.i.................i.....iwiw**90*#114.........i......iu4X2;;*08000920*O**O***99*****99*999******9*******oo*o*******O**9*$qqq6qqqq6$tqtq6$6qqr10;;;;;;;;;;;;2200000:$>><r<r><r<$<<<><><rr$rr$rrrr$r$rrrrrr$rrrrrrrrrrrrrrrrr$rrrrrrrrrrrrrrrrr$rqaw1 p9;pu     q qqqa12;*r6$$1;;;09;;r$p1r<$221;@,,,*,999OOO99999O;0;,999O99999OO99999O9O9999*OOOOO9,,9*99O99;299O99OOOOO9OOOOO9OO929999999O99999999O999,OOO,,OOOOOOOOOOOOOOOO2;O;,;;;88808092;9OO9O902088080OO28880;#a$raraqar$$rr6666t6$r6r1*O038O..ii...4..4....4.4..i..ii",
+"i4i.4i4..................i..i4 000p410* .....4...i..i...ii.i442;*o;70;800000O279O***99*99*99999*9**9******9o**#*****o*****99o$$$q-q6qqqq$6$a6$6q6-p0;;;;;;;;;;;00;;0;001$t><><<r>r<r><<><<<$r$rr$r$rrrr>rrrrrrrrrrrrrrrrrrrrrrrr$rrrrrrrrrrrrrrrrrrrqr1*99***p.    q  q$qtq61191a;@2;900qp01r$p;;r1@,,9O9,OOO99999O999,,,9OO999O999OO9999O9OO999O*OOOO,;,9999992999999999999O9O9OO99O9999O9OOOOOO22O9OOOOOOO,OO,,OOOOOOOO2OOOO2O9;00;O880080888@200,0888&0080808;98%=0*waarqrqtrr$tr6$rrrr$rr6$OOO7+8022i4i.i....4i4.4..4..4i.4i",
+"...4i.....................44r1002w4.1*..uiu........i.......4ii4****;*OO;0080*O90009O****99,99*99*9***o*9*****oo**oo*o**o*****999*11qqa66qqa6$qwrq$q2;2;;222;;;p;;;;;,;0;:6>>r>r<><$<<$<r<<$rrrr$r<rrr$rrrr$r$rr>rrrrrrrrrrrr>rrrrrrrrrrr$rrr$rrrr$rrara2;9O9*..         q$q10;;p-p;9;;0;r11$rr0@,;;,;,,9999OO9*O999O9999OO9O9;9O99OO9OO9999O999O999OOO;,9,,99999,9,,9999,9OOOO9O9OOOOO,99OOOOOOOOO99OOOOOOOOOOOOOOOOOOOOO2O9OO,,;;08088&888008808808&00;058000O,838&;wq6$r$r$tqr$t$6r$t$6$q$6a2OO53&&OO1w......4..4..4i4i.4..4..",
+".4.i4.4........i........ir1100144u ..u....4.u.......iii.iu....i4w*2**9O2;0280;2**O**99***999999**99**oo*9****o*ooo****o******9999;911$qqqqq$qq11qq1;;222,222;;220;;;2;;;1<>$<r<>r><<$<<<<$r$rr$rr$r$rrr$r$rrr<$rrrr$rrrrrrr<rrrrrrrrrrrrrrrrrrr$rrrr$6a12999o.          q q*999pp*;@;1;1r$<r$1@,@,,,,9,O9O9999OOOOO999999O9O999999999O99999999,99O9OO,,,9,,,,,9;;,,;;,,,,;O,OOOOOO,9O,,99O,OOOOOOOOOOOOOO,,OOOOOO2OOOOOOOOO0OOO,,,0;;880088&,28%%888008888=8&0O0=80ou$r$rqr6r$r$t$r$rqrqr6rq62OO5=@;0Oppw..4.i..i..4.i4i4.i4.4i4",
+"i4.4.i..........i..... q1110w44.................4.....i..4.i4...4499o**9;02O00;;*OO*999**9***9O**999*********o******o#******o**922*;;;1111rqqq qr1;;;22,;OO2,,;;;;2;2;;;;21e66$<>r$>r<$$><>rr$rr$rrrrr$r$rrrr$<<rrrrrrrrrrrrrrrrrrrrrrrrrr$rrr$rrr>r1111p9O99*.q           #29;*0;p;pr6$$rr$r19,,,,,9,,O9999OOO9OOO9999O99O999O9999O9999,9,99,9*OO9O9O99,@,@@@@;,,;@@@,,;;,,;,999,;,,,,,,,9OOOOOOO29OO,OOO,OOO,O2OO2OOOOO282;;OOOO;00;088800888=8808=88==8=80888;*w1rt$qrr$rtr6rr6rt$$$r$r$$r2O0=@O;,,w4.... ..4....4..4.4..4.4.",
+"4i4.4i..ii...i...i4..w11w.ii............4..4.......i..i4..u.i.4..i.wiX**O*OOOO*99229OOO99*O****OO**************oo***ooo**oooo**O**;;122;;;;a q 12;;,2222OOO*o2,,9p;;;;;;,20011r6$666$t$r$$$r$r$r<$r$rrrrr<$rrrrr$rrrrrrrrrrrrrrrrrrrrrrrrrr$rrrrrrrr*9991**O9;*w           u222*21p161r*2;21;,,9,OO9OO9OO,99OOOO9O9999999999,9O9,,99,9;@9,@@;,,9999O,,,9,,@@@@@@@@@@@@,@@,;;,;;;,,,@@;@@,@,,OOOOO2;,9;00O0O;0OOO,OOOOOOOO001090O;,O002888800888&@0;,@;;,,0&80O,,Oop*1$r6$qrr$a$t$r$$rt$t$t$r6*O8&,OO22p4..i. . ....4..4.4..4.4..",
+".4..ii..i.i.......1ai.ii..........................u......ui......4r1#4***9OO*O*29O200;09O29O9*O***29*********o#*oo*o#****oo******9;22;;2;;; ...20;2OOOOOO*****2OO****22;2;2*20p$66qrr$r$r$t$rrrr$rrrrr$r$rrrr<r$rr$rrrrrrrrrrrrrrrrrrrrrrr$rrr$rrr299;;*$r-*9@;2       .  ap*9922200*29OOOO,,,,9,,,,9O9OO,99,999O9O999O9O9O9999O,,,,,;;,@@@@@,,,;;,,,,,,@@@@@@@@@@&&@@,@@@@@@@,@@,@,@@@@@@@,O9OOOOO;2O080000OOO,,OOOOOOO001*,0;O,,;;0008808888&,88=8,,,922O,OO,O9922p22prq116$r$r$trr$r$$$$$6p0802O2u.i.....ii..4.4.4.44..4..44.",
+"..4i4.ii4.....i.wp1i......................4...........i...u.4...4uX;14w*9***2**O2*O22800002OO**99999*****o******o#o#uo***********O**22;;;;911iu*;2**Oo**********O****9*999*22;;0:q6r6r6r6r$r$rr$r$rr$<rrr<$<<$rrr$rrrrrrrrrrrrrrrrrrrrrrr$rrrrrrrrp*;@@p6r**99,;*q    qp;2999OOOOOO,99OOOOO9O,,9;,,,,OOOO99,,,,999O99,9999999999999,@@;@@@@&@,,,;,9,@@@@@@@&&&&&&&&&&&@@;@@,@@@@@;@;@@@@@@@,,OOO,;20&08&&8880,0;OOOOOOO0011000O;;080008=880@00&800&8;OOOOO9OOO9OO22O;,OO**92t$t$t$r$r6r$$$$$$#0000*14.......4.u..4..4...4.u4.4..",
+"4......iwi..w ...i..............................u.....u..........i4ip#44*99OOO**O2OOO;208809*9O9999**************oo*qq*********O2*O*O*2;;;;2p.4w9****OO*****O*****O***2**2O22;;0<qqr$rrrr6r$rrrrrrrrrr$rr$rrrrrrrrrrrrrrrrrr$rrrrrrrrrrrrrrr$rr$rr*99;91r19O999;99#qq.#*9O99*O99O9O,9O99,,OOOO9999O,,,,,,,9,,9,99O9O99999999,99,,,,@,@&&&@@@@@@@@;9;@@@@@@&&&&&&&&&&&&&&&&@@@;@@@@@@@&&&&&@,,,;,,;,;08800,,0880&,;;O2O21*;0;0@O;00880088000088%88&,08,O,,,9OO,OO9OO,OOOO22026$rr$r$r$$$$$t$$$q20;p............4...4... ...4....4",
+".4.ii..wXw...i.i................................u..u....u...4.4.i..4iwii4X99002O2**9*O*20050;*9**999999**O*******oo**1**********Ooooo**2O*292.4#2***Oo**O*******O***OOO9*9O;;;001qqqrt$t$rrr6r$rrrr$r>r$<<rrr<$rrrrrrrrrrrrrrrrrrrrr$rrrrrrr<$rrr199*1rrr29O9999;2aq pOOOOOOOOOOO9,OOO9O,,O,9OO999OOOOOOO9,,99999,,9999,;;99;,,,,,9,@@@@@@@@@@@;;;,,@@@@@&&&&&&&&&&&&&&&&&&&@@&&&&&@&&&&&&&@;@@@,;;;00;008088880;;,O2*1;0;,,00008080&0;0@;,,;088@@;;;,O,,,,@,,;;OOO,,;2222@26rr$rrr>>r$r$$rr$6*,2au q..........4...4.4.4.u.4....",
+"..4....u.ui.i.....i......................u....................4..4.i.4.4iq*900900****O*O*90009O929*2**9************o*9o****o**oO**O*******2*******o***o*o*****o**O*O;9;0;;;;p*a1p.qq$rr$rtr$rrrr$rrrrrrr$rrr<rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr<rrrrr1r6<rrrp*9999;;##pOOOOOOO,OOOOOOOOOOO9O,O9,O9OO9OOOOOOOO,,999,,,@@@,999,;,;;,@@;,@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@,;08888080,OO;OO0%888000,;;;,088&8888@@,,,,,;&08800,,,,,,@@@@,000O;,O;080pr29p$$r$r$r<$r$<r$$$$1pqqqq..............4.4.4...4..4..",
+".u.4.uu......................................u....u..4.......u4.....4.ii4w*;OoO099******OOO080099O***O*9************o9**********ooo********o**OO***OO***O**o***OO2;2;;0;;00pi410w.qqr$tr6r$rr6rrrrrrrrrrr<r$r$rrrrrrrrrrrrrrrrrrrrrrrrrrrrr<r<r<rr<r<rrr1**ppra1rr*OOOOOOO9OO9999OOOOOO,O9OOO9O9OO9OOOOOOO,999,O@@@@@,9OO9@;@@@@@;,,@@@&&&&&&@@@@@@@@&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&@@@80@,,&&8=088;@O,8&0@@;O;,,;@08888@@@@@@,,,,,;88&@,,@@,@@@@,@,0&;0;OO8&,Oqa;,*6r$r$rrrr<rr$r$><r6$qqq-u......u..4..u..4.4...4..u.",
+"....u.uu.u.....i................................................4....4...iX*99********O***O*000o*******O*****************#*O*****o$*********OO***o*OOo*OO*o****9*4i4w11 wiii4100<.qq6r$rr6rr$rr$rrrrrrrrrr$rr<rrrrrrrrrrrrrrrrrrrr$rrr$rr<r<<r<r<<r<r<rr1<6>r11$12O9OOOOOOOOOOOOOOOOOOOOOOOOO9O9OOOOOOO,O,,,OO,,,,@;;,99O9;;9@@@@@@@@&@&&&&@&@@@@@@@&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&@@&8&8&&8@O;00,@;&880;O,,;,,,,@;0&888%8@@@@@@,;,,;888888,,,,,,@,,@,O;,,,2*,8@O2rr,O;r$<r$$r>r><>r$<<>$$6$qq.q...........u.4....u...4...",
+"u.u.uuuuu...........................................u.........4.....4.4.4.4uw292X**O*****O*o0070***O992******************#****O***o********oo**OO**O***O**oO***pp*22ww11iii4w0;;;201q6$t$r$rr6rrrrrrrrrrrr$r$r$rrrrrrrrrrrrrrrr$rrr<rrrrrrrr<<1<<r<<<<<rr111$1999OOOOOOOOOO9O9OOO9OOOOOOOOOOOOOOOOOOOOO99,,,9O99OO9;;;,;,;@@,;;@@&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&@&@,888&8880@,;0&80;0&800000;O,;;0888888@@@&@&@,,@@@088&@@@@;@,@@,,,,OO,OOO208@O*6p;*1r$r$<$$r>r><r>:<$6r66qqqq......u.u.u...u.u...u...u.",
+"...u...................................................4........4..4.4....4.44*9*oO*9**O***;*O00OO**O999*************************$:-$******o****O*O**ooO*o**9*o*OO2;p44iiii 00;;;0;1rqa$r6rt$rr$r$r$rr$rrrrrrrrrrr$rrrrrrrrrrrrrrr<rrrrr<<<<<<<<r<<r<<1<r1999;@9OOOO9OOOOOOOO,OOOOOOOOO999O9,OOOO9OOOOOO,9,;;,O;,9;;@@@@@@@@@;;@@&&&&@&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&@;;,@@,@@88&88;@,;088@880@@0;;;O;88&&888&@&&&&@,@@,&&&880@@@@@@@@@@;,OOOOO22O08&,O1$12r$r<r>rr<$<$>r><>>$<$$$$qqqq.uu.u.u.....u....uu..uuuu",
+".u...u.u............................................................4.4.4..4i4X992*9929*9**;*O*oooO9*O9O*999*2********o**o*****p6::>--$o******o****oOoO**OOO****OO214ii..iiw12122021< qqqaq66r6rqr$rrrrr$rrrr<$rr$rrrrrrrrrrrr<rrrrr<<r<<<r<<<<<<<<<<<<r<11222;9OOOOOOOOOOOOOOOO292;2O9O9,,9OOOOOOOOOOO99;@;&@@@;;@@,@@;@@@@;;@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&&&@00088&80@@@000,0&80;@,,;00&@@@&&&&&@@@@@&&&@&&000&@@@@@@@@,O,,O22OO,,;0;,Orr6p9r<<r<r<r$r$r$<<>r$<t>$t$6qququq..uuu.uuu..u.uuuuuu.u.",
+"..u......................................................4..4..4...4.4...i.i4i4o990;99OO*2*O**2**o*O**O*999999***************ooq1**$-$$#*OO*****o*o**oO*Oo**O**OO,;*. i.ir ii4i4a1i10.   aarqt$6$a$a$trrrrrrrrrrrrrrrrrrrrrrrrr<r<<<r<<<<<<<:<<<<<<<<<r<r<<rr9@;9OOOOOOOOOOO90;0;099OOOO,9999,99999O99O,;;@@,@@,@@@,O*;@@@&@@@&&&&&&@&&&92;;&8&&&&&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&&&&&@&&&0;;@@&888800,,,;0008&0;@&&@@&&&&&&&&&&&&&&&&&;0@@@@@;@;;@,,OOOOOOOO,O00O21>tap,2$<<r<r<r>r><<r<><$>r$r6$6qqq.quuq.u.u.u...u......u.u",
+".u.u.u..............................................................4.4.i4.4i44o99999222**o*00*000*o*O*O*O9**999*****************OO**9;91******o***oo**OoooO****9O2;111  1riiiiiiiii...    wa aaqqq6qq$6r$rrrrrrrrrrrrrrrrrrr<rrrrr<<<<<<<<<<<<<<<<<<<<<<<<<<p,;,OOOOOOOOO;0;20;OOOOOO9OOOO9;;9;,99,;O,,;@,OXo2,@,oiiX9&@@&&&@@&&&&&;;*q-44*8&&&&&&8&00&&&&&&&&&&&&&&&&&&70&&&&&&&&&0&&@,@&&&&&&@&&&&88080;0,@@0@@&&&&&&&&&&&&&&&&&&&&&&@00@@@@@@,@@@,,,OOOOOO,O,O;;p$rr$1*1r<r<r<>r<<<$<>r>r>$$<$r6qqqququ.u.uuuu.u.u..u.u.u.u.",
+"u.u..............................................................4.4.i.....i4i4*;9909OOO*00000800000*o***OOO*99******************OO**$121::1$1OO****OOoo*OOOO**O*9**2*2111#ii.iiii......   w    qqqqqqqqqtr$rrrrrrrrrrrrrrr<rrr<<<<<<<<<:<:<<<<:<<<<<<<<<r<r<r2,9OOOOOO*O90OOOOO,O*9,,9999O9O9;;,9;;;;,;9,*iwiw9@;**w;@@@@&&&@@&&&&@p q .0@&888&&880:::&&&&&&&&&&&&&&&&8&0&&8&&&&&&00&&&&&&&&&&&&&&@@&@&8808@@&@@&@@@&&&&&&&&&&&&&&&&&@,;0&,;@@;;;@@@,OOOOOO;OOOO,;prrrrr11><<<<<r1r><$r>r<$<>$<$t$6qqqq.u.qququ................",
+"...............................................i....4..u....u..u....i.4uiui4i442;900999**20000800;000o00o*O****O*o*************O***o:$9;9*>>11oOO99OO**o*OOOOO*9ow1**9**w4i..iii....... .....  .   q  qaq$qr$rrrrrrrrrrrrr<rr<r<r<<<<<<<<<<<<<:<<<<<<<<<<<rr<r299OOOOOOOO9;OO9O2;*4p*,9,,O,,OO;;;99;;@;;9OXXwwi*;9*pw00&@@&@&&@&&&&;i.i*0&8888&&&88:7::&&&&&&&&&&&&&&&&&&8&&&&&&&&@@&&&&&&&&&&&&&&&&&&@&&@&&&@,@@&&@&@@&&&&&&&&&&&&&&@@08@,,@,;;,;@@@,OOOO,O*OOO,2p>rrrrr2;1>><<<11r<r<rr><$>$<$t$$6qqquuq.qu.q.qu..............",
+".u.u............................................i.i...............4..4.i4i4.iii*;9999999O**00008000802*7*oO***o********************o-99991$$992***1*******OO*o#w4.*;p.i4ii.i................... ..      qqqa6rrrrrrrrrrrrr<<r<<<<<<<<<<<<<:<<<<<<<<<<<<<r<<<<r9,OOOOOO9,OOO*w*O9,,Xi4*@,,O9OOO;;;99;;0;0;X.w.wwwpXi..Xp;@@@@@&&@&&@0ww.w;8&&&&88&880::0&&&&&&@@&&&&&@@&&@&&8&&@&&&&&@00&&&&&&&&&&&&&&&&&&&&&&&@@&&@&&&&@&&&&&&&&&&&&&@;8;,,O;,;;;@,,,,OOOOOOOO;,,a$rrrrr>;,;211<<<><><$<>r>>r>$$>r$66qq ..q.qq..................",
+"...........................i.i..............4.i....u..uu.u.u........i..4i4.4iiw99OO9,9999O2990000;08O008;***O***********O****OO****$>*99*9*pOO91##>#********w4i4i.p#4.i...4........................ .     qqqr$rr$rrrrrrrr<r<r<<<<<<<<<<:<<<<:<<<<r1;0;2****o*9O9OO9**22,2w.44*,O@@*iXo;@@,,OO;;;;;;;;@@*iwiwX.wi.ww.wiX2;@@@@&@@&&0w.w.40888&&888&&@@&&&&&&&&@&&@&@@,@@@@@&&@@&&@&&&0&00&@&&@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@O,,,,,;,,,O;,O,OOO,,O2O,;2r$rrrr$119;,@;9r<<<<<$<>$<$$>$<$$6r$qqqqqu.q....................",
+"................................................i.............u..4.4..4.4.iii.i9999999999999;9220;880;0000**O*O********************$>**9*9O2**>1******oooo*$4i....44........................... ..  ....   qrqtrr<rrrrrrr<<<<<<<<<<<<:<<<<<<<<<<<<r2;;,O999OOO2299O9*u44w...22i2;9,;w44Xw2@;9O,;@;,;;;@94wXww.i4iii.wiwwiX2@@&@@&8=&;i.w.X*&&&&888&@@&&&&&&&&&&&&@@&@@@@&&@@&;;&88&&&0&&&@@@@@;@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&@;00O,OOO9OOOO,,OOO,,2*rp2p$<rrrr<12;2;;p1<<<<<<<><$<<$$$$<$>r$6qqq u...........u..u..u..u..",
+"..u............................................4............u.......i..4.444i4i*99O99;999999;0;O000;0;00080*OO**O9*******O*********1$**O*O1::>1***o***oO*O91...ii....................................... .  qa$t$rrrr$<<r<r<r<<<<<<<<<<<<<<<<<<<<<>2@,,O;,,,,,OOOOO9*.     4;24ip;;@@2*4i4X2@,;;;;;;,@@@wiiiiw*922oXiiii.44;&&@@&&&8&;www4909&8&&&&&&&&&&&&&&&@&@@@@&&@@&&&8&00&888&&&&&@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&&@,200OOOOOO9OOOO,OO,,2p6r<$<<rrrr<<121<<2<e<<<<<>r>$>$$$$6r$rt$66qqqq..........u.............",
+"..........................................................u.......4.iui.4..4ii4o9922990;99;99@8;28000985050o*OO999**99**O*O*O**************o*****o*ooo*O*oow.4........................................... . qq66$rrrrrr<$rr<r<<<<<<<<<<<<<<<<<<<<r>*;;,,;;,,,;;,;2*w  . .  .*2i.iw;;@&02w44*&@;@@@@@@&&&;2**;;@&&&&0;*w*op;@@&@&&@@&8&0  .p1q9&&&&&&&&&&&&&&&&@&&@@@@@@;888000&8&@&@@@@@&&@@@@&0&&&&&&&&&&&&&&&&&&&&&&&&&@&&@@&&&&@&,,,,OOO,O22OO,OOO,,,*6rrr<r<<rr<r<<1p<:e<<<<<<<<>r$r$$6tq6q6$6r6qqququ..........u.u..u..u...",
+"...u..............................................4.............ii.i4iu..iu.4.i*2*0099;;;;29;@8&O8%80o28800OOO*99999999**O*OO*********O***O******ooo*O*o#.4i...4......................................... .  qqaq6r$rrrrrrrr<r<r<<<<<<<<<<<<<<<<rr$p;;,,@;;@;,;;2 . ..    4p&@i...4 *@&&0;X20;;0;02ww;;2O@&@@@@&&&&00&&@@@&@&&&&&88@&&01 w40&@&&&&&&&&&&&&&&&&&&&&;@&@&088888&@&&@&&&&&&&&&&&&&&@@&&&&&&&&&&&&&&&&&&&&&&@@&@&@&&@@@@;;;OOOO2#*OO,OOO,,,2arrrrr<r<<<r<<<9,1:<<<<<<<<rr$t$66qq$qq6666qqqq.q......u.u...........u..",
+"........................................4...............u......4.4......i..4.i4*99**9099;;;;;&&&O08O0009050oO*O9999999999****OO**********O*O***ooOooOO*444..u.................................... .. ...  .     qa6q$r$r<rrrr<r<<<<<<<<<<<rrrrrrrra;@@,,,;@&@@@;w ww2w .  .w&@i...114p@;X2pX0&;@2pwpp,@&&@@&&@&&&&@&@@&&&@@@@&&&@&80@&0w.w.98&&&&&&&&&&&&&&&&&&@&&&0&&888888&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&@;;,2OOO2*a12O222OO22prrrrrrrr<<1<<<r<9,0<:<<<<<<r$r$66qqqqqqqq6qqqqq.u.............u....u.....",
+"..u.......................................................u........4..4i4.4.4.4w999*00;09;;;;@&0O80202;0880**OO999999999;9*O****O*O**O*OOOOOOOO*oooo**w4...u..u........................  ........... ... ...  .  q ra$$rrr<<<<r<r<<<<<<rrrrrrqaqaq2&@@@;;;&&&@&0iww *.  . ip02i   ##.4*&*4iXw0&&0ww w2@@@&&&&&&&&&&&@@&&@&&&&&&&&8&@@&;iw wq0&&&&&&&&&&&&&@&&&@&&&&&&88888&&&&&&&&&&&&&&&&&&&&&@&&&&&@&&&&&&&&&&&&&&&&&@&&&&&@@@@,;,,,922p$$*2pr$r2,02q$rrr<<<<r<<1<<<1,;;<<<<<<rrr66qqqqqqqqqqqqqqqqq......u.u....u...u......u.",
+".........................................................................i.4.i.4o9992809;;;9;;;0;8*OO*;0000*OOOO9*999999;999*****O***OOOOOOOOO*ooooo*Xui....4......................................  . .   .. ..    aqr6r$rrr<<<<r<<<rrr$$rqqaqa  w;&&@@@@&&&&&;i w... . . ... ...ww.w;;Xiiw4*0@@@2w#2@@@&&&&&&00&&&@@&@&&&&&8&&&88&&&X4www.*8&&@&&&&&&&&&&&&&&88&@&0&888&&&&&&888&&&&&&&&&&&@00&&&&&&&&&&@@@&&&&&&&&&@&&&&&&@@,,,,,,OOp$rr61$6rrp9,;026<<<1<r<<<<<<<<*O;r<<<<<rrr6qqqqqqqqqqqqqqqqqqq.u...................u....",
+".u................................u...u.4......4........u............ui...4.4uii4*99*0800;;;;;0000Oo2758800*O*O9999992999999O**O*O*OOOOOO***oOoooo*oo.4.4.iu....................................... . . ..   .  ..    qqarrr$rrrr$rr$rrr$6q       u;&&@@&&&&8&0 .............ii.ip0&&;*Xiww..w;&@;21rp,@@&&@&&&&&&@@@@@@&&&&&&&8008=88;w4..u*8&&@&&&&&&&&&&&&&&&&&&@8008880&&&&&88&8&&&&@&@@@&8&&&&&&&&&&&@@@@@@&&&&&&@&&&&&@@,,,,,,,OO;;w12p1rr$p22,,0*<1<<<<<<1<<rr*,9*<<<<rrr66qqq qqqqqqqqqquq.qqqu.....u.....u...u..u......",
+".....................................u.....4..u............qq......u.......u....4i*992002;@&@;;00029O00;7000*OO9999999999999O***O2O*OO*OOO**OooOoOOoiu....4.u.u..................................... . . . ... . ..    qqaqaarrrt6$r$r6qqq       ..2;2;&&&&&;p4....wwpwXX**XO@;*.Xp;&;4iw.i.iip00w.p1r*,@@@@@@&&&@@@@@&&8&88&&&&&0&888&&;X.w20&&&&&&&&&&@&&&&&&&&@@0&@0&8388@&&&&&&8&&&@,@@;@0@@&@&&@&&&&@&@@@,,,&&&&&&&&&&&@,,O,,,,,O92,2O;921$r$61,OO2rr<r<<<<<<1*22,O*<<rr$r$qqqqqq qquq.ququq.uq.u.....u...u....u......u.u..",
+".................................uiu..............u.u..q.uq....u..u.u..u.uuu.u.u.uX*9920;&&&;;@;0929O22;808;OOO9999999*99999OOO*OOO***OOO*OOoooo****.4.u..u......u....................qq... ........   . . .  . .  ...  qq qqraaqaqaqqqq      . ..w.4ii;2wXXiiiip2;@@@@@@@&&&&&24..4iwi..iw.w.ippw.. ##*p;@2rp;@;XX;&&&&88888&&&&&&&&&&888088&&@@&@@&&&&@&&&&&@@&@&880&0888%80@88&&&@&&8&@@880&080@@@@@@&@@@@@,@@@@&&&&&@@,,,,,,,,,,O2999O921rrrrr$p2OO21<r<<<e<e12;2O99<<<r$r6qqqqqq qqqqq.qqu.quq.uq.u..........u.......u.....",
+"..u...........................................i........u..u.....u..u.u....u...u...4*29;;&&&@@;;@;;;;*2*;0702o*OO9999999999999**OOOOOOO*OOO**ooo*O***#4..4...u....................................... . . . .. . ..           qq  a qw  .   .. ....i...XX2X.w4i00@@&&&&&&&&&&&&80i..w.i.X..i.i.w.i*22*r1prr$1<<#**#p@&&&88&&88&88&&&&&&&&&&8&&@@&&@@@@@@@&@&&&&&08@000&088&&8==8888&00&8%8&88&&@&8@@;00@,,@;,@,,,,,;@@,@@,O,,,,,,,,,OO999992rrrrrrrrr2OO21<<<1p**1*922;22r<rr66qqqq  ..ququ.qu qu.ququ.......u..u.......u........",
+"........................................4.......u.......u.q......u....u.uu..u...u.u4299@&&00@;&;,;;9009*089ooOOO99999O9*29OOO*O*****OOOOOOOoooOOO**w........u.......................q .............. ... . ..  .  .        q             .. ....X.iwi.i&&&&&&&&&@&&&&88&&&88&88&Xi.i....X.wi...w.p20;pwrrrrrrr202r1;&&888&&88&88&@@&&&&&&&&&&&&&8@&&&@@@@&&&00&8&&@;0;O&8%%8@88&8&&&80&888888&&&@&00&80@,,;;;,2,,,,,,OO,,,,,,OOO92O2999;92$$rrrrrr<*O2*1r<11;,O22O2*2111<<r$r$qqqqq.qqq.uquq...ququ.quq..........u...u...u...u..",
+"......................................4.......................u....u.u.....u...u.u.4w**2;;&&@@&@@;0;70o*;00*O*O99;O999999**OO***OO**OOO2*OooooOO*oX.u.u...4.....................................  .. ... . .   . ..                 . .... ...iii.i.i42&&&&88&8&&&&&&888&888880Xi.w..iwi..i..w...w.4 arrrr11r1r1ar*@888888888&&&8&@@&&&&&&&&&&&&&&@@&&&@@@@088800@00;,,0888%88&&8&&&&&&&&&&&&&&&&88&0&88@,,,;,,,,;,,,,,,,O,,,,OO,;999999;9;<rrrr$1112<<1<r22222*2;<<<<:<<rrrr$qqqqu .qqq.q..u qq.u.qq. u.u..u..u...u.......u....",
+".............................4.....u......4..4........u.uuq.....u......u.u.uu.u.uu.u.44p2;&&&@&@@;2;00**2;0*OOO;;;;;9OO99**9OO**O***O2O2*OOOOoO*w4u.....u4.u.....................................   .   . . . . .                .   ..  .......iii4X;&&&&&888888&&88888888888&@w444iiiiXwwXX444iww#w##rr11111rr1#9&&&8888888&&&8&&@&88&&&&&&&&&@&&&&@&&@@@&8@@0808;0@@0;@888=88&&8&@&&&&888&&&&0&&&088%8&@,,,,;,,,,,,,,,,,,,,,,O999999;9O;0$rrrrrr1pe<<122p22211p<<<<<<<<$r$trqqqq .qq.q.qqqq.uuqquuqq.q.......................",
+"................................................4.......q...u.......u.....u.u..u.u......42&;;@&@@&;2O0*oO*;OOOO;;;,;;99OO9O9**9**O*O*2OOO*OOO*o.u..u.u....u...u........................q......... . ... . . . . ...           .     ...w ........ii2&&&&@&&&888&8&&&&88888888888&;;;oiX..iX.4*00244.w#rrr<<<<111r*;@@&&&888888&&&&&&&&&88&&&@&&&&&@@@@@&&&@&&@&00@,,&0@&@,088888888&@@@&&&&&&00&088%808=8800,,,,,,,,,,O,,,,,,,O,22929992;9;0<$rr<<<1<<<<;,;*1pe:ee<<<<<<<r<rrr$r6qqq qququ...qq.quq.u.............u.............",
+".............................u..u..4.4..4....u.............q..u......uu.uu.u.uu.u..u.u..u*@00&&&&@@;90oOOoOOOOO,;;,,;9OO9O229*9**OO**Oo**OOO*#.u.u......4..........u.u..............................   .   . . .   .          .    .........i...iip&&&&&&&&&&&88&8&8&888888888&88&&&8&X4i.X40====0;14i.w1:::::<<$*&&&@&&&888888@&&&&&&@&88&&&&@@&&@@@@@&&&&&@@@,@@,,00&0;;;;88=8=888&@@8@&&88&@&8880088888808;,;O,,,,,,,,,,,,,9999O9999;9*;;0<r<<<<<<<<<<;;1e:<e<<<<<<<>r<$<r$t$r$qq qqq.qqq.qquq.uqquuu.......u.............4..",
+".......................................u...4.......................u....4.u.u..u..u.....u420;20&&&&;229*Oo*OO*O;;;,,,;9O9O9;9*99*OO*OO***OO*o4u.....u..4....u....................................q.. ...  . . . .    ..........   ..............iX0&&&&&&&&&8&&8888888888888888888&&&&;ow4440==888=800;p#$1111112@&&&8&&88888888&&&&&&&@&888&8&&&&@@@@@@&&&&&&@@@@@@&00;9;;00&&=888088&&;@&@@,@&88=8088088%808;08O,,,,,,OO,,O9999999999999;,01><<<<<<<<<e*2<<<<<<<<<<<<<<rrr$rr$t$qqquq.uq.....u.uuqu.q............u...4..4.....",
+"..................................u........................4.i4.u....uu.u..u..u..u..u.u.uuw;;440&&&@;90*O*OOO9,,,@;,99O9OO;;9*99***OOOO**OOOwu....u.....u.......u.......................q...... ....... . . .. .   .           .. .   .....wiiiwiw000@&@@&&&8&888888888888888888888&&88880*40==888888===888@9;888&&&&&&&&88888888&&&&&8&&&8%8&@&&@@@@&@&&&&&&&&@@@&&0@0999;;;,,,8==8888;80@@0&&888800888%88888808;0O,,,,O,OO,O9999;,;9299;9;0::<<<<<<<<<<::<<<<<<<<r<rr<$r$rr$$t$6qaqq uqqqq ...q.q....u...u....................",
+".....................................4......................4.i.i.u....u.u..u..u.......u.u42@pu20&@@@;29OO2OOO;2,,,,O;92;;;;99***4. .X**oO**pu..u...4..u.u.u.......u........................... ..   .. . .  .  .  ..    .....  . ... ..  . i.i.iX@00&&&&&&&8&88888888888888888&&&&&88&&===8==88888888888888&&888&&&&&&8888888888888&22;&&&&&888&8&@@@@&&&&&&&&&&&&&@;@;@;,,@;@;,;&888&8880888880@;00088%3%888%80,,O,,,,OOO,OOO2222;;2;9999;;::<:<<<<<<<:<<<<<<<<rr$r$r$6$t$6ttatqqq  q.u.q.q......q.q.........u.....4..........",
+".........................................4...................4i.u...4.u.u.uu.u..u.u...uw..ui2;p400;@@;2O;;OOOO2;,;,OO99;;pwwpwpp1u4uuu..uoOO*4u....u...........u...................................... . . .. . .               .   .. .i..i1wiii;&0&&&&&88&8&888888888888888&&&&&&&&&&&====8=88888888888888&&0&&@&&&&&888888888888804i40@&&&&&&888&@@&@@&&@@@&&&&&&;@&@@&&@@@@@@,OO;8=8=80088880;;00%=88+3%8880;OOO,,,,O,,OOO9*29;99;;;9999;:::<:<<<<<:<<<<<r<<r$r6$666t$$6$qqqaqqq ... .........................4.............",
+"..................................................................u..u....u.u..u..u..u.w.u.u4*;pw;@&@;O,;;,OOOO;O;,O999* u4u4u..4i.....u.uoO2#u...u.....4............................................. . . . .. .   .    ....  .. ...wpw2 i*;44*0&&&&&&&&88888888888=88888888&&88&&&&&&888=88888888=88=8888&&8&0&0&&&&&88888888888888X.i*&@@&&&&&@&&&@&@@@&&&0@&&@&@&&&&&&&&,@@@@@@@;O;8==88888%%%3=88%888%=800,OOOOO,O,,O99OOO9;;99;9;;99990:<:::<<<<<<<<<<<<rr$rqqaqaqqqqa aqqqq  ...q.........uq.............................",
+"..............................................................i.......u.u.u..uu.uuuu..uu.u.uw10*4X2&@;,OO2;,OOOO;2OO99w44.u.u.uuuu.uu.u..uoO2*u.....u..u.u.u....u...................................  . . . .  .  .  ....    ... . ..wwp*2p*w288&&&&&&&&8&8&&888888=88888888888888&&&88&@@8888&888888888888&88&0020&@&&88888888888888;4.X20&&&&&&@&&00@&@@&&&@@&&0;&&&&&&&&@,,@@@@@;@@,O,008%883=83=&,8&0;000,,OOOOO,OO,O,OOOOO9999999;999;1:::::::<<<<<<r<r<rr6qqqqqqqqq  q   q q ........................u....................",
+"..u.................................................................u..u.u.u..u.u.uu.u..u..ui20014i2@;O2O2,;OOOO22O99*4uu..u.u..4.u..u4..uoOO*.u.uu..u..u.u..u....u.........u........................ . . .  . ..w .w.  ....   . ..  wwi4ww4w888@@&&&&&&&&&&&88=8888888&88888&888888888&,,&888&8888888888888&8&&1 10@&8888&&&8888888889i.4.0&0&00@&&&&@@&@@&@@@@@0&&&&&&&&@@,,;@;;@@;@@,,OOO00&8,;88,O2,OOO9,OOOOOOO,O,OOOOOOOO92999;999990:e::::<:<<<<<<<$r<rrraaq          .  ... ...........................4..4..4..4..4..4.",
+".....................................................................4u.uiu.u.uu.u..u..u.u.u.4w20*44;@OO,;,,;9OOOO*O9*4u4u4.u.uu.u.u.....u.oO*#u ...u..4.u.........................................  . . . .     . ..  .     . .........i.4p888&&&&&&&&&&&&&&&888888&&&&&&&&&&&88&&8&888&@&888888888=88888==8&&&0r$2@@&&&&&&&888888888894w.X*;2*.0&@@@@@0@&&&@@@&@&&&&&@@@@@@9O;;@@@@@@;;;,,,,,,OO,OOOO,,,,O,O,OOOOOOOOO,OO9OOOO9;9;999999::::::::<<<<<r$r<r$$rqqa          . . ...............u.........u..4...................",
+"..............................................................i.i......u...u..u.u..u.u.uuuu.u.44;044p;;O22,;;,OOOO**9ou4.uuu..4.u.u.u..u...X**.uuu u..u.4..u..u....u............................... .. . . .     . .   . ..  . ........iii40888&&&&&&&&&&&&&&&&88888&@&8&&000&&&&&8888&&&&88888888&88=88888888&&91r10;,,,@&&&888&&888880004wi4.0*p00&0&&@000&@@@&@@&&&&@@&@@,;,,;,@@@@@;0@@;@@,9OOOOOO,OO,,,O,,,,OOO,OOOOOOOOOOO9299999999<<<:::<:<<<<r<<rr$rrtaqa   .     .. .....................u.....................u......",
+".................................................................i..4.....u..u.u.u.u.u.....u.u.4;0144w;;O;0,,;9O**O;;.u.u...u.u..u.u.....u.u.w... . .u.u..u..................u..................... . . . . . .   . . . .   .  .......i..4w888&&&&&&&&&&&&&&&&88888&&&8&&8&@00&&&88888&&&&88888888888888888888&&@;$w10,,,@&&&&8&8&88888&804i4w0&#iwwop*02*o*2pp@&@@&&@@@@@,9;@@;,,@@@@@@@@@@;0,;;OO,,OOOOOO,O,,,OOOOOOOOOO,OOOOOO9O99999;1<<21:<:::<<<<rr$rr$r$qqq     .   . .  ........................u..................u....",
+"...........................................................................i........u.u.u.u.u.uuX00$44X;@O;O2O99O**994u..uu.4..u..u.u.u...u.uuuuwouuq.u.u.....................................  ... . . . . . ... . .  .     .   w.X.X.iiX8=8&&&&&&&&&&&&&&88888888&888&&&&&8&&&&8888&&88&888888888&8===8=8888&&&01 #0@;,@&&&&&&&&&&888889w*108&*iXiw.i4i4iX4X42&@&&&&@@@,,9,,@@,@@@@@@@@@;@;0;;22OOO,OOOO,,,,OOO,OOOOO,OOOOOOO2O9999991:<<2O1e:<<:<rrr$rt$trqaqq      .   . .. .........................u....................u.",
+".................................................................i.i...u......u...u..4.4.u.uiui.u4*0r4uX0;O22OOO***O9.4u.u4u.u.u.u..u....uu....i.#....u...u..u.u............................... ....   . . . .  . .w. .  . .  ......i..i40=88&&&&&&&&&&&888888888=8888&&&@&&&8&&88888&&888&&&&888888=====88888&&&&;.#r0@,,@&&&&&&&&&88888&8=888&000*iwwwXXwwXw.w20&&&&@@@,;@@@@@,@@@@@@@@@@@,;09;;99,OO,OOOO2,OO,,,OOO,OOOOOOOO9O2299;2<r1p,2<<<<<r><$r$$$tqqaq         ..     ...............................u..u..u..u........",
+"...............................................................i.......i.4.......ui.4.4.4.4.4..4.u4p14.4X;O,OOO*O****4...4u.u.uiu..u..u.4woooo4uuu4.. .u...................................... ....... . . . . . . ..w.   .  ..  ....iw4w=88&&&8&&&&&&888&88888=88888&&&@&&&&88&8888&&8888&@&88&88888888=88888&&&&&p rr0;;@@&&&&&88&88&888&8888&&090piwXwXwXwwX.4w;@;@@,@@,@@@@;,,@@@@@@&@@@;;;00;;2O,O,O,OOO,,,OOOOOOO,,OOOOOOO929991$rrr*,2r<<<<rr$r$qaqq aq   .      .    ..............................4.............u..u...",
+".......................i....wrii.............................i..............i.....u..4...4.4.4....u44.444w2;;*O*o**o*.uu.u.u.u.4.uuu.u..oowo**oo. u........u......................................... .. . . . . . .     . ..  .....X.iw888&&&&8&&&&&888888&&8888=888&&&&&8&&88&8&&&&&888&&@&8&8888888888=888&&&&&&&*. ;;;&&&&&&&&&8888888888&&&8&&80X.wwwXXXXwwX.2;,@;;@,,;@@,,,@@@@@@@@@@@@;;00:19OO,,,O,O,,OOOOOOOOOOOO,,9O,O9*paaqarrrr21$<rrr$r6qaqq      .....         .     ............................u..u..u..........",
+".u..u.......................#w 1..............................iX.....u..u..4..4....u4.4.4.4.4.4.4.4.uu44wi2;29OOoooo*.4.u.u.u4u...oo4.u... u.ioo*o.4u...u. .i....................................... ... . . . . . .    . . .. ...X.i.4;=88&88&&&&&888888&8&888888888888&&8&88&&&&&&8&&@@@@@&8&&888888888=88&88&@@&@;i.9@08@&&&&&&88&8888888&&88&&&=04X.ww.Xw.XwXiw;@@;2;;;@@@,,@@@@@@@;@@@@;1:1<<1;O,,29OOOOOOOO92OOOOOO**O22Opr  w wa$arrrrrrrrq6qqqq       .  ...         .....  ....................u...............u..u..u.",
+"............................i.Xww#.............4..........i.....i...4.u..u......u.ui.4...........uu4.....i*O*OOOo*o**ou4.u.u..4io*o*ou4......uu.oo*o..4.............................................      . . .   . .   .     ...w..iX4*8===88&&888888888888888888888888&&88&88&&8&88&8&@,,@&8&888888888==88888&&@&&0p.*&000@&&&&&8&&8888888&&88&&804XwwX.ww.wXwwwiX;;X*,,,@,,,@@@@@@@@;@;00>rrrr<1;,,O9,OO2OOOO9992OOOOpqq#2X.i.w. w wqaarqarqrq$qqqw    .  . . ...              . ...  ....................u..u...u...........",
+"..u..............................w# ..........4................i..4...4.u.u.u..u.u.444.4.4.u.uu.uu4u.u.u4i2***oOOo****wu4.4u.44o*oo*.u...u..u...u.oooo..iu..u....................................... ... .. .  .... . .     .... ...i..42==88&8=8=8888888888888888&&88888&&&8888&&88888&@@@@888&8888888888888888&8&@@pwi*000&&&&&88&888888888888880pXww. w..wiwXwiX.X442,,@@;9,@@@@@@@@@@&01rrrr1rr12,;,O,,OOOO2999O92Op. .#*pi....w     wqw$wqqqa q        ..  ..      . .  ...... ..................................u....u....",
+"................................i4*1............i....................4..u.....u.u..u..4.4.u.uu.u4..4.u..uuX9***Ooo*oO*o4.u..uuiooo*ou..u.........u.i...4oo*oo....................................... . ... . ..    . . .  .........wi.i4;=8888888=8888888888888888888888&&&&&888888888888&&@&88888888888888&88888&&&;p.w4p&&&@&&888888888888888888wiww  w wwww.w.wwXwwi2@,@@,,@@@@@@@@@@@1<t111rrrrr#O,9,,OOO,,992929;1. .p;9*i.X.X.. ww w     w     q   .... . .           . .    ......... ...........................u....u..",
+"...u..............................#w...............i.........i........4.i4.4..u..uu.4..4.4.u..u... uu.u..u4Xo****ooOOoooq4u.q ooo*o.u4..u.....u..quu.u..w****o#u.................................. . . .. . . ....  . .  .   ... i.....i*==88888888888888888888888888888&&&&@&888888888888&&&&&&88888888888888&88&&&&;i.w490&&@&888888888888888880w.w. .w.w.wwX.X..wXw41;@@,O,@@@@@@@;@01trrrrrrrrrrw*;,O,OOO,O,9229O;*i .2@;w.w...w ..   wwpaw.        .   . .                ...   ....... ...................................",
+".u..............................................i...i..i.i...4..........4.4..4..u.....4...u...uuu..u.u....uuiwo**Oo*oooooooooooo**o4..u....u...u.**..4.ooo*o..w.o*o............................... . . ..... .    .       ... .... ...iii8==8888888888888888888888888888&&&@&&8888888888888888&888888888888888&8&8&&&&0w.wX0&&&&8&8888888888888&24w.w w  ww  .w..XwX.wip,,@@,,,@@@@@@@@1arrrrrrrrrraw.2;O,;OOO,OO222922w..w*wiw.Xwi.w.w w .2;2       .       . .             .    .. .....................................u.u...",
+"...............................................i....4ii4.4i...........4i..4i.4.u.u.u.u..uu.u.uuu.uuu.u..uu..4u4ioo*0;*Oooo**ooooo*ou4...u....u......4.iiiiiu..i............................................  . ..  ....  .w#.w.. ... ..iw888888888888888888888888888888&&@&@&888888888888888888&8888888888888888&&8&&@&0iw.o0&&&&8888&8&&&&&8804i.w     ww .w w  w.wwiXX;@@,,,@@@@@@@;pqrrrrrrrrrrrwwwO,,@;O2O22;9O2929*.i.iiiiX.w...w..  .9O,w....  .      . .          ....  ....  .  ...............................u........",
+"..u................................................ii.4..............4..4.iui.4.4...u..4....uu.u..u.u.u....uu4uu44p**O*O**ooo**o**ouu.uu..u.u..ui4.4.i44.i...44.i..................... .............   ... ..  .   . ..  .wwrip ....wi.4288&88&88&88888888888888888888&&&&&&&8888888888888888888888888888888888&&&&&&&&0X.ww9&&&&&88&&8&&&&02pw.. ww.w.w  . ww ww wXiw.4,@,,@@@@@@@&0pqarrrrrrra#wwwww;,02OOO229222999OO2w.w.i#.w..X..w.. w2O,w.  . . w               . .      .   .. ................i......................u..",
+"....u........................................i.i........4.4...........4..4.4.4.4.u...uu.u.uu.uuu.u.uuuuu..u...u4u.44wooowwoo***oOo4...#oqu...u.i.ii.4..ii4ii4i.i4...i.i.#......... ................... ...  . .... .       ..ipwi.....i4088888&&8&&&&&&8888&88888888&&&&&&&88888888888888888888888888888888888&8&&&&&&&0*pXi*8&&&888&8&&&824ii.w. w  . . w . w  w .wXwXi2@@@@@@@@@;1wawawwraarwrw#wwww*;pXo,,,2O9OO2O2O2O2..w.X.ww..Xwiw..2O9*i.. .      .   .     .. .  ....  ...  ... ..................i...............u.....",
+".............................................i..i.......................i...4...4u..u..u....u..uu.u..u..u..uu..u..uu44i.4u4X**Ooooo**oo**.4u.i.i4i4i.i.4..ui.4i.i4i.i.ii..........q.... ............  ... .. ..     .       w#w.. .w..i*8888&&&&&&&&&&&8&8&&88888&88&&&&&&88888&8=88888888888888888888888888&&&&&&&&&&&@0*ii*&8&&&88888800wi. w w. w.w w. wwwwww.w w.wX.X;@@@@@@@@wiw#wwwww#a#wwwww.ww.XiXX,,,O,,99999OOOO2ii..w..X. . . 42,2..w....                 .  .    .    . . . ................i..4.4..................",
+"...u....................................i.i...i..........i...4.4....4..4.i4i...4..4.u.u.u.uu.u.u.u.uuu.u.uu...u4.u4.44u4.4.4X****ooo***O*o4..u.4ii.ui4ii.i4..i.i4i4i4iii.w............q..q............... .  .   ....  .     w........4;888&&&&&@@&&&&&&&&&&&&88&&8&88888888888&888888888&8888&&8888888888&88&&&&&&@&&@&&02iX0&8&&88880*wi.w  ..  .w . . .w.w.w w. .X.XXi*@@@@@@@@w. wwwww wwww#w#ww..X.wXi2,,O,;229;,2OO2Owi.w.w..  . . .w2,ow....    .     .    ... . . ... ..... .. ....................4i...................",
+".....u.......................................i...ii....i...............i.4..iu4.4..4..u4.u..u..u...u..u.u..u.u..u..u..4.4.u.uXXXo*ooo**o*o.i4ii4i4.i4..4...i4.i4.ii.i.iiiw.............. ............... . .. .  .     .   . . ... ww.ii&&&&&&&@@@@@&&&&&&&&&&88888&8888888888888887&88888&&88&&&8&&888&&&&88&&&&&&&&&@&&&@*40&&&&80;p4..w.. w www w w.www w w.w.w.w.w.wXX;@@@@@@@pXww ww w#w ww ww.wXiwXXi*,;2;;22;2;229OOoi.....wiw .   .*;*;*pw.  .    .      .        .   .   . . .  ...............i.iii4.u..u.....u..u....",
+"...............................................i..i....4..i.4..u........i.i..i.i.4..4.i.4.u.....u.uu.u.u.u..u.u.u4u4u....u.4.u44iXX*ooo**44i4i4i4i..ii4.i.i.i.4.i4i4.iii..i........... ................. . .. .  . ... ...      . .  ..i0&&&&&@@@@@@@@&&&&&&&&&&88&8888888888888888870&&&&&&&&&&&&&&88&&&&&&88&&&&&&&@@@&&;;2208;**X4iwww. www   w w w .w.ww .ww.w w.X.iX4;@@@@@@@*.wwww wwww wwwwwwpXXXXXXi2,220;;2;;9222OXiww....w.w. . .22ww2pi. . .   . .   .        . . ........ ..  ............i.ii4i4.iiiuiuiu........4.",
+".....................................i...........ii.i..........i...4..4.4i4.4.4ui..4.4u..4.u..u.....u.u..u.u....u..u.uu.u...4....uu o**o*.i4i4i4ii4i.4.ii.4i4i.4i.iiiiiiiii........... .............. .. . ..        . .      .  w   ..i0&&@@@@@@@@,@@@@@&@@&&&&&&&&&&&&88888888888&0&&&&&&&&&&&&&&&&&&&&&&&&&&&@&&&&@,@&&@@;0p*Xi.wwwi44www1w w w.w  w .ww ww.ww.w X.wwXi*@@@@@@@p.w...ww w.w w .wppXwwXX.w2;*X*;,2;2;,9O,o..Xw.ww.w ..w.#w2w ***#.. .      .   ..       . . ........  .   ............i.i4ii4i4i4i..4.........",
+"..............................i.....i.i........4i....i.....i.4...4i..i.i.i.i.4..4i4.4.i.4.4.i...u.uuu.u.u4.i.4u.4u4u4u4u.u.4..iuu..4 o1ooiuiii4ii4i.i.4.ii.4i4i.4i4.4.ii.ii.......................... .  . .     . .. . .  . .     .  .ia00;9,OO,,O,,,@@@@@@@@@&&&&&&&&&&888888888&&&@&&&@@@@,@@@&&&&&&&&@@@&&&&@@&&0;@@@0@0;24iiiX44.p00i wwwww.w w    .w.ww.ww.w.wwww.wXi2@@@@@;iww www wwwww.wXw#pXXXXXX#2;wXiw,,,2;,OO;p.Xw.Xwiw......pwi**pw**.  . .       . . ....... . .......  ..  .........i.i.4.i...iii4i.4i4.........",
+".....................................................i...i......i.i4.i.4.4....4.i..4..4..4.4...u.....u.u..u.u..uu.......u.u.4.u..4..4qo*o.iiiiii4ii4i4i4io*iw.i.i.iii4.i.ii......................... .. . .        .      .       .  . ..a29O99O,,OOO,@,,@@@@@@@@&&&@&&&&&&&&88&&&&&&&@@@@@@@,,@@&&&&&&&@@@@&@&&@&&&@@@@@@@0;&*4wpp0088=8X.w w  w w ww wwww www w w.w.ww.XXo;@&@@;i.wXwwwww.w. .w.wwXXXXXXXw2;iXXi*;,;22;;*iXw.X..w ww.w.pp..2,ow*o....   w.        .      . .      ...  ...............ii4.i.4iii4ii4..........",
+"...............................................i..........i4....4i4ii4i...i4.4.4.i4.i..4..4.u..4.u.u.u..u..u.u.4.uuu.uu..u.4.u.4.u.u.io**o4iiii4i4i4u4.oo*woooo444iiii44..4............... .....  .. . . . .. .    .   . .      .     . .iw;9999O,,O9OO,,,,,,,,,@&&,,@&&&&&@,&&&&&&@&&@@@@@@,@@@@@@@@@@@@@@@@&&&@@&&,@@@@@@@&&&0&&88888=0X. w w. .w .w    ww w.ww..w..w.w.XX;@@@@1iiw w.ww.w.ww.ww.wXXXXXXXw;*iw.X.*92;0*wiw.iwwX.ww.w ..*piww*2**p .. ...w        . a.... . ...... .... ...........i.....i.iii.iii4i4i.4.4...u.",
+"........................................................i.......i4ii4iii.i....4.i...4.4.4...........u.u..u...u.uu...u...u.u.4...4.u..4wo**.ui4...i44io********oopp.i.p*.woii...........  .q   ...   q    .    .          .         .  . ..iw*9999999O92999O99O,,@@;@O,@&@@,,O@@@@@&&&@@@@,,,,,,@@,,@@@@@@@@@@@&@@@&@@,@&&@@&&&&&&&88888=;4.w . www.ww.ww  w.wwww.wwwww.wwwX42@&&2p2iXwwwwiw.w..w.wXXXXXXXXXw;*piw.wwr2;2i.X.XwX...w.i .w*wi  .;2*X*p..             . .    . .     . ... .................i.i.4i4w4ii4i4..4.4....",
+"..............................................................4i4ii4ii4i4i4ii4.4.4i4...4....u.u..u.u....u.u.u4.u.4u4u.uu.u.4.4.4u.4.u.4..o*o.ooooo4uo****OXooo*oOOo**OO*1#qi.......... .q. .       q  q    . .     .       .         ..  ..i1*9;9999999O9OOOO99,,,,9OO@@,OOOO,,,,@@@@@@@OOO,,OO,,,@,@@@@@,@@@@@@@@@@@@@&&@&&&&&&&&888888X.. ww w. w.  w    w ww.ww.w..wwwiwio@&24*@2iw.w...XwiwiwiwXXiXXXXXX;@*iwiwi#0* ..wwX.ww.ww.X.w*w..w..pw4oO*u.           .  .. ... .. ...... .  ................i.iiii4ii i4i4..4.4.....",
+".........................................u......q.............44i4i4i4iiiii...i.4....4....4....u...u.u.u.u.u..u.uu..u...u.u.4.4..u.u......oo**Xioo.io*ooo*oooo*OOo*OOOO**::4i.......  . .. q      q. q qq q                      .    .  ..i12;;9;999OO*99*9999OOOOOOOO,OOOOO,OOO,,O,OOOOOOOOOOO@@,@,@@@O,@,,@@@@,,@@,@&&@&&&&&&&&&&88824ww.w w w w  .w.www ww.wwwwww.w.wwwwi*;X4;,0wiwXwXX.wwiwi.XXwwXXXXXp2,;i.wi.wwiwwww.ww.wwi.i..#w.  ...o9*2O2.. . .    . . .... .   . .   ..... ...................4i4.i.4ii.4.i..4...u..",
+"....................................u....q..u.................44i.4i4iXiXi4i4.4..4i4..4....u.4u..u..u.....u.uu.u.4uu4u4..u.4.4.u.u..u..u.4iioo44X*oooooooo*oo*OO*O**OO****2 4........  q    q q q. .  q q  . q q  .  ......  .        ..  ...10,;;999999**99999929OO,O,OOOOOOOO,OOOOOOOOOOOOOOOO,O,O,O,@,@@,@@@@@@;@@@&&&&&&&&&@@@&&&8&4 .w w w. w .w  .w .w ww w w.w.w.Xww.wiiwi2;;2iXXXwww.....w.ww#XXXXX.w;@w4wwww.wi.X.wiwwiww.wwiw.w. ..*2*OOO2wi. w..    q.    . ...     . . ... ......................i....i..4.4..4.....",
+"..........................................q....q...........4i...4ii4i4i4i4ii.4.44.4..4.u.u.......4.u.u.u.u.u.4u4uu.4.uu.u.u.4.uiu.uu.u.....4i.i.uo*oooooooooo*****Oo*O*OOO@;*4i..... .. q q q q q qq.q q q q  q q         .  .          . r .w12;,9;;99;9999;0;929,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOOO,OO,O,,@@,@@@@@@@@@@@@&@&&&&@@@&&888*.w w w w w.w .w. w w ww wwwwww.w#w.Xwwwwwi2@;*iwwiwX..wiwi.XwwpXXXXXXio@;*iiwXwiww.Xw.XwXiwi.iw2w..w .*i42OOow...  .      ....        . . . ........................4iui..i..4.4.4.......",
+".......................................................4.......4i4X4Xi4iXi4i4i4ii4..4..4.4.4..u4u..4u.u.u.u..u.u.4u.4uiu.u.4..iu..u.u.u..uu..u..4Xoooooooooo*******Ooo*O*o2@;:4i...   q   qqqqqq qq q q     .qq   .   .     .     .     . a   .$1;;;;;9,9;;0;0;0;2**Xo*O,OOOOOOOOOOOOOOOOOOOOOOO9OO,99,O,,,,@@@&@@@@@0@&@&&&&&&&&&&&884w.w.w w.w w w w . w . ww w.w w. w .ww w.wiw;2www.ww.wwiw.ww.wX.XXXXXXXi*;@2.i.w.w.Xw.X.X.wiw..2,*w..##w..p22..i..    .             ...... .........................i........4.4..........",
+"...........................................u.u............i....iii4X44i4i4i4ii4i4.4i.44.4.4..4..4.4..u4..u.u.4u4uu.uu.u.u.u..4u.u..uu...u..u4..u.ioooooooo*o*******oOoOO*OOO;214u.qu.  qqqaqqqqqq qq q q q qq   q.q   .    .      .     . .  . i.w;0;0;;;;;;;;;;* ... .*,,,OOOO9,O9OOOOOOOOOOOOOOO9OOOO,,,@@@@@@&&&@@@@@@@&&&&&&@&&&8*i w w w ww.w.w w w.w.www w www..w #ww.w.w.wwiiw.iwXwX.w.X.X.wXwwi22o*4Xio,,@;iiwX.X.wiwXwwww.i*;,,0*www. .iwp....    .         . . ...i..................................4......4...u.....",
+"......................................................i.i....i.iiiX4XiXiX4ii4ii4.i.4...4.4.4.u4..4.444.u..u.u.4.u4u4u4u.4..u...u.u...u..4.4....iui*ooooooo*o***O**oo*OO****O*O;2;;;21q  qqqqqqaqaqq   q q.  q q.  . .    .       .  .  .         .i1;;2*ra wp*r .     .p0;9;2OOOO9OOOO9OOOO99OO**9OOO9,,,,@@@@@@@@&&@@&@@&&&@&@&&&&804w.w.w ww ww w w . w w w w ww wwwww w.w.w.w.w..ww w.ww.i..w.w.w.iip@@;24iw;,@@*i.ww....w.Xwiio2,,,&,ww. .w. .iw.. .      .        .   .............................................4.......",
+"..u........................................u..........4..i.i..i4iiii4i4i4ii4i44ii.4.4.4.4.4u.4..4.4..4.u.u.u.4.4u.u.u.4u.u..uiu.u.uu..u..4......4ioooooooo***oooooo*oooO*Oo*oO2O,;@@02q qara$6rqaqaqq  q q qq  q q   ..   .      .  .   .         .. r ..   ....        rr .w9999OOOOOOOOOOOOOO**99O,,,,,@,@@@@@;@&0&@&&@@@&&@@@@&&0X. w w w w   w.w www.w w w w.www w www.w.Xw.w ww.wiw. .www.w w w.wwiX,@@*4i9@,@*4wiXi*pi.Xwiip29O2;2w.. w . ..www.w. . .            .. .....................................................",
+"........................................................i...4.i.i4Xii4iXii4i4ii.4.i4i4.4.4.i4..4.4.444ui..u..u.u4u..4uu..4.4.444.4....u....4.4.u.iooo***o**o*ooooo***oOooOo*oOo*O2,;@@0rqrq6$tqa$aqqq q q qq q .           .       .       .        ..                  .. .#w29OOOOOOOOOOO*OO9OO999,,,,@@@@@@@@@@@0&@@@&@@@@@@@&&0X. w w www ww  w.w ww w. www.w w wwww.ww w.w.w.w.wiw.w.ww..w w....w..XX,@;94o@@@*iXw#.ww.X.wwo2O22O;pi. .     .# ...... . .  . .  .     .     .. ..............................u..u.......u..",
+"..........................................u..u...........i.i.i.iiii4iXi4i4.ii4i.i.4i4i4.4.4..4.i.u4u4.4.u4.u.u4u.u.uu4.u..4.44..4.4.u...u.....4.4ioOoo*******oo*o***oo*oO**oOOo*OOO2OO92qatr$rrrqaaqqqq qq qqq q q         .      .        .                            .   .i*9OOOOO9OOOOOOOOO9,99,,,,,@@@@@@@@@@@@&@0&&&@@@@@@&0w.ww ww w ww.w   w w ww  .ww www w.w www.ww.w.w.www.w..w.w.wiw.wwww.wipXX;;;O4*@@;wiwwXiwiii2;29O292;2.. . .w. i.. ipw. ..   .w    .   .. ....... ....................................4..4....",
+"..u....................... .......................u...4......ii.4iiiii4iXi4.4i4i4ii4i4i4444444.4.4...u.4.u..u4.u..u..u.uu..4..4..4.4.4.u....4..4wp29oo***o**ooo**********OO****OO*OO*oo*qr$tr6$trqraqqqqq q q q q q                                     q                 . .w2OOOOOO9*OOOOOOO;,9O,,,,,,@@@;;@@;@@@@@@@&&@@@@@@02X.w.w w # w.w www.w w w ww ww.w wwww.www w www.ww X..w.w.ww...  .w..w...wXo99;;2p2@*iXiw.i2*#9O222292@;w........#w.i**w.... .w.   . .        .  ...............................................",
+"...u..............................................4.4..i.4.i...ii.iXiiiiiX4iiii4i44i4i4i.4.4.44.4.u.u.4.u..u.u4u4u..u.u.uu4..4u.4.4.4.4......u.42*oOo*********o*O********o***oOO**O**O**#$r$rrrtqaaqaqqqqq q   q qq                       .             q          q        .p9,9OOOOOOOOO999,;;;;,,,,,@@@@;;@@;@@@@@@@&@@@@@@0pi.w.w.w wwwww w . w w w.w  w.wwww w.wwww wwww.ww.ww ww.www ww..  wwi..wwiXoX*;9@@2w**iXXwww@@@;229292,;@0wip**pw*;w..;;w..w.w .   w   ..   .. .. .....................................4.......u.",
+".u.......................... ..............u....u......4.....i4i.4X4i4X4X4i4i.4i4ii4i4..44444..4..4u.u.4..u..u..u..u.u.u...444i4.4.4.4...4i.4.4$*oooo*****o*o**o*o***o************O****Oo:$t$rt$r$$qrqaqa qq qq                              .                              .p999O99O,OOO99,,,;;,,,,,,@@@@;,@@@0;@@0@@&&@@@@@0w.wwwww w ww w ww ww.w w w w. w ww.wwww w ww.w.ww.ww wwiw.w.. ..w.w...wwwiw.www9,;@;;*wXiwwio@@@@22229OO@Owi*2**O2;wi.i;2wwi.i....... .         . . .......................................u.u....",
+"............................................q..u..........4.i.i.iiiiXi4i4i4..iii4i4i4i..44.4.i4.4...u.u.u.u.u4.uuu.u..u.uu.4.44.4.4.44.i...4.4p0oooooo***o*o*oooo**o*o**o***********O*O**:>rrrrr6$aaqaq qq  q   q                                     q q q q          . w  .2,9O999,999999,,;;;,;,,,,@@@;;@@;210&@@@@&@@@@@0w.w w w w w.ww w  w. w w . w w ww ww.w.wwww ww.ww.w.ww..ww w.w wwXw.ww.w.w.X.iwwo9;;@;2pwXwiXw@@@@;,2222,@piX*44.Xwii.iw1wwpp1X*pi...     .  .  . . ...............................................",
+"............................................u....u..u.u4.......i.i4444i4iii4i4i4i4i4.4i4.4444u.444.u.u4u.4.u.u...u..u..u.u..4...44.4.i4.4...u4;*ooo*oo**o*oooooooooo*oooo**o**o**O*******1::>rtrr6rqqqqqq qq q                                 . q          .  .            w229,O;,,,,,92,,,;;;;,,,@@@@@@;@@2r<0@@;@@@@@&@;#.ww ww#w w w  w ww w w   ww  w www ww.w w.ww ww.wwww.w w.wi   w.w .wiw....w...w*4*,,@,9pX4Xw.i;@&@,O22O2@;w4w;o*;;2iiiiw*wiwp;@@;*wp*.... ..... w.w..... ..................................4.......",
+"........................................u.....u.......4..4.u.i..i.iiii4ii4ii4iii4i4i4.4.44.4.44..4u.u..uu.4.u.uu.uu.4.u.u..4.4....4..4i4..i.4p2oooo*o***ooo**oooo*o*oo*ooo*o*******o**O****:1#a$qtqaaqaqqq q q q                        q   q   qq    q q       .           .*;;,;,,;,;9,,;,;;;;@@,@@@@@@@@@&2<0@@@@@@@@@@@p.ww ww w # ww.w w  w w ww. w  w ww .w w.www.ww.ww.w.www. w.ww. .w www X .iw..X.i*oX9O@@@9w;wiXwX;&@;O2,,@;iii*&@@;**p2ppi*w4***;@9;w 1po*wi..  . ww.ww..w .....................u...............u....",
+"................................................u...u...........4.i4i4ii4ii4i.4....4..44..444u.4.4.4.4.4.u.u.u..u.uuu.4.4u444i...4.44.4.i4..4;2oooo*oo*o***o*o*oo*oooooo*ooo*oooo*o**********oo#1>t$qqqq   q        .           ..                q                         .p0;;9;,,,99,;9,,,@@@@@@@@@@@;,@@20;@@@@@@@@@;p.wwwww w w w. w.w w w w w  w ww w .w .w.ww w w.w w.w w  ww..w.wwwiw..Xw.w.w.ww...4p.2@O,@,202.pw42&&,O,,@@24ii2@@@p4Xw*p#4Xi4wp4w**;w4#*OO9*pw.i.i...pp ..p# ........................................",
+"...................................................u..u....u..i...ii4ii4i4i..4..4..4..i.4.4.444444..4.4.u.u.u.u4.uuuu..u.44.44444.444i.i4..i400ooooo*o*ooo*ooooooooo*oooooo*oooo******oo*O*o**OO*:$ qqqq w q q                  .        .    q   q q                        .*@,;;,,,,,,,,,@@@@@@@@@@@@@@@@@@@@;@;@@@@@@p.wwww ww.w w w w w.w w w w w w  w w w. ww.ww  ww  wwww  w www.w .w w..w..ww..wi.X..XpX;,,@@@0*#9wiw;;@;@@@&2i.w@@*;;wii4X2*w;;;2iw2,;2#**99*OO92w ..... ...ww*w i............................u.u......",
+".........................................u.u..u.....u..u.u.u.u...i.4i4ii4i4i4.4..4i4.44.i444.4.4..4..4.u.u4..u.u...u.u.4...44i444.4.4.4.i.i44p*o*oooo***oooo*oooooo*oooo**ooo***o***o*OOoO**Oo*O*1O21121 q                       .           q                            . . 4*0;,,,,,,,;,@,@,@@@@@@@@@@;@@@@@@@@;@@@@&;.w wwww w ww w w w w w w w.w w     w.ww  wwwww. .ww w  ww w..w. ww.w.w..wi X ..w ...iXXX;;@@@2iwwwwi4X*ww2@;*iw.*;w,@*iXii2;w2*X;w4p;2;99O**O**O9O91a.... ...iw##w.....................................",
+"......................................u..qu.q........u.u.qu.u..i.....i4ii4ii.i.4.i4i4.i44i.4444444.4.4u.u..4u.u.uuu.u.4.44.4444i4444.4.4i.4i4q1ooooooooo*ooo*o*oooooooooo**o****oooo*o**O******29O,;;,&&;#..                      .         .q                    q    w.    . i*;;,,,,;,,,,@@@@@@@@@@@@@;@@@@@@@@@@@@&@*.www www w. w w.w w..w w.w w www w  w  ww  w w w   www. .wwww. ..w.w .w..w.w..wiw .w.Xiiw;@;@2iw.X.w..i.iXp..wiw4;*w@;wXi.44iiii4wwiXiw29999*O*OOOO**1ri.i...4p*p......................................",
+".................................uquq....u...u..u...u.u.u..u.u.4..4....4iii4i4i.i4i4..4i44444.44.u4.4...4.u..4.4u.4u.4.4..44i4444i4..i.4i4i4#00oo**o*ooo**o**oooo*ooo*oo*oooooo*oo*oo****OO***O*OO,,,O,@@;r..... .             ....                            . .       .  . .  2;;,;;,,,,,@@@@@@@@@@@@@;;@@@@@@@;@@&@;ww.w.www ww ww.w  w   w.w w . w    w w w .w. ww w.www .ww.w..w.w.www.w..ww...w.. . ...i.X.X2;@94iiwwiwX..wwiwwiwi#0oX*;p.wiXiXiXiiXwwwXw4.p*9*****o*OO91..#ww##9*ii  ............................u......",
+"........................................u..qu......uq..uq.....u.....i.4iii4iii4i4i4i4i4i4iii.444444..4.4..i4.u4.44.4..4.4.4i444i444.4.ii4i44p80oo*o*oo*ooooooo*ooo*ooooooo***o*o****oOo*****OOOOOO22,O,@@@211$.w .             .                               ..       . .w...q$1;;;,;,,,,@@@@@@@@@@@@@@;;@@@@@@@@;@@02w.w.w w w  w  w .w .w.w w.w ww   w w w w w   . w w.   w.....w.w.w.w.w.ww..Xww.w.. .w.w iiwi4**2o*w.i.iiiwi.w.X.wwwpp4XpwwiXiiiiii.iw1p#2iX441********2O9*p#**11pX4..1.4.................................",
+".................................u..u..q........u....u....u....u..4..ii4X4i4i4..i4i4i44444.4..4.4.4.44.u4.u.4..4.4..4..4.4444444i44.i4i4..44X0;oo*oooooooooo*oo*ooooooooooooo**oo**********OO*OOOOOOO,O,@@,2**$i               ....   .                               . .  . w. $r;,;,,,9,@@@@@@@@@@@@@@@@2@@@@@@@@@@;@0ww.w.w wwww ww w    w w w w .w w     w w ww www w.  w...w.w. www.w w.w.w.w...w.w.w. ..wii..iiX2@;;2ww**pwpw w.i.XwiwXXiX.i.XiXiXiXi.i4124.ii$*O*****O**O;;#iw#.i...i#1ww................u...............",
+".....................................qu..u.q........q..u...u..........4i4ii.4i.4i4i4i4i4i44.4.44444u.4.4.4.4..4.u..4..4..4i4i444444i4i.4...4.00ooo*oo*ooooooooo*ooooooooooo*oooo***o***oo*OOOOOOOOOOOO,,@@,OO;1iw.            .       .           q                      .   .   .2;;;,@,,@@@@@@@@@@@@@@@@;0@@@@@@@@@@@0p..w.www w w w.w www.w w w ww  w w    w w w .  ww.. wwww... ..w.w.w.w.w.w.w.w.w.w.wwiX...i..iww2,@@;@@@0;*wiwwwi.iXwwXiiXiiww.iX.i*piiXii..i1*22*******O;*4i4ii......iw*. ..............................",
+"............................................u......u..uq.u.u.........4iiii4i4i..4i4i4i4444i4.4...4..4.4.4.4..4.4.4.4i4..4i.4444ii..44.ui....u410oo**o*oooo*oo****oo**oooooooooo*o*********O**OOO2OOOOOO;;,OO,@1..             .         .                              .    .    i#@,;,,@,@@@@@@@@@@@@;@@@@0@@@@@@@;@@@0w w.w w ww www w.w   w w w.w .ww w  w w w.w.wwww ww  w.. .ww.www. w.w.  w.ww.w.w.w....w....iwiiiXp**O;@@;;;pwww#wwwwX.wpwow2pwwwpi2wiiii..iw92;;9O**1#p*O2pi.. i.....iw*.##..............u..............",
+"....................................u.................uq........4...4.i4i4iii4.4..i4.44iii4i4i4.44.4.4.4.4.4.4..4.44.4.4.4.4i4i44..4..........4;2o;9o*oo**o*****ooooooo*ooo***o***o*****Oo*OOOO2OOOOOO,OOOO,,;* .. .          .         .                              w  .  w  ..w;@,,@,;@@@@@@@@@@;;,@;;@;;@;@@@@@@@@0w. w www  w w w  . ww w . w .w  w w  .  w..w w ww.. ww.w.w.www.... w.  . w..w.w.w..w.w.wiwiwii.iii4.4wo*w222*;;;;*p;;2**w*;2*XXiXXXi.X...iiwpw4p;,;;q4iX*O;w4 # ......4w#...w ..........................",
+".....................................................q..u...4.....i4ii4i4iii4i.i..4.i4i4..i4i4.444.u4.4.4.4.4.4..4...4..4.4i4.4.iu4.....4.4...u10o2*o**o*o*oo***o*o*o*ooo*o*o*o*ooo**ooo*o*OOOO,O,OO,OOOO2O,,,Oi..  .                                     .                   .  .p0;;@;,,@@@@@@@@@@;@@@;;@;;;@,;@@@@@@@24w w ww.## w  .w   w w ww w w w   www .w w w w.www w. . ww.wwwww.w.w w ..ww.w.w.w.. ...ii.i.X.w....wiii.iii.wpwX29wwXXX2;2wXiXiiiXiiiXi...i.i.ipp**i. iw**;pw#i.w.i.......pw...........................",
+"..................................................uq..uq..u...4......4.ii4i4i.4i4..i.44i4.4i4i4..44.44.4.4.4.4..4..4u.4.44i4.4..4i...u4........41*ooo*oo*oo*o*o*oo*ooo*o*o**o*oo******OOO*OoOOOO,OOOOO22O**O@@*iw.. .         ...   .                      .            .  .  . . i000;;@;;@@@@@@@@@@;,@@;;;;;0@00@@@@@@;w.wwww.w.ww ww  w.  w w .w w w       w w.   w  w..ww. w. ww w w.w.w.w.w.wwww.w.wiw...w.w.iii.iiwi.i.w.wiw..i.ii.w;9iw4*@X4iXX.iXii.iii.i.i.....4i.4.w..i#*2;*#Xii..i......ww#w.........u...............",
+"............................ .......................qq.q.uq.......4.i..4i.4i4iii..4.i4i4i4.4.4...44u4.4.4.4.4.44..444.4.4.4..i.4..u..u.....u...u10ooooo**ooo**oooooo*o*o*o***ooooo****OOOo*OOOO,OO,O2OOOOO22,2i.... .                 . .   .           .. .                .  . .4*0@;;@;@@@@@@@@@@@@;@@;;;;;@00;@@@@@@@;i w..w.  w w ww  w w w w w w.   w ww . ww.w.w .www. w.www w ww. .w..w.ww.w.w...w..w.w..wiw....X....i.i...X..i...iXwwwpXiXXiiXiXiXX.iiwiiw.ii.i.i#w.....iiiX*X.wwi........4.#p....w.4.......u..........",
+".......... ....................................u......u....u........4....ii4i4i4.i.4ii4i4.4.4i.4.44444.4.4.4.444.444.4.4.i.4u4..4.4.u.u..u...u..40;;*oooo*oo***oo*ooooooo***o***o***ooOO*OOOOO,,OOOOOOOOO*O*p4..X. . .    .   .    ... .        .   ..      ..           .    .  ..p@,;@@0@&0;@@@@@@@@;@;@;;;;@00;@@@@@@@;.w.1ww .w.w..  .w w w w w         w  w.w. ww. ww w.www.w.www..w.wiw..w.www..w.w.X .w.ww...w.......X.w.wi...ii.wi...iwii.iiX.XXX**w1p...q ii.i.i.*o....iii..4.w.wr.i......wwu.......w...u..............",
+"....................... .............u. .u............ququ.......4.i...i4.4..4ii.4ii4ii4i4.4.4.i..4.44..4.4.4444..444.4.44..4.4..u...u.u...u...u4a02OOoooooo***oooooo*ooo**ooOo**oo*oOOOOOOOOO,OOOOOOOOOO99#.. .. . .               . . .                                . .    ..40&;,,@@,;@&@@@@@@@@@;;;;;;;0@10@@@@@;@;iw.##w. w .pp.w w w w w  w w .    w.  w ww www.ww w .wwww.w.www.w.www.w wiw...ww.w..w. .wi.w.w.w...i.i.wiw.w.iii.i......iiXiXXXw*p2;;*2*1iii..i19*i............i.i..i.... w.......i...4...u....u..u...",
+"................ ...... ..................q.u...q..uq.q.q...............44...4i4iii4ii4i4i4.i4i4.4.4.444444444444.444444..44.4..4.u.u....u.u.u...400o9oooooo*Ooooooooo*o*oo*oOO*oo**OOOOOOOOO,OOOO2OOOOOO,;....   .            .. .. . .      .           .         .       .    408@;,;&0@,@&&@@@@@&@@@;@;;;;;;00@;@@@;&;i w.wwr. wu90w w              w w . w . w w www.w. www.w wwww w..wiw.w...wi. .....w.i..w..X...X......w....i.i..i..iii.iXiXiiiX4*;@,;;9;9pi.ii.419*#.. ........iii.i.................4.................",
+"........................................u......u.....qq.uu.....u.......4..4.4.4i4i4ii4i4i4..4.4i4.4444.4444.44.4..4.4.4.4u..4..4...u....u...u....4u022ooooo**oo*o*oooooooo***OO*o***OOO*2OOO,,,OOO2OOOOO2;*u                .       .   w.            .             .         . ..8&,;&&&&@@&&&&@@@@@&@@;@;;;;;0;0;;;;@@@;.ww   ww..200*.   www w w www  w   w. w. wwww ww wwww.w ww w w ww.w.w  wwX. w..w.w..w . ....wX. ....w..X.X.w.w.w.i...i..i.wiX4w2,@;;,92*p....i4*;9p4i. ......ii....................w....4.......u.u...",
+".............................................q..q.quu..uq..qu.......u.4.4..4.44444ii4i44i4.4.4.4.4...44444.4444444444444..4..4444.4....u..u...u.4.410O**oooo*o*oo*ooO*oOOOoO*OOO**OOOOOOOOOO,,,,,O2OOOO,,w...               .    .. .   . .       .  .              .          w42&;;@0&&&&&&&&@@&&@@@@;;;@@;;;;09;;;0;00;iw ww w iw00024 w w       w   w   w. w  w w www www www w www.w.w.ww. ..w.....w. .. .......wi.w..w...w......X.w.ii.iXiiiw*22iq*,,,;;,2922wi.ii4;@92* ........i....i................i......4...........",
+"...................................................quqq.quq..q.........4.4..i...44i4i444i4i.4.4i4.44.4....4..44444i4.4.4.4444u4.4..4.4.....u.....u4<02Ooo*oooo*oooOOO*OOOOOOOOOOO**OOOOOO,,,,,,,,;OOO22;2u. .  ..           . .   .w   w  .          .                       .  408@;00&00&&&&&&&&@@@;;@@;@;;@;;;;;;;@0000w w  ..i#0000; .w   ww w  w     w     w.ww w w.ww ww w w w.w.w .w.w.w ww.ww w..   .. . .w.. w..w... ..w.w.w......wi..wip2OO;2*2,@,;;,,2p4iiiii40@O,@*.......i...i................4wwi4........u.......",
+".....iw ............ ...............................q...q.uuuqq..u....4.4..4.4.4..ii44i4444...4i44444444.4.4.44444444444444.4.444.4..u.4.u..u.u.u..4:02*00o9ooooooOO2OOOO2OOOOOOOO**OOOOOO,,,,,,,;O2OOOO2..  .   ..  . .  .. .w.... .   .            .                . .     ..o88&000000&&&@&&&&&@,;;0@@;;;9;;;;;;00000r. w w.#*;;;000w  ww   w w  w  w   w w  ww www.ww w w.ww www.wwww. .w...ww....w .w. .......... ... .. .w....X.w..i...i.1;,,,,,,@,,;;;,,,@2.4i.i4@@O,,2q.........i...................#ii...4.4.4.4.4..u.",
+"......iww ...................................qqq...qq.qu.q..q..u...4...4..i...4.4.4i4i44i4i.44.4.4.4444.4.4444i4i444.4.4.4.4.4......i4....u......u.u410;;00;*o9oOOOOOOOO,@;,OOOOO***OOOOO,,,,,,,,,O,OO;2*.. .        . . .  . . w     .   .                                  ..i*=8&@0000&&&&&&&&&&@@@@@;;;;@;;;;;;000771.ww w.90;000&0w.w w  w w a ww    ww    ww ww.www w wwww w.w ww.w .w..w .w. w.w..w . ..w. w  . ..  .. ...X..w..i..iwiir19,,,,@,2,,,@,@,,,,,;*i.4#@@O999 i. .......i..................www4...4.4.4.4.u4#r",
+"..........................................ra...qu....q.  ..uuu.q.u...u..u.uiui44.4i4444i44444444444444.4.44.444444.444444444..4u.uu4..u4.u.u.qq...q..4<00008;*0;oOOOO,;,,@@@;,,OO**O*OOOO,;;;;O,,OOOO,,91 . .      . . . ... .  . . . . .                     ..        .   . wi1=&&000&&&&&&&&&&&&&&&&0;;@;;;;;;;0077:1.w  w.#00;000&0  w      a w #   w     w w   ww www w w wwww...w..  . . . w.  ...w.w..... w...... ..  ..wi..XiiX...iiip;;;,@@,,,,,@@@@@@@,@@@@2pu;@O;;99*............................... i.4..4.4.4....w ",
+"........................................u..wrr  .uq .q...u...q......u.u.u..u.4.i4i4i4.444.4i44.4.4.4.4..4u44.4i4i44..4.4....4..4....4u....u...u.q.q..q4.100002;;;OO22,,,;@@@@;,;*OOO*OOOO9;;,2*9O,OOOO2O*.      .     . .    ..                                             ...i*=&&@&&&&@&&&&&&&&&&&&@@&@;@;@;;;;0701..w ww .1;;000002.w  www  aq a  w  w   . . .w. ww w www.w.w .wwwwwww w  w  .w . w... w .....w...w. .w..w..w.i...iXiwXi4w,@,@,,,,,@@@@@@@@@@@@@@,,2OOO,;,O1 .i...........................iw4.i4..4.4.44p1i4",
+".....................................q.......ar  qqqu.qu...q..u.u....q..u.u....u.4..444i444444444u4444u4.4.444444444444.u4.4u.4.u..4..u....u.uuu........4410;9OO;2O22;;;@@&@@;;;*OOOO22O2;;;2O*OOOOO2OOOp..     ..   . . ....  ....... .              .            ..        . .40800&@0&&&&&&&&&@&&&&@&&&@@@;@;;000o.ww   w .1;;;;0&&p w qa w q a w  w . w w www . w w    w.ww     ..w .ww.w ..   .. . . .........X.w.w... ..w...w.X...iiiX42@@@@@@,,,@@@@@@@&@@@@@@@@OOO,,,O*9w.......... ........... .......i.4.4.4.4.4..i ..",
+".....................................w.. ..... qw#qu..u..q.qu..q.....u.u....u.uu...4...44.4.4.4..4.4.u4444.44i4i4..4....4.u..4..4.......u...u.. .u..u....u4:009O00*2;@;@&@&&0@;;2*OOO,,2;;;;;;OOOOO2OOO9w.. . ... .  . . .    .                                          .   . wio8&&&&@&&&&&&&&@&&&&&&&@@@@@0;;;@9p.  w w w w#00;;000. q aqqqqa   wqww  w. w w . w .ww w w ww.  ww. wwwww.w   w   .w w...................... i.ww....Xiiu442&@@@@@@@@@@@@@@@@@@@@@@@@,,2;,99,O;*w............. ..u.........u.4iwi4.4.4.4.4.4i..",
+"........................................r....u....q .q.uquuu.q...u.....uu..u..u..u4.4.44.44444.444444u4uu.44.444.44.4.44u.4.4.4...u.u.....u..q.u.q.u....u.440000000;;;;@@@&@@&@,22OOOOO;;;,;;OO;9OO2OOO*q.   ..  . .. . . .... .......  . . .       ..    .   ..          .. .w.w408&@&&&&&&&&&&&&&&&@&@&&&&@@@;;9w.wwww  w w  0000082. aqq6qa   r#qw   w  w w  w  .w     ww wwww w .w w.ww  . ... . . .w....w........... . .w.w..w.w.4i#1;@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@,,;9OO,,2*r  ..................$ ...u.....4.4.4.4.4.44.",
+"4..........................................u.....u q quuuqq.q.u.q..u....u.uu...u.....u.44i.4.4..4.4.4.444.444..4...u.u..4.u..4.4......u....u...qu.u........40&;70*02@,@@&&&&&@;;2;;;2,,;;,,,OOOOOOO9O991...   ... . . .  .   .      ..  .            .     .   .         w  . . ..w&&&&&&&&&&&&&&&&@2@&&&&&@@@;;@*.w w w  w w.*;;0000p   # $q #rq*r wqw ww.w w w ww wwwww  w w www   wwww.w w.. .w.w    .w. ..w. ..w.. . .. ....Xii qp;;@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@,O;,;,,,,,2.  .q..........u.....*p4.w...i..4.4.4.4.4.4.",
+".......... ..............q.................u.uuq.....q.qqu.quq..u........u...u.u.u.u.u..44444..4.44444.4.u..44444.u..4u.4u.4444.4u.uuu.uu.....q.u.uu.u..u..40&0&500*,;@@@&&&&@@;2;@;9292O22OOOOOOOOO2O,w...... . . . . .. ... ....  ... . ....       .      ... ..  . . . ..w  . .498&@&&&&&&&&&&&&@0&&&&&@@@@@;;;w  w  wwww w0@;0@00w rq www 11 qwqw wq  w w w w  w.w w ww w w w  w..w w   . .w ..... w    w .. ....w... ...... i4w;@@,,,,@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@,OO,,,,OOO,pu  aq..qqu.u.......4.**i. ..4.4.4.4.4.4....",
+"............. ..............q.u..............uqquq.q.ququ..quq.uqu...u..u4.u..u.u......u44.4.4u.4..4.44..4.444...u.u.u4u.4.4.4.4...uu.qu.....uq.quu.....u4i4;80,&092;@&@@&@&&0&;2;@;;22OO*O*OO99OOOOO,p....   .   .w. .  .  . .   . ..     .w        .      .   .        w w   .w..408&&&&8888&&&&&&&&&&&0@&@@@;0@p w w w  w.200;;0&9. a wq q q   w a a  a w w w www w w w  w w      www ww .w . . w.   . .w .  w ..w..   . . ...p;&&&,,,,,,@@@&@@@@@@@@@@@@@@@@@@@@&&&@@,OO,,,,,,O,2q..w ...q.u...........ppi............4..4.4",
+"..4  i....... ...............q...i.i.......quq..qquuuuu .uuqu...u.quuu.u..u4.4.4u.u.uuu.4..4..44.4.4444.4.4.4.4444u4u44444.44444.uuu.uu.....u.uqu.qu......i40&0;;2,2O,@&&&@&&@,;22;;;9**22O*OOOOOOOOO9.... ...  .. .. . . .... .. . . ..... .  .    . ..  . . .. ....    .   . ..w.4280&&8888&&&&&&&&&&@&&&&0&@;@0p w# w  w .*0;,;@0p w  q a a qaqw q   a w   w w w w     ww    w w w.ww.w    . .w .w .  w   .. . . .. .  ......4*88&&&&@@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,O,,,,,,OOO;p.  ..q.qquqq........u.w....4.........4.4.",
+"4....u...................q.u......i........q...u..q..qu.q.q.qu..u....u.u.u.4..4.4...uuuu.444.4.u4.4.4.4.u4.4444u.u4.44.4.4.4.4.4....u u.u......qq...u..4i4i4000;@;;O2O;@@@&&&@2;;;;;;2*29OOoOOOOO,9O;p....   .   . .. .  .  ..  . . .     . .        . .  . .. .    .  .w.w w w ..w40=&&&888&&&&&&&&&&&@&&&&00@0@0* w w   ww #0;;900ww q#a q qwq  awqa# w a a w w w w  w   www     . w ww.w.   w. w .w  .  .w ..  ..... w.w..w..i*&&&&&&@@@@@@@@@@,@@@@@@@@@@@@@@@@@@@&@@@,,,,,,,,O99;2u .....u.u.u.u.................u......4.4",
+".....................u.....uu....iu......u.........q.qu  .uqq.uu.q.u.qu.4.4.4.444.4u....u..444u..4u.i.44.444.4u4u..u.u4..44444444iu..u....u..u....uuiui.4.4w0020&;22,;,;@&@@@;;22;;0222;2***OOOO22**#u   ..  . .. .  . .. . . .. . . ..... .      .       ..  . . . ..w.    .  .w i4;=8&&&&&&&&&8&&&&&&&@&0&&@0;@&;.ww #wwq ww;0;0&;.# wwqwwwq rw # # qwqw w  w. w  ww   w    w. .w   w .w w . .  .w  .   ...w  .w .w. .... ....u0&&&&&&@@@@@@@@@@,@@@@@@@@@@@@@@@@@&&@@&@,,,,,,;,,OOO,*w.....qqqqqu...............u..........4.",
+"..4..u.u.u.u........u......u..u......4............u.qu.. ..u.u..q......u.4.4..44.4.4.4u.4.44.4..4.4.444.4u4.444.u.u4.4u4.44.4.4.4.......u......u.u..4.4iii4w8020@;2O;,@@&@;;,;29;;;;OOO*2*OOOO**w4uu.. .   q . .  . .. .  . . . . . . .w.w .      .   . . .  .w.    .w    .   ..  .ip8=&&&&&&8888&&&&&&&&&&&&0@0&0w w r w arrq20000p  a a w qq q  a qw w w a qw  w   w  w  wwww    . ww.w w .    .  .  w. .   ..  ....w..wX.w.X.40&@&@@&&@@@@@@@@,@@@@@@@@@@@&&@@&&&&&&&&@@,,,,,,,OO,,O,O q...q.u.u.u.u.........................",
+"....u.u.................u...u.u.u...4.4i.....u.......u.uu.q.uqq.q.u.qu.u..4.4.4.4.4.4.4..44.444444444.44u4.44.u4u4..u444.4.444444.4.4.u..u4...u.u..u.4i4i44p&00;0;O2@@@&&;OO2O2;2;292Ooo*oO**#qu....   q  q    . . . w.. . . . . . . . ....   .     .. . .w . . w..     .   .   ...i48=&&8888&88&&&&&&&@&&&&&&02ri w#a waarrrr$10p#a a a  a a q  a  a qq q  wa  w  w  ww.ww w  . ww ...  . . w.      w.  w w.    .   .. ...wii.iw1&@@@@@&&@@,,@@&@@,@@@@@@@@@@&&@&&&&&&&@@@@,,,,,O,,,,,O9* ....qqqu.............4......4..4..u..",
+".u......u...........q..........u....iu.4..i........uquq.u.u.u..u...u....4..4.4.4.4.4.4.4..44.4.4.4.444.4.u4.i4.u4uu4.4.4.44u4.4.4..4...u4...ui4..u4...4i4i4#&0;0@2,;,@@&@,OO0;2OO;;;;****OO*.i........  q      . . ..... . . . . . . .    .   .      . . .   . . w. .  .w. . .w. .w.4088&&888888&&&&&&&&&&&&&&0i ww w ra$rar<rrqq a wq rq   q q  aaa qw w w  a      w  w  .w w .  w   w w.  .  .   .   . .   .w.  . . .. ....i.i#1,@@@@@@@,@@,,;;@@@@@@@@@@@@&@@&&&&&&&@@@&@,,,,,O,,,,,OO2u..q.q.uq.....u.......................",
+"....u.....................u..u......4..i4i....u......u.uq...qq......u.u.u.u.u.u.4.u.4.4.44.444444444.444.4u4u44u.44444444u4.4444444.4u.4.44.4..u...44i..ii41&00@@O2,;;0@@;,,;2222O;;O2Ooo*Owii....   .  .q q q  . .    .. . . ..      ...  ... ...... w  . .      .  .w .w.    .w...4;88&&&&&&&&&&&&&&&&&&&&@&8w  wwa  rrr$<<rrrra r #a  aqa a a   a q qq qwa awa wq a  w w . .w.w   .. .  w     .   .  w . w . .. .w. ...w.i...ip@@@@@@@@@,,@@;,@@@,@@,@@@@@@@@&&&&&&@&@@@,;,OO,,,,@,O,OO......q.q.u.u....u.u.......4......u...",
+"..u.....u.....................u......iii.i4....4...u....uqqu..u........u.u.u.u.u.4.u.4..44.44.4.4.4.444.4u.444.u.444u44.44444i.4.4.4..4..444.4.4...444.4.44;&80@;OO;@@00&@@;,O2OO2,,29o*O*OXi..... ...  q      .. . ...   . . .   .   .   ..   . .    . . .  .  . .w  .   .w .  ... .488&&&88&&&&&&&&&&&&&&0&804ww a arrr$<<<r$raq#a  q aq   q q qqwqwqw qw  a  w q        .w. . w .  w. w . .  .      . .  ... . ..... . ..X....i;@@@@@@@@@@,@@@@@,,@@@@@@@@@@&@@&88&&&&@@@@@@,,,O@@@,O,,wu....q.q......u.....4..4......u......",
+"......u...............u..u.u.u......4..4.ii4i.i...........u..u.u.u.u.uu.u.u.u4.i4...u.4.i.4.444i44444.444i44.4u4u4.444444.4.4.444.4.4..4....4...4.u.i.iii4400&0O,OO,;0@@@@@,2OOOO2;;;;**OO9X...... .  .   q ..     .          .     . . ..  .... . ...    .w      ...   .   . .... . i*88&8=8&&88&&&&&&&&&&&88*.wwwqr ar$<<<<$rqa#q# a a  a r a a # q q qw a  wqw w www w w  w  w  w.    .. w w w . . .  w  .  w. .   ..... ...wi.*@@,@@@@@@@@@@@@@@@@@@@@@@@@,@@@&888&8&&&&@@@,,,O2,@,,O,*4...u.u.....u...............4.....u..",
+"..u......u....................u.u.......i4i.i..i.........uq...u........u.u.u..u..u..u...44.4.44i.4.444.4.4444.4ui44.4u4.444444.444.4.4..4.4..4.....44i.4i4i&0@00;2OO2;;@;;@,*2222;;@,O*O*O2X......  .      q . ..  ..         .    . . . .. w. . ... ..   ..      .   .  . . . .. . .w4*888==88888&&&&&&8&&&80iw w awrrr<<<<<r$aqa a $ q q  qq q q  a a q w a w a   w         w        . w . .         .  .  .  .  .. w. w....w..wi2@@@@@@,@@@@@@@@@@@@@@@@@@@@@@&&88&88&&&&@@,;,,O,,,O,;;pu....uq...u....u.u..u....u...........",
+".....4.u.....................q........u..............quuu...u...u.u.....u.u.4u.uu.uu.u4u..444i444444.4444u..4u.uuu.u4..4.4.4.44i.44....4.4..4.i4.4i.i4i.i4p&&;0;22OO2;;;@@@,2,,,;;;;,O*OO9p............. . .  .  .. .             .        ..   ..  .  .    ....    .    .  .  .   .   488888&&&88&&&8&&&&&824 w aa#qrr<<<<<rr$q#qw$aawqw$ q# a a aw q w  q w a w w   w w w w   w  w  ww .w   . w.w. .        .  ..  ..... . .....42@@@,@@@,@@@@@@@@@@,@@@@@@@@@@@&&&8@888&&&&@&@,,,,,2;;0q....u.u................u.........u...",
+"..4u....u....................q..u....u...u.i.4.i...u...qq......u.......u.u..4.4..u..u.u..4u.444.4.4.444.u.44.u4uiu.4.4.44444444i444.4.i.4..4..4.i..i4i.i442&02;O,2O;0;;;@;;2;;,2222O,9***1u...........  ...  .. ..  .             .     . ..   . .. . .   ...  .       .  .   .      ..4;88888888&&&&&&&&&804ww w# arrr<<:<<rr$ aq#q $ q q $ q q qw  qwa   wwqw a    w         w  w   w .  . . w    w .w. .  .. ..  . .w.w.. .. ...*@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@&&00&@&8&&&@&&@&@,,;;92......qu....u..u....u.................",
+".....u4.......u...............u................4......u.qquuq....u..u.u.u4.u4...u.u4.u.uu.u4u4.444444iuu4u.uu4.444444444.4.4.4.44.444.4.44..4.4.4.4i4i.4i4*&O;0,,;;0;@00@;2O;@,O22*OOO*1:......... ... .   ..  .. ..     ..   ...   .   . . ...  . .    ..   . .....     .   .   w  w  .4&8&888&&&&&&&&&888a.w #qq$rrr<<<:<<rrqa w arw wr q a a a aqr   wawq w a  w w  w w w w       w.  w   w  . .. .   w  .. ..w.. . .... .......w,,,@@@@@@@@@@@@@@@@&@@&@@@@@&&&&8;@@@&&&&&&&&&&&&,;2;14..........u.....u....u..u.u.......u..",
+".u.4.....4..u................................i4...4.......q..u............u..u4.u..u..u..u4.444i.4.4.4u4.u4..u4.4.4.4.444444444444.44.4.44.....4.4.4i4.i440@O00@;@@@@@@;@;oO@;O22OO*OOO:$i........   .. ..  .....  ....   .     .   .   . . .. . . .w..  ... .  .  .           .  .  w.w.p&8888&&&&&&&&8=8X.w w rrqrr<:::<<rrqa#qqw qr  arwq q q q  qw$   w   w w             w w w       w.   w w .w .  . .w.. ..w. ... ..w.......42;,@@@@@@,@@@@@@@;;2*2X2@@@@&8&@&@@@@@&&&&&&&&&&&,,,@pu.....u.......u..................u....",
+".......u..............uu.uq.qu.uu.uuquu.u.uqu........4.....uu.uu.u..u.u.uu.uu..u.4u.uuuuuu.u...u.u4..uiu4.4uu4uuu4uuu.u...4.4.4...4..i.....4.i..4.4.4i.4i42;;;O@,@@@@@@,;2*,,O*OOO*OOO1$............ ...  .. ...... .  ..    ... .   ..   .  .  ..  .   .  . .   . . ..w.  . .  .     ...*&&8&&&&&&&&&&8&w.w w#qarrr<<<<e<rrrrqa  a$wqwa q qwqwww#qaq wqwa  aq aa w w w w w w         w    w .  . w .w w. w .w.. .w.w.w.. ...w.....u2;,,@@@,,,,,@;2wwwiii4.iiw2&@&@&@@@@@@@&&&&&&&&&@;,&24...................u.u...u..........u.",
+".4u...4......u.........qqq.u..u.quuq.quququ..u...u..4u....u.quuqu....q....u.u.uu.u.u.uu.u.uu.u4.4u.uu4uu.4.4u.4.4u.4u.4u.4444444u4.4iu.4iu4.4....4..44.i44p;00O,,@@@@@;;O*OOOOOO***OO*$............q.qq  ..  ....   . ..     .   .  ..   .. . ... . . . . . .   .  . .w .     .    .w.  .*8&&&&888&&8&80..w wwqarrr<<<<<<<rraq #qwr aqwq a a qw qw r q  w  w qw a             w   w  w    aw   w ww.w . .w   ..w. .w..w. ..w.w.w.i..;;@@;,,;;@@@;wi.......i...X;&@&;@@@@@@@,&8&&&&&&&@@2i.......qu....u...u..........u..u...u...",
+"...4.............u..uq.u.u.quu.qu..quu.u.u......4........u.q....qq..u.uu.u...u.u..u.u.uu.uuuu4u..uuuuuuuu4uu4uu4..4u4..u44.4...4444.ui4.4..4.4.4i.4.i.i4i42;08O,@@@@@0@@,**OO***o*OO::i .......... .qqq .. .... . ..  . .    . .. ..  .... . ..  . . .  .. . . . ..   .. w. .  . ..   w wi0&&&&&&0&&00p4aaww rwrrr<<<:<<<rraq$wqw qwq q#a q qw aw a qaqa $wqww w  w w www w w   w q w  a w    w w  ww.  . .  w . ..i.X.wi.     ...i*;;@,@;22**22X....w...w..  .i@&2;&@@@@@@@@&&&&&&&@@;wu.....uq...............u..u........u..ui",
+".....u..u............qquq.uquuq.q.uququq.uq.u.u.......u....qu..uu.......u.u.u.uu.uuuuu.uu.uuuu.u.4.uuuuuuu.4.4uu44.u44.4.4444.4.4.4.4..4.4.4..4.4..4i4ii44;290,@@@@@@@@@;O*o**oOO2;*1.......  q   . .qqq q   .. .  .. . .    .  .  ..   .. . .. . . .w.  . . . .  ..    .w   .    w     ara;&;2aquqq-..ww arrarrr<<<<<:<rr$ra q# wa q#qa qwq q $a$r qr     wq a a     w      w   w  q   qwww    w  w.  . w  ..w...X w...X .  .   ..i*;;;;piu...u.   ...... ..  .2;u0;&,@@,@&&&&&&&&&&@24.....q......u...u...u.........wu....u.iu",
+"..4u...4..4.u.........u.uu.u u...uq.ququququ........q..u..u...uq.uquuuuu.u.u.u.uuu...uu.uuuquuuuuuuuuuuuuuu.uu.4u444.44uu...44444444444.i..44.i.4i4.4i4i4w00;;@@@@@@@@@@@2OOOpoOO;024......  qqqqqqqq.qqq  .  ..... . .    .. ..... . ..  ..  .... ... .  . . . .. .     .           qaa$r$666qqawaqaw wqr#rrrrr<<<:<<<<rraqw$wqa wr a  q qwa ar$a$raa aqaqq w$ qww w   qwqwq w w www a     w   q  w w. . .  ...w..i.X.       ..    4wpw..        .w.w .. .   .q.4a210@,,@@&&&&&&&&@@0X......q.qu.............u..u...up*iu.u.4..",
+"u...4u..............uu.quu.qu.u..quuqququuuqquqqqqqqqq..........u.uqu.u...u.u.uuu.u.uuquuu.uuuuuuuuuuuuuuuu.4u.u444.44.u.4.44.4.4.4.4i4.44.4..4..4.4i4i44208;;@@@@@@@@@@&;;2O2>>wppi......  qqq6qqq qqqqqq.  ....   . .    . . ..   . .. .......   ..... .. . . .w .     .         wqar$r<<<>>rrr$rr$rrrrrr$r<<<<<<<<<<r$rqr   qw rw a a a qqar$rr$a#$ q    wqqwqw    w w       w w  q  w       w    .  .w   .  .......   ..  .    .  ..            .... . .     .1::>;,@&&&&&&&@@@;@24.......q.......u...u............2wiu.4u..",
+"..u....u.u.u4.u.u.uuquq...qu.q..q.q.qqqq.ququqqqq-q-qqq..uu..4......u...u.uu..uuuu.uu.u.u.uu...uuuuuuuuuuuuuu.4u4u.4u.4u4444.44444444.44..4.4.4i..4.4i44i0;0O@@@@@@@@@@@@@&&;;1u.uu.... qq qq6$t6qqaqqqqqq .  ... .. . .... . ...... .  . ...... .. ..  .. . . . .               q  $r$r<<<<<<<>><<$rr$<$<<1<<<<<<<<<rrrrqa q qw a aw q a$ rq$r$<<rraqa waqaq q a a ww    www w    wa wq www. w  q w  w . . . ..  ..w         .          .      . . .  . . .     ..q u1;,@@@&@@@@;;@@p4..........u..u...........u.u.u.ui*w u4u4.",
+"...u.u............uu.uq.qq.uq.u.u. -qqqqqqqqqqq6$66666q ...u......u......u.u...uuuuuuuuuuuqu.u.uquuuuuuuuuuuuu.4u4uu4uu4.4.44i4.4.4.4.44.....4i4...4i444*@OO2@@;,@@@@@@@@@@&@&&;4..... .q qqa$$rr$$66q q- q . .. . . .    . .  .... . . . ....... .  .. .. . . . . .              aqr$<<<<<<<<<:<<<<<><<<<><<<<<:<<<rrr$rqaa#q   w wqwq$wq$q$arr>r<rqaqqw   qwq a w w w w w     w   w  w   ww  w q        .w. w..  ..     .          .   .       . . . . . .       ...w2;;,,@,@,,;;;;w.... ...................u.....u..42OXu.w..",
+"u.u....u..u.u.u.u....uqu.uq...qqq.uq-6--q6q-q66$$$>>>$-q..u.....u..uu.u.u..uu.u.uu.u.u.uuu.uu.uuuuuuuu.u.u.uu4u.uuu4u.4uu44.4.444444.4i44i4.4.4i.4i.4iiw;@2;90@@@@@@@@@@@@@@&@&;u.... .qqqq$$$r>$<$$6qqqqq    ... . .  .. .  . .....        .... . .   . . .  .  .               qqrr<><<<<><<><><<<<<<><<<::<:<<:<<r$rr$ra$arrqaqa wq  qrrrrrrr<<<$r qqq aa qwqwqw a w    w w w   wqwq q    w     q     w   .   .    .                              . . . .          .ap20;;2;;@;ww ......q.....u.u..............u..4u4*OOOO*u.",
+".. .uq. .............uuqqqu.qu.uuqq-6666$$$66>$>>>$>>>66-q.............u.u.u..uuuuuuuuuuu.uu.uuuuuuuuuuuu.uuuuuuuu4u4uuu44u4444.4.4..4i4.4.4.4..4i.iii42@;0000@@@@@@@@@@@@@&@&;i.... q qq6$>r<<>r>r6qqqqqq.. .    . . ..  . .. .....  . . ....  .. .  . .. . .. .. .            qar$<<<<<<<<><<<<<<<<<<<:<<::<<<:<<rrra$r$rr$rr r # wq aar$<$<r<<<<r$qqa  qw   w w q     w     q    w   w                   q    .   .  .            .  q       .. . . . . . .   ..... .qq.pwq.1*.q.. ....q uq.u...............u.uu.u.upOOOOOwqq",
+" uqqq qqqq...u...u..uqqq-q.qq...uqqq-6$>$6>>$>>>>>>>>>>$6q ...u.u...q.q.u.uu.u..uuu.u.u.uuu.uuu.uu.uuuuuuuuuuuuuuuuu.4.44.4.4.444.4.4.4.4...4.4...4i4i4*@;0;0@@@@&@@@;@@&&&@;2.u.... qq6$$>r><$<>r$6qq uq.  . .... . .  .. .  .... . .    . ....   . . ..  . . .  .            a r$<><<<<<<<<<<><<<<<<<:<<:<<<:<<<$rrr$r<<<<<raa a a awq$r<<<<<<<<<r$ a qa a awqw w wqwqw   wqw w a a a q w w                          .      .. .                   . . . . .     ..   qqqu1a....r q .......q...u..u......u........uu.2OOOO.6q-",
+"qqqqqqq6qqq ....q.q..uqqqqqqqq.q uq.qq6$>6>$>>>>>>>>>>6>$6q.......quqq.q........uquuuuuu.uuuquu.uuuuu.u.uu.uuuuuuuuuuu4..uu444.44.4.i4.4..i4.4.4.4.i4i4X@80;@@&@@@&@;0@0ppwXuu....  qq6$><r>r><><>$qq  q.q. .    . . ..  . ...  .. ...... ........ ...  ..... .w. ...           qr$<<<<<<<<<><<<<<<><<<<><<<<<<<rrr$a$r<<<<<<rrar w wq  $r<><<<<:<>rrq q  w w    w       w    q q      w q          a                   .      . ..   .q.    .    .. . . . . . . q .... qqq.a#u..u1a. ......u.................u.u.u....uwOOp-666",
+"qqqq666q66qqq..q..quq.qq6-qqqqqqqquqqqq6$>6>>>>>>>>>>>>>>>-q ...qqqqq6-q.q.qquq... uqu.uuu.u.uuuu.uuuuuuuuu..uu.uuuu.uu4.4.4.44.4444..4..4..4.4.i.i4ii4O@02@@@&&&&&@@&004uqu.....  qq$$>$<>><><><>$q qq .. . .... . .  ..      .... .    . .............  .. w . .w .    .     a$r><<<<<<<<<<<><><<<<<><<:<<<<<rrrarrr><<<<<<r$rqa w #aqa$r<<<<<:<<<rrrw qaqa awqwqwa a a w w w w a a w w a w          w. .          .           .           .     . . .     . .   .  .. . qup;*122 u.....q........u...u..u..u.....uwOoopOo-6$$6",
+"$666q66$6666qqqqq... qqq666666-6-qqqqqqq666>$>>>>>>>>>>>>$66qq qqqqq6$6qqq-q6qq-qqquq.uuu.uuuuuuuuuuu.u.uuuu.u.uuu.4uu4uu44444i44...i.444.4u....4.4iii4,802@@0@@@@&@;@&04......  qq6$$>>>>>>>><>>>r6q q qq . .    . . ..   ....... ...... .......... .    .   . . ..    .      qa$r<<<<<<<<<<<<<<<<<<<<<<<<r<rrrraqwqr$<<1<<rrraar w a  qa$r<<<<<<<<>rrqq  w w  w w w   w w w          w     q         . w   .    . . .   q .  ...       .     .... . . . q. . . . . .  ..q q.2;;9; .. ..q.......u..........uu.uu.u4*O29wpq6>6r6",
+"rrrrrr$r6t66qqqqq.qq.q q-$$>$$$66--6-qqqq-$$>>>>>>>>>>>>>>>>6qqq6-q66>$6--666666qqqqqququuu.q.uquuuu.uuuu...u.u.uuuuuuuu4.4...4.4.4i........4.4..iiii4X,80;@00@@@@@;4**a........ q6$$<<<<<<><>>><<>$qq    .  .   . . .  .  .      . ..   ..........   ..  . . . . .           w $r<><<<<<<<<<<<><<<<<><e<<<rrrrraa#ar$$r$rrrrrqa q wqwqw rarr<<<<<<<<<$ra q a a a a a a a a a w w w w  w   q  w          . .    .     w .     .                    . . .  .  . . . .q  ..   ..p;9;*uq q q.qq.............u.u..u..4400O;166$$6>$$",
+"6$6$6$6$$$r6666qqq.qqqq6$$>6>>>>>>$$6--qqq66>>>>>>>>>>>>>>>>>666$$6$$6>>666$6$>666-qqqququuu.u...q.u.u.u.u.u.uuuuuuuuuu44..u4..44.i4.i4..4i4...4..4.i4w;*0;@00&&;@@;p14........ qq$$>$>>>><><><>><$$qq  .q   ..  . . .. .. ...... ................ ..  .  .. . . . ...         qqr<<<<<<<<<<<<<<<<<<<<<<e<<<rrrar a rqrrrq$arrqraw  w wq aqar$rr<<<<<<<rqwa   w  wqw        w      w      w            .w              w.           .  .        .. . . . . . . . . . .  .    .w2;O1.q qqqqqqq...............u..44r0;,2q6$$>>$6$t",
+"$6>6>6>6>6>$>6$66-qqq 6$$>><>$>>>>>>>>$6666$$>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>6>>66-q qquq.uuquuu.uu.uuuu.u.uuu4.uuuuuu.uu...u...44....i.....4...i.ii422p0,@;0@0;@@@22u........qq$$><<<<<<><><><>><$6q q            .  .  .    .......    .....  ..   .   .    .  . .          wqr><<<<<<<<<<<<<<><<<><<<<<<<rr aaqwqwa aqaqqwq   wa a w  a arrrrr<<<<<rrqwqa qwqw w aa a a qw w w    w w  q       .    .                            .           . .   .    . . .   q .   . . . p..qqqq66qqqqq.u......u...u.u.4#10,O*p6$$6$6>>>$",
+"6r$>$>$>6$>6$>>>$$6qqq6>>>>>>>>>>>>>>>>66>$>>>>>$>>>>>>>>>>>>>>>>>>>>>>>6>$6>6>>6>>$66qqqqquu.uuquuu.u.u.u.uu.uuu.uuuuuu..u.u...u......4..i.4..i4..ii.*X0;@@@@@;@;12wu........qqq$><>>>>>><><><>>>><6qq .    .  .  .. .. .. ....  ....... .       ..  . .. .   . .. .   ..     qa$><<<<<<<<<<<<<><<><<<<<<<<r$aar #a q aq q q qwawq w w a    aqa$rrrr<<rra$a  w w   wqw     w        w          q           .   ..         .     . .   ...  ..  .. . . .   . . . . . .   . q .  uq  q6$>$6q.q.......u........4*0;O,*66$>6>>$>6$6",
+"$>>6>6>6>>6>>>>>>6$$6$>>><>><>>>>>>>>>>>>>>>>>>$>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>6>>>6>66-qqququuuuu.u.uu.uuuu.u.uuuuuuuuu.u....u...........4....u.....i**0;@@0&@@@;0$4.......q q66$><><<<<><><><><><>$qqqq             . .  .     .  .     . ..    .              .  .         q r$<<<<<<<<<<<<<><<<<<><<><<<<rqwqwa aw$w w a awq  w a a  wwq qa rqrr<<rrrrqw  qwq w q   a a q w w w w  w   a  a wq                      .           .  .        . .    .   . . .   q  q.  q....    qq6$>>$qqq.qu.......u.u.uu*;OO,;r6$>>>$>>6>>>",
+"6>>>$>>>$>>$>>>>>>6>$6>>>>>>><><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>6>>>6>>>>>$66qqq.q.uuuuu.u.u.uu4.u.u.u.uuuuuuu.u.u.u...................4.42220;@0@@@0;;.u.......qqq$$>><>$>>>>><>><><><<>$qq     .       . . . ....  .. ..... .    .    ..    ..    . . ..    .  a$qrr<><<<<<<><<<<<<><<><<<<<><<rrq   w   $ q q qw w  w w a qw w  aqarrr><<<<raaw     w w     w            w   a  q qq                . . .          .    .      . . .... . . . . .    .   ..  ...  qq q6>>>>6qqqquu..u........w;OO2;16>6>6$6>>$6$>",
+">$>$>$>$>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>$>>>>>>>>>6>>>>>>>>>>>>>>>>>6>>>6>>>6>6>>>6$6qqqq.qu...uu.u.u.u.u..uuuuuuuu.......qq-qq ..i.i....i....4w2w0;;;;;;@;iu.... qq qq6$6$$>$<<<<<><><>><><><>$qqq . . .      . ....    ..  .    .                        . .   .     qa$r><<<<<<<<<<<<<<<<<<<<<><:<<<<$aqw a rw #w#awa a a qwqw w wq w   qarrr<r<rr$ aqw w     w w  w w w w w w   a  qwqwq                 .                           . .   .   . . . .   q q q ..q   .  qq6>><>>>66qqqq.........q...121<6>6>>>>>$>>>>>",
+">>$>>>$>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>$>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>6>>>>>6>$>6-qq.-..u.uu.u.u..u.4u.uuuuuuuu..u.u...q6qqq....u...u......;;002;;@@0@a44....qqqqq66$$<><<$>>>>>><>><<<><<>$$q .. . .    ... .... ....  .. .... .       .... .        . . .        qar<<<><<<<<<<<<<<<<<><<><<<<<<<<r$w qw w  a a    w w  w w a a    wqr qrrrr$raqa       w w                     wqq                       .       .    . .q.q q   .. . ... . . . . .          q.qqqqqqq6$>>>>>>>6qqqqqu....qqqqqq-pr66$6>$>>>>>>>>>>",
+">>>>$>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>6>6>>66>6>6>>>6>$666qq.q.uu.u.u.uu.uuu.u.uuuuuu..u4..uqq666qqq ....q..  qup*280;0;;@00011. qqqq6$$$<>>r$<$<<<<<><>><>><<><<>$q   .  ...  .  ..... .   ..  .    .      . .   w         .   .   .   aar$<<><<<<<<<<<<<<<<><<<<<><:<<<<$ra w  a a w wawa a a  a a w wa a a q#qaarawq# w w w w    w www w w w       qaq q q                                                          . . . .       q  q qqqq6>>><><>>>>>qqq.q...qqqqqqq6->>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>6>>>>>6>>>>>>>>>6>6>>6>>>>6>>>>>>$6qqqq...uu..u..u.4u.uuuuuuuu.u..u..uq-6666qqqq qqqqqqqquX07;2,;,@@@9::.qqq6$$>>>>r$<>r>>>$><><><><>><<><>$qq . ..  .. ..    ... ..  .. ..... .     . .             ..         qr$<><<<<<<<<<<<<<<<<<<<><<><<><><<<rra$w w w a    w w wa  w w   w w w  w wq w  qwq       w    w                q q                                             q q q      q q  q q q.         qqqqq6$$>>>>>>><>>>>>6qqq q.qq-6q6q6>$6>6>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>6>>>>6>>>6>>>6>6>>>$66-qqq.u4.u.4u.u.4uuuuuu.u..4u...u.qq666$66q-qq6qqq66-X,0800,,;@0@;1rqq6$$6><><$><>r><r<<r>r><><><>>><>r$qq. .. .   .  ... ....  ..  .      .           .                  qaa6r<<<>e<><<<<<<<><<<<><<><<<<<:<><<<rrarqa a   w a a a w  wqwqwa a a a  qw q aw w w w wa  w w  ww w w w               .                                                  q q q           .   qq6$$$>>>><><><>>>>>>>>$q-qqqqqq6-6$$6>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>6>6>>>6>>6>6>>>6>>>6>>>>>6>>>6qq ...u..u..4uu.u.uuuu..u.4.4.u..qq6$6$$$6-666q6$66p;;80,;,;0@@*-6$$$$$>r$$>$<>r><r<>$>r><>><>r><<<<<6$q q . . ... ..  ..... ..  .. .... .      . .   .  . .           qaa$r<<<<<<><<<<<<><<<<><<><<<<><:<<<<<<r<rrrra wa  a w  w a  qw  w  w w w aww ww  a      q w a   w a q                     qqq   qqq                    q                   q q q q       q qqqq6$$<><><><>>>>>><><><>>>$6qqqqqqqr6>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>><><>>>>>>>>>>>>>>>>>>>>6>>6>>>>6>>>6>>>6>>>>>6>$6qq ..uu..u.u4.u4uuuuuuu.......4..qq66$6$$6$$66$r$6r;;70;@@;0@;t>$><<>>r>><$>>r>r><$<r<>r><<><><><><>$$q q  . .   . . . .   .  ..  .                 . ..            qqa$r$<<<><<><<<<<<<<><<><<><<><:<:<e::<<<<><<rr$rraa w q  a   aw awqwa a a  w qwq a w w w ww w w w w w w      a a           q  qqqq                    .                       q q qqqqq    qqqq$<<>><<>>>e>>><><e>e>>>>>>>>6qqqqqqr6>6>>>>>>>>>>>>>>>>>>",
+">>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>><>>>>>>6>>>6>>>>>>>>6>>6-q..uu.u4.uu..u.uu.u.uu.u..u..u..q66$$>$>>>>>>>>$6*080,;;;@1r$>>$>>$>>>$>>$>>$<$<<$<$<><$>>><$<<<><$raq   . ... . . . ... ..  .. ...     ..    ..     . .           $ar$r><><<><><<><<<<<><<<><<><<<<<:<<:<:e<<<<<<<<rrrqq aqw  w w w                  a        w      w w           a    q qqqqaaaaqqqqqqqqqqqq q q     q    qqqqqqqq q q q q q q     q q qqqq qqq$r>><<>><<e>>>>>>><><e>>>>>>>>$-q-qqq6>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><><>>>>>><>>>>>>><><>>>>>>>>>>>>6>6>>>>6>>>6>>6>>6>>>>>>>>>>>>>>>>$>6-qq..u.uu.4uuuuuuu.u..u.u......uq6666$>$>6>$>>6>6*00;,,;006>>$$>><>>$>1r1<$<>><>$<$<<<><<<>><<<><><$taq   . .  . ..     .  ..  .     .         .            .   wqqq$r><<<<><<:<:<<<<<e<e<e<e>:<<>e<:<::<:<:<<<:<<<<$rrrrar#qaqwqa w awawaw w w awawaw#qwaw w  wwww w w w w    a  a   qaqaar$rr$$$$rr6rt$$$$$r6$6r6qqqqaaqqqqqqqqqqqqqqqqqqqqqqq qqqqq qaq q qqq6$>>><><><>>e<>>>>>>>e><>><>>>>>$6q-q-6$6>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>6>>>6>>>>>>>>>>>>6>6>>6>6>666qqu.uuuu.uuuuu.4.u4uu.u.u4...u.qq666>>>$>>>>>$>>a20&,;@@01->>>>$>>>>r222<$>$$<$<$<><><<>><>><><><<r$r6a    .   .   ..... .. . . .  .         ..  .       ..  qqqaar$<<<<<><<<>:<><><<><e><e>:<><<<<e<:<:::<e:::::<<<<rrr$r$rrwqa  wqw          w       w    w wpp#           w   w aaa$trr<<<<<<<<<>r>><>><><$<<>r>><rr$rr$r$rtr$r$$$$$$r$$$r66q6qqqqaq6$6$$6$>>>><e><><e>e<>>>>>>>>>>e><>>>>>>66qqqq66>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>6-qquuuu..u.uu..u.uu..u.4....u..qq-6$>$>>6>>6>6>6rw;0;;;;;2>6>$>><>>$<<r$>r><><>$<>r>><><<>><><<<>><<$rqqa     . ...     .  . . ..   .        .   .           qaa$$<><<<<><<<><:e<e<e<:e<<:>:<<<<><<<:<:<:<e<:<:<:<:<<<<<<rrrrrrqr qw awaw w w wqwawawqwqw   q  www   w w w w  qwaqar$rrr<<<<<<<<><><><><><><><><>><>><>e><<><<$><><><<<<><<<><>>$>>>>>>$><<><>>><<e<><><><>>>>>>>>>>>><>e>>e>>>66q-qqq$>6<>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>6>>>>>>>>>>>6>>6>>>>>>>>>6>>>6>>66-qq..u.u.u.uuuu.u.u4.u.uu...u.uqq-$6$>6>>>>>$6>6r200;2;@@p->>$>$<>>>>>><><>$<r><><>>><>>>>>>>><><<>$$r$qqqq   .  ....   .    .  .            ..     . . .q qa$r$<><<e>e<<><<<e<e>e<e<>e<<<<:<<><<>:<:<:<:<:<e<:<:::<<<<<<<<<r$r$$ q    a q q q  q  w # a   qa  wqw        aw qqrarrr<<<<<<<<<e>e>e>e>e>e>e>e>e><e<<e<e<<><<>e<<<><<><>:e:><<><<>>><><<<><e<>>e>>>>>e<e<e>e>>>>>>>>>e>ee>e>e>>>>6qq-q-6>><>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>6>>>>>>6>>66-qu.uu4uu.u.uuu.u..u.u.u.u.....qq-66$66>$>6>>$>6a;0;22;@0116>>$><>>$>>r><>>$<>><><<>>>><><><><>>><<>$>$r$qqq             q q             .            qqaqa$r$<><<><e<><<<><<:<:<<><:<:e><<:<<><<<:<::::<::<e::<:<::<<::<<<<rrrr$wq#a w # # w w q a q w     qq w a w   aq qaqar$r<><<<<<<<:<:<><><><e<e<><><><e<e>e>e>e:ee><>><>>><>><>><>>:<e:eee><>e<e<eee>ee<e<>e<e<>>e>>>>>>e>>><>>e>>>>>>-q-qq6>>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>6>>>>>>>>>6>>>>66>6>>>>6666-qu.uu4u.u.u.u.uu.u4u.4.4.u.u..q-$6-66>>$>6>$>>6a*2;;;;001<>>>>>>>$<>>$>r>>$>>>>>>>><>>>>>>>><<><><<>$r6qaqqq qaqqaqaaqqqqq qq q          .        aqaq$$<$<><<><>e<<<><<><<e<><<<><<<<<<<><<e<:<::<:<::<:<:<:<::<::<:::<<<rr$aqwqqr qqq q  $ qwq qwwq aqa wqqqq q aqqqqa$arr<<<<><<><<<<e:<e>:>:e:<e>eee<ee><><><e<e>><>>e>e>ee>e<>>>>><>>:><>e>e:<:<e:>:<e<>e>>>>>>e>>>e>>>>>>>e>>>e<<>>>>6qqq-6>>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>6>>>>>>>>6>>>>>>>>>>>>6>6>66-6qqu.u..uuuuu.u..u4..u.4......q.qq-6666$6>>6>6>>>6aa;;21rrr$r>$>>>>>$<><>$r><><><>><>><><><><>><><>><$><<$$6aqqqqaqqa6q6qq6qqqqqqqqqq     qqq qaqaqq$$$>r<<<<><<<<:<<><<><<>:<<<><<<<><><<<<e<<::<::<:<::::<:::<:::<::<:::<<rrrrqra qw w # qwq $ a wq #q  q qw$a raq aar$r><><:<<<<>:<<<:<:><<<<e><e<e><e>e><e<e<e<:>>eee<<><e>><>>e<eeeeee<ee>:>e>e>>>e>e>e>e>>e>e>e><e<>>>>>e>e>>>e>>>>>>>6-q-66>>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>6>6>>6>6>>>>>>>>66-qq..uu.u.u.uu4..uu..u.u4.u....uqqq66666$>>>>>>>>>>66<>>6><$><>>>$>>$>>>>>><>>>><>>>>>>>>>><><><><><<>><>>$$$$$r$rr$r$r>$$$rr$$$6qqq6qqqqaqaaq6q$rrr>r<><<<<<<><><<><><<<<<<><<<<<><<<<><:<<<:<<:<::<:<:<::<:<:<::::<:<:<:<<<rrr$r$q$q$qqwqr q q rq#qq aq q$q$aara$a$r$<><<::<:<::<::><e<eee>e><<<e<ee<e<><><><><><<<e<e:e<><<<e<<><><>>>e>>>>>>e>e>e>e>e>>>:>>>>>>>e>>e>e>e>>>>>ee<eee>>>>6qqq6>>>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>6>>>>>>>>>>>>6>6>6>6>>666-q..uuuuuuuu.u.4uu.u.4....uq.qqqqqq6$66>6>6>>>$>>>>>>>>>$>$>>$>>$>>>>>>>$><><>>><>><><><>><><><><>><<><<<<<<<$<><<<<>r<<<><<r>r$>$$r$$r$>$$$$$rr$<<<<<<<<><<<<<><<<<<<<<<<<<><<<<<><<<<<<e<:<:<::<:::::<::<::::<:::::<::<<<<>rr$rrrawr q  $ a#aaa$awr a$q$$r$rr$r<<><<<<<<:e<e<e:<:<><:><e<<ee<<>e<>e<e<e<e<e<>e:e><><<:>e>e><ee<><><<<<e>e>e>>:>:e>:>:>e>>>e>e>e:<e><>>>><e<e<>>e>e>>>>>$66q66>6>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>6>>6>>>>>>>>>>>$66-qquuuuuuuuu.uuu..4u..u.uq q-q--6666$$$>>>>>>>>>>>>>>>$>$>r>><<<>r>$>><><$><>><>><>>><><<><><><><<<><<<><>>>>><<<><>>>>><><><><>><>>><><<<<<<<><><><<<<<<<<<<<<<<><<<<<<<<><<<<><<<>:<:<<:<:<::<::<:<::<:::<:::<:<:<::<:e:<:<><r$r$r$qrqrq$$qrr$rr$qra$$rrr<$<<><<<<e:ee::::<::<:::::<e<e<>e<><e<>e<:<:<<><><e<><<:e><><e<e<e<<ee<e<><><>>e>e>e>e>>e>e>e>ee>e>>e>><<>>e>ee>>>>ee>e<e>>>>>$6-666>>>>>6>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>6>6>6>6$66-qqquuqqquu.uuuu.uu..u..qqq-666$6$>>>>>6>6>>>>>>>>>>>>>$><>>$<>>>>>>><>>>><>><>><>><><<>><><<<e<><<<>e><><<<<<<<><<><<<><><<><>><<$<<><><>><><>r<<><<<<><><<<><<<<<<><<<><<<<<<:<:<:<<<<:<:<:<<::<::::<::<::::::<:::<::<:<:<:<<<<<r$rr$r$rrrrr$rr$trr$r6<<<><<<<<<:e<:<:<e<e:<<e:<:<:>:<:<:<e<:<>e<e<e<>e<><e<ee:e<<:>:<:e<:<:<e<e<e<e:e:e>:>e>e>ee>e>e>:>>e>>e>>e<e>><>e><e<e>>e>e>>><>>>$666$$6>6>>6>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>6>>6>>>>>>6>>>>6>>>>>>>>>>>>>666---qqq.qqququuu...u..uqqq666$>>>6$6>>>>>>>$>>>>>>>>>$>>>$><>>>$<><><>><>><<>><>>>><>><<><><><><><><<><<<><><><><><>>><><><><e<<><<><<<<><<><><><><><<<<<<<<<<<><<<<<<<<<<><<><<><<<<:<<:<::<::<<:<:<::<:::<::::::<::<::<:::<:::<:<<<>r$r$rrr<<<>rrr$rr<><<::<<:e:<:::e::::::::<:::::<<<<<<:<e>e<e<<<:<:<>:<:>:<e<>e<><>e<e>e<:<<ee<e<<<e<<e<e<e<>e<e<e<e<e<>>ee<e<>e>e<>><>>e>><>>>ee>>>>>>>$6666>666>6>6>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>6>6>6>6>6>6>6>6666-qqqqqqqqquuu.u... q6$>>>6>$>>>>>>>>6>>>>>>>>>>>>>$><>$<$<>><$<><>><>>><>>><><<<<>><><><><><><><<><><><<<<<<<><<><><><><<<><<><<><><><<><<<><<<><><<<<<<><<<<<<<<<><<<><<><<<:<:<:e<e:<:<e<e<:<:<:::<:::::<:::<::<::<:<::<::<:<<<<<<e<<><<<<<<<<<><<<e<<:<<::e::::::::::::e:<:e<:<<<:<e><e>e<e:>e<e<<<e<e>:e<<:<:e<e>:<:>e<>e<e<e<:ee><e<e<e:<e<e<e<e<e:e>>e<e<>>>e<e>e>>e>e>e<>e>>>>>>>>>>$6666666>>6>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>6>>6>>>>>>>>>>>>>>>>6>6$6-66-q-qqqu.u.uuuqq66>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>$>>>>>>$><><<>>>><>>>><>>r<<><<><><><><><><<><><<<<><><>><><><><><><>><<><<><><<<<><<><<<><><<<<<<<<<<<<><<<<><><<:><<><:<<<:<<<:<:<::<:<<<<:<:<:::::<::::::<::<::::::::::<:::::<::e:::::<:<::e:e<:::::::<:e<e::::e:::::::<:e::ee>e<e<e<e<e<:<:<:e<:>:ee<:<ee<e>:<e<e>e:<:e<e<e<><:<e<e:<><e<e<e<e<e><e>:><><<<e><><<>>>e<>>>>eee>>>>>6>>$66$666>>>>>>6>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>6>6>6>6>6>6>6>>>$>6>$666-qqqqq..qqq6$$>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>$>><:>>>>><><>>><><>>>>><<><><><><><><<>><><><><<<<><><><><><><><><><<>><<<><><<<><<><<<<><<<<<<<<<<<<<<<<:<<<:<:::::<e:<:<::<::::<:<e:::<:::<:::<::<::::::<:<::<::<:::::<:<:<e:::::::e<:::<:::::::::::::::::::::::::::e<:<:><e<e<:>:>:<:<e<e><:ee<e<e<e<ee<<e>:e<e><e<ee<e>:<e<e<e<ee<e:e>ee>e>e<e>e><e<>>><>e>e>>>>e>>>>e>>e>>>>>>>>>>6666$666>6>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>6>>>>66-qqqqq-q6$>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>>><><1:>>>>><e>>>><>>>><>>><>><><><><><><>><<><<><><><>><><><><><><><><><><<<><><><><><><<<<><<><<><><<<<<<<:<<:<:<<:<:<<e::::::::::::::::::::::::::::::::::::<::::<:::<:<:<::::::::::::<<:::::e:e::::::::::::e::::e:::::::::e<e<e<e<::<e<e><e<e<e<e><e<e<<e<e<<e<e<e<e>e<e<<:>:<><><<><e<<e<><<><<><e<e<><><e<<><<><>>>>e>e>>>>>>>>>e>>>>>>>666-666666>6>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>6>>>>>>>$>>6>>>>>>$6-q6666>6>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>66::0:111>><>><><>><<>><>><><><><><><<>><>><<<><<><><><><><><><><><<<<><<><<<><<<<<<><><><<><<<<<<::<<:<:<:<<:<<:<:::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::e::::eee:eeee:eeee::::<::<e>e<e:<::<:<<e<e<e<e<:<e>e>e:<e<e<e<>:<e<e<e>e<e><e<e<e><e<e<e>e<e<e>e<e<:>:<<e<>>e>e><>>>e>>>>>>>>>>>ee>>>>>>>66-qq-666$$>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>>>6>>>6>>>>>>>>>>>>>>>6$>6$>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>$:<:$777700<>>>>><>>>>>><><><>><><><><><><>><><<>><><><><><><><><><><><<><><<$<><><><><<><<<<><><<e<:<:<<<:<:<:<:::::::::::::::::::::e:e:e::::::::e:e::::e::::::<:<::<::<:<:::::::::::::::::::::::::eee:eee::::e:::e:::::::::e<e:<<<<<:e<e<>e<<><<<<<<<<e<e<<><<><<><><<><<>e<e><<<>e<e<:<:>6><<<<<><<><><><><><><><<><e<e>>>>>>>>><><>>>>>>>>>$66q-qqq666>>",
+">>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>>>>>>>>>><>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>6>>6>>>>>>>>6>>>>>>>>>6>>>>6>>6>6>>>>>>>>>>>>>>>>>>>>>>>>>>>$>$>$$10777:1<<1<>>>>><>>>>>>>><><><><>e><><><><<><>><><><<><><><><><><><><><<<<><<<r><<<><<><r><<<<<<><<<<<<::<e<e<:<:<::<::::::::::::e:e::::::::::e:e:::::::::e:e::::::::<<<<::<::::::::::::::::ee:e:ee:::e:e:ee:ee:e:::e::::::e::<ee>:<:e<:<>><<:<<<<<<<<<<<<<<e<><><<<><<e>e<<><<<><<><<<><>::r<><<>e<e<:::::>:<><><>e>e>>>>>>>>>>>>>>>>>>>>>>>>>>666q-qqq6$6",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>>>>>>>>>>>>>>>e>>>>>>>>>>>>>>>>>>>>>>>>6>>>>>>6>>6>>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>6>>>$>>$>$>$>-:5%7:::e>>>e<><>>>>>>>><>><><><><><e<><<>e><><><><><><<e<><><><><><><><><><<><><<>r><><<<><<><><:<<<:<:<:::<:<:::<::::::::::::::e::::e:::e:::e:::ee:e:e:::::::e:e<:<$<<<1<<$><::::::::e:::e:::e:ee:e:e:ee:e:ee:e::e:e::e::><<:<:<<<<$><<<<01-::-6-6$6><<<-6>:::::><<<<<>r<>$666-6<><<-----u0%1--6$<$<><::1e::::::<>><<><>e>e><>e>e>><>e<><>>>>>>>>>$66$66$>>",
+">>>>>>>>>>>>>>>>>>>>>>>e>>>>>>>>>>>>>>>>>>>>>e>>>>e>>>>>>>>e>e>ee>ee>>ee><><>>>>>e>e>e>e>>>e>>>>>>>>>>>>6>>>>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>$>>66-$:55887::e>e<e<ee><>>>>><>><>><><><><><><<><<e><><><e<e<e<<e<><><><><><><<<><<><><>><<<<<<><<<<<<e<<:<<<<:<::::<::::::::::::::<:::::::e:::e::e:e:::e::e::ee:e::e:::<<r175%%%%%71r><<::::e:<e::ee::e:ee:e:e:e::e::e:e::><<:>617$6666-><<11>>q<055%55770:116$1755%%77:::--6$>$-11::170-qqr:707777%777::::>--q-6tr<<e:::::e>>><>>>e>>>e>>>>>>>>><>>>>>>>>>>>>>6>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ee>e>>>>e>>>e>>>>ee>>>>ee>e>e>e>>ee>>>>>>>6>><>>>>>>>>6>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6>$>$>$$::17+=7::::::<<:e:<:<e<><>>><><>>><><><>e>e<><e>><>e>e><<><><><><><<><><>><><><<><<<><r<<<<<<<><<<<<>:<:<<<:<:e<:::<:::::::::::::::<::::::::e:::::::ee::e:e::::<<<><<$:015y+yy+y++3701<<<<>>>>><<<::::e:e::eee:ee:e::e:::700077%+5707755%%%5%%7%+y+++++++++%55%yyy+++3%577755%553%%++++5777yy++y++y+yy+3%%55777:<$--6e::::::::>>e<><>>>>>e>><<<>>><>>><>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>e>>>e>>>ee<><eee><eee>ee>e>e>ee>>>>>>>>>>>>6>>>>>6>>>>>>>>>>>>>>>e>e>e>>>>>>>>>>><>>>>>>>>$>$>>>66:717+%1:::::::eee>ee<e<>>>>>><>e<<><><><><<<>e<><>e<<<<<><e<><<><<<><<><e<e><><<><><><<<><<<><><<><::<<:<<<:<::<::<:::<:::::<::<::<::::::::e:::ee:<:e<:<::e::<>111007%05++%+yy++yy+++y%%%557777770:1:1::e:::::ee::<::1:7%%+++3+++yyyyyyyyy+yyy++++y+++y+++yyy++++yyyyyy+y++++yy+y++yyy++yy+yyyy+y+yyy++y+yy+y+++3%577:$--q6$r-><><>>>>>>>>>><>>>><>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>e>e>>e<>>eee<><ee>e>ee>ee>e>e>>ee>e>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>>>>>>>>>>><>>>>>>$>6>6>---6rqu03%0::::::::e<:e<e<>e>e<>><<>:e<<e>e>e>e<<>e<e<>>e>e><><e<:<<><><><><<><><<><r<r><<<<<<<<<<<<:<<:::<::<<<<:::<::<:<::::<:<<:<<:::<:::::::e:1:<<11<:<::1e<<07%++++yy++y+y++yyyyy+yy+y++yyy+yy+++++3+7<::e:e:e:e<7%%+++yyy++++++y+yyyy++++y+++yy++++yyyy+yy++++yyyyyy++y+++++++++++++++++yy+yyy+yy+y+++++++++++yy++y3%57:::$:<--q-66><><e>>>>>><<>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>>>>e<ee<eee>e>>e<eee>eeee>e>>ee>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>>>>>>>>>>>>>>>>>>-6$>-:77:-:$0++3%%:::::::::<e:<:<:e><e<><><><><><<<><e<><<<><><><<<><<<>e<><<e><>><><><r<><><<><<<<<><<<><<:e<e<:<<<<<<<<<<<<<<<<<<<<<<<<<<<::<<<:<<<<<<<>0%371<<1<q05+yyyy+yyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyy+y30:e:ee><:1:73y+yyyyyyyyyyyyyyyyyyyyyyy++yyy+++yyy+++++yyyyy++++yyyyy+++yy++++++++++yyyyyyy++yyyyy+++++++++++++y+++++3%%+5777771$--66<><><>>>>>>>>>>>>>>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>e<e>ee:e<e>e>eeeee<e:<e>ee>eee<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>e>>>>>>>>>>>>>>>>$::66::%35::%%+++33%7:e<e::e::<e<e<:<<e><e<>e><<<>e>e><:<e<e<e<e<e<>e>e>e<><<<><><<<<><<><r<$$r<<<<r><<<><:<<:<:<<<><<$tr<t$<<<r66r1r<<rr666r$r$66r<<1101753+y+375717%yy++yyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyyy++35::::1777%%+y+++yyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyy+++yyyyyyyyyyyyyyyyy++++++++++++++yyyy+++yyyyyy+y+3+++yy+++++++++++++yy++++++%%571<-------6$>>>>>>>>>6>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>>><>eee>ee:eee>e>e<:ee>e>e:>ee><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>e>e>>>e>>e>>>>>>>>>>>>>$>11$-q1753%05++++33+57:e::e:<e:>:<:<ee<<><>:<<<><<><<<:><<<<><<<><><<<><<>e>e><><><<><<<<<6->1<-<<6<:$$611><<>1rr11111080570110557785%%5577010100755%%+++yyyyyyyy++3yy+yy++yyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyy%%5::::5+yyyyyyy++++yyyyyyyyyyyyyyy++++yy++yyyyyyyyy+++yyyyy+yyyyyyy++yy++++++++++++++++yy++yyyyyyy+y+333++++++++yyyyyy++++y++++yy+++%%5757777:u--6>$>>$>$>>>>><",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>e>e><e>e:ee<e<e>e>ee:eeee<e:e>ee>e<e>>><>>>>>>>>>------>->>>>>>>ee><<>>><>>>>>>>>>>>6<:<:::177%%+513+++3333%7:>:::::::>e<:<<>eee<e>e<<><:<:e<:><:<:ee:<:<e<e<ee<<<><<<<<><<>r6-q17%%%1qr157111001<q1558%%3+3y+yyyy%%++yyyyy+yy+y+y+++yy++y+yyyyy+yy+++yyyyy++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy%7::7%+y++y++yyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyy+yyyyyyyyyyyyyyyyy++++++++yyyy++++yy++yyyyyyy+++33333++++++yyyyyy++yyyyy+++y++yyyy+yyy++%771:$>6>>$6>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>e<e<>:>e<e>e>e<ee<e<e>>>e><><>><>>>><><>>>>6q170:00:01<><>>>>>>>>><>><>>>>>>>>-->$a17%577%%++%17++++++%%7:<:<:::>:::ee>e:><>:<e>e><<<e<<e<<<<<e<<>e<e<e<e<<e<><<<<<$6-q-$:017++++%50%y=%33%%%57%3y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+y++yyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy57:773+yy+yyyyyyyyyyyyy++yyyyyyyyyyyyyyyy+y++yyyyyyyyy+yyyyyyyyyyyyyyyyy++++++++yyyy++++++yyyyyyyyy++++3++3++++++++++++++yyyyyyyyyyyyyyyy+y++++++376>>>>>>>>>>>>",
+">>>>>>>>>>>>><><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>><>><>e><>e><>->>>>>>>><>e>e>e<e<e>e><>-$><<>>$<$6::1108855701-----$:6>:>->-6>>$><$--:016$<1<17777501$0+++++++%5::::::e:::<:<:<:<ee<e<:>:<e:<:<<<<<>e<>e<<<><<><ee<<<<<<<q$1::75%3%+++++++++++yy+yy+yyyyyyyyyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyy+y+++y++y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy%%%++++yy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++++yyyyyyyyyyyyy++3+++++++++yyyyyyyyyyyyyyyyyyyyyy+++++++y816$>$>>>>>>>>>",
+">>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>6-6-17:>$-6>>>$---->----6-6--:7:$-------u187777%3%%%757775775%%7777:$>>-u-:7771$:57177:::075%++++++++%77:::::::::::e:e::>:<::<:<e<<::<<::::<<<<><<<<<<<<<><>$<$-17%3++++++y+++++++y++++y++yyyyyyy+y+y+y++yyyyyyyyyyyyyyyyyyyyyyyyy++yy+y+y+y++y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyyy+yyyyyyyyyyy++yyyyyyyyyyyyyyyyyyyyy+yyyyyyy++yyyyyyyyyyyyyyyyyyyyyyyyyy++++yy++++++++yyyyyyyyy+3+y++++++++yyyyyyyyyyyyyyyyy+yyyyyyy3%8%016><>>>$>>>>>>>",
+">>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6----666>-::::08%%%705%5577:::7::7:::::5+%57:77770000%%%%++++yyyy+++yyyyyy+++3%%%5773+55%575%%%33+++++y++++++3351<::::e::::::::::e:::e:e::<::<:e:<<e<:<:<:<<<<<<<<<<$<:q17%++++++++++++++++++++++yyyyyyyyy+yyy+yyy+yyyyyyyyyyyyyyyyyyyyyyyyy++y+y+y+y+y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyyyyyyyyyyyyy+++++y+yy++yyyyyyyyyyyyyyyyyy++yyy%801t1a<$>>$>>>$>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>$6----u--$<:0701:77:%++++3+++y+++++y++++++++++++++++++y+yyy+++++++++++++++++++++++++++++yyyy++++yyyyy++++y+++++3++++333%%0-$<><:::::::::::::e::::<e:e<e:<:<:<<<<<<<<<<<<<<<$-$7%%585+3+++++++y+++++++++++++++yyyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+y+y+y+y++y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyy+yyyyyyyyyyyyyyyyyyy++yyyyyyyyyyy+++yyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyyyyyyyyyyy+yyyyyyyyy++++yyyy++++++++yy++yyyyy+yy+3%801q6$>6>$>>$>>>$>>>>>>>",
+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>6$6-66$--><:::175%5%++++++333++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++333%%%57::>>>>ee::::::::::::::::::<::e:<:<:e<<<<<<<<$$r::0557%3%3+++++++++++++++++++++++y+y+yyyy+yyyyyyy+yyyyyyy+yyyyyyyyyyyyyyyyyyyy+y+y+y++y+y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyyyyyyyyyyy+yyyyyyyyy++++yyyyyy++yyyyy+++yyyyyyyyy%16u->><>>>>>>>>$>>>>>>>>>",
+">>>>>>>$>>>>>>>>>>>>>>>>>>>>>>>>$>>>>6-<::::775%%+++++yyyy++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3333%%%%%%%%555777::::>><e::::::::::::::e:<::<<e<<<<<$6-<<10%3+333%+++++++++++++++++++++++++y+y+y+y++y++yyy++yyyyyyyyy+yyyyyyyyyyyyyyyyyy+y+y+y+y++y+y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++yyyyy+++++++yyyyyyyyyyyyyyyyyyyyy++++yyyyyy++++yyy+yyyyy+yyyyyyy++++++yyyyyy++yyyy++++yyyyyy++++0-<><$>$>>>$>>$>>$>$>>>>>",
+"><>>>>><><><>>>>>>>><>>>$6>>-->-----u:700000%++yy+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3%%%%%%%5%55555555555%%5557777::><e::::::::e<:<e<<<e<<>6-$<:07%%%++++++++++++++++++++++++++++++++++++y+y++++y+yyyyyyyyyyyyyyy+++++yyyyyyyyyyyyyy+y+y+y+y++y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyyyyy+yyyyyyyyyyyyyy+++++yyyyyy++yyyy+++y++yyyyyy+y0u6rr$$6$$><$>>>$>>>$><><",
+">>><><>>>>6---------u---$$1575%557::77075575%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%5%555%5%5%%55%55555%55%%5555557:::>>>$>6>>>>>>><>>$r:775%3++yyy+++++++++++++++++++++++++++++y+++++y+++++++++yyyyyyyyyyyyyy++y+y+y+y+yyyyyyyyy+y+y+y+y++y+y++y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyy+yyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyy+++++yy++yyyyyy+++++++++++++++yy++yy++yyyyyy++37<-u17:::->>>$>>$>>>>>>>",
+"><>>>$--><:0777777777755%%%+++yyyy+++3%3+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%5%%%5%5%5555555%5555555555%%%5557777777755%55%555%3yy++++++++++++++++++++++++++y++++++++++++++++++y+y+y+y+yyyyyyyyyyyyyyy+yyyy++yyyyyyyyyyyyyyyyyy++y+y++y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyy++++++++yyyyyyyyyyyyyyy+++%5550<1<<>------>$>$><>",
+"---6<1075%++++++++yyyyy++yy++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%333%%5%5%%%55555%55555555%%333++yyyyy+++++yyyyyyy+++++++++++++++++++++++++++++++y+++++++y3+++++++++y+y+y+yyyyyyyyyyyyyyyyyyyy+y+yyyyyyyyyyyyyyyyy+y++y+y++y++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyy+++yyyyy+++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyyy++++++++yyyyyyyyyyyyyyy++++++++%%%%555770:<$-----",
+"0775%3y+yyy+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3333%%%%%5%555%%%%%%%5%5%%5%%3++++++++++++++++++++++++++++++++++++++++++++++++++++++3+++++++++++++++++++y+yy++yyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyyyyyyyyy+y++y+y++y+y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyy+++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+++yyyyy++++++++yyyyyyyyyyyyyyy+++++++++++yy+++yy3%%7701:",
+"y+yy+y++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3%%%%%5%%%%%%3%%33+3%5%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyy++yyyyyyyyyyyy+y++++yyyyyyyyyyyyyy+y++y+y++y+y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyy+++yyy+++yyyyyyyyyyyyyyyyyyy+yyyy++yyyyyy+yyy+yyy++++++++++++++++++yy++++yy++++yyy+++++++y+++++++++y+yyyy++y",
+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3+++++++++++++++++++++++++++++++++++++++++++++++++++33%%%%%%%%%%%%%%%%%%3++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++y++y+y+++y+++y+yyyyyyyyyyyyyyyyyy+y+yyyyyyyyyyyy+y+yyy+y+y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyy+yyyyy++++++yy++++++++yy++++yy++yyyyy+++++++yyy+++++++++++++y++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++33%%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++y++++++++++++y++y+y+++y+y+y+yyyyyyyyyyyyyyyyy++yyyyyyyyyyyyy++yyyy++y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++++yyyyyyyyyyyyyyyyyyyyy+yyy++yyyy++yyyyyyyyyyyyyyy+++yyyyyyy+++yyy++++++yy++++++++++++++++++yyy+++++++++yyy++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++y+yy++++y++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyy+++++y+++++y+++y+++++++++++++y++++++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++++yyyyyyyyyyyyyyy+yyyyy+yyy++yyyy++yyyyyyyyyyyyyyy+++yyyyyyy+++yyy++++++yy++++++++++++++++++yyy+++++++++yyy++++++++++++++++",
+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yy++++++++++++y+++++++y+++++y++++++++yy++++y+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++yyyyyy++yy++yyyyyyyyy++++yy+++yyy++yyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyy+yyy++yy++++++++yy++++++yyy+yyy+++++++++++++yyy++++++++++",
+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yy++++++++++++++++++++++++++y++++++++yy++++++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++yyyyyy++yy++yyyyyyyyy++++yy+++yyy++yyyyyyyyyyyyyyyyyyyyyyyyyyy+yyyyyyyyy+yyy++yy++++++++yy++++++yyy+yyy+++++++++++++yyy++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyyy++++++++++++++++++yy++++yy++++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyy++++yyyyyyy+++yyyyy+++yyyyy++++++yyyyyyyyyyyyyyy+yyyyy+++++yyyyy++++++++++++++++yy+++++++++++++++++++++++++++++++++yy++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyyy++++++++++++++++++yy++++yy++++yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy++yyyyyyyyyyyy++++yyyyyyy+++yyyyy+++yyyyy++++++yyyyyyyyyyyyyyy+yyyyy+++++yyyyy++++++++++++++++yy+++++++++++++++++++++++++++++++++yy++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyy++++++yyyy++++++++++yy++++++++++++++++yyy++++++++++++++++++++++++++++yyy+yyy++++++++++++++++++++++++yyyy++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++yyyyy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+yyy++++++yyyy++++++++++yy++++++++++++++++yyy++++++++++++++++++++++++++++yyy+yyy++++++++++++++++++++++++yyyy++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+};
diff --git a/hacks/images/macbomb.xbm b/hacks/images/macbomb.xbm
new file mode 100644 (file)
index 0000000..c653276
--- /dev/null
@@ -0,0 +1,474 @@
+#define macbomb_width 448
+#define macbomb_height 126
+static char macbomb_bits[] = {
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x80,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xf9,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x19,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x00,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x20,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x80,0x10,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x40,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0xe0,0x03,0x50,0x01,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x10,0x8c,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x08,
+ 0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x08,0x00,0x10,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x00,0x08,0x40,0x22,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x00,0x7f,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x7f,0x10,
+ 0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0xc0,0xff,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0xf0,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xf0,0xff,0x07,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xf8,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0xf8,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xfc,
+ 0xff,0x1e,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xfc,0xff,0x1f,0x00,0x00,
+ 0x00,0x00,0x80,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0xfc,0xff,0x1d,0x00,0x00,0x00,0x00,0x80,0x81,
+ 0xc7,0xb6,0xcd,0x00,0x78,0x80,0x63,0xc6,0xf1,0x78,0xfc,0x07,0x78,0x6c,0x9b,
+ 0xc7,0x06,0x1e,0x0e,0xc7,0xcc,0xb6,0x79,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0xfc,0xff,0x1d,0x00,0x00,0x00,0x00,0x80,0xc3,0xcc,0x71,0xcc,0x00,
+ 0xc4,0xc0,0x64,0x66,0x62,0xcc,0xcc,0x0c,0xcc,0x1c,0xc7,0xcc,0x01,0x33,0x93,
+ 0xc9,0xcc,0x71,0xcc,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xfc,0xff,
+ 0x1d,0x00,0x00,0x00,0x00,0x00,0xc7,0xcc,0x30,0xcc,0x00,0xf8,0xc0,0x61,0xe6,
+ 0x60,0xcc,0xcc,0x0c,0xcc,0x0c,0xc3,0xcc,0x00,0x33,0x83,0xc1,0xcc,0x30,0xcc,
+ 0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xfc,0xff,0x1f,0x00,0x00,0x00,
+ 0x00,0x00,0xce,0xcc,0x30,0xcc,0x00,0xcc,0x80,0x63,0xc6,0x61,0xfc,0xcc,0x0c,
+ 0xfc,0x0c,0xc3,0xcc,0x00,0x33,0x83,0xc1,0xcc,0x30,0xfc,0xcc,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0xfc,0xff,0x1e,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,
+ 0x30,0xcc,0x00,0xcc,0x00,0x67,0x86,0x63,0x0c,0xcc,0x0c,0x0c,0x0c,0xc3,0xcc,
+ 0x00,0x33,0x83,0xc1,0xcc,0x30,0x0c,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0xf8,0xff,0x0f,0x00,0x00,0x00,0x00,0x80,0xcc,0xcc,0x30,0xcc,0x0c,0xcc,
+ 0x40,0x66,0x26,0x63,0x8c,0xcc,0x0c,0x8c,0x0c,0xc3,0xcc,0x00,0x33,0x93,0xc9,
+ 0xcc,0x30,0x8c,0xcc,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xf8,0xbf,0x0f,
+ 0x00,0x00,0x00,0x00,0x00,0x87,0xc7,0x30,0xf8,0x0c,0xf8,0x80,0xc3,0xc7,0xc1,
+ 0x78,0xcc,0x0c,0x78,0x0c,0x83,0xc7,0x00,0x1e,0x0e,0x87,0xcf,0x30,0x78,0xf8,
+ 0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0xf0,0xff,0x07,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x08,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0xf0,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xc4,0x04,0x00,0x00,0x20,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0xc0,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,
+ 0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x7f,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x07,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0xc0,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x07,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x40,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x0f,0x00,0x00,0x8f,
+ 0x1f,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x19,0x00,0x80,0x19,0x0c,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x8c,0x19,0x00,0x80,0x19,0x06,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x19,
+ 0xf8,0x81,0x19,0x0f,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x19,0x00,0x80,0x19,0x18,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,
+ 0x0f,0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x8c,0x19,0xf8,0x81,0x19,0x18,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x30,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x8c,0x19,0x00,0x80,0x19,0x18,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x19,0x00,
+ 0x80,0x99,0x18,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x80,0x01,0x00,0x00,
+ 0x00,0x00,0x00,0xc0,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x0f,0x00,0x00,0x0f,0x0f,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
+ 0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x40,0xf8,0x00,0x00,0x18,0x00,0x80,0x01,0x01,0x00,0x42,0x01,
+ 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x40,
+ 0x98,0x01,0x00,0x18,0x00,0x80,0x01,0x01,0x00,0x22,0x02,0x00,0x00,0x00,0x00,
+ 0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x40,0x98,0xf1,0x70,0x3c,
+ 0x1e,0xdb,0x03,0x01,0x00,0x42,0x44,0x41,0x11,0x51,0x15,0x14,0x10,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x40,0x98,0x99,0x99,0x18,0x31,0x87,0x01,0x01,
+ 0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x40,0xf8,0x98,0x39,0x18,0x3e,0x83,0x01,0x01,0x00,0x42,0x41,0x44,
+ 0x10,0x11,0x11,0x11,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x40,0x98,
+ 0xf9,0x71,0x18,0x33,0x83,0x01,0x01,0x00,0x22,0xa2,0x82,0x20,0x22,0x22,0x2a,
+ 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x40,0x98,0x19,0xe0,0x18,0x33,
+ 0x83,0x01,0x01,0x00,0x42,0x44,0x00,0x11,0x11,0x11,0x01,0x10,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x98,0x19,0x00,0x40,0x98,0x19,0xc9,0x18,0x33,0x83,0x01,0x01,0x00,
+ 0x22,0x22,0x20,0x22,0x22,0x22,0x22,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,
+ 0x00,0x40,0x98,0xf1,0x70,0x30,0x3e,0x03,0x03,0x01,0x00,0x42,0x44,0x41,0x41,
+ 0x11,0x11,0x14,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x40,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x80,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x98,0x19,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x0c,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,
+ 0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x06,0x00,0x00,
+ 0x00,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0xf8,0xff,0xff,0xff,0xff,0xff,0x0f,
+ 0x00,0x00,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x98,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,
+ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0xf9,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0x9f,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff};
index 7c11b35b04be6f5b9209b3ff63e806582a007498..9d11b350f665b7bb8bc8d73362ed9abdcaa42a93 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001
+/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001, 2002
  *  Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  *  Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -496,6 +496,18 @@ main (int argc, char **argv)
       cmap = xgwa.colormap;
       visual = xgwa.visual;
       visual_warning (screen, window, visual, cmap, True);
       cmap = xgwa.colormap;
       visual = xgwa.visual;
       visual_warning (screen, window, visual, cmap, True);
+
+      /* Select KeyPress events on the external window.
+       */
+      xgwa.your_event_mask |= KeyPressMask;
+      XSelectInput (dpy, window, xgwa.your_event_mask);
+
+      /* Select ButtonPress events on the external window, if no other
+         app has already selected it (only one app can select ButtonPress
+         at a time: BadAccess results.)
+       */
+      if (! (xgwa.all_event_masks & ButtonPressMask))
+        XSelectInput (dpy, window, xgwa.your_event_mask | ButtonPressMask);
     }
   else if (root_p)
     {
     }
   else if (root_p)
     {
index 158a251fa8afa006bc3d9e52a704487fbadee3bb..4236e8d4b05f6e63ff247bd1acfc2c39f2ea84f1 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992-2001 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -102,5 +102,7 @@ extern void screenhack_handle_events (Display*);
 #define bzero  __ERROR_use_memset_not_bzero_in_xscreensaver__
 #undef  bcopy
 #define bcopy  __ERROR_use_memcpy_not_bcopy_in_xscreensaver__
 #define bzero  __ERROR_use_memset_not_bzero_in_xscreensaver__
 #undef  bcopy
 #define bcopy  __ERROR_use_memcpy_not_bcopy_in_xscreensaver__
+#undef  ftime
+#define ftime  __ERROR_use_gettimeofday_not_ftime_in_xscreensaver__
 
 #endif /* __SCREENHACK_H__ */
 
 #endif /* __SCREENHACK_H__ */
index 0b95dc5f70750eb958a04535e1c2f598b8e1d8e6..99bd78292b5637315165057467270e6c06af0ea3 100644 (file)
@@ -236,7 +236,7 @@ write_pixbuf (GdkPixbuf *pb, const char *file)
   cinfo.in_color_space = JCS_RGB;
 
   jpeg_set_defaults (&cinfo);
   cinfo.in_color_space = JCS_RGB;
 
   jpeg_set_defaults (&cinfo);
-  cinfo.progressive_mode = TRUE;
+  jpeg_simple_progression (&cinfo);
   jpeg_set_quality (&cinfo, jpeg_quality, TRUE);
 
   jpeg_start_compress (&cinfo, TRUE);
   jpeg_set_quality (&cinfo, jpeg_quality, TRUE);
 
   jpeg_start_compress (&cinfo, TRUE);
index c986b6023c5d2148edda70371ee1db3e8245a5dd..1261a42efaf3376ea17596b5ea777625868701a0 100644 (file)
--- a/setup.com
+++ b/setup.com
@@ -32,6 +32,7 @@ $ fadeplot    :== $'mydir'fadeplot
 $ flag         :== $'mydir'flag
 $ flame                :== $'mydir'flame
 $ flow         :== $'mydir'flow
 $ flag         :== $'mydir'flag
 $ flame                :== $'mydir'flame
 $ flow         :== $'mydir'flow
+$ fluidballs   :== $'mydir'fluidballs
 $ forest       :== $'mydir'forest
 $ galaxy       :== $'mydir'galaxy
 $ goop         :== $'mydir'goop
 $ forest       :== $'mydir'forest
 $ galaxy       :== $'mydir'galaxy
 $ goop         :== $'mydir'goop
@@ -57,8 +58,8 @@ $ lissie      :== $'mydir'lissie
 $ lmorph       :== $'mydir'lmorph
 $ loop         :== $'mydir'loop
 $ maze         :== $'mydir'maze
 $ lmorph       :== $'mydir'lmorph
 $ loop         :== $'mydir'loop
 $ maze         :== $'mydir'maze
-$ moire2       :== $'mydir'moire2
 $ moire                :== $'mydir'moire
 $ moire                :== $'mydir'moire
+$ moire2       :== $'mydir'moire2
 $ mountain     :== $'mydir'mountain
 $ munch                :== $'mydir'munch
 $ nerverot     :== $'mydir'nerverot
 $ mountain     :== $'mydir'mountain
 $ munch                :== $'mydir'munch
 $ nerverot     :== $'mydir'nerverot
index 94d6acbd9672d9efb3038c3f21dc73a07d6f583d..c961539421dd340e3b36a2e1fc0b7ed38290f9a7 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1997, 2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -578,7 +578,7 @@ make_uniform_colormap (Display *dpy, Visual *visual, Colormap cmap,
                  0,   S, V,
                  359, S, V,
                  colors, &ncolors,
                  0,   S, V,
                  359, S, V,
                  colors, &ncolors,
-                 False, True,
+                 False, allocate_p,
                   (writable_pP && *writable_pP));
 
   /* If we tried for writable cells and got none, try for non-writable. */
                   (writable_pP && *writable_pP));
 
   /* If we tried for writable cells and got none, try for non-writable. */
index a10edcc07e38f8dce7fa888226900be1ab7903ed..1fadffd597b14b597aa2b0695555ec6ad60ad70d 100644 (file)
@@ -11,8 +11,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) OVERLAY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) RESOURCES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) SPLINE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) USLEEP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) RESOURCES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) SPLINE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) USLEEP.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL-GL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL-GL.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-GTOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-STRDUP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) XDBE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-GTOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-STRDUP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) XDBE.C
index d8aed70b135a3dbf369919de3887addde76eaaea..fe09afa10f1cfdaa6a6967515c67c72e3ebcd2c2 100644 (file)
@@ -11,8 +11,8 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) OVERLAY.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) RESOURCES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) SPLINE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) USLEEP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) RESOURCES.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) SPLINE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) USLEEP.C
-$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL-GL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL-GL.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VISUAL.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-GTOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-STRDUP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) XDBE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-GTOD.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) VMS-STRDUP.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) XDBE.C
index ab9c59b3e1a33a379fa2039d280a99fe146e6da6..563fa6a720524bc90d1b4e10a41231ad6d751d74 100644 (file)
@@ -1,7 +1,7 @@
 /* XPM */
 
 /* XScreenSaver Logo, designed by Angela Goodman <rzr_grl@yahoo.com>
 /* XPM */
 
 /* XScreenSaver Logo, designed by Angela Goodman <rzr_grl@yahoo.com>
-   Copyright (c) 2001 by Jamie Zawinski <jwz@jwz.org>
+   Copyright (c) 2001, 2002 by Jamie Zawinski <jwz@jwz.org>
    Unauthorized use or reproduction prohibited.
 
    http://www.jwz.org/xscreensaver/
    Unauthorized use or reproduction prohibited.
 
    http://www.jwz.org/xscreensaver/
 static unsigned const char * const logo_180_xpm[] = {
 "180 180 16 1",
 "      c None    m None",
 static unsigned const char * const logo_180_xpm[] = {
 "180 180 16 1",
 "      c None    m None",
-".     c #020204 m #000000",
-"+     c #929291 m #000000",
-"@     c #A30204 m #000000",
+")     c #FF0000 m #FFFFFF",
+",     c #FFFFFF m #FFFFFF",
+".     c #000000 m #000000",
+"-     c #ED9E00 m #FFFFFF",
+"'     c #4F3504 m #000000",
+"=     c #DBDBDB m #000000",
+">     c #B0B0B0 m #000000",
+"+     c #929292 m #000000",
+";     c #797979 m #000000",
+"@     c #A30000 m #000000",
 "#     c #604D28 m #000000",
 "#     c #604D28 m #000000",
-"$     c #600204 m #000000",
+"$     c #600000 m #000000",
 "%     c #37332D m #000000",
 "&     c #2D0C05 m #000000",
 "%     c #37332D m #000000",
 "&     c #2D0C05 m #000000",
-"*     c #A46E04 m #000000",
-"=     c #DBDBDA m #000000",
-"-     c #ED9E04 m #FFFFFF",
-";     c #797977 m #000000",
-">     c #B0B0AE m #000000",
-",     c #FEFEFC m #FFFFFF",
-"'     c #4F3504 m #000000",
-")     c #FD0204 m #FFFFFF",
+"*     c #A46E00 m #000000",
 "                                                                                                                                                                                    ",
 "                                                                    .                                                                                                               ",
 "                                                                   ..                                                                                                               ",
 "                                                                                                                                                                                    ",
 "                                                                    .                                                                                                               ",
 "                                                                   ..                                                                                                               ",
index 5ca5d63f112b43f0ccf493438c672168ddd33806..eee542f72e0c5f070fc331cd05c52df5fe5087da 100644 (file)
@@ -1,7 +1,7 @@
 /* XPM */
 
 /* XScreenSaver Logo, designed by Angela Goodman <rzr_grl@yahoo.com>
 /* XPM */
 
 /* XScreenSaver Logo, designed by Angela Goodman <rzr_grl@yahoo.com>
-   Copyright (c) 2001 by Jamie Zawinski <jwz@jwz.org>
+   Copyright (c) 2001, 2002 by Jamie Zawinski <jwz@jwz.org>
    Unauthorized use or reproduction prohibited.
 
    http://www.jwz.org/xscreensaver/
    Unauthorized use or reproduction prohibited.
 
    http://www.jwz.org/xscreensaver/
 static unsigned const char * const logo_50_xpm[] = {
 "50 50 16 1",
 "      c None    m None",
 static unsigned const char * const logo_50_xpm[] = {
 "50 50 16 1",
 "      c None    m None",
-".     c #050305 m #000000",
-"+     c #989798 m #000000",
+"&     c #FF0000 m #FFFFFF",
+",     c #FFFFFF m #FFFFFF",
+".     c #000000 m #000000",
+"=     c #CCCCCC m #000000",
+"-     c #B0B0B0 m #000000",
+"+     c #989898 m #000000",
+";     c #707070 m #000000",
 "@     c #A30805 m #000000",
 "#     c #5E4D34 m #000000",
 "$     c #A6531B m #000000",
 "%     c #620805 m #000000",
 "@     c #A30805 m #000000",
 "#     c #5E4D34 m #000000",
 "$     c #A6531B m #000000",
 "%     c #620805 m #000000",
-"&     c #FA0204 m #FFFFFF",
 "*     c #A63013 m #000000",
 "*     c #A63013 m #000000",
-"=     c #CCCBCB m #000000",
-"-     c #B1B0AE m #000000",
-";     c #707070 m #000000",
 ">     c #523410 m #000000",
 ">     c #523410 m #000000",
-",     c #FCFCFA m #FFFFFF",
 "'     c #AC6C44 m #000000",
 ")     c #24221C m #000000",
 "                                                  ",
 "'     c #AC6C44 m #000000",
 ")     c #24221C m #000000",
 "                                                  ",
index 428aa2f581e2b39b325a052f3fc024b0ee42844a..21cc4d401cd7bfaacbf0b164779697fbc867b4e4 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2001-2002 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -55,7 +55,7 @@ parse_xpm_data (Display *dpy, Visual *visual, Colormap colormap, int depth,
 {
   int w, w8, h, ncolors, nbytes;
   char c;
 {
   int w, w8, h, ncolors, nbytes;
   char c;
-  int i;
+  int i, pixel_count;
   struct {
     char byte;
     int cr; int cg; int cb;
   struct {
     char byte;
     int cr; int cg; int cb;
@@ -136,6 +136,7 @@ parse_xpm_data (Display *dpy, Visual *visual, Colormap colormap, int depth,
   if (depth == 1) transparent_color = 1;
 
   pixels = (unsigned long *) calloc (ncolors+1, sizeof(*pixels));
   if (depth == 1) transparent_color = 1;
 
   pixels = (unsigned long *) calloc (ncolors+1, sizeof(*pixels));
+  pixel_count = 0;
   for (i = 0; i < ncolors; i++)
     {
       if (cmap[i].cr == -1) /* transparent */
   for (i = 0; i < ncolors; i++)
     {
       if (cmap[i].cr == -1) /* transparent */
@@ -152,10 +153,15 @@ parse_xpm_data (Display *dpy, Visual *visual, Colormap colormap, int depth,
           if (depth == 1 ||
               !XAllocColor (dpy, colormap, &color))
             {
           if (depth == 1 ||
               !XAllocColor (dpy, colormap, &color))
             {
-              color.pixel = (cmap[i].mr ? 1 : 0);
+              color.red   = (cmap[i].mr << 8) | cmap[i].mr;
+              color.green = (cmap[i].mg << 8) | cmap[i].mg;
+              color.blue  = (cmap[i].mb << 8) | cmap[i].mb;
+              if (!XAllocColor (dpy, colormap, &color))
+                abort();
             }
             }
-          pixels[i] = color.pixel;
-          rmap[(int) cmap[i].byte] = i;
+          pixels[pixel_count] = color.pixel;
+          rmap[(int) cmap[i].byte] = pixel_count;
+          pixel_count++;
         }
     }
 
         }
     }
 
@@ -165,8 +171,7 @@ parse_xpm_data (Display *dpy, Visual *visual, Colormap colormap, int depth,
   if (ximage)
     {
       int x, y;
   if (ximage)
     {
       int x, y;
-      ximage->data = (char *)
-        calloc ( ximage->height, ximage->bytes_per_line);
+      ximage->data = (char *) calloc (ximage->height, ximage->bytes_per_line);
       for (y = 0; y < h; y++)
         {
           const unsigned char *line = *data++;
       for (y = 0; y < h; y++)
         {
           const unsigned char *line = *data++;
@@ -185,7 +190,7 @@ parse_xpm_data (Display *dpy, Visual *visual, Colormap colormap, int depth,
   *width_ret = w;
   *height_ret = h;
   *pixels_ret = pixels;
   *width_ret = w;
   *height_ret = h;
   *pixels_ret = pixels;
-  *npixels_ret = ncolors;
+  *npixels_ret = pixel_count;
   return ximage;
 }
 
   return ximage;
 }
 
@@ -201,8 +206,7 @@ xscreensaver_logo (Display *dpy, Window window, Colormap cmap,
                    Pixmap *mask_ret,
                    Bool big_p)
 {
                    Pixmap *mask_ret,
                    Bool big_p)
 {
-  int npixels, iw, ih;
-  unsigned long *pixels;
+  int iw, ih;
   XImage *image;
   Pixmap p = 0;
   XWindowAttributes xgwa;
   XImage *image;
   Pixmap p = 0;
   XWindowAttributes xgwa;
@@ -213,8 +217,9 @@ xscreensaver_logo (Display *dpy, Window window, Colormap cmap,
   image = parse_xpm_data (dpy, xgwa.visual, xgwa.colormap, xgwa.depth,
                           background_color,
                           (big_p ? logo_180_xpm : logo_50_xpm),
   image = parse_xpm_data (dpy, xgwa.visual, xgwa.colormap, xgwa.depth,
                           background_color,
                           (big_p ? logo_180_xpm : logo_50_xpm),
-                          &iw, &ih, &pixels, &npixels,
+                          &iw, &ih, pixels_ret, npixels_ret,
                           (mask_ret ? &mask : 0));
                           (mask_ret ? &mask : 0));
+
   if (image)
     {
       XGCValues gcv;
   if (image)
     {
       XGCValues gcv;
@@ -222,6 +227,8 @@ xscreensaver_logo (Display *dpy, Window window, Colormap cmap,
       p = XCreatePixmap (dpy, window, iw, ih, xgwa.depth);
       gc = XCreateGC (dpy, p, 0, &gcv);
       XPutImage (dpy, p, gc, image, 0, 0, 0, 0, iw, ih);
       p = XCreatePixmap (dpy, window, iw, ih, xgwa.depth);
       gc = XCreateGC (dpy, p, 0, &gcv);
       XPutImage (dpy, p, gc, image, 0, 0, 0, 0, iw, ih);
+      free (image->data);
+      image->data = 0;
       XDestroyImage (image);
       XFreeGC (dpy, gc);
 
       XDestroyImage (image);
       XFreeGC (dpy, gc);
 
index 942d03b98dd40e6f7f2c974df71188ffe35af479..035b210021c3acd1b001cb4254f5506815d9ef8e 100644 (file)
@@ -1,2 +1,2 @@
 static const char screensaver_id[] =
 static const char screensaver_id[] =
-       "@(#)xscreensaver 4.01 (24-Feb-2002), by Jamie Zawinski (jwz@jwz.org)";
+       "@(#)xscreensaver 4.02 (18-Mar-2002), by Jamie Zawinski (jwz@jwz.org)";
index d8983cb58b3e9d5a4b29006f6f6138c81063bde5..3e7f5d59af491b4de79d5f5616998362e8bed50e 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title:          xscreensaver
 Begin3
 Title:          xscreensaver
-Version:        4.01
-Entered-date:   24FEB02
+Version:        4.02
+Entered-date:   18MAR02
 Description:    A modular screen saver and locker for the X Window System.
                 Highly customizable: allows the use of any program that
                 can draw on the root window as a display mode.
 Description:    A modular screen saver and locker for the X Window System.
                 Highly customizable: allows the use of any program that
                 can draw on the root window as a display mode.
@@ -10,16 +10,16 @@ Keywords:       screen saver, screen lock, lock, xlock, X11
 Author:         jwz@jwz.org (Jamie Zawinski)
 Maintained-by:  jwz@jwz.org (Jamie Zawinski)
 Primary-site:   http://www.jwz.org/xscreensaver/
 Author:         jwz@jwz.org (Jamie Zawinski)
 Maintained-by:  jwz@jwz.org (Jamie Zawinski)
 Primary-site:   http://www.jwz.org/xscreensaver/
-                2156K xscreensaver-4.01.tar.gz
-                56K   xscreensaver.README
+                2205K xscreensaver-4.02.tar.gz
+                57K   xscreensaver.README
                 1K    xscreensaver.lsm
 Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/
                 1K    xscreensaver.lsm
 Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/
-                2156K xscreensaver-4.01.tar.gz
-                56K   xscreensaver.README
+                2205K xscreensaver-4.02.tar.gz
+                57K   xscreensaver.README
                 1K    xscreensaver.lsm
 Alternate-site: ftp.x.org /contrib/applications/
                 1K    xscreensaver.lsm
 Alternate-site: ftp.x.org /contrib/applications/
-                2156K xscreensaver-4.01.tar.gz
-                56K   xscreensaver.README
+                2205K xscreensaver-4.02.tar.gz
+                57K   xscreensaver.README
                 1K    xscreensaver.lsm
 Platforms:      Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD,
                 BSDI, SCO, OSF1, Ultrix, VMS.
                 1K    xscreensaver.lsm
 Platforms:      Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD,
                 BSDI, SCO, OSF1, Ultrix, VMS.
index 6d7a6cb1fe6b6781b4b02986cf1e178701a48548..cd858e4ba788b478d94444b14cd33558730524d4 100644 (file)
@@ -1,5 +1,5 @@
 %define        name            xscreensaver
 %define        name            xscreensaver
-%define        version         4.01
+%define        version         4.02
 %define        release         1
 %define        serial          1
 %define        x11_prefix      /usr/X11R6
 %define        release         1
 %define        serial          1
 %define        x11_prefix      /usr/X11R6