From f9267e152c9c4e2b150366c590674180e66d45df Mon Sep 17 00:00:00 2001
From: Elena Zannoni
Date: Sun, 9 Jul 2000 16:21:23 +0000
Subject: Import of readline 4.1
---
readline/CHANGELOG | 123 +
readline/CHANGES | 108 +
readline/COPYING | 4 +-
readline/MANIFEST | 12 +-
readline/Makefile.in | 87 +-
readline/README | 2 +-
readline/USAGE | 37 +
readline/aclocal.m4 | 172 +-
readline/ansi_stdlib.h | 2 +-
readline/bind.c | 427 ++-
readline/callback.c | 14 +-
readline/chardefs.h | 4 +-
readline/complete.c | 135 +-
readline/config.h.in | 3 +
readline/configure | 403 ++-
readline/configure.in | 23 +-
readline/display.c | 358 +-
readline/doc/Makefile.in | 87 +-
readline/doc/hist.texinfo | 4 +-
readline/doc/history.dvi | Bin 48188 -> 49240 bytes
readline/doc/history.html | 104 +-
readline/doc/history.info | 61 +-
readline/doc/history.ps | 2751 ++++++---------
readline/doc/hstech.texinfo | 9 +-
readline/doc/hsuser.texinfo | 109 +-
readline/doc/manvers.texinfo | 10 +-
readline/doc/readline.0 | 636 ++--
readline/doc/readline.3 | 11 +-
readline/doc/readline.dvi | Bin 199980 -> 207200 bytes
readline/doc/readline.html | 763 ++--
readline/doc/readline.info | 316 +-
readline/doc/readline.ps | 7469 ++++++++++++++++++----------------------
readline/doc/rlman.texinfo | 4 +-
readline/doc/rltech.texinfo | 51 +-
readline/doc/rluser.texinfo | 448 ++-
readline/doc/rluserman.dvi | Bin 0 -> 61412 bytes
readline/doc/rluserman.html | 1566 +++++++++
readline/doc/rluserman.info | 1189 +++++++
readline/doc/rluserman.ps | 1897 ++++++++++
readline/doc/rluserman.texinfo | 94 +
readline/emacs_keymap.c | 16 +-
readline/examples/Makefile.in | 38 +-
readline/examples/excallback.c | 186 +
readline/examples/fileman.c | 26 +-
readline/examples/rl.c | 39 +-
readline/examples/rlfe.c | 685 ++++
readline/examples/rltest.c | 16 +-
readline/examples/rlversion.c | 8 +-
readline/funmap.c | 16 +-
readline/histexpand.c | 18 +-
readline/histfile.c | 54 +-
readline/histlib.h | 12 +-
readline/history.c | 6 +-
readline/history.h | 10 +-
readline/histsearch.c | 7 +-
readline/input.c | 92 +-
readline/isearch.c | 21 +-
readline/keymaps.c | 14 +-
readline/keymaps.h | 12 +-
readline/kill.c | 39 +-
readline/macro.c | 19 +-
readline/nls.c | 21 +-
readline/parens.c | 41 +-
readline/posixdir.h | 4 +-
readline/posixjmp.h | 18 +
readline/posixstat.h | 4 +-
readline/readline.c | 205 +-
readline/readline.h | 23 +-
readline/rlconf.h | 8 +-
readline/rldefs.h | 7 +-
readline/rlprivate.h | 271 ++
readline/rlshell.h | 34 +
readline/rlstdc.h | 52 +-
readline/rltty.c | 202 +-
readline/rltty.h | 25 +-
readline/rlwinsize.h | 5 +-
readline/savestring.c | 4 +-
readline/search.c | 182 +-
readline/shell.c | 50 +-
readline/shlib/Makefile.in | 61 +-
readline/signals.c | 54 +-
readline/support/config.guess | 382 +-
readline/support/config.sub | 397 ++-
readline/support/shlib-install | 47 +-
readline/support/shobj-conf | 50 +-
readline/tcap.h | 4 +-
readline/terminal.c | 210 +-
readline/tilde.c | 55 +-
readline/tilde.h | 28 +-
readline/undo.c | 6 +-
readline/util.c | 24 +-
readline/vi_keymap.c | 4 +-
readline/vi_mode.c | 33 +-
readline/xmalloc.c | 27 +-
readline/xmalloc.h | 46 +
95 files changed, 15192 insertions(+), 8219 deletions(-)
create mode 100644 readline/USAGE
create mode 100644 readline/doc/rluserman.dvi
create mode 100644 readline/doc/rluserman.html
create mode 100644 readline/doc/rluserman.info
create mode 100644 readline/doc/rluserman.ps
create mode 100644 readline/doc/rluserman.texinfo
create mode 100644 readline/examples/excallback.c
create mode 100644 readline/examples/rlfe.c
create mode 100644 readline/rlprivate.h
create mode 100644 readline/rlshell.h
create mode 100644 readline/xmalloc.h
diff --git a/readline/CHANGELOG b/readline/CHANGELOG
index 479e6c0..9024bdf 100644
--- a/readline/CHANGELOG
+++ b/readline/CHANGELOG
@@ -214,3 +214,126 @@ Makefile.in,{doc,examples,shlib}/Makefile.in
- set SHELL from @MAKE_SHELL@
[readline-4.0 released]
+
+ 3/11
+ ----
+doc/Makefile.in
+ - removed references to HTMLTOC, since separate HTML table-of-contents
+ files are no longer created
+
+examples/Makefile.in
+ - remove `*.exe' in clean target for MS-DOS
+
+Makefile.in
+ - make `readline' target depend on ./libreadline.a
+ - configure now substitutes TERMCAP_LIB into Makefile.in
+ - use ${TERMCAP_LIB} instead of -ltermcap in recipe for `readline'
+ - clean target now removes readline and readline.exe in case they
+ get built
+
+configure.in
+ - use `pwd.exe' to set BUILD_DIR on MS-DOS DJGPP
+
+ 3/15
+ ----
+support/shlib-install
+ - Irix 5.x and Irix 6.x should install shared libraries like Solaris 2
+ - changes for installing on hp-ux 1[01].x
+
+ 3/23
+ ----
+configure.in
+ - make sure that the $CC argument to shobj-conf is quoted
+
+ 4/8
+ ---
+
+xmalloc.h, rlprivate.h, rlshell.h
+ - new files
+
+Makefile.in,shlib/Makefile.in
+ - add dependencies on xmalloc.h, rlshell.h
+ - add xmalloc.h, rlprivate.h, rlshell.h to list of header files
+
+MANIFEST
+ - add xmalloc.h, rlprivate.h, rlshell.h
+
+ 4/9
+ ---
+Makefile.in,shlib/Makefile.in
+ - add dependencies on rlprivate.h
+
+ 4/13
+ ----
+doc/Makefile.in
+ - add variable, PSDVI, which is the desired resolution of the
+ generated postscript files. Set to 300 because I don't have
+ any 600-dpi printers
+ - set LANGUAGE= before calling makeinfo, so messages are in English
+ - add rluserman.{info,dvi,ps,html} to appropriate variables
+ - add rules to create rluserman.{info,dvi,ps,html}
+ - install and uninstall rluserman.info, but don't update the directory
+ file in $(infodir) yet
+
+MANIFEST
+ - add doc/rluserman.{texinfo,info,dvi,ps,html}
+
+ 4/30
+ ----
+configure.in
+ - updated library version to 4.1
+
+ 5/3
+ ---
+configure.in
+ - SHLIB_MAJOR and SHLIB_MINOR shared library version numbers are
+ constructed from $LIBRARY_VERSION and substituted into Makefiles
+
+ 5/5
+ ---
+support/shlib-install
+ - OSF/1 installs shared libraries like Solaris
+
+Makefile.in
+ - broke the header file install and uninstall into two new targets:
+ install-headers and uninstall-headers
+ - install and uninstall depend on install-headers and uninstall-headers
+ respectively
+ - changed install-shared and uninstall-shared targets to depend on
+ install-headers and uninstall-headers, respectively, so users may
+ choose to install only the shared libraries. I'm not sure about
+ the uninstall one yet -- maybe it should check whether or not
+ the static libraries are installed and not remove the header files
+ if they are
+
+ 9/3
+ ---
+configure.in, config.h.in
+ - added test for memmove (for later use)
+ - changed version to 4.1-beta1
+
+ 9/13
+ ----
+examples/rlfe.c
+ - Per Bothner's `rlfe' readline front-end program
+
+examples/Makefile.in
+ - added rules to build rlfe
+
+ 9/21
+ ----
+support/shlib-install
+ - changes to handle FreeBSD-3.x elf or a.out shared libraries, which
+ have different semantics and need different naming conventions
+
+ 1/24/2000
+ ---------
+doc/Makefile.in
+ - remove *.bt and *.bts on `make clean'
+
+ 2/4
+ ---
+
+
+configure.in
+ - changed LIBVERSION to 4.1-beta5
diff --git a/readline/CHANGES b/readline/CHANGES
index 65339c2..d2929ab 100644
--- a/readline/CHANGES
+++ b/readline/CHANGES
@@ -1,3 +1,111 @@
+This document details the changes between this version, readline-4.1,
+and the previous version, readline-4.0.
+
+1. Changes to Readline
+
+a. Changed the HTML documents so that the table-of-contents is no longer
+ a separate file.
+
+b. Changes to the shared object configuration for: Irix 5.x, Irix 6.x,
+ OSF/1.
+
+c. The shared library major and minor versions are now constructed
+ automatically by configure and substituted into the makefiles.
+
+d. It's now possible to install the shared libraries separately from the
+ static libraries.
+
+e. The history library tries to truncate the history file only if it is a
+ regular file.
+
+f. A bug that caused _rl_dispatch to address negative array indices on
+ systems with signed chars was fixed.
+
+g. rl-yank-nth-arg now leaves the history position the same as when it was
+ called.
+
+h. Changes to the completion code to handle MS-DOS drive-letter:pathname
+ filenames.
+
+i. Completion is now case-insensitive by default on MS-DOS.
+
+j. Fixes to the history file manipulation code for MS-DOS.
+
+k. Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS.
+
+l. Some fixes were made to the redisplay code for better operation on MS-DOS.
+
+m. The quoted-insert code will now insert tty special chars like ^C.
+
+n. A bug was fixed that caused the display code to reference memory before
+ the start of the prompt string.
+
+o. More support for __EMX__ (OS/2).
+
+p. A bug was fixed in readline's signal handling that could cause infinite
+ recursion in signal handlers.
+
+q. A bug was fixed that caused the point to be less than zero when rl_forward
+ was given a very large numeric argument.
+
+r. The vi-mode code now gets characters via the application-settable value
+ of rl_getc_function rather than calling rl_getc directly.
+
+s. The history file code now uses O_BINARY mode when reading and writing
+ the history file on cygwin32.
+
+t. Fixed a bug in the redisplay code for lines with more than 256 line
+ breaks.
+
+u. A bug was fixed which caused invisible character markers to not be
+ stripped from the prompt string if the terminal was in no-echo mode.
+
+v. Readline no longer tries to get the variables it needs for redisplay
+ from the termcap entry if the calling application has specified its
+ own redisplay function. Readline treats the terminal as `dumb' in
+ this case.
+
+w. Fixes to the SIGWINCH code so that a multiple-line prompt with escape
+ sequences is redrawn correctly.
+
+x. Changes to the install and install-shared targets so that the libraries
+ and header files are installed separately.
+
+2. New Features in Readline
+
+a. A new Readline `user manual' is in doc/rluserman.texinfo.
+
+b. Parentheses matching is now always compiled into readline, and enabled
+ or disabled when the value of the `blink-matching-paren' variable is
+ changed.
+
+c. MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
+
+d. MS-DOS systems now use ~/_history as the default history file.
+
+e. history-search-{forward,backward} now leave the point at the end of the
+ line when the string to search for is empty, like
+ {reverse,forward}-search-history.
+
+f. history-search-{forward,backward} now leave the last history line found
+ in the readline buffer if the second or subsequent search fails.
+
+g. New function for use by applications: rl_on_new_line_with_prompt, used
+ when an application displays the prompt itself before calling readline().
+
+h. New variable for use by applications: rl_already_prompted. An application
+ that displays the prompt itself before calling readline() must set this to
+ a non-zero value.
+
+i. A new variable, rl_gnu_readline_p, always 1. The intent is that an
+ application can verify whether or not it is linked with the `real'
+ readline library or some substitute.
+
+j. Per Bothner's `rlfe' (pronounced `Ralphie') readline front-end program
+ is included in the examples subdirectory, though it is not built
+ by default.
+
+-------------------------------------------------------------------------------
This document details the changes between this version, readline-4.0,
and the previous version, readline-2.2.
diff --git a/readline/COPYING b/readline/COPYING
index a43ea21..1bf1526 100644
--- a/readline/COPYING
+++ b/readline/COPYING
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Also add information on how to contact you by electronic and paper mail.
diff --git a/readline/MANIFEST b/readline/MANIFEST
index f23ff41..a51ca05 100644
--- a/readline/MANIFEST
+++ b/readline/MANIFEST
@@ -11,8 +11,8 @@ MANIFEST f
INSTALL f
CHANGELOG f
CHANGES f
+USAGE f
aclocal.m4 f
-acconfig.h f
config.h.in f
configure f
configure.in f
@@ -28,11 +28,14 @@ posixstat.h f
readline.h f
rlconf.h f
rldefs.h f
+rlprivate.h f
+rlshell.h f
rlstdc.h f
rltty.h f
rlwinsize.h f
tcap.h f
tilde.h f
+xmalloc.h f
bind.c f
complete.c f
display.c f
@@ -77,6 +80,7 @@ doc/manvers.texinfo f
doc/rlman.texinfo f
doc/rltech.texinfo f
doc/rluser.texinfo f
+doc/rluserman.texinfo f
doc/hist.texinfo f
doc/hstech.texinfo f
doc/hsuser.texinfo f
@@ -84,8 +88,10 @@ doc/readline.3 f
doc/texi2dvi f
doc/texi2html f
examples/Makefile.in f
+examples/excallback.c f
examples/fileman.c f
examples/manexamp.c f
+examples/rlfe.c f
examples/rltest.c f
examples/rl.c f
examples/rlversion.c f
@@ -94,10 +100,14 @@ examples/Inputrc f
# formatted documentation, from MANIFEST.doc
doc/readline.ps f
doc/history.ps f
+doc/rluserman.ps f
doc/readline.dvi f
doc/history.dvi f
+doc/rluserman.dvi f
doc/readline.info f
doc/history.info f
+doc/rluserman.info f
doc/readline.html f
doc/history.html f
+doc/rluserman.html f
doc/readline.0 f
diff --git a/readline/Makefile.in b/readline/Makefile.in
index 746c83c..023496d 100644
--- a/readline/Makefile.in
+++ b/readline/Makefile.in
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
RL_LIBRARY_VERSION = @LIBVERSION@
RL_LIBRARY_NAME = readline
@@ -60,6 +60,8 @@ CPPFLAGS = @CPPFLAGS@
DEFS = @DEFS@
LOCAL_DEFS = @LOCAL_DEFS@
+TERMCAP_LIB = @TERMCAP_LIB@
+
# For libraries which include headers from other libraries.
INCLUDES = -I. -I$(srcdir) -I$(includedir)
@@ -88,7 +90,7 @@ CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \
# The header files for this library.
HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \
posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \
- ansi_stdlib.h tcap.h rlstdc.h
+ ansi_stdlib.h tcap.h rlstdc.h xmalloc.h rlprivate.h rlshell.h
HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.o
TILDEOBJ = tilde.o
@@ -115,6 +117,8 @@ INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \
all: static
+everything: static shared examples
+
static: $(STATIC_LIBS)
libreadline.a: $(OBJECTS)
@@ -127,8 +131,8 @@ libhistory.a: $(HISTOBJ) xmalloc.o
$(AR) $(ARFLAGS) $@ $(HISTOBJ) xmalloc.o
-test -n "$(RANLIB)" && $(RANLIB) $@
-readline: $(OBJECTS) readline.h rldefs.h chardefs.h
- $(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a -ltermcap
+readline: $(OBJECTS) readline.h rldefs.h chardefs.h ./libreadline.a
+ $(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a ${TERMCAP_LIB}
Makefile makefile: config.status $(srcdir)/Makefile.in
CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
@@ -147,8 +151,8 @@ stamp-h: config.status $(srcdir)/config.h.in
CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
echo > $@
-$(srcdir)/configure: $(srcdir)/configure.in ## Comment-me-out in distribution
- cd $(srcdir) && autoconf ## Comment-me-out in distribution
+#$(srcdir)/configure: $(srcdir)/configure.in ## Comment-me-out in distribution
+# cd $(srcdir) && autoconf ## Comment-me-out in distribution
shared: force
@@ -165,10 +169,18 @@ examples: force
force:
-install: installdirs $(STATIC_LIBS)
+install-headers: installdirs ${INSTALLED_HEADERS}
for f in ${INSTALLED_HEADERS}; do \
$(INSTALL_DATA) $(srcdir)/$$f $(includedir)/readline ; \
done
+
+uninstall-headers:
+ -test -n "$(includedir)" && cd $(includedir)/readline && \
+ ${RM} ${INSTALLED_HEADERS}
+
+maybe-uninstall-headers: uninstall-headers
+
+install: installdirs $(STATIC_LIBS) install-headers
-$(MV) $(libdir)/libreadline.a $(libdir)/libreadline.old
$(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a
-test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libreadline.a
@@ -184,16 +196,14 @@ installdirs: $(srcdir)/support/mkdirs
-$(SHELL) $(srcdir)/support/mkdirs $(includedir) \
$(includedir)/readline $(libdir) $(infodir) $(man3dir)
-uninstall:
- -test -n "$(includedir)" && cd $(includedir)/readline && \
- ${RM} ${INSTALLED_HEADERS}
+uninstall: uninstall-headers
-test -n "$(libdir)" && cd $(libdir) && \
${RM} libreadline.a libreadline.old libhistory.a libhistory.old $(SHARED_LIBS)
-install-shared: installdirs shared
+install-shared: installdirs install-headers shared
-( cd shlib ; ${MAKE} ${MFLAGS} install )
-uninstall-shared:
+uninstall-shared: maybe-uninstall-headers
-( cd shlib; ${MAKE} ${MFLAGS} uninstall )
TAGS: force
@@ -204,6 +214,7 @@ tags: force
clean: force
$(RM) $(OBJECTS) $(STATIC_LIBS)
+ $(RM) readline readline.exe
-( cd shlib && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd examples && $(MAKE) $(MFLAGS) $@ )
@@ -231,7 +242,7 @@ installcheck:
dist: force
@echo Readline distributions are created using $(srcdir)/support/mkdist.
@echo Here is a sample of the necessary commands:
- @echo bash $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION)
+ @echo bash $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r $(RL_LIBRARY_NAME) $(RL_LIBRARY_VERSION)
@echo tar cf $(RL_LIBRARY_NAME)-${RL_LIBRARY_VERSION}.tar ${RL_LIBRARY_NAME}-$(RL_LIBRARY_VERSION)
@echo gzip $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION).tar
@@ -290,6 +301,8 @@ macro.o: readline.h keymaps.h chardefs.h tilde.h
macro.o: history.h rlstdc.h
nls.o: ansi_stdlib.h
nls.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
+nls.o: readline.h keymaps.h chardefs.h tilde.h
+nls.o: history.h rlstdc.h
parens.o: rlconf.h
parens.o: ${BUILD_DIR}/config.h
parens.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
@@ -328,6 +341,54 @@ vi_mode.o: history.h ansi_stdlib.h rlstdc.h
xmalloc.o: ${BUILD_DIR}/config.h
xmalloc.o: ansi_stdlib.h
+bind.o: rlshell.h
+histfile.o: rlshell.h
+nls.o: rlshell.h
+readline.o: rlshell.h
+shell.o: rlshell.h
+terminal.o: rlshell.h
+histexpand.o: rlshell.h
+
+bind.o: rlprivate.h
+callback.o: rlprivate.h
+complete.o: rlprivate.h
+display.o: rlprivate.h
+input.o: rlprivate.h
+isearch.o: rlprivate.h
+kill.o: rlprivate.h
+macro.o: rlprivate.h
+nls.o: rlprivate.h
+parens.o: rlprivate.h
+readline.o: rlprivate.h
+rltty.o: rlprivate.h
+search.o: rlprivate.h
+signals.o: rlprivate.h
+terminal.o: rlprivate.h
+undo.o: rlprivate.h
+util.o: rlprivate.h
+vi_mode.o: rlprivate.h
+
+bind.o: xmalloc.h
+complete.o: xmalloc.h
+display.o: xmalloc.h
+funmap.o: xmalloc.h
+histexpand.o: xmalloc.h
+histfile.o: xmalloc.h
+history.o: xmalloc.h
+input.o: xmalloc.h
+isearch.o: xmalloc.h
+keymaps.o: xmalloc.h
+kill.o: xmalloc.h
+macro.o: xmalloc.h
+readline.o: xmalloc.h
+savestring.o: xmalloc.h
+search.o: xmalloc.h
+shell.o: xmalloc.h
+tilde.o: xmalloc.h
+tilde.o: xmalloc.h
+util.o: xmalloc.h
+vi_mode.o: xmalloc.h
+
readline.o: $(srcdir)/readline.c
vi_mode.o: $(srcdir)/vi_mode.c
funmap.o: $(srcdir)/funmap.c
diff --git a/readline/README b/readline/README
index 56565b2..41a5d0c 100644
--- a/readline/README
+++ b/readline/README
@@ -1,7 +1,7 @@
Introduction
============
-This is the Gnu Readline library, version 4.0.
+This is the Gnu Readline library, version 4.1.
The Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both
diff --git a/readline/USAGE b/readline/USAGE
new file mode 100644
index 0000000..edc9f54
--- /dev/null
+++ b/readline/USAGE
@@ -0,0 +1,37 @@
+From rms@gnu.org Thu Jul 22 20:37:55 1999
+Flags: 10
+Return-Path: rms@gnu.org
+Received: from arthur.INS.CWRU.Edu (root@arthur.INS.CWRU.Edu [129.22.8.215]) by odin.INS.CWRU.Edu with ESMTP (8.8.6+cwru/CWRU-2.4-ins)
+ id UAA25349; Thu, 22 Jul 1999 20:37:54 -0400 (EDT) (from rms@gnu.org for )
+Received: from nike.ins.cwru.edu (root@nike.INS.CWRU.Edu [129.22.8.219]) by arthur.INS.CWRU.Edu with ESMTP (8.8.8+cwru/CWRU-3.6)
+ id UAA05311; Thu, 22 Jul 1999 20:37:51 -0400 (EDT) (from rms@gnu.org for )
+Received: from pele.santafe.edu (pele.santafe.edu [192.12.12.119]) by nike.ins.cwru.edu with ESMTP (8.8.7/CWRU-2.5-bsdi)
+ id UAA13350; Thu, 22 Jul 1999 20:37:50 -0400 (EDT) (from rms@gnu.org for )
+Received: from wijiji.santafe.edu (wijiji [192.12.12.5])
+ by pele.santafe.edu (8.9.1/8.9.1) with ESMTP id SAA10831
+ for ; Thu, 22 Jul 1999 18:37:47 -0600 (MDT)
+Received: (from rms@localhost)
+ by wijiji.santafe.edu (8.9.1b+Sun/8.9.1) id SAA01089;
+ Thu, 22 Jul 1999 18:37:46 -0600 (MDT)
+Date: Thu, 22 Jul 1999 18:37:46 -0600 (MDT)
+Message-Id: <199907230037.SAA01089@wijiji.santafe.edu>
+X-Authentication-Warning: wijiji.santafe.edu: rms set sender to rms@gnu.org using -f
+From: Richard Stallman
+To: chet@nike.ins.cwru.edu
+Subject: Use of Readline
+Reply-to: rms@gnu.org
+
+I think Allbery's suggestion is a good one. So please add this text
+in a suitable place. Please don't put it in the GPL itself; that
+should be the same as the GPL everywhere else. Putting it in the
+README and/or the documentation would be a good idea.
+
+
+======================================================================
+Our position on the use of Readline through a shared-library linking
+mechanism is that there is no legal difference between shared-library
+linking and static linking--either kind of linking combines various
+modules into a single larger work. The conditions for using Readline
+in a larger work are stated in section 3 of the GNU GPL.
+
+
diff --git a/readline/aclocal.m4 b/readline/aclocal.m4
index c277a0c..f8f5b74 100644
--- a/readline/aclocal.m4
+++ b/readline/aclocal.m4
@@ -316,13 +316,19 @@ AC_CACHE_VAL(bash_cv_opendir_not_robust,
main()
{
DIR *dir;
-int fd;
-unlink("/tmp/not_a_directory");
-fd = open("/tmp/not_a_directory", O_WRONLY|O_CREAT, 0666);
+int fd, err;
+err = mkdir("/tmp/bash-aclocal", 0700);
+if (err < 0) {
+ perror("mkdir");
+ exit(1);
+}
+unlink("/tmp/bash-aclocal/not_a_directory");
+fd = open("/tmp/bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
write(fd, "\n", 1);
close(fd);
-dir = opendir("/tmp/not_a_directory");
-unlink("/tmp/not_a_directory");
+dir = opendir("/tmp/bash-aclocal/not_a_directory");
+unlink("/tmp/bash-aclocal/not_a_directory");
+rmdir("/tmp/bash-aclocal");
exit (dir == 0);
}], bash_cv_opendir_not_robust=yes,bash_cv_opendir_not_robust=no,
[AC_MSG_WARN(cannot check opendir if cross compiling -- defaulting to no)
@@ -354,25 +360,59 @@ AC_DEFINE(VOID_SIGHANDLER)
fi
])
-AC_DEFUN(BASH_TYPE_INT32_T,
+dnl
+dnl A signed 16-bit integer quantity
+dnl
+AC_DEFUN(BASH_TYPE_BITS16_T,
+[
+if test "$ac_cv_sizeof_short" = 2; then
+ AC_CHECK_TYPE(bits16_t, short)
+elif test "$ac_cv_sizeof_char" = 2; then
+ AC_CHECK_TYPE(bits16_t, char)
+else
+ AC_CHECK_TYPE(bits16_t, short)
+fi
+])
+
+dnl
+dnl An unsigned 16-bit integer quantity
+dnl
+AC_DEFUN(BASH_TYPE_U_BITS16_T,
+[
+if test "$ac_cv_sizeof_short" = 2; then
+ AC_CHECK_TYPE(u_bits16_t, unsigned short)
+elif test "$ac_cv_sizeof_char" = 2; then
+ AC_CHECK_TYPE(u_bits16_t, unsigned char)
+else
+ AC_CHECK_TYPE(u_bits16_t, unsigned short)
+fi
+])
+
+dnl
+dnl A signed 32-bit integer quantity
+dnl
+AC_DEFUN(BASH_TYPE_BITS32_T,
[
if test "$ac_cv_sizeof_int" = 4; then
- AC_CHECK_TYPE(int32_t, int)
+ AC_CHECK_TYPE(bits32_t, int)
elif test "$ac_cv_sizeof_long" = 4; then
- AC_CHECK_TYPE(int32_t, long)
+ AC_CHECK_TYPE(bits32_t, long)
else
- AC_CHECK_TYPE(int32_t, int)
+ AC_CHECK_TYPE(bits32_t, int)
fi
])
-AC_DEFUN(BASH_TYPE_U_INT32_T,
+dnl
+dnl An unsigned 32-bit integer quantity
+dnl
+AC_DEFUN(BASH_TYPE_U_BITS32_T,
[
if test "$ac_cv_sizeof_int" = 4; then
- AC_CHECK_TYPE(u_int32_t, unsigned int)
+ AC_CHECK_TYPE(u_bits32_t, unsigned int)
elif test "$ac_cv_sizeof_long" = 4; then
- AC_CHECK_TYPE(u_int32_t, unsigned long)
+ AC_CHECK_TYPE(u_bits32_t, unsigned long)
else
- AC_CHECK_TYPE(u_int32_t, unsigned int)
+ AC_CHECK_TYPE(u_bits32_t, unsigned int)
fi
])
@@ -387,6 +427,9 @@ else
fi
])
+dnl
+dnl A signed 64-bit quantity
+dnl
AC_DEFUN(BASH_TYPE_BITS64_T,
[
if test "$ac_sv_sizeof_char_p" = 8; then
@@ -427,6 +470,20 @@ if test $bash_cv_func_lstat = yes; then
fi
])
+AC_DEFUN(BASH_FUNC_INET_ATON,
+[
+AC_CACHE_CHECK([for inet_aton], bash_cv_func_inet_aton,
+[AC_TRY_LINK([
+#include
+#include
+#include
+struct in_addr ap;], [ inet_aton("127.0.0.1", &ap); ],
+bash_cv_func_inet_aton=yes, bash_cv_func_inet_aton=no)])
+if test $bash_cv_func_inet_aton = yes; then
+ AC_DEFINE(HAVE_INET_ATON)
+fi
+])
+
AC_DEFUN(BASH_STRUCT_TERMIOS_LDISC,
[AC_MSG_CHECKING([for a c_line member of struct termios])
AC_CACHE_VAL(bash_cv_termios_ldisc,
@@ -845,7 +902,7 @@ AC_CACHE_VAL(bash_cv_sys_named_pipes,
/* Add more tests in here as appropriate. */
main()
{
-int fd;
+int fd, err;
#if defined (HAVE_MKFIFO)
exit (0);
@@ -858,12 +915,19 @@ exit (1);
#if defined (NeXT)
exit (1);
#endif
-
-fd = mknod ("/tmp/sh-np-autoconf", 0666 | S_IFIFO, 0);
-if (fd == -1)
+err = mkdir("/tmp/bash-aclocal", 0700);
+if (err < 0) {
+ perror ("mkdir");
+ exit(1);
+}
+fd = mknod ("/tmp/bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
+if (fd == -1) {
+ rmdir ("/tmp/bash-aclocal");
exit (1);
+}
close(fd);
-unlink ("/tmp/sh-np-autoconf");
+unlink ("/tmp/bash-aclocal/sh-np-autoconf");
+rmdir ("/tmp/bash-aclocal");
exit(0);
}], bash_cv_sys_named_pipes=present, bash_cv_sys_named_pipes=missing,
[AC_MSG_WARN(cannot check for named pipes if cross-compiling -- defaulting to missing)
@@ -1037,12 +1101,32 @@ elif test $bash_cv_dev_fd = "whacky"; then
fi
])
+AC_DEFUN(BASH_CHECK_DEV_STDIN,
+[AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available)
+AC_CACHE_VAL(bash_cv_dev_stdin,
+[if test -d /dev/fd && test -r /dev/stdin; then
+ bash_cv_dev_stdin=present
+ elif test -d /proc/self/fd && test -r /dev/stdin; then
+ bash_cv_dev_stdin=present
+ else
+ bash_cv_dev_stdin=absent
+ fi
+])
+AC_MSG_RESULT($bash_cv_dev_stdin)
+if test $bash_cv_dev_stdin = "present"; then
+ AC_DEFINE(HAVE_DEV_STDIN)
+fi
+])
+
+dnl
+dnl Check for the presence of getpeername in libsocket.
+dnl If libsocket is present, check for libnsl and add it to LIBS if
+dnl it's there, since most systems with libsocket require linking
+dnl with libnsl as well. This should only be called if getpeername
+dnl was not found in libc.
dnl
-dnl Check for the presence of getpeername (the only networking function
-dnl bash currently requires) in libsocket. If libsocket is present,
-dnl check for libnsl and add it to LIBS if it's there, since most
-dnl systems with libsocket require linking with libnsl as well.
-dnl This should only be called if getpeername was not found in libc.
+dnl NOTE: IF WE FIND GETPEERNAME, WE ASSUME THAT WE HAVE BIND/CONNECT
+dnl AS WELL
dnl
AC_DEFUN(BASH_CHECK_SOCKLIB,
[
@@ -1084,6 +1168,32 @@ if test $bash_cv_have_socklib = yes; then
fi
])
+dnl
+dnl This needs BASH_CHECK_SOCKLIB, but since that's not called on every
+dnl system, we can't use AC_PREREQ
+dnl
+AC_DEFUN(BASH_FUNC_GETHOSTBYNAME,
+[if test "X$bash_cv_have_gethostbyname" = "X"; then
+_bash_needmsg=yes
+else
+AC_MSG_CHECKING(for gethostbyname in socket library)
+_bash_needmsg=
+fi
+AC_CACHE_VAL(bash_cv_have_gethostbyname,
+[AC_TRY_LINK([#include ],
+[ struct hostent *hp;
+ hp = gethostbyname("localhost");
+], bash_cv_have_gethostbyname=yes, bash_cv_have_gethostbyname=no)]
+)
+if test "X$_bash_needmsg" = Xyes; then
+ AC_MSG_CHECKING(for gethostbyname in socket library)
+fi
+AC_MSG_RESULT($bash_cv_have_gethostbyname)
+if test "$bash_cv_have_gethostbyname" = yes; then
+AC_DEFINE(HAVE_GETHOSTBYNAME)
+fi
+])
+
AC_DEFUN(BASH_DEFAULT_MAIL_DIR,
[AC_MSG_CHECKING(for default mail directory)
AC_CACHE_VAL(bash_cv_mail_dir,
@@ -1299,3 +1409,19 @@ switch (0) case 0: case (sizeof (off_t) <= 4):;
if test $bash_cv_off_t_64 = yes; then
AC_DEFINE(HAVE_OFF_T_64)
fi])
+
+AC_DEFUN(BASH_STRUCT_TIMEVAL,
+[AC_MSG_CHECKING(for struct timeval in sys/time.h and time.h)
+AC_CACHE_VAL(bash_cv_struct_timeval,
+[
+AC_EGREP_HEADER(struct timeval, sys/time.h,
+ bash_cv_struct_timeval=yes,
+ AC_EGREP_HEADER(struct timeval, time.h,
+ bash_cv_struct_timeval=yes,
+ bash_cv_struct_timeval=no))
+])
+AC_MSG_RESULT($bash_cv_struct_timeval)
+if test $bash_cv_struct_timeval = yes; then
+ AC_DEFINE(HAVE_TIMEVAL)
+fi
+])
diff --git a/readline/ansi_stdlib.h b/readline/ansi_stdlib.h
index 52339da..a720cb9 100644
--- a/readline/ansi_stdlib.h
+++ b/readline/ansi_stdlib.h
@@ -18,7 +18,7 @@
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
- Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+ Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#if !defined (_STDLIB_H_)
#define _STDLIB_H_ 1
diff --git a/readline/bind.c b/readline/bind.c
index f446dc8..6a6424e 100644
--- a/readline/bind.c
+++ b/readline/bind.c
@@ -7,7 +7,7 @@
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 1, or
+ as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
@@ -18,7 +18,7 @@
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
- 675 Mass Ave, Cambridge, MA 02139, USA. */
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#if defined (HAVE_CONFIG_H)
@@ -42,7 +42,6 @@
# include "ansi_stdlib.h"
#endif /* HAVE_STDLIB_H */
-#include
#include
#if !defined (errno)
@@ -58,61 +57,25 @@ extern int errno;
#include "readline.h"
#include "history.h"
+#include "rlprivate.h"
+#include "rlshell.h"
+#include "xmalloc.h"
+
#if !defined (strchr) && !defined (__STDC__)
extern char *strchr (), *strrchr ();
#endif /* !strchr && !__STDC__ */
-extern int _rl_horizontal_scroll_mode;
-extern int _rl_mark_modified_lines;
-extern int _rl_bell_preference;
-extern int _rl_meta_flag;
-extern int _rl_convert_meta_chars_to_ascii;
-extern int _rl_output_meta_chars;
-extern int _rl_complete_show_all;
-extern int _rl_complete_mark_directories;
-extern int _rl_print_completions_horizontally;
-extern int _rl_completion_case_fold;
-extern int _rl_enable_keypad;
-#if defined (PAREN_MATCHING)
-extern int rl_blink_matching_paren;
-#endif /* PAREN_MATCHING */
-#if defined (VISIBLE_STATS)
-extern int rl_visible_stats;
-#endif /* VISIBLE_STATS */
-extern int rl_complete_with_tilde_expansion;
-extern int rl_completion_query_items;
-extern int rl_inhibit_completion;
-extern char *_rl_comment_begin;
-extern unsigned char *_rl_isearch_terminators;
-
-extern int rl_explicit_arg;
-extern int rl_editing_mode;
-extern unsigned char _rl_parsing_conditionalized_out;
-extern Keymap _rl_keymap;
-
-extern char *possible_control_prefixes[], *possible_meta_prefixes[];
-
-/* Functions imported from funmap.c */
-extern char **rl_funmap_names ();
-extern int rl_add_funmap_entry ();
-
-/* Functions imported from util.c */
-extern char *_rl_strindex ();
-
-/* Functions imported from shell.c */
-extern char *get_env_value ();
-
/* Variables exported by this file. */
Keymap rl_binding_keymap;
-/* Forward declarations */
-void rl_set_keymap_from_edit_mode ();
+static int _rl_read_init_file __P((char *, int));
+static int glean_key_from_name __P((char *));
+static int substring_member_of_array __P((char *, char **));
-static int _rl_read_init_file ();
-static int glean_key_from_name ();
-static int substring_member_of_array ();
+static int currently_reading_init_file;
-extern char *xmalloc (), *xrealloc ();
+/* used only in this file */
+static int _rl_prefer_visible_bell = 1;
/* **************************************************************** */
/* */
@@ -677,9 +640,16 @@ _rl_read_file (filename, sizep)
return ((char *)NULL);
}
+#if 0
buffer[file_size] = '\0';
if (sizep)
*sizep = file_size;
+#else
+ buffer[i] = '\0';
+ if (sizep)
+ *sizep = i;
+#endif
+
return (buffer);
}
@@ -718,6 +688,11 @@ rl_read_init_file (filename)
if (*filename == 0)
filename = DEFAULT_INPUTRC;
+#if defined (__MSDOS__)
+ if (_rl_read_init_file (filename, 0) == 0)
+ return 0;
+ filename = "~/_inputrc";
+#endif
return (_rl_read_init_file (filename, 0));
}
@@ -746,6 +721,8 @@ _rl_read_init_file (filename, include_level)
last_readline_init_file = savestring (filename);
}
+ currently_reading_init_file = 1;
+
/* Loop over the lines in the file. Lines that start with `#' are
comments; all other lines are commands for readline initialization. */
current_readline_init_lineno = 1;
@@ -756,6 +733,12 @@ _rl_read_init_file (filename, include_level)
/* Find the end of this line. */
for (i = 0; line + i != end && line[i] != '\n'; i++);
+#if defined (__CYGWIN32__)
+ /* ``Be liberal in what you accept.'' */
+ if (line[i] == '\n' && line[i-1] == '\r')
+ line[i - 1] = '\0';
+#endif
+
/* Mark end of line. */
line[i] = '\0';
@@ -776,6 +759,7 @@ _rl_read_init_file (filename, include_level)
}
free (buffer);
+ currently_reading_init_file = 0;
return (0);
}
@@ -783,9 +767,11 @@ static void
_rl_init_file_error (msg)
char *msg;
{
- fprintf (stderr, "readline: %s: line %d: %s\n", current_readline_init_file,
- current_readline_init_lineno,
- msg);
+ if (currently_reading_init_file)
+ fprintf (stderr, "readline: %s: line %d: %s\n", current_readline_init_file,
+ current_readline_init_lineno, msg);
+ else
+ fprintf (stderr, "readline: %s\n", msg);
}
/* **************************************************************** */
@@ -1232,154 +1218,273 @@ rl_parse_and_bind (string)
have one of two values; either "On" or 1 for truth, or "Off" or 0 for
false. */
+#define V_SPECIAL 0x1
+
static struct {
char *name;
int *value;
+ int flags;
} boolean_varlist [] = {
-#if defined (PAREN_MATCHING)
- { "blink-matching-paren", &rl_blink_matching_paren },
-#endif
- { "completion-ignore-case", &_rl_completion_case_fold },
- { "convert-meta", &_rl_convert_meta_chars_to_ascii },
- { "disable-completion", &rl_inhibit_completion },
- { "enable-keypad", &_rl_enable_keypad },
- { "expand-tilde", &rl_complete_with_tilde_expansion },
- { "horizontal-scroll-mode", &_rl_horizontal_scroll_mode },
- { "input-meta", &_rl_meta_flag },
- { "mark-directories", &_rl_complete_mark_directories },
- { "mark-modified-lines", &_rl_mark_modified_lines },
- { "meta-flag", &_rl_meta_flag },
- { "output-meta", &_rl_output_meta_chars },
- { "print-completions-horizontally", &_rl_print_completions_horizontally },
- { "show-all-if-ambiguous", &_rl_complete_show_all },
+ { "blink-matching-paren", &rl_blink_matching_paren, V_SPECIAL },
+ { "completion-ignore-case", &_rl_completion_case_fold, 0 },
+ { "convert-meta", &_rl_convert_meta_chars_to_ascii, 0 },
+ { "disable-completion", &rl_inhibit_completion, 0 },
+ { "enable-keypad", &_rl_enable_keypad, 0 },
+ { "expand-tilde", &rl_complete_with_tilde_expansion, 0 },
+ { "horizontal-scroll-mode", &_rl_horizontal_scroll_mode, 0 },
+ { "input-meta", &_rl_meta_flag, 0 },
+ { "mark-directories", &_rl_complete_mark_directories, 0 },
+ { "mark-modified-lines", &_rl_mark_modified_lines, 0 },
+ { "meta-flag", &_rl_meta_flag, 0 },
+ { "output-meta", &_rl_output_meta_chars, 0 },
+ { "prefer-visible-bell", &_rl_prefer_visible_bell, V_SPECIAL },
+ { "print-completions-horizontally", &_rl_print_completions_horizontally, 0 },
+ { "show-all-if-ambiguous", &_rl_complete_show_all, 0 },
#if defined (VISIBLE_STATS)
- { "visible-stats", &rl_visible_stats },
+ { "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */
{ (char *)NULL, (int *)NULL }
};
+static int
+find_boolean_var (name)
+ char *name;
+{
+ register int i;
+
+ for (i = 0; boolean_varlist[i].name; i++)
+ if (_rl_stricmp (name, boolean_varlist[i].name) == 0)
+ return i;
+ return -1;
+}
+
+/* Hooks for handling special boolean variables, where a
+ function needs to be called or another variable needs
+ to be changed when they're changed. */
+static void
+hack_special_boolean_var (i)
+ int i;
+{
+ char *name;
+
+ name = boolean_varlist[i].name;
+
+ if (_rl_stricmp (name, "blink-matching-paren") == 0)
+ _rl_enable_paren_matching (rl_blink_matching_paren);
+ else if (_rl_stricmp (name, "prefer-visible-bell") == 0)
+ {
+ if (_rl_prefer_visible_bell)
+ _rl_bell_preference = VISIBLE_BELL;
+ else
+ _rl_bell_preference = AUDIBLE_BELL;
+ }
+}
+
+/* These *must* correspond to the array indices for the appropriate
+ string variable. (Though they're not used right now.) */
+#define V_BELLSTYLE 0
+#define V_COMBEGIN 1
+#define V_EDITMODE 2
+#define V_ISRCHTERM 3
+#define V_KEYMAP 4
+
+#define V_STRING 1
+#define V_INT 2
+
+/* Forward declarations */
+static int sv_bell_style __P((char *));
+static int sv_combegin __P((char *));
+static int sv_compquery __P((char *));
+static int sv_editmode __P((char *));
+static int sv_isrchterm __P((char *));
+static int sv_keymap __P((char *));
+
+static struct {
+ char *name;
+ int flags;
+ Function *set_func;
+} string_varlist[] = {
+ { "bell-style", V_STRING, sv_bell_style },
+ { "comment-begin", V_STRING, sv_combegin },
+ { "completion-query-items", V_INT, sv_compquery },
+ { "editing-mode", V_STRING, sv_editmode },
+ { "isearch-terminators", V_STRING, sv_isrchterm },
+ { "keymap", V_STRING, sv_keymap },
+ { (char *)NULL, 0 }
+};
+
+static int
+find_string_var (name)
+ char *name;
+{
+ register int i;
+
+ for (i = 0; string_varlist[i].name; i++)
+ if (_rl_stricmp (name, string_varlist[i].name) == 0)
+ return i;
+ return -1;
+}
+
+/* A boolean value that can appear in a `set variable' command is true if
+ the value is null or empty, `on' (case-insenstive), or "1". Any other
+ values result in 0 (false). */
+static int
+bool_to_int (value)
+ char *value;
+{
+ return (value == 0 || *value == '\0' ||
+ (_rl_stricmp (value, "on") == 0) ||
+ (value[0] == '1' && value[1] == '\0'));
+}
+
int
rl_variable_bind (name, value)
char *name, *value;
{
register int i;
+ int v;
/* Check for simple variables first. */
- for (i = 0; boolean_varlist[i].name; i++)
+ i = find_boolean_var (name);
+ if (i >= 0)
{
- if (_rl_stricmp (name, boolean_varlist[i].name) == 0)
- {
- /* A variable is TRUE if the "value" is "on", "1" or "". */
- *boolean_varlist[i].value = *value == 0 ||
- _rl_stricmp (value, "on") == 0 ||
- (value[0] == '1' && value[1] == '\0');
- return 0;
- }
+ *boolean_varlist[i].value = bool_to_int (value);
+ if (boolean_varlist[i].flags & V_SPECIAL)
+ hack_special_boolean_var (i);
+ return 0;
}
- /* Not a boolean variable, so check for specials. */
+ i = find_string_var (name);
- /* Editing mode change? */
- if (_rl_stricmp (name, "editing-mode") == 0)
+ /* For the time being, unknown variable names or string names without a
+ handler function are simply ignored. */
+ if (i < 0 || string_varlist[i].set_func == 0)
+ return 0;
+
+ v = (*string_varlist[i].set_func) (value);
+ return v;
+}
+
+static int
+sv_editmode (value)
+ char *value;
+{
+ if (_rl_strnicmp (value, "vi", 2) == 0)
{
- if (_rl_strnicmp (value, "vi", 2) == 0)
- {
#if defined (VI_MODE)
- _rl_keymap = vi_insertion_keymap;
- rl_editing_mode = vi_mode;
+ _rl_keymap = vi_insertion_keymap;
+ rl_editing_mode = vi_mode;
#endif /* VI_MODE */
- }
- else if (_rl_strnicmp (value, "emacs", 5) == 0)
- {
- _rl_keymap = emacs_standard_keymap;
- rl_editing_mode = emacs_mode;
- }
+ return 0;
}
-
- /* Comment string change? */
- else if (_rl_stricmp (name, "comment-begin") == 0)
+ else if (_rl_strnicmp (value, "emacs", 5) == 0)
{
- if (*value)
- {
- if (_rl_comment_begin)
- free (_rl_comment_begin);
-
- _rl_comment_begin = savestring (value);
- }
+ _rl_keymap = emacs_standard_keymap;
+ rl_editing_mode = emacs_mode;
+ return 0;
}
- else if (_rl_stricmp (name, "completion-query-items") == 0)
+ return 1;
+}
+
+static int
+sv_combegin (value)
+ char *value;
+{
+ if (value && *value)
{
- int nval = 100;
- if (*value)
- {
- nval = atoi (value);
- if (nval < 0)
- nval = 0;
- }
- rl_completion_query_items = nval;
+ FREE (_rl_comment_begin);
+ _rl_comment_begin = savestring (value);
+ return 0;
}
- else if (_rl_stricmp (name, "keymap") == 0)
+ return 1;
+}
+
+static int
+sv_compquery (value)
+ char *value;
+{
+ int nval = 100;
+
+ if (value && *value)
{
- Keymap kmap;
- kmap = rl_get_keymap_by_name (value);
- if (kmap)
- rl_set_keymap (kmap);
+ nval = atoi (value);
+ if (nval < 0)
+ nval = 0;
}
- else if (_rl_stricmp (name, "bell-style") == 0)
+ rl_completion_query_items = nval;
+ return 0;
+}
+
+static int
+sv_keymap (value)
+ char *value;
+{
+ Keymap kmap;
+
+ kmap = rl_get_keymap_by_name (value);
+ if (kmap)
{
- if (!*value)
- _rl_bell_preference = AUDIBLE_BELL;
- else
- {
- if (_rl_stricmp (value, "none") == 0 || _rl_stricmp (value, "off") == 0)
- _rl_bell_preference = NO_BELL;
- else if (_rl_stricmp (value, "audible") == 0 || _rl_stricmp (value, "on") == 0)
- _rl_bell_preference = AUDIBLE_BELL;
- else if (_rl_stricmp (value, "visible") == 0)
- _rl_bell_preference = VISIBLE_BELL;
- }
+ rl_set_keymap (kmap);
+ return 0;
}
- else if (_rl_stricmp (name, "prefer-visible-bell") == 0)
+ return 1;
+}
+
+#define _SET_BELL(v) do { _rl_bell_preference = v; return 0; } while (0)
+
+static int
+sv_bell_style (value)
+ char *value;
+{
+ if (value == 0 || *value == '\0')
+ _SET_BELL (AUDIBLE_BELL);
+ else if (_rl_stricmp (value, "none") == 0 || _rl_stricmp (value, "off") == 0)
+ _SET_BELL (NO_BELL);
+ else if (_rl_stricmp (value, "audible") == 0 || _rl_stricmp (value, "on") == 0)
+ _SET_BELL (AUDIBLE_BELL);
+ else if (_rl_stricmp (value, "visible") == 0)
+ _SET_BELL (VISIBLE_BELL);
+ else
+ return 1;
+}
+#undef _SET_BELL
+
+static int
+sv_isrchterm (value)
+ char *value;
+{
+ int beg, end, delim;
+ char *v;
+
+ if (value == 0)
+ return 1;
+
+ /* Isolate the value and translate it into a character string. */
+ v = savestring (value);
+ FREE (_rl_isearch_terminators);
+ if (v[0] == '"' || v[0] == '\'')
{
- /* Backwards compatibility. */
- if (*value && (_rl_stricmp (value, "on") == 0 ||
- (*value == '1' && !value[1])))
- _rl_bell_preference = VISIBLE_BELL;
- else
- _rl_bell_preference = AUDIBLE_BELL;
+ delim = v[0];
+ for (beg = end = 1; v[end] && v[end] != delim; end++)
+ ;
}
- else if (_rl_stricmp (name, "isearch-terminators") == 0)
+ else
{
- /* Isolate the value and translate it into a character string. */
- int beg, end;
- char *v;
+ for (beg = end = 0; whitespace (v[end]) == 0; end++)
+ ;
+ }
- v = savestring (value);
- FREE (_rl_isearch_terminators);
- if (v[0] == '"' || v[0] == '\'')
- {
- int delim = v[0];
- for (beg = end = 1; v[end] && v[end] != delim; end++)
- ;
- }
- else
- {
- for (beg = end = 0; whitespace (v[end]) == 0; end++)
- ;
- }
+ v[end] = '\0';
- v[end] = '\0';
- /* The value starts at v + beg. Translate it into a character string. */
- _rl_isearch_terminators = (unsigned char *)xmalloc (2 * strlen (v) + 1);
- rl_translate_keyseq (v + beg, _rl_isearch_terminators, &end);
- _rl_isearch_terminators[end] = '\0';
- free (v);
- }
-
- /* For the time being, unknown variable names are simply ignored. */
+ /* The value starts at v + beg. Translate it into a character string. */
+ _rl_isearch_terminators = (unsigned char *)xmalloc (2 * strlen (v) + 1);
+ rl_translate_keyseq (v + beg, _rl_isearch_terminators, &end);
+ _rl_isearch_terminators[end] = '\0';
+
+ free (v);
return 0;
}
-
+
/* Return the character which matches NAME.
For example, `Space' returns ' '. */
diff --git a/readline/callback.c b/readline/callback.c
index 6915be4..1172356 100644
--- a/readline/callback.c
+++ b/readline/callback.c
@@ -7,7 +7,7 @@
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 1, or
+ as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
@@ -18,7 +18,7 @@
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
- 675 Mass Ave, Cambridge, MA 02139, USA. */
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#if defined (HAVE_CONFIG_H)
@@ -35,15 +35,7 @@
/* System-specific feature definitions and include files. */
#include "rldefs.h"
#include "readline.h"
-
-extern void readline_internal_setup ();
-extern char *readline_internal_teardown ();
-extern int readline_internal_char ();
-extern void _rl_init_line_state ();
-
-extern int _rl_meta_flag;
-extern char *rl_prompt;
-extern int rl_visible_prompt_length;
+#include "rlprivate.h"
/* **************************************************************** */
/* */
diff --git a/readline/chardefs.h b/readline/chardefs.h
index 3e9e273..664c1e4 100644
--- a/readline/chardefs.h
+++ b/readline/chardefs.h
@@ -7,7 +7,7 @@
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 1, or
+ as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
@@ -18,7 +18,7 @@
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
- 675 Mass Ave, Cambridge, MA 02139, USA. */
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#ifndef _CHARDEFS_H_
#define _CHARDEFS_H_
diff --git a/readline/complete.c b/readline/complete.c
index 714a2bf..fb48712 100644
--- a/readline/complete.c
+++ b/readline/complete.c
@@ -7,7 +7,7 @@
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 1, or
+ as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
@@ -18,7 +18,7 @@
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
- 675 Mass Ave, Cambridge, MA 02139, USA. */
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#if defined (HAVE_CONFIG_H)
@@ -70,20 +70,14 @@ extern struct passwd *getpwent ();
/* Some standard library routines. */
#include "readline.h"
+#include "xmalloc.h"
+#include "rlprivate.h"
-extern char *tilde_expand ();
-extern char *rl_copy_text ();
-extern void _rl_abort_internal ();
-extern int _rl_qsort_string_compare ();
-extern void _rl_replace_text ();
-
-extern Function *rl_last_func;
-extern int rl_editing_mode;
-extern int screenwidth;
-
-extern void _rl_move_vert ();
-extern int _rl_vis_botlin;
-extern int rl_display_fixed;
+#ifdef __STDC__
+typedef int QSFUNC (const void *, const void *);
+#else
+typedef int QSFUNC ();
+#endif
/* If non-zero, then this is the address of a function to call when
completing a word would normally display the list of possible matches.
@@ -95,27 +89,25 @@ extern int rl_display_fixed;
VFunction *rl_completion_display_matches_hook = (VFunction *)NULL;
/* Forward declarations for functions defined and used in this file. */
-char *filename_completion_function ();
-char **completion_matches ();
+char *filename_completion_function __P((char *, int));
+char **completion_matches __P((char *, CPFunction *));
#if defined (VISIBLE_STATS)
# if !defined (X_OK)
# define X_OK 1
# endif
-static int stat_char ();
+static int stat_char __P((char *));
#endif
-static char *rl_quote_filename ();
-static char *rl_strpbrk ();
-
-static char **remove_duplicate_matches ();
-static void insert_match ();
-static int append_to_match ();
-static void insert_all_matches ();
-static void display_matches ();
-static int compute_lcd_of_matches ();
+static char *rl_quote_filename __P((char *, int, char *));
+static char *rl_strpbrk __P((char *, char *));
-extern char *xmalloc (), *xrealloc ();
+static char **remove_duplicate_matches __P((char **));
+static void insert_match __P((char *, int, int, char *));
+static int append_to_match __P((char *, int, int));
+static void insert_all_matches __P((char **, int, char *));
+static void display_matches __P((char **));
+static int compute_lcd_of_matches __P((char **, int, char *));
/* **************************************************************** */
/* */
@@ -136,7 +128,11 @@ int _rl_complete_mark_directories = 1;
int _rl_print_completions_horizontally;
/* Non-zero means that case is not significant in filename completion. */
+#if defined (__MSDOS__) && !defined (__DJGPP__)
+int _rl_completion_case_fold = 1;
+#else
int _rl_completion_case_fold;
+#endif
/* Global variables available to applications using readline. */
@@ -417,6 +413,10 @@ printable_part (pathname)
char *temp;
temp = rl_filename_completion_desired ? strrchr (pathname, '/') : (char *)NULL;
+#if defined (__MSDOS__)
+ if (rl_filename_completion_desired && temp == 0 && isalpha (pathname[0]) && pathname[1] == ':')
+ temp = pathname + 1;
+#endif
return (temp ? ++temp : pathname);
}
@@ -477,7 +477,12 @@ print_filename (to_print, full_pathname)
c = to_print[-1];
to_print[-1] = '\0';
- s = tilde_expand (full_pathname);
+ /* If setting the last slash in full_pathname to a NUL results in
+ full_pathname being the empty string, we are trying to complete
+ files in the root directory. If we pass a null string to the
+ bash directory completion hook, for example, it will expand it
+ to the current directory. We just want the `/'. */
+ s = tilde_expand (full_pathname && *full_pathname ? full_pathname : "/");
if (rl_directory_completion_hook)
(*rl_directory_completion_hook) (&s);
@@ -627,25 +632,31 @@ find_completion_word (fp, dp)
/* If there is an application-specific function to say whether or not
a character is quoted and we found a quote character, let that
function decide whether or not a character is a word break, even
- if it is found in rl_completer_word_break_characters. */
- if (rl_char_is_quoted_p)
- isbrk = (found_quote == 0 ||
- (*rl_char_is_quoted_p) (rl_line_buffer, rl_point) == 0) &&
- strchr (rl_completer_word_break_characters, scan) != 0;
- else
- isbrk = strchr (rl_completer_word_break_characters, scan) != 0;
-
- if (isbrk)
+ if it is found in rl_completer_word_break_characters. Don't bother
+ if we're at the end of the line, though. */
+ if (scan)
{
- /* If the character that caused the word break was a quoting
- character, then remember it as the delimiter. */
- if (rl_basic_quote_characters && strchr (rl_basic_quote_characters, scan) && (end - rl_point) > 1)
- delimiter = scan;
-
- /* If the character isn't needed to determine something special
- about what kind of completion to perform, then advance past it. */
- if (rl_special_prefixes == 0 || strchr (rl_special_prefixes, scan) == 0)
- rl_point++;
+ if (rl_char_is_quoted_p)
+ isbrk = (found_quote == 0 ||
+ (*rl_char_is_quoted_p) (rl_line_buffer, rl_point) == 0) &&
+ strchr (rl_completer_word_break_characters, scan) != 0;
+ else
+ isbrk = strchr (rl_completer_word_break_characters, scan) != 0;
+
+ if (isbrk)
+ {
+ /* If the character that caused the word break was a quoting
+ character, then remember it as the delimiter. */
+ if (rl_basic_quote_characters &&
+ strchr (rl_basic_quote_characters, scan) &&
+ (end - rl_point) > 1)
+ delimiter = scan;
+
+ /* If the character isn't needed to determine something special
+ about what kind of completion to perform, then advance past it. */
+ if (rl_special_prefixes == 0 || strchr (rl_special_prefixes, scan) == 0)
+ rl_point++;
+ }
}
if (fp)
@@ -715,7 +726,7 @@ remove_duplicate_matches (matches)
/* Sort the array without matches[0], since we need it to
stay in place no matter what. */
if (i)
- qsort (matches+1, i-1, sizeof (char *), _rl_qsort_string_compare);
+ qsort (matches+1, i-1, sizeof (char *), (QSFUNC *)_rl_qsort_string_compare);
/* Remember the lowest common denominator for it may be unique. */
lowest_common = savestring (matches[0]);
@@ -908,7 +919,7 @@ rl_display_match_list (matches, len, max)
/* Sort the items if they are not already sorted. */
if (rl_ignore_completion_duplicates == 0)
- qsort (matches + 1, len, sizeof (char *), _rl_qsort_string_compare);
+ qsort (matches + 1, len, sizeof (char *), (QSFUNC *)_rl_qsort_string_compare);
crlf ();
@@ -1407,9 +1418,9 @@ username_completion_function (text, state)
char *text;
int state;
{
-#if defined (__GO32__) || defined (__WIN32__) || defined (__OPENNT)
+#if defined (__WIN32__) || defined (__OPENNT)
return (char *)NULL;
-#else /* !__GO32__ */
+#else /* !__WIN32__ && !__OPENNT) */
static char *username = (char *)NULL;
static struct passwd *entry;
static int namelen, first_char, first_char_loc;
@@ -1452,7 +1463,7 @@ username_completion_function (text, state)
return (value);
}
-#endif /* !__GO32__ */
+#endif /* !__WIN32__ && !__OPENNT */
}
/* Okay, now we write the entry_function for filename completion. In the
@@ -1494,11 +1505,25 @@ filename_completion_function (text, state)
temp = strrchr (dirname, '/');
+#if defined (__MSDOS__)
+ /* special hack for //X/... */
+ if (dirname[0] == '/' && dirname[1] == '/' && isalpha (dirname[2]) && dirname[3] == '/')
+ temp = strrchr (dirname + 3, '/');
+#endif
+
if (temp)
{
strcpy (filename, ++temp);
*temp = '\0';
}
+#if defined (__MSDOS__)
+ /* searches from current directory on the drive */
+ else if (isalpha (dirname[0]) && dirname[1] == ':')
+ {
+ strcpy (filename, dirname + 2);
+ dirname[2] = '\0';
+ }
+#endif
else
{
dirname[0] = '.';
@@ -1660,11 +1685,7 @@ rl_menu_complete (count, ignore)
/* Clean up from previous call, if any. */
FREE (orig_text);
if (matches)
- {
- for (match_list_index = 0; matches[match_list_index]; match_list_index++)
- free (matches[match_list_index]);
- free (matches);
- }
+ free_match_list (matches);
match_list_index = match_list_size = 0;
matches = (char **)NULL;
diff --git a/readline/config.h.in b/readline/config.h.in
index 65927a8..d9aa535 100644
--- a/readline/config.h.in
+++ b/readline/config.h.in
@@ -14,6 +14,9 @@
/* Define if you have the lstat function. */
#undef HAVE_LSTAT
+/* Define if you have the memmove function. */
+#undef HAVE_MEMMOVE
+
/* Define if you have the putenv function. */
#undef HAVE_PUTENV
diff --git a/readline/configure b/readline/configure
index 454a177..bcb5ff8 100755
--- a/readline/configure
+++ b/readline/configure
@@ -1,7 +1,19 @@
#! /bin/sh
-# From configure.in for Readline 4.0, version 2.14, from autoconf version 2.12
-LIBVERSION=4.0
+# From configure.in for Readline 4.1, version 2.22, from autoconf version 2.13
+LIBVERSION=4.1
+
+
+
+
+
+
+
+
+
+
+
+
@@ -92,7 +104,7 @@ LIBVERSION=4.0
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -142,6 +154,7 @@ mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
@@ -425,7 +438,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
@@ -595,9 +608,11 @@ ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
+ac_exeext=
+ac_objext=o
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -637,26 +652,26 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
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
-echo "configure:646: checking host system type" >&5
+echo "configure:661: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
- if host_alias=`$ac_config_guess`; then :
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
-host=`$ac_config_sub $host_alias`
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
@@ -683,15 +698,16 @@ test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
# 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:687: checking for $ac_word" >&5
+echo "configure:702: 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 test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
@@ -712,16 +728,17 @@ 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
-echo "configure:716: checking for $ac_word" >&5
+echo "configure:732: 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 test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_prog_rejected=no
- for ac_dir in $PATH; do
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
@@ -756,25 +773,61 @@ else
echo "$ac_t""no" 1>&6
fi
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # 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:783: 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 test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:764: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:815: 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_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
-cat > conftest.$ac_ext < conftest.$ac_ext << EOF
+
+#line 826 "configure"
#include "confdefs.h"
+
main(){return(0);}
EOF
-if { (eval echo configure:778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:831: \"$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
@@ -788,18 +841,24 @@ else
ac_cv_prog_cc_works=no
fi
rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
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:798: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:857: 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 "configure:803: checking whether we are using GNU C" >&5
+echo "configure:862: 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
@@ -808,7 +867,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:812: \"$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:871: \"$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
@@ -819,11 +878,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:827: checking whether ${CC-cc} accepts -g" >&5
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:890: 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
@@ -838,20 +901,24 @@ rm -f conftest*
fi
echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
- CFLAGS="-O2"
+ CFLAGS="-g"
fi
else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:855: checking how to run the C preprocessor" >&5
+echo "configure:922: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -866,14 +933,14 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:876: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:943: \"$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
:
else
@@ -883,14 +950,31 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:960: \"$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
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:977: \"$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
:
else
@@ -903,6 +987,8 @@ fi
rm -f conftest*
fi
rm -f conftest*
+fi
+rm -f conftest*
ac_cv_prog_CPP="$CPP"
fi
CPP="$ac_cv_prog_CPP"
@@ -913,18 +999,18 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:917: checking for minix/config.h" >&5
+echo "configure:1003: checking for minix/config.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
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1013: \"$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*
eval "ac_cv_header_$ac_safe=yes"
@@ -966,13 +1052,13 @@ test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O"
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:970: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1056: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <
Autoconf TIOCGETP
@@ -990,7 +1076,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <
Autoconf TCGETA
@@ -1018,28 +1104,30 @@ fi
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# 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:1026: checking for a BSD compatible install" >&5
+echo "configure:1113: 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
else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
for ac_dir in $PATH; do
# Account for people who put trailing slashes in PATH elements.
case "$ac_dir/" in
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
- for ac_prog in ginstall installbsd scoinst install; do
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
if test -f $ac_dir/$ac_prog; then
if test $ac_prog = install &&
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
- # OSF/1 installbsd also uses dspmsg, but is usable.
:
else
ac_cv_path_install="$ac_dir/$ac_prog -c"
@@ -1069,20 +1157,23 @@ echo "$ac_t""$INSTALL" 1>&6
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1078: checking for $ac_word" >&5
+echo "configure:1168: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_AR="ar"
@@ -1103,15 +1194,16 @@ test -n "$ARFLAGS" || ARFLAGS="cr"
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1107: checking for $ac_word" >&5
+echo "configure:1198: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_RANLIB="ranlib"
@@ -1134,12 +1226,12 @@ MAKE_SHELL=/bin/sh
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1138: checking return type of signal handlers" >&5
+echo "configure:1230: 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 <
#include
@@ -1156,7 +1248,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:1160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -1176,12 +1268,12 @@ EOF
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:1180: checking whether stat file-mode macros are broken" >&5
+echo "configure:1272: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -1236,12 +1328,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
-echo "configure:1240: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1332: 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 <
#include <$ac_hdr>
@@ -1249,7 +1341,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:1253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -1274,7 +1366,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
-echo "configure:1278: checking for opendir in -ldir" >&5
+echo "configure:1370: 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
@@ -1282,7 +1374,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1389: \"$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
@@ -1315,7 +1407,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1319: checking for opendir in -lx" >&5
+echo "configure:1411: 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
@@ -1323,7 +1415,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1430: \"$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
@@ -1357,15 +1449,16 @@ fi
fi
-for ac_func in strcasecmp select setenv putenv tcgetattr setlocale lstat
+for ac_func in lstat memmove putenv select setenv setlocale \
+ strcasecmp tcgetattr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1364: checking for $ac_func" >&5
+echo "configure:1457: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1485: \"$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
@@ -1414,7 +1507,7 @@ done
echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:1418: checking for working strcoll" >&5
+echo "configure:1511: checking for working strcoll" >&5
if eval "test \"`echo '$''{'ac_cv_func_strcoll_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1422,7 +1515,7 @@ else
ac_cv_func_strcoll_works=no
else
cat > conftest.$ac_ext <
main ()
@@ -1432,7 +1525,7 @@ main ()
strcoll ("123", "456") >= 0);
}
EOF
-if { (eval echo configure:1436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_strcoll_works=yes
else
@@ -1461,18 +1554,18 @@ for ac_hdr in unistd.h stdlib.h varargs.h stdarg.h string.h \
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1465: checking for $ac_hdr" >&5
+echo "configure:1558: 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
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1568: \"$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*
eval "ac_cv_header_$ac_safe=yes"
@@ -1500,13 +1593,13 @@ done
echo $ac_n "checking for type of signal functions""... $ac_c" 1>&6
-echo "configure:1504: checking for type of signal functions" >&5
+echo "configure:1597: checking for type of signal functions" >&5
if eval "test \"`echo '$''{'bash_cv_signal_vintage'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
int main() {
@@ -1519,7 +1612,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bash_cv_signal_vintage=posix
else
@@ -1528,7 +1621,7 @@ else
rm -rf conftest*
cat > conftest.$ac_ext <
int main() {
@@ -1538,7 +1631,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bash_cv_signal_vintage=4.2bsd
else
@@ -1547,7 +1640,7 @@ else
rm -rf conftest*
cat > conftest.$ac_ext <
@@ -1560,7 +1653,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bash_cv_signal_vintage=svr3
else
@@ -1601,7 +1694,7 @@ fi
echo $ac_n "checking if signal handlers must be reinstalled when invoked""... $ac_c" 1>&6
-echo "configure:1605: checking if signal handlers must be reinstalled when invoked" >&5
+echo "configure:1698: checking if signal handlers must be reinstalled when invoked" >&5
if eval "test \"`echo '$''{'bash_cv_must_reinstall_sighandlers'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1611,7 +1704,7 @@ else
else
cat > conftest.$ac_ext <
@@ -1658,7 +1751,7 @@ main()
}
EOF
-if { (eval echo configure:1662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
bash_cv_must_reinstall_sighandlers=no
else
@@ -1683,7 +1776,7 @@ fi
echo $ac_n "checking for presence of POSIX-style sigsetjmp/siglongjmp""... $ac_c" 1>&6
-echo "configure:1687: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5
+echo "configure:1780: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5
if eval "test \"`echo '$''{'bash_cv_func_sigsetjmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1693,7 +1786,7 @@ else
else
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
bash_cv_func_sigsetjmp=present
else
@@ -1757,12 +1850,12 @@ EOF
fi
echo $ac_n "checking for lstat""... $ac_c" 1>&6
-echo "configure:1761: checking for lstat" >&5
+echo "configure:1854: checking for lstat" >&5
if eval "test \"`echo '$''{'bash_cv_func_lstat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
@@ -1772,7 +1865,7 @@ int main() {
lstat(".",(struct stat *)0);
; return 0; }
EOF
-if { (eval echo configure:1776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bash_cv_func_lstat=yes
else
@@ -1793,12 +1886,12 @@ EOF
fi
echo $ac_n "checking whether programs are able to redeclare getpw functions""... $ac_c" 1>&6
-echo "configure:1797: checking whether programs are able to redeclare getpw functions" >&5
+echo "configure:1890: checking whether programs are able to redeclare getpw functions" >&5
if eval "test \"`echo '$''{'bash_cv_can_redecl_getpw'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -1809,7 +1902,7 @@ int main() {
struct passwd *z; z = getpwent(); z = getpwuid(0); z = getpwnam("root");
; return 0; }
EOF
-if { (eval echo configure:1813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_can_redecl_getpw=yes
else
@@ -1831,7 +1924,7 @@ fi
echo $ac_n "checking whether or not strcoll and strcmp differ""... $ac_c" 1>&6
-echo "configure:1835: checking whether or not strcoll and strcmp differ" >&5
+echo "configure:1928: checking whether or not strcoll and strcmp differ" >&5
if eval "test \"`echo '$''{'bash_cv_func_strcoll_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1841,7 +1934,7 @@ else
else
cat > conftest.$ac_ext <
@@ -1880,7 +1973,7 @@ char *v[];
}
EOF
-if { (eval echo configure:1884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
bash_cv_func_strcoll_broken=yes
else
@@ -1904,12 +1997,12 @@ fi
echo $ac_n "checking whether signal handlers are of type void""... $ac_c" 1>&6
-echo "configure:1908: checking whether signal handlers are of type void" >&5
+echo "configure:2001: checking whether signal handlers are of type void" >&5
if eval "test \"`echo '$''{'bash_cv_void_sighandler'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -1924,7 +2017,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:1928: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_void_sighandler=yes
else
@@ -1944,12 +2037,12 @@ EOF
fi
echo $ac_n "checking for TIOCGWINSZ in sys/ioctl.h""... $ac_c" 1>&6
-echo "configure:1948: checking for TIOCGWINSZ in sys/ioctl.h" >&5
+echo "configure:2041: checking for TIOCGWINSZ in sys/ioctl.h" >&5
if eval "test \"`echo '$''{'bash_cv_tiocgwinsz_in_ioctl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -1957,7 +2050,7 @@ int main() {
int x = TIOCGWINSZ;
; return 0; }
EOF
-if { (eval echo configure:1961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_tiocgwinsz_in_ioctl=yes
else
@@ -1978,12 +2071,12 @@ EOF
fi
echo $ac_n "checking for TIOCSTAT in sys/ioctl.h""... $ac_c" 1>&6
-echo "configure:1982: checking for TIOCSTAT in sys/ioctl.h" >&5
+echo "configure:2075: checking for TIOCSTAT in sys/ioctl.h" >&5
if eval "test \"`echo '$''{'bash_cv_tiocstat_in_ioctl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -1991,7 +2084,7 @@ int main() {
int x = TIOCSTAT;
; return 0; }
EOF
-if { (eval echo configure:1995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_tiocstat_in_ioctl=yes
else
@@ -2012,12 +2105,12 @@ EOF
fi
echo $ac_n "checking for FIONREAD in sys/ioctl.h""... $ac_c" 1>&6
-echo "configure:2016: checking for FIONREAD in sys/ioctl.h" >&5
+echo "configure:2109: checking for FIONREAD in sys/ioctl.h" >&5
if eval "test \"`echo '$''{'bash_cv_fionread_in_ioctl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -2025,7 +2118,7 @@ int main() {
int x = FIONREAD;
; return 0; }
EOF
-if { (eval echo configure:2029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_fionread_in_ioctl=yes
else
@@ -2046,19 +2139,19 @@ EOF
fi
echo $ac_n "checking for speed_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:2050: checking for speed_t in sys/types.h" >&5
+echo "configure:2143: checking for speed_t in sys/types.h" >&5
if eval "test \"`echo '$''{'bash_cv_speed_t_in_sys_types'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
int main() {
speed_t x;
; return 0; }
EOF
-if { (eval echo configure:2062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_speed_t_in_sys_types=yes
else
@@ -2079,12 +2172,12 @@ EOF
fi
echo $ac_n "checking for struct winsize in sys/ioctl.h and termios.h""... $ac_c" 1>&6
-echo "configure:2083: checking for struct winsize in sys/ioctl.h and termios.h" >&5
+echo "configure:2176: checking for struct winsize in sys/ioctl.h and termios.h" >&5
if eval "test \"`echo '$''{'bash_cv_struct_winsize_header'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
#include
@@ -2092,7 +2185,7 @@ int main() {
struct winsize x;
; return 0; }
EOF
-if { (eval echo configure:2096: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_struct_winsize_header=ioctl_h
else
@@ -2100,7 +2193,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <
#include
@@ -2108,7 +2201,7 @@ int main() {
struct winsize x;
; return 0; }
EOF
-if { (eval echo configure:2112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_struct_winsize_header=termios_h
else
@@ -2141,12 +2234,12 @@ fi
echo $ac_n "checking if struct dirent has a d_ino member""... $ac_c" 1>&6
-echo "configure:2145: checking if struct dirent has a d_ino member" >&5
+echo "configure:2238: checking if struct dirent has a d_ino member" >&5
if eval "test \"`echo '$''{'bash_cv_dirent_has_dino'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
@@ -2175,7 +2268,7 @@ struct dirent d; int z; z = d.d_ino;
; return 0; }
EOF
-if { (eval echo configure:2179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_dirent_has_dino=yes
else
@@ -2197,12 +2290,12 @@ fi
echo $ac_n "checking if struct dirent has a d_fileno member""... $ac_c" 1>&6
-echo "configure:2201: checking if struct dirent has a d_fileno member" >&5
+echo "configure:2294: checking if struct dirent has a d_fileno member" >&5
if eval "test \"`echo '$''{'bash_cv_dirent_has_d_fileno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <
@@ -2231,7 +2324,7 @@ struct dirent d; int z; z = d.d_fileno;
; return 0; }
EOF
-if { (eval echo configure:2235: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bash_cv_dirent_has_d_fileno=yes
else
@@ -2260,14 +2353,14 @@ if test "X$bash_cv_termcap_lib" = "X"; then
_bash_needmsg=yes
else
echo $ac_n "checking which library has the termcap functions""... $ac_c" 1>&6
-echo "configure:2264: checking which library has the termcap functions" >&5
+echo "configure:2357: checking which library has the termcap functions" >&5
_bash_needmsg=
fi
if eval "test \"`echo '$''{'bash_cv_termcap_lib'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:2271: checking for tgetent in -ltermcap" >&5
+echo "configure:2364: checking for tgetent in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2275,7 +2368,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ltermcap $LIBS"
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2383: \"$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
@@ -2305,7 +2398,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 tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:2309: checking for tgetent in -lcurses" >&5
+echo "configure:2402: checking for tgetent in -lcurses" >&5
ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2313,7 +2406,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcurses $LIBS"
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2421: \"$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
@@ -2343,7 +2436,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 tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:2347: checking for tgetent in -lncurses" >&5
+echo "configure:2440: checking for tgetent in -lncurses" >&5
ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2351,7 +2444,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lncurses $LIBS"
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2459: \"$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
@@ -2391,7 +2484,7 @@ fi
if test "X$_bash_needmsg" = "Xyes"; then
echo $ac_n "checking which library has the termcap functions""... $ac_c" 1>&6
-echo "configure:2395: checking which library has the termcap functions" >&5
+echo "configure:2488: checking which library has the termcap functions" >&5
fi
echo "$ac_t""using $bash_cv_termcap_lib" 1>&6
if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
@@ -2428,8 +2521,8 @@ esac
#
if test -f ${srcdir}/support/shobj-conf; then
echo $ac_n "checking configuration for building shared libraries""... $ac_c" 1>&6
-echo "configure:2432: checking configuration for building shared libraries" >&5
- eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C ${CC} -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
+echo "configure:2525: checking configuration for building shared libraries" >&5
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
@@ -2443,9 +2536,20 @@ echo "configure:2432: checking configuration for building shared libraries" >&5
echo "$ac_t""$SHLIB_STATUS" 1>&6
+
+ # shared library versioning
+ # quoted for m4 so I can use character classes
+ SHLIB_MAJOR=`expr "$LIBVERSION" : '\([0-9]\)\..*'`
+ SHLIB_MINOR=`expr "$LIBVERSION" : '[0-9]\.\([0-9]\).*'`
+
+
fi
-BUILD_DIR=`pwd`
+case "$host_os" in
+msdosdjgpp*) BUILD_DIR=`pwd.exe` ;; # to prevent //d/path/file
+*) BUILD_DIR=`pwd` ;;
+esac
+
@@ -2486,7 +2590,7 @@ EOF
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1` in
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
@@ -2553,7 +2657,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12"
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -2573,9 +2677,11 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
+s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
@@ -2602,6 +2708,7 @@ s%@host_os@%$host_os%g
s%@CC@%$CC%g
s%@CPP@%$CPP%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@AR@%$AR%g
s%@RANLIB@%$RANLIB%g
@@ -2618,6 +2725,8 @@ s%@SHLIB_XLDFLAGS@%$SHLIB_XLDFLAGS%g
s%@SHLIB_LIBSUFF@%$SHLIB_LIBSUFF%g
s%@SHLIB_LIBVERSION@%$SHLIB_LIBVERSION%g
s%@SHLIB_LIBS@%$SHLIB_LIBS%g
+s%@SHLIB_MAJOR@%$SHLIB_MAJOR%g
+s%@SHLIB_MINOR@%$SHLIB_MINOR%g
s%@BUILD_DIR@%$BUILD_DIR%g
s%@LOCAL_CFLAGS@%$LOCAL_CFLAGS%g
s%@LOCAL_LDFLAGS@%$LOCAL_LDFLAGS%g
diff --git a/readline/configure.in b/readline/configure.in
index 240a3ad..f977fec 100644
--- a/readline/configure.in
+++ b/readline/configure.in
@@ -4,8 +4,8 @@ dnl
dnl report bugs to chet@po.cwru.edu
dnl
dnl Process this file with autoconf to produce a configure script.
-AC_REVISION([for Readline 4.0, version 2.14, from autoconf version] AC_ACVERSION)
-LIBVERSION=4.0
+AC_REVISION([for Readline 4.1, version 2.22, from autoconf version] AC_ACVERSION)
+LIBVERSION=4.1
AC_INIT(readline.h)
AC_CONFIG_HEADER(config.h)
@@ -32,6 +32,7 @@ fi
test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
AC_PROG_CC
+dnl AC_AIX
AC_MINIX
# If we're using gcc and the user hasn't specified CFLAGS, add -O to CFLAGS.
@@ -53,7 +54,8 @@ AC_RETSIGTYPE
AC_HEADER_STAT
AC_HEADER_DIRENT
-AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat)
+AC_CHECK_FUNCS(lstat memmove putenv select setenv setlocale \
+ strcasecmp tcgetattr)
AC_FUNC_STRCOLL
@@ -102,7 +104,7 @@ esac
#
if test -f ${srcdir}/support/shobj-conf; then
AC_MSG_CHECKING(configuration for building shared libraries)
- eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C ${CC} -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
AC_SUBST(SHOBJ_CC)
AC_SUBST(SHOBJ_CFLAGS)
AC_SUBST(SHOBJ_LD)
@@ -116,9 +118,20 @@ if test -f ${srcdir}/support/shobj-conf; then
AC_SUBST(SHLIB_LIBVERSION)
AC_SUBST(SHLIB_LIBS)
AC_MSG_RESULT($SHLIB_STATUS)
+
+ # shared library versioning
+ # quoted for m4 so I can use character classes
+ SHLIB_MAJOR=[`expr "$LIBVERSION" : '\([0-9]\)\..*'`]
+ SHLIB_MINOR=[`expr "$LIBVERSION" : '[0-9]\.\([0-9]\).*'`]
+ AC_SUBST(SHLIB_MAJOR)
+ AC_SUBST(SHLIB_MINOR)
fi
-BUILD_DIR=`pwd`
+case "$host_os" in
+msdosdjgpp*) BUILD_DIR=`pwd.exe` ;; # to prevent //d/path/file
+*) BUILD_DIR=`pwd` ;;
+esac
+
AC_SUBST(BUILD_DIR)
AC_SUBST(CFLAGS)
diff --git a/readline/display.c b/readline/display.c
index 25aba64..4487004 100644
--- a/readline/display.c
+++ b/readline/display.c
@@ -7,7 +7,7 @@
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 1, or
+ as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
@@ -18,7 +18,7 @@
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
- 675 Mass Ave, Cambridge, MA 02139, USA. */
+ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#if defined (HAVE_CONFIG_H)
@@ -41,11 +41,6 @@
#include
-#if defined (__GO32__)
-# include
-# include
-#endif /* __GO32__ */
-
/* System-specific feature definitions and include files. */
#include "rldefs.h"
@@ -56,48 +51,25 @@
#include "readline.h"
#include "history.h"
+#include "rlprivate.h"
+#include "xmalloc.h"
+
#if !defined (strchr) && !defined (__STDC__)
extern char *strchr (), *strrchr ();
#endif /* !strchr && !__STDC__ */
-/* Global and pseudo-global variables and functions
- imported from readline.c. */
-extern char *rl_prompt;
-extern int readline_echoing_p;
-
-extern int _rl_output_meta_chars;
-extern int _rl_horizontal_scroll_mode;
-extern int _rl_mark_modified_lines;
-extern int _rl_prefer_visible_bell;
-
-/* Variables and functions imported from terminal.c */
-extern void _rl_output_some_chars ();
-#ifdef _MINIX
-extern void _rl_output_character_function ();
-#else
-extern int _rl_output_character_function ();
+#if defined (HACK_TERMCAP_MOTION)
+extern char *term_forward_char;
#endif
-extern int _rl_backspace ();
-
-extern char *term_clreol, *term_clrpag;
-extern char *term_im, *term_ic, *term_ei, *term_DC;
-extern char *term_up, *term_dc, *term_cr, *term_IC;
-extern int screenheight, screenwidth, screenchars;
-extern int terminal_can_insert, _rl_term_autowrap;
-
-/* Pseudo-global functions (local to the readline library) exported
- by this file. */
-void _rl_move_cursor_relative (), _rl_output_some_chars ();
-void _rl_move_vert ();
-void _rl_clear_to_eol (), _rl_clear_screen ();
-static void update_line (), space_to_eol ();
-static void delete_chars (), insert_some_chars ();
-static void cr ();
+static void update_line __P((char *, char *, int, int, int, int));
+static void space_to_eol __P((int));
+static void delete_chars __P((int));
+static void insert_some_chars __P((char *, int));
+static void cr __P((void));
static int *inv_lbreaks, *vis_lbreaks;
-
-extern char *xmalloc (), *xrealloc ();
+static int inv_lbsize, vis_lbsize;
/* Heuristic used to decide whether it is faster to move from CUR to NEW
by backing up or outputting a carriage return and moving forward. */
@@ -190,7 +162,7 @@ static int visible_first_line_len;
/* Expand the prompt string S and return the number of visible
characters in *LP, if LP is not null. This is currently more-or-less
a placeholder for expansion. LIP, if non-null is a place to store the
- index of the last invisible character in ther eturned string. */
+ index of the last invisible character in the returned string. */
/* Current implementation:
\001 (^A) start non-visible characters
@@ -250,6 +222,18 @@ expand_prompt (pmt, lp, lip)
return ret;
}
+/* Just strip out RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE from
+ PMT and return the rest of PMT. */
+char *
+_rl_strip_prompt (pmt)
+ char *pmt;
+{
+ char *ret;
+
+ ret = expand_prompt (pmt, (int *)NULL, (int *)NULL);
+ return ret;
+}
+
/*
* Expand the prompt string into the various display components, if
* necessary.
@@ -307,6 +291,49 @@ rl_expand_prompt (prompt)
}
}
+/* Initialize the VISIBLE_LINE and INVISIBLE_LINE arrays, and their associated
+ arrays of line break markers. MINSIZE is the minimum size of VISIBLE_LINE
+ and INVISIBLE_LINE; if it is greater than LINE_SIZE, LINE_SIZE is
+ increased. If the lines have already been allocated, this ensures that
+ they can hold at least MINSIZE characters. */
+static void
+init_line_structures (minsize)
+ int minsize;
+{
+ register int n;
+
+ if (invisible_line == 0) /* initialize it */
+ {
+ if (line_size < minsize)
+ line_size = minsize;
+ visible_line = xmalloc (line_size);
+ invisible_line = xmalloc (line_size);
+ }
+ else if (line_size < minsize) /* ensure it can hold MINSIZE chars */
+ {
+ line_size *= 2;
+ if (line_size < minsize)
+ line_size = minsize;
+ visible_line = xrealloc (visible_line, line_size);
+ invisible_line = xrealloc (invisible_line, line_size);
+ }
+
+ for (n = minsize; n < line_size; n++)
+ {
+ visible_line[n] = 0;
+ invisible_line[n] = 1;
+ }
+
+ if (vis_lbreaks == 0)
+ {
+ /* should be enough. */
+ inv_lbsize = vis_lbsize = 256;
+ inv_lbreaks = (int *)xmalloc (inv_lbsize * sizeof (int));
+ vis_lbreaks = (int *)xmalloc (vis_lbsize * sizeof (int));
+ inv_lbreaks[0] = vis_lbreaks[0] = 0;
+ }
+}
+
/* Basic redisplay algorithm. */
void
rl_redisplay ()
@@ -325,19 +352,7 @@ rl_redisplay ()
if (invisible_line == 0)
{
- visible_line = xmalloc (line_size);
- invisible_line = xmalloc (line_size);
- for (in = 0; in < line_size; in++)
- {
- visible_line[in] = 0;
- invisible_line[in] = 1;
- }
-
- /* should be enough, but then again, this is just for testing. */
- inv_lbreaks = (int *)malloc (256 * sizeof (int));
- vis_lbreaks = (int *)malloc (256 * sizeof (int));
- inv_lbreaks[0] = vis_lbreaks[0] = 0;
-
+ init_line_structures (0);
rl_on_new_line ();
}
@@ -395,12 +410,13 @@ rl_redisplay ()
else
{
prompt_this_line++;
+ pmtlen = prompt_this_line - rl_display_prompt; /* temp var */
if (forced_display)
{
- _rl_output_some_chars (rl_display_prompt, prompt_this_line - rl_display_prompt);
+ _rl_output_some_chars (rl_display_prompt, pmtlen);
/* Make sure we are at column zero even after a newline,
regardless of the state of terminal output processing. */
- if (prompt_this_line[-2] != '\r')
+ if (pmtlen < 2 || prompt_this_line[-2] != '\r')
cr ();
}
}
@@ -419,11 +435,25 @@ rl_redisplay ()
wrap_offset = 0;
}
+#define CHECK_INV_LBREAKS() \
+ do { \
+ if (newlines >= (inv_lbsize - 2)) \
+ { \
+ inv_lbsize *= 2; \
+ inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
+ } \
+ } while (0)
+
#define CHECK_LPOS() \
do { \
lpos++; \
if (lpos >= screenwidth) \
{ \
+ if (newlines >= (inv_lbsize - 2)) \
+ { \
+ inv_lbsize *= 2; \
+ inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
+ } \
inv_lbreaks[++newlines] = out; \
lpos = 0; \
} \
@@ -437,14 +467,13 @@ rl_redisplay ()
contents of the command line? */
while (lpos >= screenwidth)
{
-#if 0
- temp = ((newlines + 1) * screenwidth) - ((newlines == 0) ? wrap_offset : 0);
-#else
/* XXX - possible fix from Darin Johnson for prompt
string with invisible characters that is longer than the screen
- width. */
+ width. XXX - this doesn't work right if invisible characters have
+ to be put on the second screen line -- it adds too much (the number
+ of invisible chars after the screenwidth). */
temp = ((newlines + 1) * screenwidth) + ((newlines == 0) ? wrap_offset : 0);
-#endif
+
inv_lbreaks[++newlines] = temp;
lpos -= screenwidth;
}
@@ -477,6 +506,7 @@ rl_redisplay ()
if (lpos + 4 >= screenwidth)
{
temp = screenwidth - lpos;
+ CHECK_INV_LBREAKS ();
inv_lbreaks[++newlines] = out + temp;
lpos = 4 - temp;
}
@@ -506,6 +536,7 @@ rl_redisplay ()
{
register int temp2;
temp2 = screenwidth - lpos;
+ CHECK_INV_LBREAKS ();
inv_lbreaks[++newlines] = out + temp2;
lpos = temp - temp2;
while (out < newout)
@@ -522,6 +553,7 @@ rl_redisplay ()
else if (c == '\n' && _rl_horizontal_scroll_mode == 0 && term_up && *term_up)
{
line[out++] = '\0'; /* XXX - sentinel */
+ CHECK_INV_LBREAKS ();
inv_lbreaks[++newlines] = out;
lpos = 0;
}
@@ -546,6 +578,7 @@ rl_redisplay ()
}
inv_botlin = lb_botlin = newlines;
+ CHECK_INV_LBREAKS ();
inv_lbreaks[newlines+1] = out;
cursor_linenum = lb_linenum;
@@ -651,8 +684,12 @@ rl_redisplay ()
if (cursor_linenum == 0 && wrap_offset > 0 && _rl_last_c_pos > 0 &&
_rl_last_c_pos <= last_invisible && local_prompt)
{
+#if defined (__MSDOS__)
+ putc ('\r', rl_outstream);
+#else
if (term_cr)
tputs (term_cr, 1, _rl_output_character_function);
+#endif
_rl_output_some_chars (local_prompt, nleft);
_rl_last_c_pos = nleft;
}
@@ -772,11 +809,17 @@ rl_redisplay ()
/* Swap visible and non-visible lines. */
{
char *temp = visible_line;
- int *itemp = vis_lbreaks;
+ int *itemp = vis_lbreaks, ntemp = vis_lbsize;
+
visible_line = invisible_line;
invisible_line = temp;
+
vis_lbreaks = inv_lbreaks;
inv_lbreaks = itemp;
+
+ vis_lbsize = inv_lbsize;
+ inv_lbsize = ntemp;
+
rl_display_fixed = 0;
/* If we are displaying on a single line, and last_lmargin is > 0, we
are not displaying any invisible characters, so set visible_wrap_offset
@@ -899,7 +942,11 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
term_cr && lendiff > visible_length && _rl_last_c_pos > 0 &&
od > lendiff && _rl_last_c_pos < last_invisible)
{
+#if defined (__MSDOS__)
+ putc ('\r', rl_outstream);
+#else
tputs (term_cr, 1, _rl_output_character_function);
+#endif
_rl_output_some_chars (local_prompt, lendiff);
_rl_last_c_pos = lendiff;
}
@@ -1029,6 +1076,58 @@ rl_on_new_line ()
return 0;
}
+/* Tell the update routines that we have moved onto a new line with the
+ prompt already displayed. Code originally from the version of readline
+ distributed with CLISP. */
+int
+rl_on_new_line_with_prompt ()
+{
+ int prompt_size, i, l, real_screenwidth, newlines;
+ char *prompt_last_line;
+
+ /* Initialize visible_line and invisible_line to ensure that they can hold
+ the already-displayed prompt. */
+ prompt_size = strlen (rl_prompt) + 1;
+ init_line_structures (prompt_size);
+
+ /* Make sure the line structures hold the already-displayed prompt for
+ redisplay. */
+ strcpy (visible_line, rl_prompt);
+ strcpy (invisible_line, rl_prompt);
+
+ /* If the prompt contains newlines, take the last tail. */
+ prompt_last_line = strrchr (rl_prompt, '\n');
+ if (!prompt_last_line)
+ prompt_last_line = rl_prompt;
+
+ l = strlen (prompt_last_line);
+ _rl_last_c_pos = l;
+
+ /* Dissect prompt_last_line into screen lines. Note that here we have
+ to use the real screenwidth. Readline's notion of screenwidth might be
+ one less, see terminal.c. */
+ real_screenwidth = screenwidth + (_rl_term_autowrap ? 0 : 1);
+ _rl_last_v_pos = l / real_screenwidth;
+ /* If the prompt length is a multiple of real_screenwidth, we don't know
+ whether the cursor is at the end of the last line, or already at the
+ beginning of the next line. Output a newline just to be safe. */
+ if (l > 0 && (l % real_screenwidth) == 0)
+ _rl_output_some_chars ("\n", 1);
+ last_lmargin = 0;
+
+ newlines = 0; i = 0;
+ while (i <= l)
+ {
+ _rl_vis_botlin = newlines;
+ vis_lbreaks[newlines++] = i;
+ i += real_screenwidth;
+ }
+ vis_lbreaks[newlines] = l;
+ visible_wrap_offset = 0;
+
+ return 0;
+}
+
/* Actually update the display, period. */
int
rl_forced_update_display ()
@@ -1086,8 +1185,6 @@ _rl_move_cursor_relative (new, data)
That kind of control is for people who don't know what the
data is underneath the cursor. */
#if defined (HACK_TERMCAP_MOTION)
- extern char *term_forward_char;
-
if (term_forward_char)
for (i = _rl_last_c_pos; i < new; i++)
tputs (term_forward_char, 1, _rl_output_character_function);
@@ -1114,20 +1211,15 @@ _rl_move_vert (to)
if (_rl_last_v_pos == to || to > screenheight)
return;
-#if defined (__GO32__)
- {
- int row, col;
-
- ScreenGetCursor (&row, &col);
- ScreenSetCursor ((row + to - _rl_last_v_pos), col);
- }
-#else /* !__GO32__ */
-
if ((delta = to - _rl_last_v_pos) > 0)
{
for (i = 0; i < delta; i++)
putc ('\n', rl_outstream);
+#if defined (__MSDOS__)
+ putc ('\r', rl_outstream);
+#else
tputs (term_cr, 1, _rl_output_character_function);
+#endif
_rl_last_c_pos = 0;
}
else
@@ -1136,7 +1228,7 @@ _rl_move_vert (to)
for (i = 0; i < -delta; i++)
tputs (term_up, 1, _rl_output_character_function);
}
-#endif /* !__GO32__ */
+
_rl_last_v_pos = to; /* Now TO is here */
}
@@ -1344,11 +1436,9 @@ void
_rl_clear_to_eol (count)
int count;
{
-#if !defined (__GO32__)
if (term_clreol)
tputs (term_clreol, 1, _rl_output_character_function);
else if (count)
-#endif /* !__GO32__ */
space_to_eol (count);
}
@@ -1369,11 +1459,9 @@ space_to_eol (count)
void
_rl_clear_screen ()
{
-#if !defined (__GO32__)
if (term_clrpag)
tputs (term_clrpag, 1, _rl_output_character_function);
else
-#endif /* !__GO32__ */
crlf ();
}
@@ -1383,20 +1471,6 @@ insert_some_chars (string, count)
char *string;
int count;
{
-#if defined (__GO32__)
- int row, col, width;
- char *row_start;
-
- ScreenGetCursor (&row, &col);
- width = ScreenCols ();
- row_start = ScreenPrimary + (row * width);
-
- memcpy (row_start + col + count, row_start + col, width - col - count);
-
- /* Place the text on the screen. */
- _rl_output_some_chars (string, count);
-#else /* !_GO32 */
-
/* If IC is defined, then we do not have to "enter" insert mode. */
if (term_IC)
{
@@ -1429,7 +1503,6 @@ insert_some_chars (string, count)
if (term_ei && *term_ei)
tputs (term_ei, 1, _rl_output_character_function);
}
-#endif /* !__GO32__ */
}
/* Delete COUNT characters from the display line. */
@@ -1437,18 +1510,6 @@ static void
delete_chars (count)
int count;
{
-#if defined (__GO32__)
- int row, col, width;
- char *row_start;
-
- ScreenGetCursor (&row, &col);
- width = ScreenCols ();
- row_start = ScreenPrimary + (row * width);
-
- memcpy (row_start + col, row_start + col + count, width - col - count);
- memset (row_start + width - count, 0, count * 2);
-#else /* !_GO32 */
-
if (count > screenwidth) /* XXX */
return;
@@ -1464,7 +1525,6 @@ delete_chars (count)
while (count--)
tputs (term_dc, 1, _rl_output_character_function);
}
-#endif /* !__GO32__ */
}
void
@@ -1486,7 +1546,11 @@ _rl_update_final ()
if (full_lines && _rl_term_autowrap && (VIS_LLEN(_rl_vis_botlin) == screenwidth))
{
char *last_line;
+#if 0
last_line = &visible_line[inv_lbreaks[_rl_vis_botlin]];
+#else
+ last_line = &visible_line[vis_lbreaks[_rl_vis_botlin]];
+#endif
_rl_move_cursor_relative (screenwidth - 1, last_line);
_rl_clear_to_eol (0);
putc (last_line[screenwidth - 1], rl_outstream);
@@ -1503,23 +1567,66 @@ cr ()
{
if (term_cr)
{
+#if defined (__MSDOS__)
+ putc ('\r', rl_outstream);
+#else
tputs (term_cr, 1, _rl_output_character_function);
+#endif
_rl_last_c_pos = 0;
}
}
+/* Redraw the last line of a multi-line prompt that may possibly contain
+ terminal escape sequences. Called with the cursor at column 0 of the
+ line to draw the prompt on. */
+static void
+redraw_prompt (t)
+ char *t;
+{
+ char *oldp, *oldl, *oldlprefix;
+ int oldlen, oldlast, oldplen;
+
+ /* Geez, I should make this a struct. */
+ oldp = rl_display_prompt;
+ oldl = local_prompt;
+ oldlprefix = local_prompt_prefix;
+ oldlen = visible_length;
+ oldplen = prefix_length;
+ oldlast = last_invisible;
+
+ rl_display_prompt = t;
+ local_prompt = expand_prompt (t, &visible_length, &last_invisible);
+ local_prompt_prefix = (char *)NULL;
+ rl_forced_update_display ();
+
+ rl_display_prompt = oldp;
+ local_prompt = oldl;
+ local_prompt_prefix = oldlprefix;
+ visible_length = oldlen;
+ prefix_length = oldplen;
+ last_invisible = oldlast;
+}
+
/* Redisplay the current line after a SIGWINCH is received. */
void
_rl_redisplay_after_sigwinch ()
{
- char *t, *oldp, *oldl, *oldlprefix;
+ char *t;
/* Clear the current line and put the cursor at column 0. Make sure
the right thing happens if we have wrapped to a new screen line. */
if (term_cr)
{
+#if defined (__MSDOS__)
+ putc ('\r', rl_outstream);
+#else
tputs (term_cr, 1, _rl_output_character_function);
+#endif
_rl_last_c_pos = 0;
+#if defined (__MSDOS__)
+ space_to_eol (screenwidth);
+ putc ('\r', rl_outstream);
+#else
if (term_clreol)
tputs (term_clreol, 1, _rl_output_character_function);
else
@@ -1527,6 +1634,7 @@ _rl_redisplay_after_sigwinch ()
space_to_eol (screenwidth);
tputs (term_cr, 1, _rl_output_character_function);
}
+#endif
if (_rl_last_v_pos > 0)
_rl_move_vert (0);
}
@@ -1536,17 +1644,7 @@ _rl_redisplay_after_sigwinch ()
/* Redraw only the last line of a multi-line prompt. */
t = strrchr (rl_display_prompt, '\n');
if (t)
- {
- oldp = rl_display_prompt;
- oldl = local_prompt;
- oldlprefix = local_prompt_prefix;
- rl_display_prompt = ++t;
- local_prompt = local_prompt_prefix = (char *)NULL;
- rl_forced_update_display ();
- rl_display_prompt = oldp;
- local_prompt = oldl;
- local_prompt_prefix = oldlprefix;
- }
+ redraw_prompt (++t);
else
rl_forced_update_display ();
}
@@ -1571,3 +1669,25 @@ _rl_erase_entire_line ()
cr ();
fflush (rl_outstream);
}
+
+/* return the `current display line' of the cursor -- the number of lines to
+ move up to get to the first screen line of the current readline line. */
+int
+_rl_current_display_line ()
+{
+ int ret, nleft;
+
+ /* Find out whether or not there might be invisible characters in the
+ editing buffer. */
+ if (rl_display_prompt == rl_prompt)
+ nleft = _rl_last_c_pos - screenwidth - rl_visible_prompt_length;
+ else
+ nleft = _rl_last_c_pos - screenwidth;
+
+ if (nleft > 0)
+ ret = 1 + nleft / screenwidth;
+ else
+ ret = 0;
+
+ return ret;
+}
diff --git a/readline/doc/Makefile.in b/readline/doc/Makefile.in
index 1031472..4a38563 100644
--- a/readline/doc/Makefile.in
+++ b/readline/doc/Makefile.in
@@ -1,6 +1,23 @@
# This makefile for Readline library documentation is in -*- text -*- mode.
# Emacs likes it that way.
-top_srcdir = @top_srcdir@
+
+# Copyright (C) 1996 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
+
+topdir = @top_srcdir@
srcdir = @srcdir@
VPATH = .:@srcdir@
@@ -8,25 +25,33 @@ prefix = @prefix@
infodir = @infodir@
mandir = @mandir@
-man3dir = $(mandir)/man3
+manpfx = man
+
+man1ext = 1
+man1dir = $(mandir)/$(manpfx)$(man1ext)
+man3ext = 3
+man3dir = $(mandir)/$(manpfx)$(man3ext)
SHELL = @MAKE_SHELL@
RM = rm -f
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+BUILD_DIR = @BUILD_DIR@
TEXINPUTDIR = $(srcdir)
-MAKEINFO = makeinfo
+MAKEINFO = LANGUAGE= makeinfo
TEXI2DVI = $(srcdir)/texi2dvi
TEXI2HTML = $(srcdir)/texi2html
QUIETPS = #set this to -q to shut up dvips
-DVIPS = dvips -D 300 $(QUIETPS) -o $@ # tricky
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
+PAPERSIZE = letter
+PSDPI = 300 # I don't have any 600-dpi printers
+DVIPS = dvips -D ${PSDPI} $(QUIETPS) -t ${PAPERSIZE} -o $@ # tricky
RLSRC = $(srcdir)/rlman.texinfo $(srcdir)/rluser.texinfo \
- $(srcdir)/rltech.texinfo $(srcdir)/manvers.texinfo
+ $(srcdir)/rltech.texinfo $(srcdir)/manvers.texinfo \
+ $(srcdir)/rluserman.texinfo
HISTSRC = $(srcdir)/hist.texinfo $(srcdir)/hsuser.texinfo \
$(srcdir)/hstech.texinfo $(srcdir)/manvers.texinfo
@@ -36,16 +61,15 @@ NROFF = groff -Tascii
# This should be a program that converts troff to postscript
GROFF = groff
-DVIOBJ = readline.dvi history.dvi
-INFOOBJ = readline.info history.info
-PSOBJ = readline.ps history.ps
-HTMLOBJ = readline.html history.html
-HTMLTOC = readline_toc.html history_toc.html
+DVIOBJ = readline.dvi history.dvi rluserman.dvi
+INFOOBJ = readline.info history.info rluserman.info
+PSOBJ = readline.ps history.ps rluserman.ps
+HTMLOBJ = readline.html history.html rluserman.html
TEXTOBJ = readline.0
-INTERMEDIATE_OBJ = rlman.dvi hist.dvi
+INTERMEDIATE_OBJ = rlman.dvi hist.dvi rluserman.dvi
-CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(HTMLTOC) $(TEXTOBJ)
+CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(TEXTOBJ)
.SUFFIXES: .0 .3 .ps .txt .dvi
@@ -63,6 +87,12 @@ readline.dvi: $(RLSRC)
readline.info: $(RLSRC)
$(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/rlman.texinfo
+rluserman.dvi: $(RLSRC)
+ TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/rluserman.texinfo
+
+rluserman.info: $(RLSRC)
+ $(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/rluserman.texinfo
+
history.dvi: ${HISTSRC}
TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/hist.texinfo
mv hist.dvi history.dvi
@@ -74,18 +104,25 @@ readline.ps: readline.dvi
$(RM) $@
$(DVIPS) readline.dvi
+rluserman.ps: rluserman.dvi
+ $(RM) $@
+ $(DVIPS) rluserman.dvi
+
history.ps: history.dvi
$(RM) $@
$(DVIPS) history.dvi
readline.html: ${RLSRC}
$(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/rlman.texinfo
- sed -e 's:rlman.html:readline.html:' rlman.html > readline.html
+ sed -e 's:rlman.html:readline.html:g' rlman.html > readline.html
$(RM) rlman.html
+rluserman.html: ${RLSRC}
+ $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/rluserman.texinfo
+
history.html: ${HISTSRC}
$(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/hist.texinfo
- sed -e 's:hist.html:history.html:' hist.html > history.html
+ sed -e 's:hist.html:history.html:g' hist.html > history.html
$(RM) hist.html
info: $(INFOOBJ)
@@ -98,7 +135,7 @@ readline.0: readline.3
clean:
$(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
- *.fns *.kys *.tps *.vrs *.o core
+ *.fns *.kys *.tps *.vrs *.bt *.bts *.o core
distclean: clean
$(RM) $(CREATED_DOCS)
@@ -112,8 +149,8 @@ maintainer-clean: clean
$(RM) $(INTERMEDIATE_OBJ)
$(RM) Makefile
-installdirs: $(top_srcdir)/support/mkdirs
- -$(SHELL) $(top_srcdir)/support/mkdirs $(infodir) $(man3dir)
+installdirs: $(topdir)/support/mkdirs
+ -$(SHELL) $(topdir)/support/mkdirs $(infodir) $(man3dir)
install: installdirs
if test -f readline.info; then \
@@ -121,12 +158,17 @@ install: installdirs
else \
${INSTALL_DATA} $(srcdir)/readline.info $(infodir)/readline.info; \
fi
+ if test -f rluserman.info; then \
+ ${INSTALL_DATA} rluserman.info $(infodir)/rluserman.info; \
+ else \
+ ${INSTALL_DATA} $(srcdir)/rluserman.info $(infodir)/rluserman.info; \
+ fi
if test -f history.info; then \
${INSTALL_DATA} history.info $(infodir)/history.info; \
else \
${INSTALL_DATA} $(srcdir)/history.info $(infodir)/history.info; \
fi
- if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+ -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
install-info --dir-file=$(infodir)/dir $(infodir)/readline.info ; \
install-info --dir-file=$(infodir)/dir $(infodir)/history.info ; \
else true; fi
@@ -134,5 +176,6 @@ install: installdirs
uninstall:
$(RM) $(infodir)/readline.info
+ $(RM) $(infodir)/rluserman.info
$(RM) $(infodir)/history.info
$(RM) $(man3dir)/readline.3
diff --git a/readline/doc/hist.texinfo b/readline/doc/hist.texinfo
index 31a0ba0..8a9c941 100644
--- a/readline/doc/hist.texinfo
+++ b/readline/doc/hist.texinfo
@@ -55,8 +55,8 @@ provides a consistent user interface for recalling lines of previously
typed input.
Published by the Free Software Foundation @*
-675 Massachusetts Avenue, @*
-Cambridge, MA 02139 USA
+59 Temple Place, Suite 330, @*
+Boston, MA 02111 USA
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/readline/doc/history.dvi b/readline/doc/history.dvi
index 35dc6df..a8b30bf 100644
Binary files a/readline/doc/history.dvi and b/readline/doc/history.dvi differ
diff --git a/readline/doc/history.html b/readline/doc/history.html
index b498d27..d380ff4 100644
--- a/readline/doc/history.html
+++ b/readline/doc/history.html
@@ -1,14 +1,14 @@
+ from /usr/homes/chet/src/bash/readline-src/doc/hist.texinfo on 19 January 2000 -->
GNU History Library
GNU History Library
-Edition 4.0, for History Library
Version 4.0.
-December 1998
+Edition 4.1, for History Library
Version 4.1.
+January 2000
Brian Fox, Free Software Foundation
Chet Ramey, Case Western Reserve University
@@ -54,8 +54,8 @@ typed input.
Published by the Free Software Foundation
-675 Massachusetts Avenue,
-Cambridge, MA 02139 USA
+59 Temple Place, Suite 330,
+Boston, MA 02111 USA
@@ -208,6 +208,31 @@ of the line, with the first word being denoted by 0 (zero). Words are
inserted into the current line separated by single spaces.
+
+For example,
+
+
+
+
+!!
+-
+designates the preceding command. When you type this, the preceding
+command is repeated in toto.
+
+
!!:$
+-
+designates the last argument of the preceding command. This may be
+shortened to
!$
.
+
+ !fi:2
+-
+designates the second argument of the most recent command starting with
+the letters
fi
.
+
+
+
+Here are the word designators:
+
0 (zero)
@@ -364,6 +389,15 @@ includes some history manipulation by default, and has the added
advantage of command line editing.
+
+Before declaring any functions using any functionality the History
+library provides in other code, an application writer should include
+the file <readline/history.h>
in any file that uses the
+History library's features. It supplies extern declarations for all
+of the library's public functions and variables, and declares all of
+the public data structures.
+
+
@@ -783,7 +817,7 @@ if expansions did take place;
if there was an error in expansion;
2
-if the returned line should only be displayed, but not executed,
+if the returned line should be displayed, but not executed,
as with the :p
modifier (see section Modifiers).
@@ -1029,21 +1063,21 @@ main ()
Jump to:
-a
+a
-
-e
+e
-
-h
+h
-
+
anchored search
-
+
event designators
-
+
history events
history expansion
@@ -1056,43 +1090,43 @@ Jump to:
Jump to:
-a
+a
-
-c
+c
-
-g
+g
-
-h
+h
-
-m
+m
-
-n
+n
-
-p
+p
-
-r
+r
-
-s
+s
-
-u
+u
-
-w
+w
-
+
add_history
append_history
-
+
clear_history
current_history
-
+
get_history_event
-
+
history_arg_extract
history_base
@@ -1118,35 +1152,35 @@ Jump to:
history_total_bytes
history_truncate_file
-
+
max_input_history
-
+
next_history
-
+
previous_history
-
+
read_history
read_history_range
remove_history
replace_history_entry
-
+
stifle_history
-
+
unstifle_history
using_history
-
+
where_history
write_history
@@ -1154,7 +1188,7 @@ Jump to:
-This document was generated on 31 December 1998 using the
+This document was generated on 19 January 2000 using the
texi2html
translator version 1.52.
diff --git a/readline/doc/history.info b/readline/doc/history.info
index 7a87cbd..e73cd63 100644
--- a/readline/doc/history.info
+++ b/readline/doc/history.info
@@ -1,4 +1,4 @@
-This is Info file history.info, produced by Makeinfo version 1.67 from
+This is Info file history.info, produced by Makeinfo version 1.68 from
the input file /usr/homes/chet/src/bash/readline-src/doc/hist.texinfo.
INFO-DIR-SECTION Libraries
@@ -141,6 +141,22 @@ be omitted if the word designator begins with a `^', `$', `*', `-', or
word being denoted by 0 (zero). Words are inserted into the current
line separated by single spaces.
+ For example,
+
+`!!'
+ designates the preceding command. When you type this, the
+ preceding command is repeated in toto.
+
+`!!:$'
+ designates the last argument of the preceding command. This may be
+ shortened to `!$'.
+
+`!fi:2'
+ designates the second argument of the most recent command starting
+ with the letters `fi'.
+
+ Here are the word designators:
+
`0 (zero)'
The `0'th word. For many applications, this is the command word.
@@ -261,6 +277,13 @@ the history substitution provided by `csh'.
includes some history manipulation by default, and has the added
advantage of command line editing.
+ Before declaring any functions using any functionality the History
+library provides in other code, an application writer should include
+the file `' in any file that uses the History
+library's features. It supplies extern declarations for all of the
+library's public functions and variables, and declares all of the
+public data structures.
+
File: history.info, Node: History Storage, Next: History Functions, Prev: Introduction to History, Up: Programming with GNU History
@@ -527,8 +550,8 @@ History Expansion
if there was an error in expansion;
`2'
- if the returned line should only be displayed, but not
- executed, as with the `:p' modifier (*note Modifiers::.).
+ if the returned line should be displayed, but not executed,
+ as with the `:p' modifier (*note Modifiers::.).
If an error ocurred in expansion, then OUTPUT contains a
descriptive error message.
@@ -768,21 +791,21 @@ Node: Using History Interactively1742
Node: History Interaction2250
Node: Event Designators3669
Node: Word Designators4596
-Node: Modifiers5845
-Node: Programming with GNU History6983
-Node: Introduction to History7709
-Node: History Storage9030
-Node: History Functions10123
-Node: Initializing History and State Management11094
-Node: History List Management11886
-Node: Information About the History List13407
-Node: Moving Around the History List14713
-Node: Searching the History List15598
-Node: Managing the History File17430
-Node: History Expansion18936
-Node: History Variables20780
-Node: History Programming Example23098
-Node: Concept Index25702
-Node: Function and Variable Index26188
+Node: Modifiers6225
+Node: Programming with GNU History7363
+Node: Introduction to History8089
+Node: History Storage9774
+Node: History Functions10867
+Node: Initializing History and State Management11838
+Node: History List Management12630
+Node: Information About the History List14151
+Node: Moving Around the History List15457
+Node: Searching the History List16342
+Node: Managing the History File18174
+Node: History Expansion19680
+Node: History Variables21519
+Node: History Programming Example23837
+Node: Concept Index26441
+Node: Function and Variable Index26927
End Tag Table
diff --git a/readline/doc/history.ps b/readline/doc/history.ps
index ec82198..abd7810 100644
--- a/readline/doc/history.ps
+++ b/readline/doc/history.ps
@@ -1,1471 +1,819 @@
%!PS-Adobe-2.0
-%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
+%%Creator: dvips(k) 5.82 Copyright 1998 Radical Eye Software
%%Title: history.dvi
-%%Pages: 18
+%%Pages: 20
%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
-%%DocumentPaperSizes: A4
+%%BoundingBox: 0 0 612 792
%%EndComments
-%DVIPSCommandLine: dvips -D 300 -o history.ps history.dvi
-%DVIPSParameters: dpi=300, comments removed
-%DVIPSSource: TeX output 1998.12.31:1208
-%%BeginProcSet: tex.pro
-/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
-/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
-mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
-ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
-isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
-hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
-TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
-forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
-/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
-/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
-/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
-string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
-end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
-/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
-N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
-length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
-128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
-get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
-dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
-/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
-/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
-0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
-setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
-.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
-if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
-length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
-cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
-0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
-add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
-/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
-known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
-/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
-65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
-0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
-{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
-getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
-ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
-RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
-false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
-round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
-rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
-{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
-B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
-4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
-p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
-a}B /bos{/SS save N}B /eos{SS restore}B end
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -D 300 -t letter -o history.ps history.dvi
+%DVIPSParameters: dpi=300, compressed
+%DVIPSSource: TeX output 2000.01.19:1217
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IE N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
%%EndProcSet
-TeXDict begin 39158280 55380996 1000 300 300 (history.dvi)
-@start /Fa 1 47 df<70F8F8F0E005057B840E>46 D E /Fb 1
-47 df<0E003F007F807F80FF80FF80FF007E003C000909798815>46
-D E /Fc 26 123 df95 D<1FC0007FF00070780020180000
-1C00001C0007FC001FFC003C1C00701C00E01C00E01C00E01C00707C003FFF800F8F8011
-107E8F14>97 DI<03F80FFE1C0E380470006000E000E000E000E0006000700038
-0E1C1E0FFC03F00F107E8F14>I<007E00007E00000E00000E00000E00000E00000E0007
-CE000FFE001C3E00301E00700E00E00E00E00E00E00E00E00E00E00E00E00E00700E0030
-1E00383E001FEFC007CFC012177F9614>I<07E00FF01C38301C700CE00EE00EFFFEFFFE
-E00060007000380E1C1E0FFC03F00F107E8F14>I<00FC01FE038E07040700070007007F
-FEFFFE070007000700070007000700070007000700070007000700FFF8FFF80F177F9614
->I<07CF001FFF80383B80301800701C00701C00701C003018003838003FF00037C00070
-00007000003FF8001FFC003FFE00700F00E00380E00380E00380E003807007003C1E001F
-FC0007F00011197F8F14>II<06000F000F0006000000000000000000FF00FF00
-070007000700070007000700070007000700070007000700FFF8FFF80D187C9714>I107 DIII<07C01FF03C78701C701CE00E
-E00EE00EE00EE00EE00E701C783C3C781FF007C00F107E8F14>II<03E7
-000FF7001C1F00300F00700F00E00700E00700E00700E00700E00700E00700700F00300F
-001C3F000FF70007C700000700000700000700000700000700000700003FE0003FE01318
-7F8F14>II<0FD83FF86038C038C038F000
-7F803FF007F8001C6006E006F006F81CFFF8CFE00F107E8F14>I<06000E000E000E000E
-007FFCFFFC0E000E000E000E000E000E000E000E000E0E0E0E0E0E0E1C07F801F00F157F
-9414>IIII<7E3F007E3F001E3C000E78
-0007700007E00003E00001C00003C00003E0000770000E78000E38001C1C00FE3F80FE3F
-8011107F8F14>II<3FFF7FFF700E701C7038007000E001C0038007000E
-001C0738077007FFFFFFFF10107F8F14>I E /Fd 1 47 df<7070F06004047D830B>46
-D E /Fe 24 122 df<03000700FF00070007000700070007000700070007000700070007
-000700070007000700070007000700070007007FF80D187D9713>49
-D<001800180038007800F800B8013802380238043808381838103820384038C038FFFF00
-380038003800380038003803FF10187F9713>52 D<30183FF03FE03F8020002000200020
-0020002FC03060203000380018001C001C401CE01CE01C80184038403030E00F800E187E
-9713>I<01F807040C06180E300E300070006000E000E3E0E418E80CF00EE006E007E007
-E007600760077006300E180C0C3807E010187F9713>I<40007FFF7FFE7FFE4004800880
-108010002000400040008001800100030003000700060006000E000E000E000E000E0004
-0010197E9813>I<07E01818300C2006600660067006780C3E181F3007C003E00CF8307C
-601E600FC007C003C003C00360022004181807E010187F9713>I72
-D<0FC21836200E6006C006C002C002C002E00070007E003FE01FF803FC007E000E000700
-03800380038003C002C006E004D81887E0101A7E9915>83 D<1FC000387000383800101C
-00001C00001C0003FC001E1C00381C00701C00E01C00E01C80E01C80E03C80705F801F8F
-0011107F8F13>97 D<07F81C1C381C70087000E000E000E000E000E000E0007000700438
-081C1807E00E107F8F11>99 D<003F000007000007000007000007000007000007000007
-0000070000070003E7000C1700180F00300700700700E00700E00700E00700E00700E007
-00E00700600700700700380F001C370007C7E0131A7F9915>I<07C01C3030187018600C
-E00CFFFCE000E000E000E0006000700438081C1807E00E107F8F11>I<0FCF0018718030
-30007038007038007038007038003030001860002FC0006000006000007000003FF0003F
-FC001FFE00600F00C00300C00300C00300C00300600600381C0007E00011187F8F13>
-103 DI<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C
-1C1C1C1C1CFF081A80990A>I110
-D<07E01C38300C700E6006E007E007E007E007E007E0076006700E381C1C3807E010107F
-8F13>II114 D<1F2060E04020C020C020F0007F003FC01FE000F0807080
-30C030C020F0408F800C107F8F0F>I<0800080008000800180018003800FFC038003800
-380038003800380038003800382038203820382018201C4007800B177F960F>I118 D
-120 DI E /Ff 2 42 df<00E001C00380078007000F001E001E001C003C003C00
-38007800780078007000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000700078007800780038003C003C001C001E001E000F0007000780038001C000E00B2E
-7CA112>40 DI
-E /Fg 27 123 df<0007F800007FFC0001FC0E0003F01F0007E03F000FC03F000FC03F00
-0FC03F000FC01E000FC00C000FC000000FC000000FC0FF80FFFFFF80FFFFFF800FC01F80
-0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80
-0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F807FF8FFF0
-7FF8FFF01C237FA220>12 D<000FFF80007FFF8001FC1F8003F03F8007E03F800FC03F80
-0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80FFFFFF80FFFFFF80
-0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80
-0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80
-7FF8FFF07FF8FFF01C237FA220>I<07FE00001FFF80003F07E0003F03F0003F01F0003F
-01F8001E01F8000001F8000001F800003FF80003FDF8001F81F8003E01F8007C01F800F8
-01F800F801F800F801F800F801F8007C02F8007E0CF8001FF87F8007E03F8019167E951C
->97 DI<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000
-FC0000FC0000FC0000FC00007C00007E00007E00003E00181F00300FC06007FFC000FF00
-15167E9519>I<0001FF000001FF0000003F0000003F0000003F0000003F0000003F0000
-003F0000003F0000003F0000003F0000003F0000003F0000FE3F0007FFBF000FC1FF001F
-007F003E003F007E003F007C003F007C003F00FC003F00FC003F00FC003F00FC003F00FC
-003F00FC003F00FC003F007C003F007E003F003E003F001F007F000F81FF0007FF3FE001
-FC3FE01B237EA220>I<00FE0007FF800F83C01E01E03E00F07E00F07C00F87C0078FC00
-78FFFFF8FFFFF8FC0000FC0000FC00007C00007C00003E00183E00181F00300F80E003FF
-C000FF0015167E951A>I<001F8000FFE001F1F003E3F007E3F00FC3F00FC1E00FC0000F
-C0000FC0000FC0000FC0000FC000FFFE00FFFE000FC0000FC0000FC0000FC0000FC0000F
-C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000F
-C0007FFC007FFC0014237EA212>I<00FE0F8003FF9FC00F83E3C01F01F3C01E00F0003E
-00F8003E00F8003E00F8003E00F8003E00F8001E00F0001F01F0000F83E0000BFF800008
-FE000018000000180000001C0000001FFFE0001FFFFC000FFFFF0007FFFF001FFFFF807C
-001FC078000FC0F80007C0F80007C0F80007C07C000F803E001F001F807E000FFFFC0001
-FFE0001A217F951D>II<1E003F007F807F807F807F803F001E0000000000000000
-0000000000FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F
-801F801F801F801F80FFF0FFF00C247EA30F>I107 DIII<00FF0007FFE00F81F01F00F83E007C7C003E7C003E7C003E
-FC003FFC003FFC003FFC003FFC003FFC003FFC003F7C003E7E007E3E007C1F00F80F81F0
-07FFE000FF0018167E951D>II<00FE030007FF07000FC1CF001F00DF003F007F007E003F007E003F007C003F00
-FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F007E003F007E003F00
-3E007F001F00FF000FC1FF0007FF3F0000FC3F0000003F0000003F0000003F0000003F00
-00003F0000003F0000003F0000003F000001FFE00001FFE01B207E951E>II<07F9801F
-FF80380780700380F00180F00180F80000FF0000FFF8007FFE003FFF001FFF8007FF8000
-3FC0C007C0C003C0E003C0E003C0F00380FC0F00EFFE00C3F80012167E9517>I<018000
-0180000180000180000380000380000780000780000F80003F8000FFFF00FFFF001F8000
-1F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F81801F8180
-1F81801F81801F81800F83000FC30007FE0001F80011207F9F16>IIIIII<7FFFF07FFFF07C07E0700F
-C0601FC0E01F80C03F00C07F00C07E0000FC0001FC0003F80003F03007E0300FE0300FC0
-701F80703F80603F00E07E03E0FFFFE0FFFFE014167E9519>I E
-/Fh 24 119 df<00E00000E00000E00000E00000E000F0E1E0FCE7E07EEFC01FFF0007FC
-0001F00007FC001FFF007EEFC0FCE7E0F0E1E000E00000E00000E00000E00000E0001315
-7D991A>42 D<003800007C00007C00006C0000EE0000EE0000EE0000C60000C60001C700
-01C70001C70001C7000383800383800383800383800701C00701C007FFC007FFC00FFFE0
-0E00E00E00E00E00E00E00E01C00707F01FCFF83FE7F01FC171E7F9D1A>65
-D69 D<7FFFFCFFFFFC7FFFFC
-0E001C0E001C0E001C0E001C0E001C0E00000E00000E03800E03800E03800FFF800FFF80
-0FFF800E03800E03800E03800E00000E00000E00000E00000E00000E00000E00000E0000
-7FE000FFE0007FE000161E7F9D1A>I72 DI78 D<0FFE003FFF807FFFC07C07C07001C0
-F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0
-E000E0E000E0E000E0E000E0E000E0E000E0F001E0F001E07001C07C07C07FFFC03FFF80
-0FFE00131E7D9D1A>I82
-D<03F1C00FFDC03FFFC07C0FC07003C0E003C0E001C0E001C0E001C0E000007000007800
-003F00001FF00007FE0000FF80000FC00001E00000E0000070000070600070E00070E000
-70E000E0F001E0FC03C0FFFF80EFFF00E3FC00141E7D9D1A>I<7FFFFEFFFFFEFFFFFEE0
-380EE0380EE0380EE0380EE0380E00380000380000380000380000380000380000380000
-380000380000380000380000380000380000380000380000380000380000380000380003
-FF8003FF8003FF80171E7F9D1A>I89 D<7FFFC0FFFFE0FFFFE07FFFC013047D7E1A>95 D<1FF0003FFC007FFE00780F
-00300700000380000380007F8007FF801FFF803F8380780380700380E00380E00380E003
-80700780780F803FFFFC1FFDFC07F0FC16157D941A>97 D<00FF8003FFC00FFFE01F01E0
-3C00C0780000700000700000E00000E00000E00000E00000E00000700000700000780070
-3C00701F01F00FFFE003FFC000FE0014157D941A>99 D<001FC0001FC0001FC00001C000
-01C00001C00001C00001C00001C001F1C007FDC00FFFC01E0FC03C07C07803C07001C0E0
-01C0E001C0E001C0E001C0E001C0E001C0E001C07003C07003C03807C03E0FC01FFFFC07
-FDFC01F1FC161E7E9D1A>I
-104 D<01C00003E00003E00003E00001C0000000000000000000000000000000007FE000
-7FE0007FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
-00E00000E00000E00000E00000E0007FFF80FFFFC07FFF80121F7C9E1A>I110
-D<01F00007FC001FFF003E0F803C07807803C07001C0E000E0E000E0E000E0E000E0E000
-E0E000E0F001E07001C07803C03C07803E0F801FFF0007FC0001F00013157D941A>I<7F
-81F8FF8FFC7F9FFE03FE1E03F80C03E00003E00003C00003800003800003800003800003
-80000380000380000380000380000380007FFF00FFFF007FFF0017157F941A>114
-D<0180000380000380000380000380000380000380007FFFE0FFFFE0FFFFE00380000380
-000380000380000380000380000380000380000380000380000380700380700380700380
-7001C1E001FFE000FF80003F00141C7F9B1A>116 DI<7FC7FCFFC7FE7FC7FC0E00E00E00E00E
-00E00701C00701C00701C003838003838003838001C70001C70001C70000EE0000EE0000
-EE00007C00007C0000380017157F941A>I E /Fi 41 123 df<0007FC00003FFF0000FE
-078003F007C007E00FC007E00FC00FC00FC00FC00FC00FC00FC00FC003000FC000000FC0
-00000FC000000FC07FE0FFFFFFE0FFFFFFE00FC007E00FC007E00FC007E00FC007E00FC0
-07E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC0
-07E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0FFFC7FFEFFFC7FFE1F26
-7FA522>12 D<3C7EFFFFFFFF7E3C08087C8711>46 D<001C00003C0000FC00FFFC00FFFC
-0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
-0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
-0000FC0000FC0000FC0000FC007FFFFC7FFFFC16237CA21F>49 D<01FF0007FFC01E07F0
-3803F86001FC7C00FEFE00FEFE00FFFE007FFE007F7C007F3800FF0000FF0000FE0000FE
-0001FC0001F80003F00007E0000780000F00001E00003C0000700000E00301C003038007
-0700060600060FFFFE1FFFFE3FFFFE7FFFFCFFFFFCFFFFFC18237DA21F>I<01FF0007FF
-E01E03F03801F83C01FC7E00FE7E00FE7E00FE3E00FE1C01FE0001FC0001FC0003F80007
-F0000FC001FF0001FF000007E00001F00001F80000FC0000FE0000FF0000FF1000FF7C00
-FFFE00FFFE00FFFE00FEFE00FE7C01FC7001F83E07F00FFFC001FF0018237DA21F>I<00
-00380000007800000078000000F8000001F8000003F8000007F8000006F800000CF80000
-1CF8000038F8000030F8000060F80000E0F80001C0F8000180F8000300F8000700F8000E
-00F8001C00F8001800F8003000F8007000F800E000F800FFFFFFC0FFFFFFC00001F80000
-01F8000001F8000001F8000001F8000001F8000001F800007FFFC0007FFFC01A237EA21F
->I<18000C1F007C1FFFF81FFFF01FFFE01FFFC01FFF801FFC0018000018000018000018
-000018000018FF001BFFE01F03F01C00F80800FC00007E00007E00007E00007F00007F78
-007FFC007FFC007FFC007FFC007EF8007E6000FC7000FC3801F81E07E007FFC001FE0018
-237DA21F>I<001FC0007FF001F03803E00C07803E0F807E1F007E3F007E3F007E7E003C
-7E00007E00007E0000FE3FC0FE7FF0FE80F8FF80FCFF007CFF007EFE007EFE007FFE007F
-FE007FFE007F7E007F7E007F7E007F7E007F3E007E3F007E1F007C0F80F807C1F003FFC0
-007F0018237DA21F>I<300000003C0000003FFFFFC03FFFFFC03FFFFF807FFFFF007FFF
-FE007FFFFC006000180060001800E0003000C0006000C000C00000018000000180000003
-000000060000000E0000000E0000001C0000001C0000003C0000003C0000007800000078
-000000F8000000F8000000F8000000F8000001F8000001F8000001F8000001F8000001F8
-000001F8000000F00000006000001A257DA41F>I<00001C00000000001C00000000003E
-00000000003E00000000003E00000000007F00000000007F0000000000FF8000000000FF
-8000000000FF80000000019FC0000000019FC0000000031FE0000000030FE0000000070F
-F00000000607F00000000607F00000000C07F80000000C03F80000001C03FC0000001801
-FC0000001801FC0000003000FE0000003000FE0000007FFFFF0000007FFFFF000000E000
-7F800000C0003F800000C0003F80000180003FC0000180001FC0000380001FE000030000
-0FE0000300000FE00007000007F000FFF000FFFF80FFF000FFFF8029257EA42E>65
-D68 DII72 DI76 DI<00FF008007FFE3800F80F7801E001F803C000F
-807800078078000380F8000380F8000180F8000180FC000180FC000000FF0000007FE000
-007FFE00003FFFE0003FFFF8001FFFFE0007FFFF0003FFFF80007FFF800003FFC000003F
-C000000FE0000007E0000007E0C00003E0C00003E0C00003E0C00003C0E00003C0F00007
-C0F8000780FC000F00FFC03E00E3FFF800803FE0001B257DA422>83
-D87 D<07FF00001FFFE0003E03F0003F00F8003F00FC
-003F007E001E007E0000007E0000007E0000007E00001FFE0003FE7E000FC07E001F007E
-003E007E007E007E00FC007E00FC007E00FC007E00FC00BE007E01BE003F073E001FFE1F
-E007F00FE01B187E971E>97 DI<007FE003FFF807C0
-7C1F80FC1F00FC3F00FC7E00787E0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE00007E00007F00003F000C1F800C1FC01807E07003FFE0007F0016187E971B>I<00
-00FFC00000FFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000
-000FC000000FC000000FC000000FC000000FC0007F0FC003FFCFC00FE0FFC01F803FC03F
-000FC03F000FC07E000FC07E000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE
-000FC0FE000FC0FE000FC07E000FC07E000FC03F000FC03F001FC01F803FC00FC0EFC003
-FFCFFC00FE0FFC1E267EA522>I<007F0003FFC007C1F00F80F81F00F83F007C7E007C7E
-007EFE007EFE007EFFFFFEFFFFFEFE0000FE0000FE00007E00007E00007E00063F00061F
-000C0F801807E07003FFE0007F8017187E971C>I<001FC0007FF001F8F003E1F807E1F8
-07C1F80FC0F00FC0000FC0000FC0000FC0000FC0000FC0000FC000FFFF00FFFF000FC000
-0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000
-0FC0000FC0000FC0000FC0000FC0000FC0000FC000FFFE00FFFE0015267EA513>I<01FF
-07C007FFDFE00F83F1E01F01F1E03E00F8007E00FC007E00FC007E00FC007E00FC007E00
-FC007E00FC003E00F8001F01F0000F83E0000FFFC00011FF000030000000300000003800
-00003C0000003FFFE0001FFFFC001FFFFE000FFFFF001FFFFF803C003F8078000FC0F800
-07C0F80007C0F80007C0F80007C07C000F803E001F001F807E0007FFF80000FFC0001B24
-7E971F>II<0F001F803FC03FC03FC03FC01F800F00
-00000000000000000000000000007FC07FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0
-0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFF8FFF80D277EA611>I108 DII<007F800003FFF00007C0F8001F807E003F003F003F003F00
-7E001F807E001F80FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0
-FE001FC07E001F807E001F803F003F003F003F001F807E000FC0FC0003FFF000007F8000
-1A187E971F>II114 D<07F8C01FFFC03C07C07001C0F000C0F000
-C0F000C0FC0000FF80007FFC007FFE003FFF800FFFC003FFC0001FE00003E0C001E0C001
-E0E001E0E001C0F003C0FC0780EFFF00C3FC0013187E9718>I<00C00000C00000C00000
-C00001C00001C00001C00003C00007C0000FC0001FC000FFFFC0FFFFC00FC0000FC0000F
-C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0600FC0600F
-C0600FC0600FC0600FC06007E0C007E1C001FF80007E0013237FA218>III120 DI<7FFFF87FFFF87C03F07007F0600FE0E0
-0FC0E01F80C03F80C03F00C07E0000FE0000FC0001F80003F80C03F00C07E00C0FE00C0F
-C01C1F80183F80387F00787E01F8FFFFF8FFFFF816187E971B>I
-E /Fj 30 122 df<0003F07C001E0DC600380F0F00701E0F00E01E0E00E00C0001C01C00
-01C01C0001C01C0001C01C0001C01C00038038007FFFFFC0038038000380380003803800
-038038000700700007007000070070000700700007007000070070000E00E0000E00E000
-0E00E0000E00E0000E00E0000E00E0001C01C0001E01E000FF8FFC0020207E9F1B>11
-D<0003E0001C1800381800703C00E03C00E03801C00001C00001C00001C00001C0000380
-007FFFF00380700380700380700380700700E00700E00700E00700E00700E00700E00E01
-C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FF0FF016207E9F19>I<0003F03F
-00001E09E08000380F80C000701F01E000E03E01E000E01E01C001C01C000001C01C0000
-01C01C000001C01C000001C01C000003803800007FFFFFFF800380380380038038038003
-803803800380380380070070070007007007000700700700070070070007007007000700
-7007000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E001C01C0
-1C001E01E01E00FF8FF8FFC023207E9F26>14 D<00200000600000600000600000600030
-61C03C43800E4E0007780001E00001E00007B8001C9C00708F00E0830001800001800001
-800001800001000012147AA117>42 D<0018003801F80E700070007000700070007000E0
-00E000E000E000E000E001C001C001C001C001C001C00380038003800380038003800700
-0780FFFC0E1E7B9D17>49 D<003F8000C1E00100700200780400780400780F007C0F807C
-0F807C0F00780600780000F80000F00001E00001C0000380000700000E00001C00003800
-00600000C0000180000300200600200800401000403FFFC07FFF80FFFF80161E7E9D17>
-I<00FF01FE01800180018001800180030003000300030003000300060006000600060006
-0006000C000C000C000C000C000C00180018001800180018001800300030003000300030
-003000600060006000600060006000FF00FF00102D7EA10D>91 D<00FF01FE0006000600
-0600060006000C000C000C000C000C000C00180018001800180018001800300030003000
-300030003000600060006000600060006000C000C000C000C000C000C001800180018001
-8001800180FF00FF00102D82A10D>93 D<07F8000C0C001E06001E07001C070000070000
-070000070000FF0007C7001E07003C0E00780E00F00E10F00E10F00E10F01E10F02E2078
-4F401F878014147D9317>97 D<00FE000383000E07801C0780380700380000780000F000
-00F00000F00000F00000E00000E00000E00000F00000F001007002003804001C180007E0
-0011147D9314>99 D<0000380001F8000078000038000038000070000070000070000070
-0000700000700000E000FCE00382E00601E01C01E03C00E03801C07801C0F001C0F001C0
-F001C0F001C0E00380E00380E00380E00380F00380700780380F001C378007C7E015207D
-9F19>I<00F800070E000E07001C0700380380780380700380F00380F00380FFFF80F000
-00E00000E00000E00000E00000F001007002003004001C180007E00011147D9314>I<00
-07C0001C600030F00060F000E0E000C00001C00001C00001C00001C00001C0000380003F
-FC000380000380000380000380000700000700000700000700000700000700000E00000E
-00000E00000E00000E00000E00001C00001E0000FFC00014207F9F0E>I<00000E003E11
-00E1A301C1C20381E00780E00701E00F01E00F01E00F01E00703C007038007870004FC00
-0800000800001800001C00000FFF000FFFC00FFFE01800F0300030600030C00030C00030
-C000306000603000C01C070007FC00181F809417>I<00E00007E00001E00000E00000E0
-0001C00001C00001C00001C00001C00001C000038000038F800390E003A0E003C0600380
-600780E00700E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01
-C01C03801E03C0FF8FF014207E9F19>I<01C003E003E003C00180000000000000000000
-00000003801F800780038003800700070007000700070007000E000E000E000E000E000E
-001C001E00FF800B1F7F9E0C>I<00E007E001E000E000E001C001C001C001C001C001C0
-0380038003800380038003800700070007000700070007000E000E000E000E000E000E00
-1C001E00FF800B207F9F0C>108 D<0387C07C001F9861860007A072070003C034030003
-803803000780780700070070070007007007000700700700070070070007007007000E00
-E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001E01E0
-1E00FFCFFCFFC022147E9326>I<038F801F90E007A0E003C0600380600780E00700E007
-00E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FF
-8FF014147E9319>I<00FC000387000E01801C00C03800E03800E07000F0F000F0F000F0
-F000F0F000F0E001E0E001E0E001C0E003C0F00380700700380E001C1C0007E00014147D
-9317>I<00E3E00007EC380000F01C0000E00E0000E00F0001C0070001C0078001C00780
-01C0078001C0078001C0078003800F0003800F0003800E0003801E0003801C0003803800
-074070000761C000071F00000700000007000000070000000E0000000E0000000E000000
-0E0000001E000000FFC00000191D809319>I<00FC200382600702601E01E03C01E03801
-C07801C0F001C0F001C0F001C0F001C0E00380E00380F00380F00380F00780700780380F
-001C370007C700000700000700000700000E00000E00000E00000E00001E0000FFC0131D
-7D9318>I<038E001FB38007C78003C78003830007800007000007000007000007000007
-00000E00000E00000E00000E00000E00000E00001C00001E0000FFC00011147E9312>I<
-01F9060708031803180138023C001F001FF007FC01FE001F40074003400360036006F004
-C81887E010147F9312>I<0080010001000100030007000F001E00FFF80E000E000E000E
-001C001C001C001C001C001C00380038103810381038103820382018400F800D1C7C9B12
->I<1C0380FC1F803C07801C03801C038038070038070038070038070038070038070070
-0E00700E00700E00700E00701E00701E00703C00305E001F9F8011147B9319>III<1FF0FF03C07801C07001C04000E0C000E180007300007600003C00003C
-00001C00002E00004E000087000107000203800403800C01C03C03E0FE07FC18147F9318
->I<0FF83F8001E00E0001C00C0001C0080001E0080000E0100000E0300000E0200000E0
-40000070400000708000007080000071000000390000003A0000003E0000003C00000038
-000000180000001000000010000000200000002000000040000070C00000F0800000F100
-0000E600000078000000191D809318>I E /Fk 36 122 df<0001C0000003C000000FC0
-00007FC0001FFFC000FFFFC000FFBFC000E03FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC0007FFFFFF07FFFFFF07FFFFFF01C2E7AAD28>49
-D<003FE00001FFFE0007FFFF800F80FFC01E003FE038001FF07C000FF87E0007FCFF0007
-FCFF8007FEFF8007FEFF8003FEFF8003FE7F0003FE3E0007FE000007FE000007FC000007
-FC00000FF800000FF800000FF000001FE000001FC000003F8000007F0000007E000000F8
-000001F0000003E0000007C000000F0000001E000E003C000E0038000E0070001E00E000
-1C01C0001C0300003C07FFFFFC0FFFFFFC1FFFFFFC3FFFFFFC7FFFFFF8FFFFFFF8FFFFFF
-F8FFFFFFF81F2E7CAD28>I<0000007800000000000078000000000000FC000000000000
-FC000000000000FC000000000001FE000000000001FE000000000003FF000000000003FF
-000000000007FF800000000007FF800000000007FF80000000000FFFC0000000000E7FC0
-000000001E7FE0000000001C3FE0000000001C3FE000000000383FF000000000381FF000
-000000781FF800000000700FF800000000700FF800000000E00FFC00000000E007FC0000
-0001E007FE00000001C003FE00000001C003FE000000038001FF000000038001FF000000
-078001FF800000070000FF8000000F0000FFC000000FFFFFFFC000000FFFFFFFC000001F
-FFFFFFE000001C00003FE000003C00003FF000003800001FF000003800001FF000007000
-001FF800007000000FF80000F000000FFC0000E0000007FC0000E0000007FC0001C00000
-07FE0003E0000003FE00FFFF0001FFFFFCFFFF0001FFFFFCFFFF0001FFFFFC36317DB03D
->65 DI<000003FF800180
-00003FFFF003800001FFFFFC07800007FF003F0F80001FF800079F80003FC00001FF8000
-FF800000FF8001FE0000007F8003FC0000003F8007FC0000001F8007F80000000F800FF0
-0000000F801FF000000007801FF000000007803FE000000007803FE000000003807FE000
-000003807FE000000003807FC000000000007FC00000000000FFC00000000000FFC00000
-000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000
-0000FFC00000000000FFC000000000007FC000000000007FC000000000007FE000000000
-007FE000000003803FE000000003803FE000000003801FF000000003801FF00000000780
-0FF0000000070007F8000000070007FC0000000E0003FC0000001E0001FE0000001C0000
-FF8000007800003FC00000F000001FF80003E0000007FF003F80000001FFFFFE00000000
-3FFFF80000000003FF80000031317CB03A>I70
-D<000003FF00030000007FFFF007000001FFFFFC0F000007FF007E1F00001FF0000FBF00
-007FC00003FF0000FF800001FF0001FE0000007F0003FC0000007F0007FC0000003F000F
-F80000001F000FF00000001F001FF00000000F001FF00000000F003FE000000007003FE0
-00000007007FE000000007007FE000000007007FC00000000000FFC00000000000FFC000
-00000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000
-000000FFC00000000000FFC00000000000FFC00000000000FFC00007FFFFF87FC00007FF
-FFF87FE00007FFFFF87FE0000001FF003FE0000001FF003FE0000001FF001FF0000001FF
-001FF0000001FF000FF0000001FF000FF8000001FF0007FC000001FF0003FC000001FF00
-01FE000001FF0000FF800001FF00007FC00003FF00001FF800077F000007FF003E3F0000
-01FFFFFC1F0000007FFFF00F00000003FF80030035317CB03F>III78 D80
-D<7FFFFFFFFFFF007FFFFFFFFFFF007FFFFFFFFFFF007FC00FF801FF007E000FF8003F00
-7C000FF8001F0078000FF8000F0078000FF8000F0070000FF8000700F0000FF8000780F0
-000FF8000780F0000FF8000780E0000FF8000380E0000FF8000380E0000FF8000380E000
-0FF8000380E0000FF800038000000FF800000000000FF800000000000FF800000000000F
-F800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF8
-00000000000FF800000000000FF800000000000FF800000000000FF800000000000FF800
-000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80000
-0000000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000
-00000FF800000000000FF800000000000FF800000000000FF8000000007FFFFFFF000000
-7FFFFFFF0000007FFFFFFF000031307DAF38>84 DII<00FFF0000003FFFF00000F803F80000FC00FE0001FE0
-07F0001FE007F0001FE003F8000FC003FC00078003FC00000003FC00000003FC00000003
-FC00000003FC000000FFFC00001FFFFC0000FFE3FC0003FC03FC000FF003FC001FC003FC
-003FC003FC007F8003FC007F8003FC00FF0003FC00FF0003FC00FF0003FC00FF0007FC00
-FF0007FC007F800DFC003FC01DFE001FE078FFF007FFE07FF000FF803FF024207E9F27>
-97 D<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F800
-000007F800000007F800000007F800000007F800000007F800000007F800000007F80000
-0007F800000007F800000007F800000007F800000007F83FE00007F8FFFC0007FBE07F00
-07FF001F8007FE000FC007FC000FE007F80007F007F80007F807F80007F807F80003FC07
-F80003FC07F80003FC07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F8
-0003FE07F80003FE07F80003FE07F80003FC07F80003FC07F80003FC07F80007F807F800
-07F807F80007F007FC000FE007FE000FC007E7003F8007C3C0FE000780FFF80007003FC0
-0027327EB12D>I<000FFF00007FFFC001FC01F003F003F007E007F80FE007F81FC007F8
-3FC003F03FC001E07F8000007F8000007F800000FF800000FF800000FF800000FF800000
-FF800000FF800000FF800000FF8000007F8000007F8000007F8000003FC0001C3FC0001C
-1FC000380FE0003807E0007003F001E001FC07C0007FFF00000FF8001E207D9F24>I<00
-00000FC0000007FFC0000007FFC0000007FFC00000007FC00000003FC00000003FC00000
-003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000000
-3FC00000003FC00000003FC00000003FC00007F83FC0003FFF3FC000FE07BFC003F801FF
-C007E0007FC00FE0007FC01FC0003FC03FC0003FC03FC0003FC07F80003FC07F80003FC0
-7F80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF
-80003FC0FF80003FC07F80003FC07F80003FC07F80003FC03FC0003FC03FC0003FC01FC0
-003FC00FE0007FC007E000FFC003F003FFE001FC0F3FFE007FFE3FFE000FF03FFE27327D
-B12D>I<000FFC00007FFF8001FC0FC003F003E007E001F00FE001F81FC000FC3FC000FE
-3FC000FE7F80007E7F80007F7F80007FFF80007FFF80007FFFFFFFFFFFFFFFFFFF800000
-FF800000FF800000FF8000007F8000007F8000007F8000003FC000071FC000071FC0000E
-0FE0000E07F0001C03F8007800FE03E0003FFFC00007FE0020207E9F25>I<0001FE0000
-0FFF80001FC3C0007F07E000FE0FF001FE0FF001FC0FF003FC0FF003FC07E003FC018003
-FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000FFFFFC00FF
-FFFC00FFFFFC0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
-FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
-FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
-FC00007FFFF0007FFFF0007FFFF0001C327EB119>I<001FF007C000FFFE3FE001F83F79
-F007E00FC3F00FE00FE1F00FC007E0E01FC007F0001FC007F0003FC007F8003FC007F800
-3FC007F8003FC007F8003FC007F8001FC007F0001FC007F0000FC007E0000FE00FE00007
-E00FC00003F83F000006FFFE00000E1FF000000E000000001E000000001E000000001F00
-0000001F800000001FFFFF80000FFFFFF0000FFFFFFC0007FFFFFE0003FFFFFF0003FFFF
-FF800FFFFFFFC03F00007FC07E00001FE07C00000FE0FC000007E0FC000007E0FC000007
-E0FC000007E07E00000FC03E00000F803F00001F800FC0007E0007F803FC0001FFFFF000
-001FFF0000242F7E9F28>I<01F8000000FFF8000000FFF8000000FFF80000000FF80000
-0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000
-07F800000007F800000007F800000007F800000007F800000007F800000007F807F80007
-F83FFE0007F8783F0007F8C03F8007F9801FC007FB001FC007FE001FE007FC001FE007FC
-001FE007FC001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800
-1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F
-E007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0FFFFC3FFFF
-FFFFC3FFFFFFFFC3FFFF28327DB12D>I<03C00007E0000FF0001FF8001FF8001FF8001F
-F8000FF00007E00003C00000000000000000000000000000000000000000000000000000
-000001F8007FF8007FF8007FF80007F80007F80007F80007F80007F80007F80007F80007
-F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
-F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF8011337DB217>I<01F800
-FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F80007F80007F80007F800
-07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
-07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
-07F80007F80007F80007F80007F80007F80007F80007F80007F80007F800FFFFC0FFFFC0
-FFFFC012327DB117>108 D<03F007F8001FE000FFF03FFE00FFF800FFF0783F01E0FC00
-FFF0C03F8300FE000FF1801FC6007F0007F3001FCC007F0007F6001FF8007F8007FC001F
-F0007F8007FC001FF0007F8007FC001FF0007F8007F8001FE0007F8007F8001FE0007F80
-07F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001F
-E0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F80
-07F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001F
-E0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F80FFFFC3FFFF0FFFFC
-FFFFC3FFFF0FFFFCFFFFC3FFFF0FFFFC3E207D9F43>I<03F007F800FFF03FFE00FFF078
-3F00FFF0C03F800FF1801FC007F3001FC007F6001FE007FC001FE007FC001FE007FC001F
-E007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0
-07F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007
-F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FFFFFFFF
-C3FFFF28207D9F2D>I<0007FC0000007FFFC00001FC07F00003F001F80007E000FC000F
-C0007E001FC0007F003FC0007F803F80003F807F80003FC07F80003FC07F80003FC0FF80
-003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF8000
-3FE07F80003FC07F80003FC07F80003FC03FC0007F803FC0007F801FC0007F000FE000FE
-0007E000FC0003F803F80001FE0FF000007FFFC0000007FC000023207E9F28>I<01F83F
-E000FFF8FFFC00FFFBE07F00FFFF003F8007FE001FC007FC000FE007F8000FF007F80007
-F807F80007F807F80007FC07F80003FC07F80003FC07F80003FE07F80003FE07F80003FE
-07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FC07F80007FC07
-F80007FC07F80007F807F80007F807F8000FF007FC000FE007FE001FC007FF003F8007FB
-C0FE0007F8FFF80007F83FC00007F800000007F800000007F800000007F800000007F800
-000007F800000007F800000007F800000007F800000007F800000007F8000000FFFFC000
-00FFFFC00000FFFFC00000272E7E9F2D>I<03F03F00FFF07FC0FFF1C3E0FFF187E00FF3
-0FF007F60FF007F60FF007FC07E007FC03C007FC000007FC000007F8000007F8000007F8
-000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8
-000007F8000007F8000007F8000007F8000007F8000007F80000FFFFE000FFFFE000FFFF
-E0001C207E9F21>114 D<01FF860007FFFE001F00FE003C003E0078001E0078000E00F8
-000E00F8000E00F8000E00FC000000FF800000FFFC00007FFFC0003FFFF0003FFFF8001F
-FFFC0007FFFE0001FFFF00003FFF000000FF8000003F8060001F80E0000F80E0000F80F0
-000F80F0000F00F8000F00FC001E00FE001C00FF807800F3FFF000C07F800019207D9F20
->I<001C0000001C0000001C0000001C0000001C0000003C0000003C0000003C0000007C
-0000007C000000FC000001FC000003FC000007FC00001FFFFE00FFFFFE00FFFFFE0003FC
-000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC
-000003FC000003FC000003FC000003FC000003FC000003FC000003FC038003FC038003FC
-038003FC038003FC038003FC038003FC038001FC038001FC070000FE0700007F0E00003F
-FC000007F000192E7FAD1F>I<01F80007E0FFF803FFE0FFF803FFE0FFF803FFE00FF800
-3FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F
-E007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0
-07F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8003FE007F8003FE003
-F8007FE003F8007FE001FC00DFF000FE039FFF007FFF1FFF000FFC1FFF28207D9F2D>I<
-FFFF001FFCFFFF001FFCFFFF001FFC0FF80003C007F800038007FC00078003FC00070003
-FE00070001FE000E0001FF000E0000FF001C0000FF001C0000FF803C00007F803800007F
-C07800003FC07000003FE0F000001FE0E000001FF1E000000FF1C000000FF9C0000007FB
-80000007FB80000007FF80000003FF00000003FF00000001FE00000001FE00000000FC00
-000000FC00000000780000000078000026207E9F2B>II<7FFF807FFC7FFF807FFC7FFF807FFC03FC000F0001FE001E0000FF003C0000FF8038
-00007FC07800003FC0F000001FE1E000000FF3C000000FFF80000007FF00000003FE0000
-0001FE00000000FF00000000FF80000000FFC0000001FFC0000003DFE00000078FF00000
-078FF800000F07FC00001E03FE00003C01FE00007800FF0000F000FF8001E0007FC003E0
-003FE0FFFC01FFFFFFFC01FFFFFFFC01FFFF28207F9F2B>II E /Fl 1 14 df<0000FF00000007FFE000001F00F8000078001E
-0000E0000700018000018003000000C006000000600C000000300C000000301800000018
-300000000C300000000C6000000006600000000660000000066000000006C000000003C0
-00000003C000000003C000000003C000000003C000000003C000000003C000000003C000
-0000036000000006600000000660000000066000000006300000000C300000000C180000
-00180C000000300C00000030060000006003000000C0018000018000E00007000078001E
-00001F00F8000007FFE0000000FF0000282B7EA02D>13 D E /Fm
-45 122 df<3C007F00FF80FF80FFC0FFC0FFC07FC03EC000C000C0018001800180030003
-0006000E001C00380010000A157B8813>44 D<1C007F007F00FF80FF80FF807F007F001C
-0009097B8813>46 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE00FFFFFEFFFFFEFFFFFE17277BA622>49 D<00FF800007FFF0000FFF
-FC001E03FE003800FF807C003F80FE003FC0FF001FC0FF001FE0FF000FE0FF000FE07E00
-0FE03C001FE000001FE000001FC000001FC000003F8000003F0000007E000000FC000000
-F8000001F0000003E00000078000000F0000001E0000003C00E0007000E000E000E001C0
-01C0038001C0060001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFF
-FF801B277DA622>I<007F800003FFF00007FFFC000F81FE001F007F003F807F003F803F
-803F803F803F803F801F803F801F003F8000007F0000007F0000007E000000FC000001F8
-000007F00000FFC00000FFC0000001F80000007E0000003F0000003F8000001FC000001F
-C000001FE000001FE03C001FE07E001FE0FF001FE0FF001FE0FF001FC0FF003FC0FE003F
-807C007F003F01FE001FFFFC0007FFF00000FF80001B277DA622>I<00000F0000000F00
-00001F0000003F0000007F000000FF000001FF000001FF000003BF0000073F00000E3F00
-001C3F00003C3F0000383F0000703F0000E03F0001C03F0003803F0007803F0007003F00
-0E003F001C003F0038003F0070003F00F0003F00FFFFFFF8FFFFFFF8FFFFFFF800007F00
-00007F0000007F0000007F0000007F0000007F0000007F0000007F00001FFFF8001FFFF8
-001FFFF81D277EA622>I<180003001F801F001FFFFE001FFFFC001FFFF8001FFFF0001F
-FFC0001FFF00001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C
-7FC0001DFFF8001F80FC001E003F0008003F0000001F8000001FC000001FC000001FE000
-001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001FC078003F8078
-003F803C007F001F01FE000FFFFC0003FFF00000FF80001B277DA622>I<000007800000
-00000780000000000FC0000000000FC0000000000FC0000000001FE0000000001FE00000
-00003FF0000000003FF0000000003FF00000000077F80000000077F800000000F7FC0000
-0000E3FC00000000E3FC00000001C1FE00000001C1FE00000003C1FF0000000380FF0000
-000380FF00000007007F80000007007F8000000F007FC000000E003FC000000E003FC000
-001C001FE000001C001FE000003FFFFFF000003FFFFFF000003FFFFFF00000700007F800
-00700007F80000F00007FC0000E00003FC0001E00003FE0001C00001FE0001C00001FE00
-03C00001FF00FFFE003FFFFCFFFE003FFFFCFFFE003FFFFC2E297EA833>65
-DI<00007F
-E0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF01FC0000FF03F800007F07F00000
-3F0FE000001F1FC000001F1FC000000F3F8000000F3F800000077F800000077F80000007
-7F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF
-00000000FF00000000FF000000007F000000007F800000007F800000073F800000073F80
-0000071FC00000071FC000000E0FE000000E07F000001C03F800003C01FC00007800FF00
-01F0007FF007C0001FFFFF800007FFFE0000007FF00028297CA831>I69 DI<00007FE003000007FFFC0700001F
-FFFF0F00007FF00F9F0000FF0001FF0001FC0000FF0003F800007F0007F000003F000FE0
-00001F001FC000001F001FC000000F003F8000000F003F80000007007F80000007007F80
-000007007F0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
-00000000FF0000000000FF0000000000FF0000000000FF0000FFFFF87F0000FFFFF87F80
-00FFFFF87F800000FF003F800000FF003F800000FF001FC00000FF001FC00000FF000FE0
-0000FF0007F00000FF0003F80000FF0001FC0000FF0000FF0001FF00007FF007FF00001F
-FFFF9F000007FFFE0F0000007FF003002D297CA835>III77 DI80 D82 D<00FF806003FFF0E00FFFF8E01F80
-FDE03F001FE03E0007E07C0003E07C0003E0FC0001E0FC0001E0FC0000E0FE0000E0FE00
-00E0FF000000FFC000007FFC00007FFFE0003FFFF8001FFFFE001FFFFF0007FFFF8003FF
-FFC000FFFFC0000FFFE000007FE000001FF000000FF0000007F0E00003F0E00003F0E000
-03F0E00003F0F00003E0F00003E0F80007E0FC0007C0FF000F80FFE03F80E3FFFE00E1FF
-FC00C01FF0001C297CA825>I85 DII<03FF8000
-0FFFF0001F01FC003F80FE003F807F003F803F003F803F801F003F8000003F8000003F80
-00003F8000003F80003FFF8001FC3F800FE03F801F803F803F003F807E003F80FC003F80
-FC003F80FC003F80FC003F80FC005F807E00DF803F839FFC1FFE0FFC03FC03FC1E1B7E9A
-21>97 DI<00
-3FF00001FFFC0003F03E000FC07F001F807F003F007F003F007F007F003E007E0000007E
-000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000007E
-0000007F0000003F0003803F8003801F8007000FE00E0003F83C0001FFF800003FC00019
-1B7E9A1E>I<00007FF000007FF000007FF0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0003F87F001FF
-F7F007F03FF00FC00FF01F8007F03F0007F03F0007F07E0007F07E0007F07E0007F0FE00
-07F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F07E0007F07E00
-07F03F0007F03F0007F01F800FF00FC01FF007E07FFF01FFE7FF007F87FF202A7EA925>
-I<003FC00001FFF00003E07C000F803E001F801F001F001F003F000F807E000F807E000F
-C07E000FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0FE000000FE000000FE0000007E0000
-007E0000007F0000003F0001C01F0001C00F80038007C0070003F01E0000FFFC00003FE0
-001A1B7E9A1F>I<0007F8003FFC007E3E01FC7F03F87F03F07F07F07F07F03E07F00007
-F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007
-F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007
-F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<00FF80
-F003FFE3F80FC1FE1C1F007C7C3F007E7C3E003E107E003F007E003F007E003F007E003F
-007E003F007E003F003E003E003F007E001F007C000FC1F8000BFFE00018FF8000180000
-0038000000380000003C0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FFFFF01FFFFF
-F03C0007F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F07C0001F03F0007
-E00FC01F8007FFFF00007FF0001E287E9A22>II<07000F801FC03FE03FE03FE01FC00F800700000000
-0000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
-E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7EAA12>I<
-FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
-0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
-0FE00FE00FE0FFFEFFFEFFFE0F2A7EA912>108 D
-II<003FE00001FFFC0003F07E000FC01F801F800FC03F0007E03F0007E0
-7E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8
-FE0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC00FC01F8007F07F00
-01FFFC00003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F07800F07000F0F00070F000
-70F80070FE0000FFE0007FFF007FFFC03FFFE01FFFF007FFF800FFF80007FC0000FCE000
-7CE0003CF0003CF00038F80038FC0070FF01E0E7FFC0C1FF00161B7E9A1B>I<00E00000
-E00000E00000E00001E00001E00001E00003E00003E00007E0000FE0001FFFE0FFFFE0FF
-FFE00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000F
-E0000FE0000FE0700FE0700FE0700FE0700FE0700FE0700FE07007F0E003F0C001FF8000
-7F0014267FA51A>IIIIII E /Fn 75 127 df<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870000000000070F8F8
-F870051C779B18>33 D<4010E038F078E038E038E038E038E038E038E038E038E038E038
-60300D0E7B9C18>I<030600078F00078F00078F00078F00078F00078F007FFFC0FFFFE0
-FFFFE07FFFC00F1E000F1E000F1E000F1E000F1E000F1E007FFFC0FFFFE0FFFFE07FFFC0
-1E3C001E3C001E3C001E3C001E3C001E3C000C1800131C7E9B18>I<00C00001C00001C0
-0001C00003F0000FFC003FFE007DCF0071C700E1C380E1C780E1C780E1C780F1C00079C0
-003FC0001FE0000FF80001FC0001DE0001CF0001C70061C380F1C380F1C380E1C380E1C7
-0071C70079DE003FFE001FF80007E00001C00001C00001C00000C00011247D9F18>I<38
-03007C07807C0780EE0F80EE0F00EE0F00EE1F00EE1E00EE1E00EE3E007C3C007C3C0038
-7C0000780000780000F80000F00001F00001E00001E00003E00003C00003C00007C00007
-83800787C00F87C00F0EE00F0EE01F0EE01E0EE01E0EE03E0EE03C07C03C07C018038013
-247E9F18>I<01C00007E0000FF0000E70001C38001C38001C38001C38001C73F81CF3F8
-1CE3F80FC1C00FC3800F83800F03801F07003F87007B8E0071CE00E1FC00E0FC00E07C00
-E07870E0787070FE707FFFE03FC7E00F03C0151C7F9B18>I<387C7C7E3E0E0E0E1C1C38
-F8F0C0070E789B18>I<007000F001E003C007800F001E001C0038003800700070007000
-7000E000E000E000E000E000E000E000E0007000700070007000380038001C001E000F00
-078003C001F000F000700C24799F18>I<6000F00078003C001E000F000780038001C001
-C000E000E000E000E00070007000700070007000700070007000E000E000E000E001C001
-C0038007800F001E003C007800F00060000C247C9F18>I<01C00001C00001C00001C000
-41C100F1C780FDDF807FFF001FFC0007F00007F0001FFC007FFF00FDDF80F1C78041C100
-01C00001C00001C00001C00011147D9718>I<00600000F00000F00000F00000F00000F0
-0000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F00000F00000F00000F00000F00000F0
-0000F00000600013147E9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>I<7FFFC0FF
-FFE0FFFFE07FFFC013047E8F18>I<3078FCFC78300606778518>I<000300000780000780
-000F80000F00001F00001E00001E00003E00003C00007C0000780000780000F80000F000
-01F00001E00003E00003C00003C00007C0000780000F80000F00000F00001F00001E0000
-3E00003C00003C00007C0000780000F80000F00000F0000060000011247D9F18>I<01F0
-0007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0E000E0E000
-E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803801C07001F1F
-000FFE0007FC0001F000131C7E9B18>I<01800380038007800F803F80FF80FB80438003
-800380038003800380038003800380038003800380038003800380038003807FFCFFFE7F
-FC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000E06000E000
-00E00000E00001C00001C00003C0000780000F00001E00003C0000780000F00001E00007
-C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<001F00003F00007700
-00770000E70001E70001C7000387000787000707000E07001E07003C0700380700780700
-F00700FFFFF8FFFFF8FFFFF8000700000700000700000700000700000700007FF0007FF0
-007FF0151C7F9B18>52 D<007E0001FF0007FF800F83C01E03C01C03C038018038000070
-0000700000E1F800E7FE00FFFF00FE0780F803C0F001C0F000E0E000E0F000E07000E070
-00E07000E03801C03C03C01E07800FFF0007FE0001F800131C7E9B18>54
-D<3078FCFC783000000000000000003078FCFC78300614779318>58
-D<183C7E7E3C180000000000000000183C7E7E3E1E0E1C3C78F060071A789318>I<0000
-C00003E00007E0001FC0003F8000FE0001FC0007F0000FE0003F80007F0000FC0000FC00
-007F00003F80000FE00007F00001FC0000FE00003F80001FC00007E00003E00000C01318
-7E9918>I<7FFFC0FFFFE0FFFFE07FFFC00000000000000000000000007FFFC0FFFFE0FF
-FFE07FFFC0130C7E9318>I<600000F80000FC00007F00003F80000FE00007F00001FC00
-00FE00003F80001FC00007E00007E0001FC0003F8000FE0001FC0007F0000FE0003F8000
-7F0000FC0000F8000060000013187E9918>I<0FF0003FFC007FFF00700F00F00380F003
-80600780000F00003E00007C0001F00001E00003C00003C00003C00003C00003C0000380
-0000000000000000000000000000000003800007C00007C00007C000038000111C7D9B18
->I<00700000F80000F80000D80000D80001DC0001DC0001DC00018C00038E00038E0003
-8E00038E000707000707000707000707000707000FFF800FFF800FFF800E03801C01C01C
-01C01C01C07F07F0FF07F87F07F0151C7F9B18>65 D<7FF800FFFE007FFF001C0F801C03
-C01C03C01C01E01C00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C00
-701C00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C
-7F9B18>68 DII<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C
-01C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C01C01C01C01C01C01C01C01C01C
-01C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>72
-D<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C00001C00001C0
-0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
-0001C0007FFF00FFFF807FFF00111C7D9B18>I76 D<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1
-C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19C01C19C01C1DC01C0D
-C01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>78 D<0FFE003FFF807FFFC07803C0
-7001C0F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0
-E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07C07C07FFFC03FFF800FFE00
-131C7E9B18>II<7FF800FFFE007FFF001C
-0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C
-0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F
-00F0161C7F9B18>82 D<03F1C01FFFC03FFFC07C0FC07003C0E001C0E001C0E001C0E000
-007000007800003F00001FF00007FE0000FF00000F800003C00001C00000E00000E06000
-E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>I<7FFFF8FFFFF8FF
-FFF8E07038E07038E07038E0703800700000700000700000700000700000700000700000
-700000700000700000700000700000700000700000700000700000700000700007FF0007
-FF0007FF00151C7F9B18>II89 D91 D<600000F00000F00000F8000078
-00007C00003C00003C00003E00001E00001F00000F00000F00000F800007800007C00003
-C00003C00003E00001E00001F00000F00000F800007800007800007C00003C00003E0000
-1E00001E00001F00000F00000F8000078000078000030011247D9F18>I
-I<018007C01FF07EFCF83EE00E0F067C9B18>I<7FFFC0FFFFE0FFFFE07FFFC013047E7F
-18>I<061E3E387070E0E0E0F8FC7C7C38070E789E18>I<0FF0001FFC003FFE003C0F0018
-070000038000038000FF8007FF801FFF807F0380780380E00380E00380E00380F0078078
-0F803FFFF81FFDF807F0F815147E9318>I<7E0000FE00007E00000E00000E00000E0000
-0E00000E00000E3E000EFF800FFFC00FC1E00F80E00F00700E00700E00380E00380E0038
-0E00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF80063E00151C809B18>
-I<01FE0007FF001FFF803E0780380300700000700000E00000E00000E00000E00000E000
-00E000007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F8000
-3F80001F8000038000038000038000038000038003E3800FFB801FFF803C1F80380F8070
-0780700380E00380E00380E00380E00380E00380E00380700780700780380F803C1F801F
-FFF00FFBF803E3F0151C7E9B18>I<01F00007FC001FFE003E0F00380780700380700380
-E001C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001C03801C03E07C01FFF8007FF00
-01F80012147D9318>I<001F80007FC000FFE000E1E001C0C001C00001C00001C0007FFF
-C0FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
-0001C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F007FFF80F
-FFF81E1E301C0E003807003807003807003807003807001C0E001E1E001FFC001FF80039
-E0003800001C00001FFE001FFFC03FFFE07801F0700070E00038E00038E00038E0003878
-00F07E03F01FFFC00FFF8001FC00151F7F9318>I<7E0000FE00007E00000E00000E0000
-0E00000E00000E00000E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E0
-0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC171C80
-9B18>I<038007C007C007C0038000000000000000007FC0FFC07FC001C001C001C001C0
-01C001C001C001C001C001C001C001C001C001C0FFFFFFFFFFFF101D7C9C18>I108 DI<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00
-E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7
-FC1714809318>I<01F0000FFE001FFF003E0F803803807001C07001C0E000E0E000E0E0
-00E0E000E0E000E0F001E07001C07803C03C07803E0F801FFF000FFE0001F00013147E93
-18>I<7E3E00FEFF807FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E0038
-0E00380E00380F00700F00700F80E00FC1E00FFFC00EFF800E3E000E00000E00000E0000
-0E00000E00000E00000E00007FC000FFE0007FC000151E809318>I<01F38007FB801FFF
-803E1F80380F80700780700780E00380E00380E00380E00380E00380E003807007807007
-80380F803C1F801FFF800FFB8003E3800003800003800003800003800003800003800003
-80001FF0003FF8001FF0151E7E9318>II<07F7003FFF007FFF00780F00E00700E00700E007007C0000
-7FE0001FFC0003FE00001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F000
-11147D9318>I<0180000380000380000380000380007FFFC0FFFFC0FFFFC00380000380
-000380000380000380000380000380000380000380000380400380E00380E00380E001C1
-C001FFC000FF80003E0013197F9818>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E
-00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFC03
-FFFE01FCFC1714809318>I<7F8FF0FF8FF87F8FF01C01C00E03800E03800E0380070700
-070700070700078F00038E00038E00038E0001DC0001DC0001DC0000F80000F800007000
-15147F9318>II<7F8FF07F9FF07F8FF00F0700078E00039E0001DC0001F80000F80000700000F00000
-F80001DC00039E00038E000707000E07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0
-FF8FF87F8FF00E01C00E03800E0380070380070700070700038700038700038E0001CE00
-01CE0001CC0000CC0000DC0000780000780000780000700000700000700000F00000E000
-79E0007BC0007F80003F00001E0000151E7F9318>I<3FFFF07FFFF07FFFF07001E07003
-C0700780000F00001E00003C0000F80001F00003C0000780000F00701E00703C00707800
-70FFFFF0FFFFF0FFFFF014147F9318>I<0007E0001FE0007FE000780000E00000E00000
-E00000E00000E00000E00000E00000E00000E00000E00000E00001E0007FC000FF8000FF
-80007FC00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
-E00000E000007800007FE0001FE00007E013247E9F18>I<60F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600424769F18>I<7C0000FF00
-00FFC00003C00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0
-0000E00000F000007FC0003FE0003FE0007FC000F00000E00000E00000E00000E00000E0
-0000E00000E00000E00000E00000E00000E00003C000FFC000FF00007C000013247E9F18
->I<060C1F1E3FBEFBF8F1F060C00F067C9B18>I E /Fo 74 123
-df<001F83E000F06E3001C078780380F8780300F0300700700007007000070070000700
-7000070070000700700007007000FFFFFF80070070000700700007007000070070000700
-700007007000070070000700700007007000070070000700700007007000070070000700
-7000070070000700700007007000070070003FE3FF001D20809F1B>11
-D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
-00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
-E00700E00700E00700E00700E00700E00700E00700E03FC3FC1620809F19>I<003FE000
-E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007
-00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
-00E00700E00700E00700E00700E00700E03FE7FC1620809F19>I<001F81F80000F04F04
-0001C07C06000380F80F000300F00F000700F00F00070070000007007000000700700000
-070070000007007000000700700000FFFFFFFF0007007007000700700700070070070007
-007007000700700700070070070007007007000700700700070070070007007007000700
-700700070070070007007007000700700700070070070007007007000700700700070070
-07003FE3FE3FE02320809F26>I<7038F87CFC7EFC7E743A040204020402080408041008
-1008201040200F0E7F9F17>34 D<70F8FCFC74040404080810102040060E7C9F0D>39
-D<0040008001000300060004000C001800180038003000300070006000600060006000E0
-00E000E000E000E000E000E000E000E000E000E000E00060006000600060007000300030
-003800180018000C000400060003000100008000400A2E7BA112>I<8000400020003000
-180008000C00060006000700030003000380018001800180018001C001C001C001C001C0
-01C001C001C001C001C001C001C001800180018001800380030003000700060006000C00
-0800180030002000400080000A2E7EA112>I<70F0F8F878080808101010202040050E7C
-840D>44 DI<70F8F8F87005057C840D>I<03F0000E1C001C0E00
-180600380700700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0
-F003C0F003C0F003C0F003C0F003C0F003C0F003C0700380700380700380780780380700
-1806001C0E000E1C0003F000121F7E9D17>48 D<008003800F80F3800380038003800380
-038003800380038003800380038003800380038003800380038003800380038003800380
-0380038007C0FFFE0F1E7C9D17>I<03F0000C1C00100E00200700400780800780F007C0
-F803C0F803C0F803C02007C00007C0000780000780000F00000E00001C00003800007000
-00600000C0000180000300000600400C00401800401000803FFF807FFF80FFFF80121E7E
-9D17>I<03F0000C1C00100E00200F00780F80780780780780380F80000F80000F00000F
-00001E00001C0000700007F000003C00000E00000F000007800007800007C02007C0F807
-C0F807C0F807C0F00780400780400F00200E00183C0007F000121F7E9D17>I<00060000
-0600000E00000E00001E00002E00002E00004E00008E00008E00010E00020E00020E0004
-0E00080E00080E00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E0000
-0E00000E00000E00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE000
-10000010000010000010000010000010000011F000161C00180E00100700100780000380
-0003800003C00003C00003C07003C0F003C0F003C0E00380400380400700200600100C00
-08380007E000121F7E9D17>I<007C000182000701000E03800C07801807803803003800
-00780000700000700000F1F000F21C00F40600F80700F80380F80380F003C0F003C0F003
-C0F003C0F003C07003C07003C07003803803803807001807000C0E00061C0001F000121F
-7E9D17>I<4000007FFFE07FFFC07FFFC040008080010080010080020000040000040000
-080000100000100000200000200000600000600000E00000C00001C00001C00001C00001
-C00003C00003C00003C00003C00003C00003C00003C000018000131F7E9D17>I<03F000
-0C0C001006003003002001806001806001806001807001807803003E03003F06001FC800
-0FF00003F80007FC000C7E00103F00300F806007806001C0C001C0C000C0C000C0C000C0
-C000806001802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C003806
-00380700700700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007
-C03807C0180BC00E13C003E3C0000380000380000380000700300700780600780E00700C
-002018001070000FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F8
-7005147C930D>I<70F8F8F8700000000000000000000070F0F8F8780808081010102020
-40051D7C930D>I<000100000003800000038000000380000007C0000007C0000007C000
-0009E0000009E0000009E0000010F0000010F0000010F000002078000020780000207800
-00403C0000403C0000C03E0000801E0000801E0001FFFF0001000F0001000F0002000780
-0200078002000780040003C0040003C00C0003C01E0003E0FF801FFE1F207F9F22>65
-DI<000FE01000381C3000E00270
-03C00170078000F00F0000701E0000701E0000303C0000303C0000107C00001078000010
-F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
-780000007C0000103C0000103C0000101E0000201E0000200F0000200780004003C00080
-00E0030000380C00000FF0001C217E9F21>IIII<000FE01000381C3000E0027003C00170078000F0
-0F0000701E0000701E0000303C0000303C0000107C00001078000010F8000000F8000000
-F8000000F8000000F8000000F8000000F8000000F8003FFEF80001F0780000F07C0000F0
-3C0000F03C0000F01E0000F01E0000F00F0000F0078000F003C0017000E0023000380C10
-000FF0001F217E9F24>III76 DII<001FE000007038
-0001C00E0003800700070003800F0003C01E0001E03C0000F03C0000F07C0000F87C0000
-F878000078F800007CF800007CF800007CF800007CF800007CF800007CF800007CF80000
-7CF800007C780000787C0000F87C0000F83C0000F03E0001F01E0001E00F0003C0070003
-800380070001E01E0000703800001FE0001E217E9F23>II<001FE0000070380001C00E0003800700070003800F0003C01E
-0001E03E0001F03C0000F07C0000F87C0000F878000078F800007CF800007CF800007CF8
-00007CF800007CF800007CF800007CF800007CF800007C780000787C0000F87C0000F83C
-0000F03E0781F01E0841E00F1023C0071023800390170001D01E0000783804001FF80400
-001C0400000C0C00000E1C00000FF800000FF8000007F8000007F0000001E01E297E9F23
->II<03F0400C0CC018
-03C03001C06000C06000C0E000C0E00040E00040E00040F00000F800007C00007F80003F
-F8001FFF0007FF8000FFC0001FE00003E00001E00000F000007080007080007080007080
-0070C00060C000E0E000C0F80180C6030081FC0014217E9F19>I<7FFFFFE0780F01E060
-0F0060400F0020400F0020C00F0030800F0010800F0010800F0010800F0010000F000000
-0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
-0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
-1F800003FFFC001C1F7E9E21>IIII91
-D<080410082010201040204020804080408040B85CFC7EFC7E7C3E381C0F0E7A9F17>I<
-FFFF03030303030303030303030303030303030303030303030303030303030303030303
-03030303030303FFFF082D80A10D>I<081020204040808080B8FCFC7C38060E7D9F0D>
-96 D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00
-380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>I<1C00
-00FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
-001D87001E01801E00C01C00E01C00701C00701C00781C00781C00781C00781C00781C00
-781C00701C00F01C00E01E00C01A0180198700107C0015207E9F19>I<01FC000706001C
-0F00380F00380600780000700000F00000F00000F00000F00000F00000F0000070000078
-00003800803800801C010007060001F80011147F9314>I<0001C0000FC00001C00001C0
-0001C00001C00001C00001C00001C00001C00001C00001C001F1C0070DC00C03C01801C0
-3801C07801C07001C0F001C0F001C0F001C0F001C0F001C0F001C07001C07001C03801C0
-1803C00C03C0070DC001F1F815207F9F19>I<03F0000E1C001C0E003807003807007007
-00700380F00380F00380FFFF80F00000F00000F000007000007000003800803800801C01
-0007060001F80011147F9314>I<007C01C6030F070F0E060E000E000E000E000E000E00
-0E00FFF00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
-0E000E007FE01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F00780F
-00780F00780F00380E001C1C001E380033E0002000002000003000003000003FFE001FFF
-801FFFC03001E0600070C00030C00030C00030C000306000603000C01C038003FC00141F
-7F9417>I<1C0000FC00001C00001C00001C00001C00001C00001C00001C00001C00001C
-00001C00001C7C001C86001D03001E03801E03801C03801C03801C03801C03801C03801C
-03801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF014207E9F19>I<
-38007C007C007C0038000000000000000000000000001C00FC001C001C001C001C001C00
-1C001C001C001C001C001C001C001C001C001C001C001C00FF80091F7F9E0C>I<00E001
-F001F001F000E0000000000000000000000000007007F000F00070007000700070007000
-700070007000700070007000700070007000700070007000700070007000706070F060F0
-C061803F000C28829E0E>I<1C0000FC00001C00001C00001C00001C00001C00001C0000
-1C00001C00001C00001C00001C1FE01C07801C06001C04001C08001C10001C20001C6000
-1CE0001DF0001E70001C38001C3C001C1C001C0E001C0F001C07001C07801C07C0FF9FF0
-14207E9F18>I<1C00FC001C001C001C001C001C001C001C001C001C001C001C001C001C
-001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF8009
-207F9F0C>I<1C3E03E000FCC30C30001D039038001E01E01C001E01E01C001C01C01C00
-1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C
-01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF802114
-7E9326>I<1C7C00FC86001D03001E03801E03801C03801C03801C03801C03801C03801C
-03801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF014147E9319>I<
-01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0
-F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317>I<1C7C00FD87
-001E01801E01C01C00E01C00F01C00701C00781C00781C00781C00781C00781C00781C00
-701C00F01C00E01E01C01E03801D87001C7C001C00001C00001C00001C00001C00001C00
-001C00001C0000FF8000151D7E9319>I<01F040070CC00E02C01C03C03801C07801C070
-01C0F001C0F001C0F001C0F001C0F001C0F001C07001C07801C03801C01C03C00C05C007
-09C001F1C00001C00001C00001C00001C00001C00001C00001C00001C0000FF8151D7F93
-18>I<1CF0FD181E3C1E3C1E181C001C001C001C001C001C001C001C001C001C001C001C
-001C001C00FFC00E147E9312>I<0FC830386018C008C008C008E0007C003FE01FF007F8
-003C800E8006C006C006C004E00CD81887E00F147F9312>I<020002000200060006000E
-000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E040E040E040E
-040E040708030801F00E1C7F9B12>I<1C0380FC1F801C03801C03801C03801C03801C03
-801C03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C0780061B
-8003E3F014147E9319>IIIII<7FFF700E600E401C40384078407000E001E001C00380078007010E011E011C033802
-7006700EFFFE10147F9314>I E /Fp 13 122 df<0000001FFC0000C000000003FFFFC0
-01C00000001FFFFFF003C00000007FFFFFFC07C0000001FFFC00FE0FC0000007FFC0001F
-9FC000000FFE000007FFC000003FF8000003FFC000007FF0000000FFC00000FFE0000000
-7FC00001FFC00000007FC00001FF800000003FC00003FF000000001FC00007FE00000000
-1FC0000FFE000000000FC0000FFC000000000FC0001FFC0000000007C0001FFC00000000
-07C0003FF80000000007C0003FF80000000003C0003FF80000000003C0007FF800000000
-03C0007FF80000000003C0007FF0000000000000007FF000000000000000FFF000000000
-000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000000000
-000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000000000
-000000FFF000000000000000FFF000001FFFFFFF807FF000001FFFFFFF807FF000001FFF
-FFFF807FF800001FFFFFFF807FF800000001FFC0003FF800000001FFC0003FF800000001
-FFC0003FF800000001FFC0001FFC00000001FFC0001FFC00000001FFC0000FFE00000001
-FFC0000FFE00000001FFC00007FF00000001FFC00003FF00000001FFC00001FF80000001
-FFC00001FFC0000001FFC00000FFE0000001FFC000007FF0000003FFC000003FFC000003
-FFC000000FFF000007FFC0000007FFC0001FBFC0000001FFFC00FF1FC00000007FFFFFFE
-0FC00000001FFFFFF803C000000003FFFFE000C0000000001FFE00000000413D7BBB4C>
-71 D
-I76 D78 D85
-D<003FFE00000001FFFFE0000007FFFFF800000FE007FC00000FF001FE00001FF800FF00
-001FF8007F80001FF8007FC0001FF8003FC0000FF0003FE00007E0003FE00003C0003FE0
-000000003FE0000000003FE0000000003FE0000000003FE0000000FFFFE000001FFFFFE0
-00007FF83FE00003FF803FE00007FC003FE0000FF0003FE0001FE0003FE0003FE0003FE0
-007FC0003FE0007FC0003FE000FF80003FE000FF80003FE000FF80003FE000FF80003FE0
-00FF80007FE0007FC0007FE0007FC000DFE0003FE0039FF0001FF80F0FFFE007FFFE0FFF
-E001FFFC07FFE0003FE000FFE02B267DA52F>97 D<00FE00000000FFFE00000000FFFE00
-000000FFFE00000000FFFE0000000007FE0000000003FE0000000003FE0000000003FE00
-00000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE00
-00000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE00
-00000003FE0000000003FE01FF000003FE1FFFF00003FE7FFFFC0003FEFC03FE0003FFF0
-00FF0003FFC0003F8003FF00001FC003FE00001FE003FE00000FF003FE00000FF803FE00
-000FF803FE000007FC03FE000007FC03FE000007FC03FE000007FE03FE000007FE03FE00
-0007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE00
-0007FE03FE000007FC03FE000007FC03FE000007FC03FE00000FFC03FE00000FF803FE00
-000FF003FE00001FF003FF00001FE003FF80003FC003FFC0007F8003F9E000FF0003F0FC
-07FE0003F07FFFF80003E01FFFE00003C003FE00002F3C7DBB36>I<01E00007F8000FFC
-000FFC001FFE001FFE001FFE001FFE000FFC000FFC0007F80001E0000000000000000000
-0000000000000000000000000000000000000000000000000000FE007FFE007FFE007FFE
-007FFE0007FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE
-0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE
-0003FE0003FE0003FE0003FE0003FE0003FE00FFFFF0FFFFF0FFFFF0FFFFF0143D7DBC1A
->105 D<0001FFC00000000FFFF80000007FFFFF000000FF80FF800003FE003FE00007F8
-000FF0000FF00007F8000FF00007F8001FE00003FC003FE00003FE003FE00003FE007FC0
-0001FF007FC00001FF007FC00001FF007FC00001FF00FFC00001FF80FFC00001FF80FFC0
-0001FF80FFC00001FF80FFC00001FF80FFC00001FF80FFC00001FF80FFC00001FF80FFC0
-0001FF807FC00001FF007FC00001FF007FC00001FF003FE00003FE003FE00003FE001FE0
-0003FC001FF00007FC000FF00007F80007F8000FF00003FE003FE00000FF80FF8000007F
-FFFF0000000FFFF800000001FFC0000029267DA530>111 D<01FC03F000FFFC0FFC00FF
-FC1FFF00FFFC3C3F80FFFC707F8007FCE0FFC003FCC0FFC003FD80FFC003FD80FFC003FF
-807F8003FF003F0003FF001E0003FF00000003FE00000003FE00000003FE00000003FE00
-000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE0000
-0003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE000000
-03FE00000003FE00000003FE000000FFFFFC0000FFFFFC0000FFFFFC0000FFFFFC000022
-267DA528>114 D<003FF03803FFFE7807FFFFF81FC00FF83F0003F83E0000F87C0000F8
-7C000078FC000078FC000078FE000078FF000000FFC00000FFFC00007FFFF0003FFFFE00
-3FFFFF801FFFFFC00FFFFFE003FFFFF000FFFFF8001FFFFC00007FFC000007FE700001FE
-F00000FEF000007EF800007EF800007EFC00007EFC00007CFE0000FCFF0000F8FF8001F0
-FFF00FE0F9FFFFC0F07FFF00C01FF8001F267DA526>I<000F0000000F0000000F000000
-0F0000000F0000001F0000001F0000001F0000001F0000003F0000003F0000007F000000
-7F000000FF000001FF000003FF000007FF00001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF001
-FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001
-FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001
-FF000001FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C00
-FF007800FF8078007F80F0003FC1E0001FFFC0000FFF800001FE001E377EB626>I121 D E end
+TeXDict begin 40258431 52099146 1000 300 300 (history.dvi)
+@start
+%DVIPSBitmapFont: Fa cmti10 10.95 1
+/Fa 1 47 df<127012F8A212F012E005057B840E>46 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fb cmbxti10 14.4 1
+/Fb 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fc cmtt9 9 26
+/Fc 26 123 df95 D97
+D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C1380EB01C0A6EB0380001E1300EA1F0E
+EA1DFCEA0CF81217809614>II<137EA2130EA5EA07CEEA0FFEEA1C3EEA
+301EEA700E12E0A61270EA301EEA383E381FEFC0EA07CF12177F9614>II<13FCEA01FEEA038EEA07041300A3EA7FFE12FFEA0700ACEAFFF8A20F17
+7F9614>II<12FCA2121CA51378EA1DFEEA1F86EA1E07121CAA38FF8FE0A21317809614>I<1206
+120FA21206C7FCA4B4FCA21207ACEAFFF8A20D187C9714>I<12FCA2121CA5EBFF80A2EB
+1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C131C7F38FF1F80A21117809614>107
+DII
+IIIII
+I<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F00F157F9414>II<38FE3F80A2383C1E00EA1C1CA36C5A
+A3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700EA380EA3EA39CEA3EA
+1B6C121AA3EA1E7CA2EA0E3811107F8F14>II<38FE3F80A2381C0E005B
+A2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC127E123C11187F8F
+14>II E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fd cmsl9 9 1
+/Fd 1 47 df<1270A212F0126004047D830B>46 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fe cmr9 9 24
+/Fe 24 122 df48 D<12035AB4FC1207B3A2EA7FF80D187D
+9713>I54
+D<1240EA7FFF13FEA2EA4004EA80081310A2EA00201340A21380120113005AA25A1206A2
+120EA5120410197E9813>II
+I<39FFE1FFC0390E001C00AB380FFFFC380E001CAC39FFE1FFC01A1A7F991D>72
+D83
+D97 D99 D<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C
+5AEA1C373807C7E0131A7F9915>II103 D<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF014
+1A809915>I<1218123CA212181200A612FC121CAE12FF081A80990A>I110 DII<
+EAFC78EA1D9CEA1E1C1308EA1C00ABEAFF800E10808F0F>114 DI<1208A41218A21238EAFFC0EA3800A81320A41218EA1C40EA07800B177F960F>I<38
+FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C5A11107F8F14>
+118 D<38FE3F80383C1E00EA1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA
+181CEA381E38FC3FC012107F8F14>120 D<38FF0F80383C0700EA1C061304A26C5AA26C
+5AA3EA03A0A2EA01C0A36C5AA248C7FCA212E112E212E4127811177F8F14>I
+E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Ff cmss10 10.95 2
+/Ff 2 42 df<13E0EA01C0EA0380120713005A121EA2121C123CA212381278A3127012F0
+AE12701278A31238123CA2121C121EA27E7E13801203EA01C0EA00E00B2E7CA112>40
+D<12E012707E123C121C121E7EA27E1380A2120313C0A3120113E0AE13C01203A3138012
+07A213005AA2121E121C123C12385A5A0B2E7EA112>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fg cmbx10 12 27
+/Fg 27 123 df12 D<90380FFF80137F3801FC1F
+3803F03FEA07E0EA0FC0141FA7B6FCA2380FC01FB2397FF8FFF0A21C237FA220>I97 DII<49B4FC
+A2EB003FAB13FE3807FFBF380FC1FF48C67E003E7F127E127CA212FCA7127C127E123E6C
+5B380F81FF3907FF3FE0EA01FC1B237EA220>I<13FE3807FF80380F83C0381E01E0383E
+00F0127E007C13F8147812FCB512F8A200FCC7FCA3127CA26C1318A26C1330380F80E038
+03FFC0C6130015167E951A>II<9038FE0F803903FF9FC0380F83E338
+1F01F3391E00F000003E7FA5001E5BEA1F01380F83E0380BFF80D808FEC7FC0018C8FCA2
+121C381FFFE014FC6C13FF7E001F1480397C001FC00078130F00F81307A3007CEB0F806C
+EB1F00381F807E6CB45A000113E01A217F951D>II<121E123FEA7F80A4EA3F00121E
+C7FCA6EAFF80A2121FB2EAFFF0A20C247EA30F>I107 DI<3AFF03F8
+03F890390FFE0FFE3A1F183F183F9039201F201F014001C01380A201801380AE3BFFF0FF
+F0FFF0A22C167D9531>I<38FF03F0EB0FFC381F187EEB203EEB403FA21380AE39FFF1FF
+E0A21B167D9520>I<13FF000713E0380F81F0381F00F8003E137C48133EA300FC133FA7
+007C133E007E137E003E137C6C13F8380F81F03807FFE0C6130018167E951D>I<38FF87
+F0EBBFFC381FF07EEBC01F9038800F8015C0A2EC07E0A715C0140FA2EC1F8001C01300EB
+F07EEBBFFCEB8FE00180C7FCA8EAFFF0A21B207E9520>II<38FF0F80EB1FE0381F33F013631343A2EBC1E0EB8000AD
+EAFFF8A214167E9518>I<3807F980EA1FFFEA3807EA7003EAF001A26CC7FCB4FC13F8EA
+7FFE6C7E6C1380120738003FC0EAC007130312E0A200F0138038FC0F00EAEFFEEAC3F812
+167E9517>I<487EA41203A21207A2120F123FB5FCA2EA1F80ABEB8180A5380F830013C3
+EA07FEEA01F811207F9F16>I<38FF81FFA2381F803FAF5C5C380FC1BF3907FF3FE0EA01
+FC1B167D9520>I<39FFF01FE0A2391FC00700000F1306EBE00E0007130C13F000035BA2
+6C6C5AA26C6C5AA2EBFEE0EB7EC0137F6D5AA26DC7FCA2130EA21B167F951E>I<3AFFF3
+FF83FCA23A1F807C00E0D80FC014C08001E013010007017F1380A2D803F0EB0300ECCF83
+01F81387D801F913C61487D800FD13ECEBFF0315FC017F5BEB7E01013E5BEB3C00A20118
+136026167F9529>I<39FFF07FC0A2390FC01C006C6C5A6D5A00035B6C6C5A3800FD8013
+7F91C7FC7F6D7E497EEB37E0EB67F013C33801C1F8380380FC48487E000E137F39FF81FF
+E0A21B167F951E>I<39FFF01FE0A2391FC00700000F1306EBE00E0007130C13F000035B
+A26C6C5AA26C6C5AA2EBFEE0EB7EC0137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC38
+13305BEA69C0EA7F80001FC8FC1B207F951E>I<387FFFF0A2387C07E038700FC0EA601F
+00E0138038C03F005B137EC65A1201485AEBF030EA07E0120FEBC070EA1F80003F1360EB
+00E0EA7E03B5FCA214167E9519>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fh cmtt10 12 24
+/Fh 24 119 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F
+FF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42 D<1338137CA2136C13EEA313
+C6A2EA01C7A438038380A4380701C0A213FFA24813E0EA0E00A4481370387F01FC38FF83
+FE387F01FC171E7F9D1A>65 D69 D<387FFFFCB5FC7E380E001CA51400A2EB03
+80A3EA0FFFA3EA0E03A390C7FCA8EA7FE012FF127F161E7F9D1A>I<38FF83FEA3381C00
+70AA381FFFF0A3381C0070AB38FF83FEA3171E7F9D1A>72 DI<38FE03FE12FFA2381D8070A213C0121CA213E0A213601370A213
+301338A21318131CA2130C130EA21306A213071303A238FF81F0A21380171E7F9D1A>78
+DI82 D<3803F1C0EA0FFDEA3FFFEA7C0FEA700312E01301A390C7FC12
+701278123FEA1FF0EA07FE3800FF80EB0FC0EB01E013001470A2126012E0A214E0EAF001
+38FC03C0B5128000EF1300EAE3FC141E7D9D1A>I<387FFFFEB5FCA238E0380EA5000013
+00B33803FF80A3171E7F9D1A>I<38FF01FEA3381C00706C13E0A2380701C0A213830003
+138013C700011300A2EA00EEA2137CA21338AA48B4FCA3171E7F9D1A>89
+D<387FFFC0B512E0A26C13C013047D7E1A>95 D97 D99
+DI<12FEA3120EA6133EEBFF80000F
+13C013C1EB80E01300120EAC38FFE3FE13E713E3171E7F9D1A>104
+DI<
+EAFE3EEBFF80B512C0EA0FC1EB80E01300120EAC38FFE3FE13E713E317157F941A>110
+DI<387F81F838FF8FFC38
+7F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>114
+D<487E1203A6387FFFE0B5FCA238038000AA1470A43801C1E013FF6C1380EB3F00141C7F
+9B1A>116 D<38FE0FE0A3EA0E00AD1301EA0F033807FFFE7EEA00FC17157F941A>I<387F
+C7FC00FF13FE007F13FC380E00E0A3380701C0A338038380A33801C700A3EA00EEA3137C
+A2133817157F941A>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fi cmbx12 13.14 41
+/Fi 41 123 df12
+D<123C127E12FFA4127E123C08087C8711>46 D<131C133C13FC12FFA21200B3AA387FFF
+FCA216237CA21F>49 D<48B4FC000713C0381E07F0383803F8386001FC387C00FE12FE14
+FF147FA2127C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B1370
+EBE003EA01C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F>I<48
+B4FC000713E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB03F8
+EB07F0EB0FC03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FEA214
+FEA2387C01FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A214F8
+1301130313071306130C131C13381330136013E0EA01C01380EA03005A120E5A12185A12
+705AB612C0A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEBFFF8
+14F014E014C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FCC712
+7EA3147FA2127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE0018
+237DA21F>II<1230123C003FB512C0A2
+15804814005C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133CA25B
+A213F8A41201A66C5A13601A257DA41F>I<141CA2143EA3147FA24A7EA39038019FC0A2
+9038031FE0140F01077FEB0607A2010C7F1403011C7FEB1801A2496C7EA2017FB5FCA290
+39E0007F8049133FA2484880151F00038190C7120FA2486E7ED8FFF090B51280A229257E
+A42E>65 D68
+DII72 DI76 D
+I<01FF1380000713E3380F80F7381E001F48130F481307140312F81401A27E91C7FCB4FC
+EA7FE013FE383FFFE014F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200
+C01303A315C07E6C13076C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>83
+D87
+D97
+DIII<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E
+12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80
+17187E971C>II<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800
+007E7FA6003E5B6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C
+13FC806C7F481480383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807
+FFF8C613C01B247E971F>II<120FEA1F80EA3FC0A4EA1F80EA0F00
+C7FCA7EA7FC0A2120FB3A2EAFFF8A20D277EA611>I108 D<26FF80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E8
+03F001A013F0A201C013E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80
+390F8E0FC0139890389007E013A0A213C0AF39FFFC7FFEA21F187E9722>II<38FFC1FCEBCFFF390FFC1FC09038F0
+07E001C013F0140315F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038
+CFFF00EBC3F801C0C7FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC
+13B013A01478EBE0005BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA70
+01EAF000A300FC1300B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212
+E014C0EAF00338FC078038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F
+121FB512C0A2380FC000AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39
+FFC07FE0A2000F1307B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I<
+39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC0000
+5B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21D187F9720>I<39FFF83FF0A239
+0FC00F003807E00E6C6C5A6D5A6C6C5A00001360EB7EC06D5AA2131F6D7E497E80EB33F8
+1361EBE0FC3801C07E3803807F3907003F8048131F39FFC07FF8A21D187F9720>120
+D<39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC00
+005B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21306A25B1230EA781CEAFC185B
+1370EA68E0EA7FC0001FC8FC1D237F9720>I<387FFFF8A2387C03F0EA700738600FE000
+E013C0EB1F80EAC03F1400137EEA00FE5B485A0003130C13F0EA07E0120FEBC01C381F80
+18003F1338387F0078387E01F8B5FCA216187E971B>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fj cmsl10 10.95 30
+/Fj 30 122 df<903803F07C90381E0DC69038380F0FEB701E01E0130EEC0C003801C01C
+A548485A007FB512C03903803800A448485AA6000E5BA648485A001E7F38FF8FFC20207E
+9F1B>11 DI<903803F03F9039
+1E09E0809039380F80C09039701F01E0EBE03E021E13C02601C01CC7FCA548485A007FB6
+12803903803803A43A0700700700A6000EEBE00EA64848485A001EEBE01E3AFF8FF8FFC0
+23207E9F26>14 D<13201360A4383061C0383C4380380E4E00EA0778EA01E0A2EA07B8EA
+1C9CEA708FEAE083EA0180A490C7FC12147AA117>42 D<13181338EA01F8EA0E701200A5
+13E0A6EA01C0A6EA0380A6EA07001380EAFFFC0E1E7B9D17>49 DI<13
+FFEA01FE1380A5EA0300A61206A65AA65AA65AA65AA6B4FCA2102D7EA10D>91
+D<13FFEA01FEEA0006A5130CA61318A61330A61360A613C0A6EA0180A6EAFF00A2102D82
+A10D>93 D97 D<13FEEA0383380E0780121C00
+38130090C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314>99
+D<1438EB01F8EB00781438A21470A614E013FCEA0382EA0601121CEA3C00383801C01278
+12F0A438E00380A412F0EA700738380F00381C37803807C7E015207D9F19>I<13F8EA07
+0EEA0E07121C383803801278127012F0A2B5FC00F0C7FC5AA46C5AEA7002EA3004EA1C18
+EA07E011147D9314>II<140EEB3E11EBE1A33801C1C238
+0381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218121CEA0FFF14C0
+14E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F809417>I<13E012
+0712011200A2485AA6485AEB8F80EB90E013A0EBC0601380000713E01300A5380E01C0A6
+381C0380001E13C038FF8FF014207E9F19>II<13E0120712011200
+A2EA01C0A6EA0380A6EA0700A6120EA65A121EEAFF800B207F9F0C>108
+D<390387C07C391F9861863907A072073903C03403EB80380007EB7807EB0070A5000EEB
+E00EA64848485A001EEBE01E3AFFCFFCFFC022147E9326>I<38038F80381F90E0EA07A0
+3803C0601380000713E01300A5380E01C0A6381C0380001E13C038FF8FF014147E9319>
+I<13FCEA0387380E0180381C00C04813E0A24813F012F0A438E001E0A214C0130300F013
+8038700700EA380E6C5AEA07E014147D9317>IIIII<1380EA0100
+A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<38
+1C0380EAFC1FEA3C07EA1C03A238380700A6EA700EA4131EA25BEA305E381F9F8011147B
+9319>I<38FF83F8381E00E0001C13C01480121E380E01005B13025B12075BA25BEA0390
+13A013E05B5B120190C7FC15147C9318>I<39FF9FE1FC393C078070391C030060148015
+401580EA0E0790380D81001309EB19C21311380F21C4EA0720EB40C814E8EB80F0A26C48
+5A1460000213401E147C9321>I<381FF0FF3803C0780001137014403800E0C0EBE180EB
+73001376133CA2131C132E134E1387EA0107380203801204380C01C0383C03E038FE07FC
+18147F9318>I<390FF83F803901E00E00EBC00C140813E000005B143014205C13705CA2
+0171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8FC12E61278
+191D809318>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fk cmbx12 17.28 36
+/Fk 36 122 df49 DI<1578A215FCA34A7E
+A24A7EA24A7FA34A7FEC0E7F021E7FEC1C3FA202387F151F02787FEC700FA202E07F1507
+010180ECC003A249486C7EA201078191C7FC498191B6FCA24981011CC7123F013C810138
+141FA24981160F01F081491407A2484881486C1403B549B512FCA336317DB03D>65
+DI<913A03FF800180023F
+EBF00349B5EAFC0701079038003F0FD91FF8EB079FD93FC0EB01FFD9FF807F4848C8127F
+4848153F0007161F49150F485A001F1607A2485A1703127FA24992C7FCA212FFA9127FA2
+7FEF0380123FA26C7E1707000F17006C7E6D150E0003161E6C6C151C6C6C6C1478D93FC0
+5CD91FF8EB03E0D907FFEB3F800101D9FFFEC7FCD9003F13F80203138031317CB03A>I<
+B812E0A3C6903880007FEE0FF016031601A21600A21770A31738A21507A21700A35D5D5D
+91B5FCA3EC803F818181A592C8FCACB612C0A32D317EB033>70 DIII78
+D80
+D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A3481603
+A5C792C7FCB3AA017FB6FCA331307DAF38>84 DII97 DIIIII<90391FF007C09039FFFE3F
+E03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF000A2003F80A5001F5CA2
+000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC121EA2121F7F90B57E6C
+14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C140F00FC1407A4007EEC
+0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0D8001F90C7FC242F7E9F
+28>III108 D<2703F007F8EB1FE000FFD93FFEEBFFF8913A783F01
+E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602F8148001FC5CA3495CB3
+B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFEEC783F02C013803A0FF1
+801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F2D>II<3901F83FE000FFEBFFFC9038FBE07F9039FF00
+3F80D80FFEEB1FC06C48EB0FE04914F0ED07F8A216FC1503A216FEA816FC1507A216F8A2
+ED0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC3FC091C8FCABB512C0A3
+272E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF30FF0EA07F6A29038FC07
+E0EC03C091C7FCA25BB2B512E0A31C207E9F21>114 D<3801FF86000713FEEA1F00003C
+133E48131E140E12F8A36C90C7FCB47E13FC387FFFC06C13F0806C7F00077F00017FEA00
+3F01001380143F0060131F00E0130FA27E15007E6C131E6C131C38FF807838F3FFF038C0
+7F8019207D9F20>I<131CA5133CA3137CA213FC120112031207381FFFFEB5FCA2D803FC
+C7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB07F0192E7FAD1F>IIII<3A7FFF807FFCA33A03FC000F006C6C131E6C6C5BEC803890387FC078013F5B90
+381FE1E090380FF3C0ECFF806D90C7FC6D5A13016D7E81815B903803DFE09038078FF081
+90380F07FC90381E03FEEB3C01496C7E4914804848EB7FC00003EC3FE026FFFC01B5FCA3
+28207F9F2B>II E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fl cmsy10 10.95 1
+/Fl 1 14 df<14FF010713E090381F00F80178131E01E01307D80180EB018048C812C000
+061560481530A248151848150CA2481506A4481503A900601506A46C150CA26C15186C15
+30A26C15606C15C06C6CEB0180D800E0EB07000178131E011F13F8903807FFE0010090C7
+FC282B7EA02D>13 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fm cmbx12 14.4 45
+/Fm 45 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612
+0E5A5A12100A157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46
+D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49
+DII<140FA25C5C5C5C5BA2EB03
+BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8
+A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091
+C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218
+127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6
+22>I65 DI<91387FE003903907FFFC07011FEBFF0F90397FF0
+0F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A160F485A1607127FA290
+C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C14786CB4EB01F09039
+7FF007C0011FB512800107EBFE009038007FF028297CA831>I69
+DI<91387FE003903907
+FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F484880484880484880485A82
+485A82127FA290CAFC5AA892B512F87E7F03001300123FA26C7EA26C7E6C7E6C7E6C7E6C
+B45B90387FF007011FB5129F0107EBFE0F9039007FF0032D297CA835>III77
+DI80
+D82 D<9038FF80600003EBF0E0000F13F8381F80FD383F
+001F003E1307481303A200FC1301A214007EA26C140013C0EA7FFCEBFFE06C13F86C13FE
+80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E01303A46C14E0A26C1307
+6C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA825>I85 DI