From 7628b745a813aac53586b640da056a975f1c443e Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Wed, 26 Feb 2014 10:31:21 -0500 Subject: Readline-6.3 distribution sources and documentation --- CHANGELOG | 129 + CHANGES | 139 + INSTALL | 2 +- MANIFEST | 9 +- Makefile.in | 54 +- NEWS | 66 +- README | 11 +- aclocal.m4 | 34 +- bind.c | 207 +- callback.c | 44 +- chardefs.h | 2 +- colors.c | 251 + colors.h | 122 + complete.c | 373 +- config.h.in | 19 +- configure | 9935 +++++++++--------------------- configure.ac | 303 + display.c | 336 +- doc/Makefile.in | 5 +- doc/history.0 | 11 +- doc/history.3 | 15 +- doc/history.dvi | Bin 86016 -> 85108 bytes doc/history.html | 8 +- doc/history.info | 71 +- doc/history.pdf | Bin 158355 -> 88219 bytes doc/history.ps | 7797 +++++++++++++++-------- doc/history.texi | 26 +- doc/history_3.ps | 395 +- doc/hstech.texi | 4 +- doc/hsuser.texi | 24 +- doc/readline.0 | 522 +- doc/readline.3 | 81 +- doc/readline.dvi | Bin 300184 -> 314656 bytes doc/readline.html | 2146 ++++--- doc/readline.info | 633 +- doc/readline.pdf | Bin 299675 -> 210088 bytes doc/readline.ps | 14382 ++++++++++++++++++++++++++----------------- doc/readline_3.ps | 1606 ++--- doc/rlman.texi | 27 +- doc/rltech.texi | 210 +- doc/rluser.texi | 228 +- doc/rluserman.dvi | Bin 102724 -> 105200 bytes doc/rluserman.html | 468 +- doc/rluserman.info | 145 +- doc/rluserman.pdf | Bin 172796 -> 105809 bytes doc/rluserman.ps | 8231 ++++++++++++++++--------- doc/rluserman.texi | 27 +- doc/texinfo.tex | 2811 ++++++--- doc/version.texi | 12 +- examples/Makefile.in | 35 +- examples/excallback.c | 7 +- examples/hist_erasedups.c | 121 + examples/hist_purgecmd.c | 151 + examples/rl-callbacktest.c | 87 + examples/rlfe/config.h.in | 4 + examples/rlfe/configure | 4472 ++++++-------- examples/rlfe/configure.in | 6 +- examples/rlfe/os.h | 6 +- examples/rlfe/rlfe.c | 9 +- examples/rlptytest.c | 6 +- funmap.c | 5 +- histexpand.c | 70 +- histfile.c | 62 +- history.c | 8 +- history.h | 2 +- input.c | 53 +- isearch.c | 128 +- macro.c | 38 +- mbutil.c | 11 +- misc.c | 39 +- nls.c | 35 +- parse-colors.c | 440 ++ parse-colors.h | 46 + posixdir.h | 14 +- posixjmp.h | 2 + readline.c | 154 +- readline.h | 36 +- rlconf.h | 12 +- rldefs.h | 10 +- rlmbutil.h | 9 + rlprivate.h | 35 +- rlstdc.h | 12 + rltty.c | 10 +- rltypedefs.h | 14 +- search.c | 93 +- shell.c | 48 +- shlib/Makefile.in | 85 +- signals.c | 120 +- support/config.guess | 587 +- support/config.sub | 332 +- support/mkdist | 15 +- support/shlib-install | 9 +- support/shobj-conf | 71 +- terminal.c | 85 +- text.c | 7 +- undo.c | 39 +- util.c | 83 +- vi_keymap.c | 1 - vi_mode.c | 100 +- 99 files changed, 33991 insertions(+), 25754 deletions(-) create mode 100644 colors.c create mode 100644 colors.h create mode 100644 configure.ac create mode 100644 examples/hist_erasedups.c create mode 100644 examples/hist_purgecmd.c create mode 100644 examples/rl-callbacktest.c create mode 100644 parse-colors.c create mode 100644 parse-colors.h diff --git a/CHANGELOG b/CHANGELOG index 5513f12..c7c3077 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1093,3 +1093,132 @@ xfree.c ----- {examples,shlib}/Makefile.in - Cygwin-based changes from Eric Blake + + 3/26/2011 + --------- +Makefile.in + - don't ignore failures when building, installing, or cleaning in + the shlib subdirectory. Sample patch from Mike Frysinger + + +shlib/Makefile.in + - split the install and uninstall targets into install-supported and + install-unsupported targets that depend on the value of + SHLIB_STATUS + + 4/2 + --- +{,shlib}/Makefile.in + - add dependency for callback.o/callback.so on xmalloc.h. From + Jan Kratochvil + +{,doc,examples,shlib}/Makefile.in + - fix typo: htm target should be html. From Jan Kratochvil + + - remove `.' from VPATH. From Jan Kratochvil + + +examples/rlfe/configure.in + - quote AC_PROGRAM_SOURCE. From Jan Kratochvil + + + 5/17 + ---- +config.h.in + - WCWIDTH_BROKEN: new define, picked up from bash, defined on systems + where wcwidth returns 1 for Unicode combining characters + + 11/28 + ----- +support/shlib-install + - make sure solaris2 systems make the installed shared library + executable. ldd warns about it otherwise. Bug and fix from + Tim Mooney + +examples/hist_erasedups.c + - new example program, shows how to erase duplicates from the history + list + +examples/hist_purgecmd.c + - new example program, shows how to remove all entries matching a + string or pattern from the history list + + 1/12/2012 + --------- +colors.[ch],parse-colors.[ch]} + - new files, part of color infrastructure support + +Makefile.in,shlib/Makefile.in + - arrange to have colors.o and parse-colors.o added to library + (static and shared versions) + +{configure,config.h}.in + - check for stdbool.h, define HAVE_STDBOOL_H if found + +rldefs.h + - COLOR_SUPPORT: if defined, compile in colors.c and parse-colors.c + for color support + + 1/18 + ---- + +{configure,config.h}.in + - new check: check for AUDIT_USER_TTY defined in , + define HAVE_DECL_AUDIT_USER_TTY if both are found + + 8/7 + --- +configure.in + - AC_CANONICAL_BUILD: call to set the build_xxx variables + - use $build_os instead of $host_os to decide when DJGPP should run + `pwd.exe' to figure out the build directory. Report and fix from + Yao Qi + + 8/29 + ---- +configure.ac + - new name for configure.in + +MANIFEST,Makefile.in + - configure.in -> configure.ac + + 1/5/2013 + -------- +configure.ac + - move version number up to 6.3 + + 1/31 + ---- +configure.ac + - use AC_CHECK_TOOL instead of AC_CHECK_PROG to check for ar, since it + will find $host-prefixed versions of utilities. Report and fix from + Mike Frysinger + + 3/4 + --- +Makefile.in + - PACKAGE_TARNAME, docdir: new variables substituted by autoconf + - OTHER_DOCS,OTHER_INSTALLED_DOCS: new variables with auxiliary + documentation files to be installed into $(docdir) + - install: add new rule to install $(OTHER_DOCS) + - uninstall: add new rule to uninstall $(docdir)/$(OTHER_INSTALLED_DOCS) + + 4/29 + ---- +Makefile.in + - installdirs: make sure to create $(DESTDIR)$(docdir). Report from + + + 1/27/2014 + --------- +Makefile.in + - install-examples: should not depend on `shared', since the examples + themselves are not built using shared libraries. Report from + + +support/shobj-conf + - [from bash] darwin: changed the install_name embedded into the + shared library to contain only the major version number, not the + minor one. The idea is that the minor versions should all be API/ABI + compatible, and it is better to link automatically with the latest + one. Idea from Max Horn diff --git a/CHANGES b/CHANGES index 9d58988..337275d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,142 @@ +This document details the changes between this version, readline-6.3, and the +previous version, readline-6.2. + +1. Changes to Readline + +a. Fixed a bug that did not allow the `dd', `cc', or `yy' vi editing mode + commands to work on the entire line. + +b. Fixed a bug that caused redisplay problems with prompts longer than 128 + characters and history searches. + +c. Fixed a bug that caused readline to try and run code to modify its idea + of the screen size in a signal handler context upon receiving a SIGWINCH. + +d. Fixed a bug that caused the `meta' key to be enabled beyond the duration + of an individual call top readline(). + +e. Added a workaround for a wcwidth bug in Mac OS X that caused readline's + redisplay to mishandle zero-width combining characters. + +f. Fixed a bug that caused readline to `forget' part of a key sequence when + a multiple-key sequence caused it to break out of an incremental search. + +g. Fixed bugs that caused readline to execute code in a signal handler + context if interrupted while reading from the file system during completion. + +h. Fixed a bug that caused readline to `forget' part of a key sequence when + reading an unbound multi-character key sequence. + +i. Fixed a bug that caused Readline's signal handlers to be installed beyond + the bounds of a single call to readline(). + +j. Fixed a bug that caused the `.' command to not redo the most recent `R' + command in vi mode. + +k. Fixed a bug that caused ignoring case in completion matches to result in + readline using the wrong match. + +l. Paren matching now works in vi insert mode. + +m. Fix menu-completion to make show-all-if-ambiguous and menu-complete-display-prefix + work together. + +n. Fixed a bug that didn't allow the `cc', `dd', or `yy' commands to be redone + in vi editing mode. + +o. Fixed a bug that caused the filename comparison code to not compare + multibyte characters correctly when using case-sensitive or case-mapping + comparisons. + +p. Fixed the input reading loop to call the input hook function only when there + is no terminal input available. + +q. Fixed a bug that caused binding a macro to a multi-character key sequence + where the sequence and macro value share a common prefix to not perform + the macro replacement. + +r. Fixed several redisplay errors with multibyte characters and prompts + containing invisible characters when using horizontal scrolling. + +s. Fixed a bug that caused redisplay errors when trying to overwrite + existing characters using multibyte characters. + +t. Fixed a bug in vi mode that caused the arrow keys to set the saved last + vi-mode command to the wrong value. + +u. Fixed a bug that caused double-quoted strings to be scanned incorrectly + when being used as the value of a readline variable assignment. + +v. Fixed a bug with vi mode that prevented `.' from repeating a command + entered on a previous line (command). + +w. Fixed a bug that could cause completion to core dump if it was interrupted + by a signal. + +x. Fixed a bug that could cause readline to crash and seg fault attempting to + expand an empty history entry. + +y. Fixed a bug that caused display problems with multi-line prompts containing + invisible characters on multiple lines. + +z. Fixed a bug that caused effects made by undoing changes to a history line to + be discarded. + +2. New Features in Readline + +a. Readline is now more responsive to SIGHUP and other fatal signals when + reading input from the terminal or performing word completion but no + longer attempts to run any not-allowable functions from a signal handler + context. + +b. There are new bindable commands to search the history for the string of + characters between the beginning of the line and the point + (history-substring-search-forward, history-substring-search-backward) + +c. Readline allows quoted strings as the values of variables when setting + them with `set'. As a side effect, trailing spaces and tabs are ignored + when setting a string variable's value. + +d. The history library creates a backup of the history file when writing it + and restores the backup on a write error. + +e. New application-settable variable: rl_filename_stat_hook: a function called + with a filename before using it in a call to stat(2). Bash uses it to + expand shell variables so things like $HOME/Downloads have a slash + appended. + +f. New bindable function `print-last-kbd-macro', prints the most-recently- + defined keyboard macro in a reusable format. + +g. New user-settable variable `colored-stats', enables use of colored text + to denote file types when displaying possible completions (colored analog + of visible-stats). + +h. New user-settable variable `keyseq-timout', acts as an inter-character + timeout when reading input or incremental search strings. + +i. New application-callable function: rl_clear_history. Clears the history list + and frees all readline-associated private data. + +j. New user-settable variable, show-mode-in-prompt, adds a characters to the + beginning of the prompt indicating the current editing mode. + +k. New application-settable variable: rl_input_available_hook; function to be + called when readline needs to check whether there is data available on its + input source. The default hook checks rl_instream. + +l. Readline calls an application-set event hook (rl_signal_event_hook) after + it gets a signal while reading input (read returns -1/EINTR but readline + does not handle the signal immediately) to allow the application to handle + or otherwise note it. Not currently called for SIGHUP or SIGTERM. + +m. If the user-settable variable `history-size' is set to a value less than + 0, the history list size is unlimited. + +n. When creating shared libraries on Mac OS X, the pathname written into the + library (install_name) no longer includes the minor version number. + +------------------------------------------------------------------------------- This document details the changes between this version, readline-6.2, and the previous version, readline-6.1. diff --git a/INSTALL b/INSTALL index a0b0976..7e67623 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ Basic Installation ================== -These are installation instructions for Readline-6.2. +These are installation instructions for Readline-6.3. The simplest way to compile readline is: diff --git a/MANIFEST b/MANIFEST index 8972bdd..ec98f19 100644 --- a/MANIFEST +++ b/MANIFEST @@ -18,13 +18,15 @@ USAGE f aclocal.m4 f config.h.in f configure f -configure.in f +configure.ac f Makefile.in f ansi_stdlib.h f chardefs.h f +colors.h f history.h f histlib.h f keymaps.h f +parse-colors.h f posixdir.h f posixjmp.h f posixselect.h f @@ -44,6 +46,7 @@ tilde.h f xmalloc.h f bind.c f callback.c f +colors.c f compat.c f complete.c f display.c f @@ -58,6 +61,7 @@ mbutil.c f misc.c f nls.c f parens.c f +parse-colors.c f readline.c f rltty.c f savestring.c f @@ -113,10 +117,13 @@ examples/rl-fgets.c f examples/rlcat.c f examples/rlevent.c f examples/rltest.c f +examples/rl-callbacktest.c f examples/rl.c f examples/rlptytest.c f examples/rlversion.c f examples/histexamp.c f +examples/hist_erasedups.c f +examples/hist_purgecmd.c f examples/Inputrc f examples/autoconf/BASH_CHECK_LIB_TERMCAP f examples/autoconf/RL_LIB_READLINE_VERSION f diff --git a/Makefile.in b/Makefile.in index de440f4..c0a0f1c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -26,8 +26,10 @@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_VERSION = @PACKAGE_VERSION@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ + srcdir = @srcdir@ -VPATH = .:@srcdir@ +VPATH = @srcdir@ top_srcdir = @top_srcdir@ BUILD_DIR = @BUILD_DIR@ @@ -62,6 +64,8 @@ localedir = @localedir@ infodir = @infodir@ +docdir = @docdir@ + man3dir = $(mandir)/man3 # Support an alternate destination root directory for package building @@ -112,7 +116,7 @@ CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \ $(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \ $(srcdir)/shell.c $(srcdir)/savestring.c $(srcdir)/tilde.c \ $(srcdir)/text.c $(srcdir)/misc.c $(srcdir)/compat.c \ - $(srcdir)/mbutil.c + $(srcdir)/mbutil.c $(srcdir)/xfree.c # The header files for this library. HSOURCES = $(srcdir)/readline.h $(srcdir)/rldefs.h $(srcdir)/chardefs.h \ @@ -121,14 +125,17 @@ HSOURCES = $(srcdir)/readline.h $(srcdir)/rldefs.h $(srcdir)/chardefs.h \ $(srcdir)/tilde.h $(srcdir)/rlconf.h $(srcdir)/rltty.h \ $(srcdir)/ansi_stdlib.h $(srcdir)/tcap.h $(srcdir)/rlstdc.h \ $(srcdir)/xmalloc.h $(srcdir)/rlprivate.h $(srcdir)/rlshell.h \ - $(srcdir)/rltypedefs.h $(srcdir)/rlmbutil.h + $(srcdir)/rltypedefs.h $(srcdir)/rlmbutil.h \ + $(srcdir)/colors.h $(srcdir)/parse-colors.h HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.o mbutil.o TILDEOBJ = tilde.o +COLORSOBJ = colors.o parse-colors.o OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \ rltty.o complete.o bind.o isearch.o display.o signals.o \ util.o kill.o undo.o macro.o input.o callback.o terminal.o \ - text.o nls.o misc.o compat.o xfree.o xmalloc.o $(HISTOBJ) $(TILDEOBJ) + text.o nls.o misc.o $(HISTOBJ) $(TILDEOBJ) $(COLORSOBJ) \ + xmalloc.o xfree.o compat.o # The texinfo files which document this library. DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo @@ -144,6 +151,9 @@ CREATED_TAGS = TAGS tags INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \ rlstdc.h rlconf.h rltypedefs.h +OTHER_DOCS = $(srcdir)/CHANGES $(srcdir)/INSTALL $(srcdir)/README +OTHER_INSTALLED_DOCS = CHANGES INSTALL README + ########################################################################## TARGETS = @STATIC_TARGET@ @SHARED_TARGET@ INSTALL_TARGETS = @STATIC_INSTALL_TARGET@ @SHARED_INSTALL_TARGET@ @@ -193,13 +203,13 @@ 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 +#$(srcdir)/configure: $(srcdir)/configure.ac ## Comment-me-out in distribution # cd $(srcdir) && autoconf ## Comment-me-out in distribution shared: force -test -d shlib || mkdir shlib - -( cd shlib ; ${MAKE} ${MFLAGS} all ) + ( cd shlib ; ${MAKE} ${MFLAGS} all ) documentation: force -test -d doc || mkdir doc @@ -235,7 +245,7 @@ install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-e installdirs: $(srcdir)/support/mkinstalldirs -$(SHELL) $(srcdir)/support/mkinstalldirs $(DESTDIR)$(includedir) \ $(DESTDIR)$(includedir)/readline $(DESTDIR)$(libdir) \ - $(DESTDIR)$(infodir) $(DESTDIR)$(man3dir) + $(DESTDIR)$(infodir) $(DESTDIR)$(man3dir) $(DESTDIR)$(docdir) uninstall: uninstall-headers uninstall-doc uninstall-examples -test -n "$(DESTDIR)$(libdir)" && cd $(DESTDIR)$(libdir) && \ @@ -243,24 +253,26 @@ uninstall: uninstall-headers uninstall-doc uninstall-examples -( cd shlib; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} uninstall ) install-shared: installdirs install-headers shared install-doc - -( cd shlib ; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} install ) + ( cd shlib ; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} install ) uninstall-shared: maybe-uninstall-headers -( cd shlib; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} uninstall ) -install-examples: installdirs install-headers shared +install-examples: installdirs install-headers -( cd examples ; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} install ) uninstall-examples: maybe-uninstall-headers -( cd examples; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} uninstall ) install-doc: installdirs + $(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir) -( if test -d doc ; then \ cd doc && \ ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \ fi ) uninstall-doc: + -( cd $(DESTDIR)$(docdir) && ${RM} ${OTHER_INSTALLED_DOCS} ) -( if test -d doc ; then \ cd doc && \ ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} uninstall; \ @@ -275,24 +287,24 @@ tags: force clean: force $(RM) $(OBJECTS) $(STATIC_LIBS) $(RM) readline readline.exe - -( cd shlib && $(MAKE) $(MFLAGS) $@ ) + ( cd shlib && $(MAKE) $(MFLAGS) $@ ) -( cd doc && $(MAKE) $(MFLAGS) $@ ) -( cd examples && $(MAKE) $(MFLAGS) $@ ) mostlyclean: clean - -( cd shlib && $(MAKE) $(MFLAGS) $@ ) + ( cd shlib && $(MAKE) $(MFLAGS) $@ ) -( cd doc && $(MAKE) $(MFLAGS) $@ ) -( cd examples && $(MAKE) $(MFLAGS) $@ ) distclean maintainer-clean: clean - -( cd shlib && $(MAKE) $(MFLAGS) $@ ) + ( cd shlib && $(MAKE) $(MFLAGS) $@ ) -( cd doc && $(MAKE) $(MFLAGS) $@ ) -( cd examples && $(MAKE) $(MFLAGS) $@ ) $(RM) Makefile $(RM) $(CREATED_CONFIGURE) $(RM) $(CREATED_TAGS) -info dvi htm pdf ps: +info dvi html pdf ps: -( cd doc && $(MAKE) $(MFLAGS) $@ ) install-info: @@ -416,6 +428,14 @@ xfree.o: ansi_stdlib.h xmalloc.o: ${BUILD_DIR}/config.h xmalloc.o: ansi_stdlib.h +colors.o: ${BUILD_DIR}/config.h colors.h +colors.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h +colors.o: rlconf.h +colors.o: ansi_stdlib.h posixstat.h +parse-colors.o: ${BUILD_DIR}/config.h colors.h parse-colors.h +parse-colors.o: rldefs.h rlconf.h +parse-colors.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h + bind.o: rlshell.h histfile.o: rlshell.h nls.o: rlshell.h @@ -445,8 +465,11 @@ text.o: rlprivate.h undo.o: rlprivate.h util.o: rlprivate.h vi_mode.o: rlprivate.h +colors.o: rlprivate.h +parse-colors.o: rlprivate.h bind.o: xmalloc.h +callback.o: xmalloc.h complete.o: xmalloc.h display.o: xmalloc.h funmap.o: xmalloc.h @@ -472,6 +495,8 @@ util.o: xmalloc.h vi_mode.o: xmalloc.h xfree.o: xmalloc.h xmalloc.o: xmalloc.h +colors.o: xmalloc.h +parse-colors.o: xmalloc.h complete.o: rlmbutil.h display.o: rlmbutil.h @@ -515,6 +540,9 @@ vi_mode.o: $(srcdir)/vi_mode.c xfree.o: $(srcdir)/xfree.c xmalloc.o: $(srcdir)/xmalloc.c +colors.o: $(srcdir)/parse-colors.c +parse-colors.o: $(srcdir)/parse-colors.c + histexpand.o: $(srcdir)/histexpand.c histfile.o: $(srcdir)/histfile.c history.o: $(srcdir)/history.c diff --git a/NEWS b/NEWS index 0ec6e09..ba5b581 100644 --- a/NEWS +++ b/NEWS @@ -1,19 +1,57 @@ -This is a terse description of the new features added to readline-6.2 since -the release of readline-6.1. +This is a terse description of the new features added to readline-6.3 since +the release of readline-6.2. -a. The history library does not try to write the history filename in the - current directory if $HOME is unset. This closes a potential security - problem if the application does not specify a history filename. +New Features in Readline -b. New bindable variable `completion-display-width' to set the number of - columns used when displaying completions. +a. Readline is now more responsive to SIGHUP and other fatal signals when + reading input from the terminal or performing word completion but no + longer attempts to run any not-allowable functions from a signal handler + context. -c. New bindable variable `completion-case-map' to cause case-insensitive - completion to treat `-' and `_' as identical. +b. There are new bindable commands to search the history for the string of + characters between the beginning of the line and the point + (history-substring-search-forward, history-substring-search-backward) -d. There are new bindable vi-mode command names to avoid readline's case- - insensitive matching not allowing them to be bound separately. +c. Readline allows quoted strings as the values of variables when setting + them with `set'. As a side effect, trailing spaces and tabs are ignored + when setting a string variable's value. -e. New bindable variable `menu-complete-display-prefix' causes the menu - completion code to display the common prefix of the possible completions - before cycling through the list, instead of after. +d. The history library creates a backup of the history file when writing it + and restores the backup on a write error. + +e. New application-settable variable: rl_filename_stat_hook: a function called + with a filename before using it in a call to stat(2). Bash uses it to + expand shell variables so things like $HOME/Downloads have a slash + appended. + +f. New bindable function `print-last-kbd-macro', prints the most-recently- + defined keyboard macro in a reusable format. + +g. New user-settable variable `colored-stats', enables use of colored text + to denote file types when displaying possible completions (colored analog + of visible-stats). + +h. New user-settable variable `keyseq-timout', acts as an inter-character + timeout when reading input or incremental search strings. + +i. New application-callable function: rl_clear_history. Clears the history list + and frees all readline-associated private data. + +j. New user-settable variable, show-mode-in-prompt, adds a characters to the + beginning of the prompt indicating the current editing mode. + +k. New application-settable variable: rl_input_available_hook; function to be + called when readline detects there is data available on its input file + descriptor. + +l. Readline calls an application-set event hook (rl_event_hook) after it gets + a signal while reading input (read returns -1/EINTR but readline does not + handle the signal immediately) to allow the application to handle or + otherwise note it. + +m. If the user-settable variable `history-size' is set to a value less than + 0, the history list size is unlimited. + +n. New application-settable variable: rl_signal_event_hook; function that is + called when readline is reading terminal input and read(2) is interrupted + by a signal. Currently not called for SIGHUP or SIGTERM. diff --git a/README b/README index bc89f46..8395c34 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ Introduction ============ -This is the Gnu Readline library, version 6.2. +This is the Gnu Readline library, version 6.3. 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 @@ -159,6 +159,15 @@ Readline library. The texinfo files include both user and programmer's manuals. HTML versions of the manuals appear in the `doc' subdirectory as well. +Usage +===== + +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. + Reporting Bugs ============== diff --git a/aclocal.m4 b/aclocal.m4 index 716a043..a947272 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1698,7 +1698,6 @@ AC_CHECK_FUNC(mbscmp, AC_DEFINE(HAVE_MBSCMP)) AC_CHECK_FUNC(mbsnrtowcs, AC_DEFINE(HAVE_MBSNRTOWCS)) AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS)) - AC_REPLACE_FUNCS(mbschr) AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB)) @@ -1763,6 +1762,33 @@ if test $bash_cv_type_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [systems should define this type here]) fi +dnl check for broken wcwidth +AC_CACHE_CHECK([for wcwidth broken with unicode combining characters], +bash_cv_wcwidth_broken, +[AC_TRY_RUN([ +#include +#include +#include + +#include +#include + +main(c, v) +int c; +char **v; +{ + int w; + + setlocale(LC_ALL, "en_US.UTF-8"); + w = wcwidth (0x0301); + exit (w == 0); /* exit 0 if wcwidth broken */ +} +], +bash_cv_wcwidth_broken=yes, bash_cv_wcwdith_broken=no, bash_cv_wcwidth_broken=no)]) +if test "$bash_cv_wcwidth_broken" = yes; then + AC_DEFINE(WCWIDTH_BROKEN, 1, [wcwidth is usually not broken]) +fi + if test "$am_cv_func_iconv" = yes; then OLDLIBS="$LIBS" LIBS="$LIBS $LIBICONV" @@ -3098,7 +3124,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], found_so= found_a= if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + if test "X$prefer_shared" = "Xyes" && test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then @@ -3120,7 +3146,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + if test "X$prefer_shared" = "Xyes" && test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then @@ -4123,7 +4149,7 @@ main() AC_DEFUN(BASH_STRUCT_WEXITSTATUS_OFFSET, [AC_MSG_CHECKING(for offset of exit status in return status from wait) AC_CACHE_VAL(bash_cv_wexitstatus_offset, -[AC_RUN_IFELSE([ +[AC_TRY_RUN([ #include #include diff --git a/bind.c b/bind.c index 59e7964..8acf4ac 100644 --- a/bind.c +++ b/bind.c @@ -1,6 +1,6 @@ /* bind.c -- key binding and startup file support for the readline library. */ -/* Copyright (C) 1987-2010 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -72,11 +72,15 @@ extern char *strchr (), *strrchr (); /* Variables exported by this file. */ Keymap rl_binding_keymap; +static int _rl_skip_to_delim PARAMS((char *, int, int)); + static char *_rl_read_file PARAMS((char *, size_t *)); static void _rl_init_file_error PARAMS((const char *)); static int _rl_read_init_file PARAMS((const char *, int)); static int glean_key_from_name PARAMS((char *)); + static int find_boolean_var PARAMS((const char *)); +static int find_string_var PARAMS((const char *)); static char *_rl_get_string_variable_value PARAMS((const char *)); static int substring_member_of_array PARAMS((const char *, const char * const *)); @@ -567,6 +571,40 @@ rl_translate_keyseq (seq, array, len) return (0); } +static int +_rl_isescape (c) + int c; +{ + switch (c) + { + case '\007': + case '\b': + case '\f': + case '\n': + case '\r': + case TAB: + case 0x0b: return (1); + default: return (0); + } +} + +static int +_rl_escchar (c) + int c; +{ + switch (c) + { + case '\007': return ('a'); + case '\b': return ('b'); + case '\f': return ('f'); + case '\n': return ('n'); + case '\r': return ('r'); + case TAB: return ('t'); + case 0x0b: return ('v'); + default: return (c); + } +} + char * rl_untranslate_keyseq (seq) int seq; @@ -618,9 +656,10 @@ rl_untranslate_keyseq (seq) return kseq; } -static char * -_rl_untranslate_macro_value (seq) +char * +_rl_untranslate_macro_value (seq, use_escapes) char *seq; + int use_escapes; { char *ret, *r, *s; int c; @@ -644,9 +683,14 @@ _rl_untranslate_macro_value (seq) else if (CTRL_CHAR (c)) { *r++ = '\\'; - *r++ = 'C'; - *r++ = '-'; - c = _rl_to_lower (UNCTRL (c)); + if (use_escapes && _rl_isescape (c)) + c = _rl_escchar (c); + else + { + *r++ = 'C'; + *r++ = '-'; + c = _rl_to_lower (UNCTRL (c)); + } } else if (c == RUBOUT) { @@ -1157,6 +1201,38 @@ handle_parser_directive (statement) return (1); } +/* Start at STRING[START] and look for DELIM. Return I where STRING[I] == + DELIM or STRING[I] == 0. DELIM is usually a double quote. */ +static int +_rl_skip_to_delim (string, start, delim) + char *string; + int start, delim; +{ + int i, c, passc; + + for (i = start,passc = 0; c = string[i]; i++) + { + if (passc) + { + passc = 0; + if (c == 0) + break; + continue; + } + + if (c == '\\') + { + passc = 1; + continue; + } + + if (c == delim) + break; + } + + return i; +} + /* Read the binding command from STRING and perform it. A key binding command looks like: Keyname: function-name\0, a variable binding command looks like: set variable value. @@ -1172,7 +1248,7 @@ rl_parse_and_bind (string) while (string && whitespace (*string)) string++; - if (!string || !*string || *string == '#') + if (string == 0 || *string == 0 || *string == '#') return 0; /* If this is a parser directive, act on it. */ @@ -1192,31 +1268,16 @@ rl_parse_and_bind (string) backslash to quote characters in the key expression. */ if (*string == '"') { - int passc = 0; + i = _rl_skip_to_delim (string, 1, '"'); - for (i = 1; c = string[i]; i++) - { - if (passc) - { - passc = 0; - continue; - } - - if (c == '\\') - { - passc++; - continue; - } - - if (c == '"') - break; - } /* If we didn't find a closing quote, abort the line. */ if (string[i] == '\0') { _rl_init_file_error ("no closing `\"' in key binding"); return 1; } + else + i++; /* skip past closing double quote */ } /* Advance to the colon (:) or whitespace which separates the two objects. */ @@ -1236,6 +1297,7 @@ rl_parse_and_bind (string) if (_rl_stricmp (string, "set") == 0) { char *var, *value, *e; + int s; var = string + i; /* Make VAR point to start of variable name. */ @@ -1243,25 +1305,37 @@ rl_parse_and_bind (string) /* Make VALUE point to start of value string. */ value = var; - while (*value && !whitespace (*value)) value++; + while (*value && whitespace (*value) == 0) value++; if (*value) *value++ = '\0'; while (*value && whitespace (*value)) value++; - /* Strip trailing whitespace from values to boolean variables. Temp - fix until I get a real quoted-string parser here. */ - i = find_boolean_var (var); - if (i >= 0) + /* Strip trailing whitespace from values of boolean variables. */ + if (find_boolean_var (var) >= 0) { /* remove trailing whitespace */ +remove_trailing: e = value + strlen (value) - 1; while (e >= value && whitespace (*e)) e--; e++; /* skip back to whitespace or EOS */ + if (*e && e >= value) *e = '\0'; } - + else if ((i = find_string_var (var)) >= 0) + { + /* Allow quoted strings in variable values */ + if (*value == '"') + { + i = _rl_skip_to_delim (value, 1, *value); + value[i] = '\0'; + value++; /* skip past the quote */ + } + else + goto remove_trailing; + } + rl_variable_bind (var, value); return 0; } @@ -1282,32 +1356,13 @@ rl_parse_and_bind (string) the quoted string delimiter, like the shell. */ if (*funname == '\'' || *funname == '"') { - int delimiter, passc; - - delimiter = string[i++]; - for (passc = 0; c = string[i]; i++) - { - if (passc) - { - passc = 0; - continue; - } - - if (c == '\\') - { - passc = 1; - continue; - } - - if (c == delimiter) - break; - } - if (c) + i = _rl_skip_to_delim (string, i+1, *funname); + if (string[i]) i++; } /* Advance to the end of the string. */ - for (; string[i] && !whitespace (string[i]); i++); + for (; string[i] && whitespace (string[i]) == 0; i++); /* No extra whitespace at the end of the string. */ string[i] = '\0'; @@ -1367,7 +1422,7 @@ rl_parse_and_bind (string) /* Get the actual character we want to deal with. */ kname = strrchr (string, '-'); - if (!kname) + if (kname == 0) kname = string; else kname++; @@ -1423,6 +1478,9 @@ static const struct { { "bind-tty-special-chars", &_rl_bind_stty_chars, 0 }, { "blink-matching-paren", &rl_blink_matching_paren, V_SPECIAL }, { "byte-oriented", &rl_byte_oriented, 0 }, +#if defined (COLOR_SUPPORT) + { "colored-stats", &_rl_colored_stats, 0 }, +#endif { "completion-ignore-case", &_rl_completion_case_fold, 0 }, { "completion-map-case", &_rl_completion_case_map, 0 }, { "convert-meta", &_rl_convert_meta_chars_to_ascii, 0 }, @@ -1447,6 +1505,7 @@ static const struct { { "revert-all-at-newline", &_rl_revert_all_at_newline, 0 }, { "show-all-if-ambiguous", &_rl_complete_show_all, 0 }, { "show-all-if-unmodified", &_rl_complete_show_unmodified, 0 }, + { "show-mode-in-prompt", &_rl_show_mode_in_prompt, 0 }, { "skip-completed-text", &_rl_skip_completed_text, 0 }, #if defined (VISIBLE_STATS) { "visible-stats", &rl_visible_stats, 0 }, @@ -1486,6 +1545,8 @@ hack_special_boolean_var (i) else _rl_bell_preference = AUDIBLE_BELL; } + else if (_rl_stricmp (name, "show-mode-in-prompt") == 0) + _rl_reset_prompt (); } typedef int _rl_sv_func_t PARAMS((const char *)); @@ -1511,6 +1572,7 @@ static int sv_editmode PARAMS((const char *)); static int sv_histsize PARAMS((const char *)); static int sv_isrchterm PARAMS((const char *)); static int sv_keymap PARAMS((const char *)); +static int sv_seqtimeout PARAMS((const char *)); static const struct { const char * const name; @@ -1526,6 +1588,7 @@ static const struct { { "history-size", V_INT, sv_histsize }, { "isearch-terminators", V_STRING, sv_isrchterm }, { "keymap", V_STRING, sv_keymap }, + { "keyseq-timeout", V_INT, sv_seqtimeout }, { (char *)NULL, 0, (_rl_sv_func_t *)0 } }; @@ -1683,13 +1746,17 @@ static int sv_histsize (value) const char *value; { - int nval = 500; + int nval; + nval = 500; if (value && *value) { nval = atoi (value); if (nval < 0) - return 1; + { + unstifle_history (); + return 0; + } } stifle_history (nval); return 0; @@ -1710,6 +1777,23 @@ sv_keymap (value) return 1; } +static int +sv_seqtimeout (value) + const char *value; +{ + int nval; + + nval = 0; + if (value && *value) + { + nval = atoi (value); + if (nval < 0) + nval = 0; + } + _rl_keyseq_timeout = nval; + return 0; +} + static int sv_bell_style (value) const char *value; @@ -2167,6 +2251,8 @@ rl_function_dumper (print_readably) } } } + + xfree (names); } /* Print all of the current functions and their bindings to @@ -2199,7 +2285,7 @@ _rl_macro_dumper_internal (print_readably, map, prefix) { case ISMACR: keyname = _rl_get_keyname (key); - out = _rl_untranslate_macro_value ((char *)map[key].function); + out = _rl_untranslate_macro_value ((char *)map[key].function, 0); if (print_readably) fprintf (rl_outstream, "\"%s%s\": \"%s\"\n", prefix ? prefix : "", @@ -2311,7 +2397,7 @@ _rl_get_string_variable_value (name) { if (_rl_isearch_terminators == 0) return 0; - ret = _rl_untranslate_macro_value (_rl_isearch_terminators); + ret = _rl_untranslate_macro_value (_rl_isearch_terminators, 0); if (ret) { strncpy (numbuf, ret, sizeof (numbuf) - 1); @@ -2329,6 +2415,11 @@ _rl_get_string_variable_value (name) ret = rl_get_keymap_name_from_edit_mode (); return (ret ? ret : "none"); } + else if (_rl_stricmp (name, "keyseq-timeout") == 0) + { + sprintf (numbuf, "%d", _rl_keyseq_timeout); + return (numbuf); + } else return (0); } diff --git a/callback.c b/callback.c index 7682cd0..6bb2c3e 100644 --- a/callback.c +++ b/callback.c @@ -62,8 +62,10 @@ _rl_callback_generic_arg *_rl_callback_data = 0; whenever a complete line of input is ready. The user must then call rl_callback_read_char() every time some input is available, and rl_callback_read_char() will call the user's function with the complete - text read in at each end of line. The terminal is kept prepped and - signals handled all the time, except during calls to the user's function. */ + text read in at each end of line. The terminal is kept prepped + all the time, except during calls to the user's function. Signal + handlers are only installed when the application calls back into + readline, so readline doesn't `steal' signals from the application. */ rl_vcpfunc_t *rl_linefunc; /* user callback function */ static int in_handler; /* terminal_prepped and signals set? */ @@ -80,10 +82,6 @@ _rl_callback_newline () if (rl_prep_term_function) (*rl_prep_term_function) (_rl_meta_flag); - -#if defined (HANDLE_SIGNALS) - rl_set_signals (); -#endif } readline_internal_setup (); @@ -102,6 +100,16 @@ rl_callback_handler_install (prompt, linefunc) _rl_callback_newline (); } +#if defined (HANDLE_SIGNALS) +#define CALLBACK_READ_RETURN() \ + do { \ + rl_clear_signals (); \ + return; \ + } while (0) +#else +#define CALLBACK_READ_RETURN() return +#endif + /* Read one character, and dispatch to the handler if it ends the line. */ void rl_callback_read_char () @@ -117,15 +125,24 @@ rl_callback_read_char () } memcpy ((void *)olevel, (void *)_rl_top_level, sizeof (procenv_t)); +#if defined (HAVE_POSIX_SIGSETJMP) + jcode = sigsetjmp (_rl_top_level, 0); +#else jcode = setjmp (_rl_top_level); +#endif if (jcode) { (*rl_redisplay_function) (); _rl_want_redisplay = 0; memcpy ((void *)_rl_top_level, (void *)olevel, sizeof (procenv_t)); - return; + CALLBACK_READ_RETURN (); } +#if defined (HANDLE_SIGNALS) + /* Install signal handlers only when readline has control. */ + rl_set_signals (); +#endif + do { RL_CHECK_SIGNALS (); @@ -135,12 +152,13 @@ rl_callback_read_char () if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING)) rl_callback_read_char (); - return; + CALLBACK_READ_RETURN (); } else if (RL_ISSTATE (RL_STATE_NSEARCH)) { eof = _rl_nsearch_callback (_rl_nscxt); - return; + + CALLBACK_READ_RETURN (); } #if defined (VI_MODE) else if (RL_ISSTATE (RL_STATE_VIMOTION)) @@ -151,7 +169,7 @@ rl_callback_read_char () if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) _rl_internal_char_cleanup (); - return; + CALLBACK_READ_RETURN (); } #endif else if (RL_ISSTATE (RL_STATE_NUMERICARG)) @@ -163,7 +181,7 @@ rl_callback_read_char () else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) _rl_internal_char_cleanup (); - return; + CALLBACK_READ_RETURN (); } else if (RL_ISSTATE (RL_STATE_MULTIKEY)) { @@ -180,7 +198,7 @@ rl_callback_read_char () { /* This allows functions that simply need to read an additional character (like quoted-insert) to register a function to be - called when input is available. _rl_callback_data is simply a + called when input is available. _rl_callback_data is a pointer to a struct that has the argument count originally passed to the registering function and space for any additional parameters. */ @@ -230,6 +248,8 @@ rl_callback_read_char () } } while (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT)); + + CALLBACK_READ_RETURN (); } /* Remove the handler, and make sure the terminal is in its normal state. */ diff --git a/chardefs.h b/chardefs.h index e76c34b..1fa1b08 100644 --- a/chardefs.h +++ b/chardefs.h @@ -72,7 +72,7 @@ # define IN_CTYPE_DOMAIN(c) isascii(c) #endif -#if !defined (isxdigit) && !defined (HAVE_ISXDIGIT) +#if !defined (isxdigit) && !defined (HAVE_ISXDIGIT) && !defined (__cplusplus) # define isxdigit(c) (isdigit((c)) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F')) #endif diff --git a/colors.c b/colors.c new file mode 100644 index 0000000..89d9035 --- /dev/null +++ b/colors.c @@ -0,0 +1,251 @@ +/* `dir', `vdir' and `ls' directory listing programs for GNU. + + Modified by Chet Ramey for Readline. + + Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012 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 3 of the License, 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, see . */ + +/* Written by Richard Stallman and David MacKenzie. */ + +/* Color support by Peter Anvin and Dennis + Flaherty based on original patches by + Greg Lee . */ + +#define READLINE_LIBRARY + +#if defined (HAVE_CONFIG_H) +# include +#endif + +#include "rlconf.h" + +#include + +#include "posixstat.h" // stat related macros (S_ISREG, ...) +#include // S_ISUID + +// strlen() +#if defined (HAVE_STRING_H) +# include +#else /* !HAVE_STRING_H */ +# include +#endif /* !HAVE_STRING_H */ + +// abort() +#if defined (HAVE_STDLIB_H) +# include +#else +# include "ansi_stdlib.h" +#endif /* HAVE_STDLIB_H */ + +#include "readline.h" +#include "rldefs.h" + +#ifdef COLOR_SUPPORT + +#include "xmalloc.h" +#include "colors.h" + +static bool is_colored (enum indicator_no type); +static void restore_default_color (void); + +COLOR_EXT_TYPE *_rl_color_ext_list = 0; + +/* Output a color indicator (which may contain nulls). */ +void +_rl_put_indicator (const struct bin_str *ind) { + fwrite (ind->string, ind->len, 1, rl_outstream); +} + +static bool +is_colored (enum indicator_no colored_filetype) +{ + size_t len = _rl_color_indicator[colored_filetype].len; + char const *s = _rl_color_indicator[colored_filetype].string; + return ! (len == 0 + || (len == 1 && strncmp (s, "0", 1) == 0) + || (len == 2 && strncmp (s, "00", 2) == 0)); +} + +static void +restore_default_color (void) +{ + _rl_put_indicator (&_rl_color_indicator[C_LEFT]); + _rl_put_indicator (&_rl_color_indicator[C_RIGHT]); +} + +void +_rl_set_normal_color (void) +{ + if (is_colored (C_NORM)) + { + _rl_put_indicator (&_rl_color_indicator[C_LEFT]); + _rl_put_indicator (&_rl_color_indicator[C_NORM]); + _rl_put_indicator (&_rl_color_indicator[C_RIGHT]); + } +} + +/* Returns whether any color sequence was printed. */ +bool +_rl_print_color_indicator (char *f) +{ + enum indicator_no colored_filetype; + COLOR_EXT_TYPE *ext; /* Color extension */ + size_t len; /* Length of name */ + + const char* name; + char *filename; + struct stat astat; + mode_t mode; + int linkok; + + int stat_ok; + + name = f; + + /* This should already have undergone tilde expansion */ + filename = 0; + if (rl_filename_stat_hook) + { + filename = savestring (f); + (*rl_filename_stat_hook) (&filename); + name = filename; + } + +#if defined (HAVE_LSTAT) + stat_ok = lstat(name, &astat); +#else + stat_ok = stat(name, &astat); +#endif + if( stat_ok == 0 ) { + mode = astat.st_mode; + linkok = 1; //f->linkok; + } + else + linkok = -1; + + /* Is this a nonexistent file? If so, linkok == -1. */ + + if (linkok == -1 && _rl_color_indicator[C_MISSING].string != NULL) + colored_filetype = C_MISSING; + else if(stat_ok != 0) + { + static enum indicator_no filetype_indicator[] = FILETYPE_INDICATORS; + colored_filetype = filetype_indicator[normal]; //f->filetype]; + } + else + { + if (S_ISREG (mode)) + { + colored_filetype = C_FILE; + + if ((mode & S_ISUID) != 0 && is_colored (C_SETUID)) + colored_filetype = C_SETUID; + else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) + colored_filetype = C_SETGID; + else if (is_colored (C_CAP) && 0) //f->has_capability) + colored_filetype = C_CAP; + else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC)) + colored_filetype = C_EXEC; + else if ((1 < astat.st_nlink) && is_colored (C_MULTIHARDLINK)) + colored_filetype = C_MULTIHARDLINK; + } + else if (S_ISDIR (mode)) + { + colored_filetype = C_DIR; + +#if defined (S_ISVTX) + if ((mode & S_ISVTX) && (mode & S_IWOTH) + && is_colored (C_STICKY_OTHER_WRITABLE)) + colored_filetype = C_STICKY_OTHER_WRITABLE; + else +#endif + if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE)) + colored_filetype = C_OTHER_WRITABLE; +#if defined (S_ISVTX) + else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY)) + colored_filetype = C_STICKY; +#endif + } + else if (S_ISLNK (mode)) + colored_filetype = ((linkok == 0 + && (!strncmp (_rl_color_indicator[C_LINK].string, "target", 6) + || _rl_color_indicator[C_ORPHAN].string)) + ? C_ORPHAN : C_LINK); + else if (S_ISFIFO (mode)) + colored_filetype = C_FIFO; + else if (S_ISSOCK (mode)) + colored_filetype = C_SOCK; + else if (S_ISBLK (mode)) + colored_filetype = C_BLK; + else if (S_ISCHR (mode)) + colored_filetype = C_CHR; + else + { + /* Classify a file of some other type as C_ORPHAN. */ + colored_filetype = C_ORPHAN; + } + } + + /* Check the file's suffix only if still classified as C_FILE. */ + ext = NULL; + if (colored_filetype == C_FILE) + { + /* Test if NAME has a recognized suffix. */ + len = strlen (name); + name += len; /* Pointer to final \0. */ + for (ext = _rl_color_ext_list; ext != NULL; ext = ext->next) + { + if (ext->ext.len <= len + && strncmp (name - ext->ext.len, ext->ext.string, + ext->ext.len) == 0) + break; + } + } + + free (filename); /* NULL or savestring return value */ + + { + const struct bin_str *const s + = ext ? &(ext->seq) : &_rl_color_indicator[colored_filetype]; + if (s->string != NULL) + { + /* Need to reset so not dealing with attribute combinations */ + if (is_colored (C_NORM)) + restore_default_color (); + _rl_put_indicator (&_rl_color_indicator[C_LEFT]); + _rl_put_indicator (s); + _rl_put_indicator (&_rl_color_indicator[C_RIGHT]); + return 0; + } + else + return 1; + } +} + +void +_rl_prep_non_filename_text (void) +{ + if (_rl_color_indicator[C_END].string != NULL) + _rl_put_indicator (&_rl_color_indicator[C_END]); + else + { + _rl_put_indicator (&_rl_color_indicator[C_LEFT]); + _rl_put_indicator (&_rl_color_indicator[C_RESET]); + _rl_put_indicator (&_rl_color_indicator[C_RIGHT]); + } +} +#endif /* COLOR_SUPPORT */ diff --git a/colors.h b/colors.h new file mode 100644 index 0000000..fc926e5 --- /dev/null +++ b/colors.h @@ -0,0 +1,122 @@ +/* `dir', `vdir' and `ls' directory listing programs for GNU. + + Modified by Chet Ramey for Readline. + + Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012 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 3 of the License, 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, see . */ + +/* Written by Richard Stallman and David MacKenzie. */ + +/* Color support by Peter Anvin and Dennis + Flaherty based on original patches by + Greg Lee . */ + +#ifndef _COLORS_H_ +#define _COLORS_H_ + +#include // size_t + +#if defined(__TANDEM) && defined(HAVE_STDBOOL_H) && (__STDC_VERSION__ < 199901L) +typedef int _Bool; +#endif + +#if defined (HAVE_STDBOOL_H) +# include // bool +#else +typedef int _rl_bool_t; + +#ifdef bool +# undef bool +#endif +#define bool _rl_bool_t + +#ifndef true +# define true 1 +# define false 0 +#endif + +#endif /* !HAVE_STDBOOL_H */ + +/* Null is a valid character in a color indicator (think about Epson + printers, for example) so we have to use a length/buffer string + type. */ +struct bin_str + { + size_t len; + const char *string; + }; + +/* file type indicators (dir, sock, fifo, ...) + Default value is initialized in parse-colors.c. + It is then modified from the values of $LS_COLORS. */ +extern struct bin_str _rl_color_indicator[]; + +/* The LS_COLORS variable is in a termcap-like format. */ +typedef struct _color_ext_type + { + struct bin_str ext; /* The extension we're looking for */ + struct bin_str seq; /* The sequence to output when we do */ + struct _color_ext_type *next; /* Next in list */ + } COLOR_EXT_TYPE; + +/* file extensions indicators (.txt, .log, .jpg, ...) + Values are taken from $LS_COLORS in rl_parse_colors(). */ +extern COLOR_EXT_TYPE *_rl_color_ext_list; + +#define FILETYPE_INDICATORS \ + { \ + C_ORPHAN, C_FIFO, C_CHR, C_DIR, C_BLK, C_FILE, \ + C_LINK, C_SOCK, C_FILE, C_DIR \ + } + +/* Whether we used any colors in the output so far. If so, we will + need to restore the default color later. If not, we will need to + call prep_non_filename_text before using color for the first time. */ + +enum indicator_no + { + C_LEFT, C_RIGHT, C_END, C_RESET, C_NORM, C_FILE, C_DIR, C_LINK, + C_FIFO, C_SOCK, + C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_SETUID, C_SETGID, + C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE, C_CAP, C_MULTIHARDLINK, + C_CLR_TO_EOL + }; + + +#if !S_IXUGO +# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) +#endif + +enum filetype + { + unknown, + fifo, + chardev, + directory, + blockdev, + normal, + symbolic_link, + sock, + whiteout, + arg_directory + }; + +extern void _rl_put_indicator (const struct bin_str *ind); +extern void _rl_set_normal_color (void); +extern bool _rl_print_color_indicator (char *f); +extern void _rl_prep_non_filename_text (void); + +#endif /* !_COLORS_H_ */ diff --git a/complete.c b/complete.c index e67cfeb..cd9aebe 100644 --- a/complete.c +++ b/complete.c @@ -1,6 +1,6 @@ /* complete.c -- filename completion for readline. */ -/* Copyright (C) 1987-2011 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -31,6 +31,8 @@ # include #endif +#include + #if defined (HAVE_UNISTD_H) # include #endif /* HAVE_UNISTD_H */ @@ -64,6 +66,10 @@ extern int errno; #include "xmalloc.h" #include "rlprivate.h" +#if defined (COLOR_SUPPORT) +# include "colors.h" +#endif + #ifdef __STDC__ typedef int QSFUNC (const void *, const void *); #else @@ -94,17 +100,27 @@ extern struct passwd *getpwent PARAMS((void)); longest string in that array. */ rl_compdisp_func_t *rl_completion_display_matches_hook = (rl_compdisp_func_t *)NULL; -#if defined (VISIBLE_STATS) +#if defined (VISIBLE_STATS) || defined (COLOR_SUPPORT) # if !defined (X_OK) # define X_OK 1 # endif +#endif + +#if defined (VISIBLE_STATS) static int stat_char PARAMS((char *)); #endif +#if defined (COLOR_SUPPORT) +static int colored_stat_start PARAMS((char *)); +static void colored_stat_end PARAMS((void)); +#endif + static int path_isdir PARAMS((const char *)); static char *rl_quote_filename PARAMS((char *, int, char *)); +static void _rl_complete_sigcleanup PARAMS((int, void *)); + static void set_completion_defaults PARAMS((int)); static int get_y_or_n PARAMS((int)); static int _rl_internal_pager PARAMS((int)); @@ -189,6 +205,12 @@ int _rl_completion_columns = -1; int rl_visible_stats = 0; #endif /* VISIBLE_STATS */ +#if defined (COLOR_SUPPORT) +/* Non-zero means to use colors to indicate file type when listing possible + completions. The colors used are taken from $LS_COLORS, if set. */ +int _rl_colored_stats = 0; +#endif + /* If non-zero, when completing in the middle of a word, don't insert characters from the match that match characters following point in the word. This means, for instance, completing when the cursor is @@ -206,6 +228,8 @@ rl_icppfunc_t *rl_directory_completion_hook = (rl_icppfunc_t *)NULL; rl_icppfunc_t *rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL; +rl_icppfunc_t *rl_filename_stat_hook = (rl_icppfunc_t *)NULL; + /* If non-zero, this is the address of a function to call when reading directory entries from the filesystem for completion and comparing them to the partial word to be completed. The function should @@ -457,6 +481,15 @@ _rl_reset_completion_state () rl_completion_quote_character = 0; } +static void +_rl_complete_sigcleanup (sig, ptr) + int sig; + void *ptr; +{ + if (sig == SIGINT) /* XXX - for now */ + _rl_free_match_list ((char **)ptr); +} + /* Set default values for readline word completion. These are the variables that application completion functions can change or inspect. */ static void @@ -551,6 +584,8 @@ stat_char (filename) { struct stat finfo; int character, r; + char *f; + const char *fn; /* Short-circuit a //server on cygwin, since that will always behave as a directory. */ @@ -559,10 +594,20 @@ stat_char (filename) return '/'; #endif + f = 0; + if (rl_filename_stat_hook) + { + f = savestring (filename); + (*rl_filename_stat_hook) (&f); + fn = f; + } + else + fn = filename; + #if defined (HAVE_LSTAT) && defined (S_ISLNK) - r = lstat (filename, &finfo); + r = lstat (fn, &finfo); #else - r = stat (filename, &finfo); + r = stat (fn, &finfo); #endif if (r == -1) @@ -596,10 +641,29 @@ stat_char (filename) if (access (filename, X_OK) == 0) character = '*'; } + + free (f); return (character); } #endif /* VISIBLE_STATS */ +#if defined (COLOR_SUPPORT) +static int +colored_stat_start (filename) + char *filename; +{ + _rl_set_normal_color (); + return (_rl_print_color_indicator (filename)); +} + +static void +colored_stat_end () +{ + _rl_prep_non_filename_text (); + _rl_put_indicator (&_rl_color_indicator[C_CLR_TO_EOL]); +} +#endif + /* Return the portion of PATHNAME that should be output when listing possible completions. If we are hacking filename completion, we are only interested in the basename, the portion following the @@ -679,7 +743,7 @@ fnwidth (string) else { pos += clen; - w = wcwidth (wc); + w = WCWIDTH (wc); width += (w >= 0) ? w : 1; } #else @@ -766,7 +830,7 @@ fnprint (to_print, prefix_bytes) break; else { - w = wcwidth (wc); + w = WCWIDTH (wc); width = (w >= 0) ? w : 1; } fwrite (s, 1, tlen, rl_outstream); @@ -796,13 +860,20 @@ print_filename (to_print, full_pathname, prefix_bytes) char *s, c, *new_full_pathname, *dn; extension_char = 0; - printed_len = fnprint (to_print, prefix_bytes); +#if defined (COLOR_SUPPORT) + /* Defer printing if we want to prefix with a color indicator */ + if (_rl_colored_stats == 0 || rl_filename_completion_desired == 0) +#endif + printed_len = fnprint (to_print, prefix_bytes); + if (rl_filename_completion_desired && ( #if defined (VISIBLE_STATS) - if (rl_filename_completion_desired && (rl_visible_stats || _rl_complete_mark_directories)) -#else - if (rl_filename_completion_desired && _rl_complete_mark_directories) + rl_visible_stats || #endif +#if defined (COLOR_SUPPORT) + _rl_colored_stats || +#endif + _rl_complete_mark_directories)) { /* If to_print != full_pathname, to_print is the basename of the path passed. In this case, we try to expand the directory @@ -848,8 +919,28 @@ print_filename (to_print, full_pathname, prefix_bytes) extension_char = stat_char (new_full_pathname); else #endif - if (path_isdir (new_full_pathname)) - extension_char = '/'; + if (_rl_complete_mark_directories) + { + dn = 0; + if (rl_directory_completion_hook == 0 && rl_filename_stat_hook) + { + dn = savestring (new_full_pathname); + (*rl_filename_stat_hook) (&dn); + free (new_full_pathname); + new_full_pathname = dn; + } + if (path_isdir (new_full_pathname)) + extension_char = '/'; + } + +#if defined (COLOR_SUPPORT) + if (_rl_colored_stats) + { + colored_stat_start (new_full_pathname); + printed_len = fnprint (to_print, prefix_bytes); + colored_stat_end (); + } +#endif xfree (new_full_pathname); to_print[-1] = c; @@ -862,8 +953,18 @@ print_filename (to_print, full_pathname, prefix_bytes) extension_char = stat_char (s); else #endif - if (path_isdir (s)) + if (_rl_complete_mark_directories && path_isdir (s)) extension_char = '/'; + +#if defined (COLOR_SUPPORT) + if (_rl_colored_stats) + { + colored_stat_start (s); + printed_len = fnprint (to_print, prefix_bytes); + colored_stat_end (); + } +#endif + } xfree (s); @@ -1058,10 +1159,13 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char) variable rl_attempted_completion_function. */ if (rl_attempted_completion_function) { - _rl_interrupt_immediately++; matches = (*rl_attempted_completion_function) (text, start, end); - if (_rl_interrupt_immediately > 0) - _rl_interrupt_immediately--; + if (RL_SIG_RECEIVED()) + { + _rl_free_match_list (matches); + matches = 0; + RL_CHECK_SIGNALS (); + } if (matches || rl_attempted_completion_over) { @@ -1072,7 +1176,15 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char) /* XXX -- filename dequoting moved into rl_filename_completion_function */ + /* rl_completion_matches will check for signals as well to avoid a long + delay while reading a directory. */ matches = rl_completion_matches (text, our_func); + if (RL_SIG_RECEIVED()) + { + _rl_free_match_list (matches); + matches = 0; + RL_CHECK_SIGNALS (); + } return matches; } @@ -1147,9 +1259,11 @@ compute_lcd_of_matches (match_list, matches, text) { register int i, c1, c2, si; int low; /* Count of max-matched characters. */ + int lx; char *dtext; /* dequoted TEXT, if needed */ #if defined (HANDLE_MULTIBYTE) int v; + size_t v1, v2; mbstate_t ps1, ps2; wchar_t wc1, wc2; #endif @@ -1182,14 +1296,20 @@ compute_lcd_of_matches (match_list, matches, text) #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { - v = mbrtowc (&wc1, match_list[i]+si, strlen (match_list[i]+si), &ps1); - mbrtowc (&wc2, match_list[i+1]+si, strlen (match_list[i+1]+si), &ps2); + v1 = mbrtowc(&wc1, match_list[i]+si, strlen (match_list[i]+si), &ps1); + v2 = mbrtowc (&wc2, match_list[i+1]+si, strlen (match_list[i+1]+si), &ps2); + if (MB_INVALIDCH (v1) || MB_INVALIDCH (v2)) + { + if (c1 != c2) /* do byte comparison */ + break; + continue; + } wc1 = towlower (wc1); wc2 = towlower (wc2); if (wc1 != wc2) break; - else if (v > 1) - si += v - 1; + else if (v1 > 1) + si += v1 - 1; } else #endif @@ -1264,21 +1384,20 @@ compute_lcd_of_matches (match_list, matches, text) qsort (match_list+1, matches, sizeof(char *), (QSFUNC *)_rl_qsort_string_compare); si = strlen (text); - if (si <= low) - { - for (i = 1; i <= matches; i++) - if (strncmp (match_list[i], text, si) == 0) - { - strncpy (match_list[0], match_list[i], low); - break; - } - /* no casematch, use first entry */ - if (i > matches) - strncpy (match_list[0], match_list[1], low); - } - else - /* otherwise, just use the text the user typed. */ - strncpy (match_list[0], text, low); + lx = (si <= low) ? si : low; /* check shorter of text and matches */ + /* Try to preserve the case of what the user typed in the presence of + multiple matches: check each match for something that matches + what the user typed taking case into account; use it up to common + length of matches if one is found. If not, just use first match. */ + for (i = 1; i <= matches; i++) + if (strncmp (match_list[i], text, lx) == 0) + { + strncpy (match_list[0], match_list[i], low); + break; + } + /* no casematch, use first entry */ + if (i > matches) + strncpy (match_list[0], match_list[1], low); FREE (dtext); } @@ -1305,7 +1424,7 @@ postprocess_matches (matchesp, matching_filenames) return 0; /* It seems to me that in all the cases we handle we would like - to ignore duplicate possiblilities. Scan for the text to + to ignore duplicate possibilities. Scan for the text to insert being identical to the other completions. */ if (rl_ignore_completion_duplicates) { @@ -1463,7 +1582,7 @@ rl_display_match_list (matches, len, max) /* Have we reached the end of this line? */ if (matches[i+1]) { - if (i && (limit > 1) && (i % limit) == 0) + if (limit == 1 || (i && (limit > 1) && (i % limit) == 0)) { rl_crlf (); lines++; @@ -1672,7 +1791,7 @@ append_to_match (text, delimiter, quote_char, nontrivial_match) char *text; int delimiter, quote_char, nontrivial_match; { - char temp_string[4], *filename; + char temp_string[4], *filename, *fn; int temp_string_index, s; struct stat finfo; @@ -1691,6 +1810,13 @@ append_to_match (text, delimiter, quote_char, nontrivial_match) if (rl_filename_completion_desired) { filename = tilde_expand (text); + if (rl_filename_stat_hook) + { + fn = savestring (filename); + (*rl_filename_stat_hook) (&fn); + xfree (filename); + filename = fn; + } s = (nontrivial_match && rl_completion_mark_symlink_dirs == 0) ? LSTAT (filename, &finfo) : stat (filename, &finfo); @@ -1710,8 +1836,7 @@ append_to_match (text, delimiter, quote_char, nontrivial_match) #ifdef S_ISLNK /* Don't add anything if the filename is a symlink and resolves to a directory. */ - else if (s == 0 && S_ISLNK (finfo.st_mode) && - stat (filename, &finfo) == 0 && S_ISDIR (finfo.st_mode)) + else if (s == 0 && S_ISLNK (finfo.st_mode) && path_isdir (filename)) ; #endif else @@ -1831,10 +1956,8 @@ rl_complete_internal (what_to_do) /* nontrivial_lcd is set if the common prefix adds something to the word being completed. */ nontrivial_lcd = matches && strcmp (text, matches[0]) != 0; -#if 1 if (what_to_do == '!' || what_to_do == '@') tlen = strlen (text); -#endif xfree (text); if (matches == 0) @@ -1868,10 +1991,6 @@ rl_complete_internal (what_to_do) case '!': case '@': /* Insert the first match with proper quoting. */ -#if 0 - if (*matches[0]) - insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, "e_char); -#else if (what_to_do == TAB) { if (*matches[0]) @@ -1886,7 +2005,6 @@ rl_complete_internal (what_to_do) if (mlen >= tlen) insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, "e_char); } -#endif /* If there are more matches, ring the bell to indicate. If we are in vi mode, Posix.2 says to not ring the bell. @@ -1922,7 +2040,14 @@ rl_complete_internal (what_to_do) break; case '?': + if (rl_completion_display_matches_hook == 0) + { + _rl_sigcleanup = _rl_complete_sigcleanup; + _rl_sigcleanarg = matches; + } display_matches (matches); + _rl_sigcleanup = 0; + _rl_sigcleanarg = 0; break; default: @@ -1930,6 +2055,7 @@ rl_complete_internal (what_to_do) rl_ding (); FREE (saved_line_buffer); RL_UNSETSTATE(RL_STATE_COMPLETING); + _rl_free_match_list (matches); _rl_reset_completion_state (); return 1; } @@ -1971,6 +2097,8 @@ rl_completion_matches (text, entry_function) const char *text; rl_compentry_func_t *entry_function; { + register int i; + /* Number of slots in match_list. */ int match_list_size; @@ -1988,18 +2116,36 @@ rl_completion_matches (text, entry_function) match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *)); match_list[1] = (char *)NULL; - _rl_interrupt_immediately++; while (string = (*entry_function) (text, matches)) { - if (matches + 1 == match_list_size) + if (RL_SIG_RECEIVED ()) + { + /* Start at 1 because we don't set matches[0] in this function. + Only free the list members if we're building match list from + rl_filename_completion_function, since we know that doesn't + free the strings it returns. */ + if (entry_function == rl_filename_completion_function) + { + for (i = 1; match_list[i]; i++) + xfree (match_list[i]); + } + xfree (match_list); + match_list = 0; + match_list_size = 0; + matches = 0; + RL_CHECK_SIGNALS (); + } + + if (matches + 1 >= match_list_size) match_list = (char **)xrealloc (match_list, ((match_list_size += 10) + 1) * sizeof (char *)); + if (match_list == 0) + return (match_list); + match_list[++matches] = string; match_list[matches + 1] = (char *)NULL; } - if (_rl_interrupt_immediately > 0) - _rl_interrupt_immediately--; /* If there were any matches, then look through them finding out the lowest common denominator. That then becomes match_list[0]. */ @@ -2038,7 +2184,9 @@ rl_username_completion_function (text, state) username = savestring (&text[first_char_loc]); namelen = strlen (username); +#if defined (HAVE_GETPWENT) setpwent (); +#endif } #if defined (HAVE_GETPWENT) @@ -2075,8 +2223,9 @@ rl_username_completion_function (text, state) /* Return non-zero if CONVFN matches FILENAME up to the length of FILENAME (FILENAME_LEN). If _rl_completion_case_fold is set, compare without - regard to the alphabetic case of characters. CONVFN is the possibly- - converted directory entry; FILENAME is what the user typed. */ + regard to the alphabetic case of characters. If + _rl_completion_case_map is set, make `-' and `_' equivalent. CONVFN is + the possibly-converted directory entry; FILENAME is what the user typed. */ static int complete_fncmp (convfn, convlen, filename, filename_len) const char *convfn; @@ -2086,34 +2235,110 @@ complete_fncmp (convfn, convlen, filename, filename_len) { register char *s1, *s2; int d, len; +#if defined (HANDLE_MULTIBYTE) + size_t v1, v2; + mbstate_t ps1, ps2; + wchar_t wc1, wc2; +#endif + +#if defined (HANDLE_MULTIBYTE) + memset (&ps1, 0, sizeof (mbstate_t)); + memset (&ps2, 0, sizeof (mbstate_t)); +#endif + + if (filename_len == 0) + return 1; + if (convlen < filename_len) + return 0; + + len = filename_len; + s1 = (char *)convfn; + s2 = (char *)filename; /* Otherwise, if these match up to the length of filename, then it is a match. */ if (_rl_completion_case_fold && _rl_completion_case_map) { /* Case-insensitive comparison treating _ and - as equivalent */ - if (filename_len == 0) - return 1; - if (convlen < filename_len) - return 0; - s1 = (char *)convfn; - s2 = (char *)filename; - len = filename_len; - do +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + do + { + v1 = mbrtowc (&wc1, s1, convlen, &ps1); + v2 = mbrtowc (&wc2, s2, filename_len, &ps2); + if (v1 == 0 && v2 == 0) + return 1; + else if (MB_INVALIDCH (v1) || MB_INVALIDCH (v2)) + { + if (*s1 != *s2) /* do byte comparison */ + return 0; + else if ((*s1 == '-' || *s1 == '_') && (*s2 == '-' || *s2 == '_')) + return 0; + s1++; s2++; len--; + continue; + } + wc1 = towlower (wc1); + wc2 = towlower (wc2); + s1 += v1; + s2 += v1; + len -= v1; + if ((wc1 == L'-' || wc1 == L'_') && (wc2 == L'-' || wc2 == L'_')) + continue; + if (wc1 != wc2) + return 0; + } + while (len != 0); + } + else +#endif { - d = _rl_to_lower (*s1) - _rl_to_lower (*s2); - /* *s1 == [-_] && *s2 == [-_] */ - if ((*s1 == '-' || *s1 == '_') && (*s2 == '-' || *s2 == '_')) - d = 0; - if (d != 0) - return 0; - s1++; s2++; /* already checked convlen >= filename_len */ + do + { + d = _rl_to_lower (*s1) - _rl_to_lower (*s2); + /* *s1 == [-_] && *s2 == [-_] */ + if ((*s1 == '-' || *s1 == '_') && (*s2 == '-' || *s2 == '_')) + d = 0; + if (d != 0) + return 0; + s1++; s2++; /* already checked convlen >= filename_len */ + } + while (--len != 0); } - while (--len != 0); + return 1; } else if (_rl_completion_case_fold) { +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + do + { + v1 = mbrtowc (&wc1, s1, convlen, &ps1); + v2 = mbrtowc (&wc2, s2, filename_len, &ps2); + if (v1 == 0 && v2 == 0) + return 1; + else if (MB_INVALIDCH (v1) || MB_INVALIDCH (v2)) + { + if (*s1 != *s2) /* do byte comparison */ + return 0; + s1++; s2++; len--; + continue; + } + wc1 = towlower (wc1); + wc2 = towlower (wc2); + if (wc1 != wc2) + return 0; + s1 += v1; + s2 += v1; + len -= v1; + } + while (len != 0); + return 1; + } + else +#endif if ((_rl_to_lower (convfn[0]) == _rl_to_lower (filename[0])) && (convlen >= filename_len) && (_rl_strnicmp (filename, convfn, filename_len) == 0)) @@ -2233,8 +2458,9 @@ rl_filename_completion_function (text, state) } directory = opendir (dirname); - /* Now dequote a non-null filename. */ - if (filename && *filename && rl_completion_found_quote && rl_filename_dequoting_function) + /* Now dequote a non-null filename. FILENAME will not be NULL, but may + be empty. */ + if (*filename && rl_completion_found_quote && rl_filename_dequoting_function) { /* delete single and double quotes */ temp = (*rl_filename_dequoting_function) (filename, rl_completion_quote_character); @@ -2598,6 +2824,11 @@ rl_menu_complete (count, ignore) full_completion = 1; return (0); } + else if (_rl_menu_complete_prefix_first) + { + rl_ding (); + return (0); + } } else if (match_list_size <= 1) { diff --git a/config.h.in b/config.h.in index 8560c4b..a67e43e 100644 --- a/config.h.in +++ b/config.h.in @@ -124,6 +124,9 @@ /* Define if you have the wcwidth function. */ #undef HAVE_WCWIDTH +/* and whether it works */ +#undef WCWIDTH_BROKEN + #undef STDC_HEADERS /* Define if you have the header file. */ @@ -153,6 +156,9 @@ /* Define if you have the header file. */ #undef HAVE_STDARG_H +/* Define if you have the header file. */ +#undef HAVE_STDBOOL_H + /* Define if you have the header file. */ #undef HAVE_STDLIB_H @@ -218,6 +224,9 @@ /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET +/* Define if you have and it defines AUDIT_USER_TTY */ +#undef HAVE_DECL_AUDIT_USER_TTY + /* Definitions pulled in from aclocal.m4. */ #undef VOID_SIGHANDLER @@ -259,12 +268,4 @@ # define TERMIOS_MISSING #endif -#if defined (__STDC__) && defined (HAVE_STDARG_H) -# define PREFER_STDARG -# define USE_VARARGS -#else -# if defined (HAVE_VARARGS_H) -# define PREFER_VARARGS -# define USE_VARARGS -# endif -#endif +/* VARARGS defines moved to rlstdc.h */ diff --git a/configure b/configure index 55b3e73..f11ee25 100755 --- a/configure +++ b/configure @@ -1,21 +1,25 @@ #! /bin/sh -# From configure.in for Readline 6.2, version 2.67. +# From configure.ac for Readline 6.3, version 2.73. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for readline 6.2. +# Generated by GNU Autoconf 2.68 for readline 6.3. # # Report bugs to . # +# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -23,23 +27,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -47,7 +43,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -58,7 +60,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -81,13 +83,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -97,15 +92,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -117,12 +113,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -134,7 +134,256 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-readline@gnu.org about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -148,8 +397,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -169,415 +422,127 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -if as_func_ret_success; then - : +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi else - exitcode=1 - echo as_func_ret_success failed. + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - exitcode=1 - echo positional parameters were not saved. + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi +as_executable_p=$as_test_x -test \$exitcode = 0) || { (exit 1); exit 1; } +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 7<&0 &1 +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -592,14 +557,14 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='readline' PACKAGE_TARNAME='readline' -PACKAGE_VERSION='6.2' -PACKAGE_STRING='readline 6.2' +PACKAGE_VERSION='6.3' +PACKAGE_STRING='readline 6.3' PACKAGE_BUGREPORT='bug-readline@gnu.org' +PACKAGE_URL='' ac_unique_file="readline.h" # Factoring default headers for most tests. @@ -725,6 +690,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -813,8 +779,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -859,8 +826,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -886,8 +852,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1091,8 +1056,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1108,8 +1072,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1139,17 +1102,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1158,7 +1121,7 @@ Try \`$0 --help' for more information." >&2 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1166,15 +1129,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1197,8 +1158,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1212,8 +1172,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1228,11 +1188,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1271,13 +1229,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1303,7 +1259,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures readline 6.2 to adapt to many kinds of systems. +\`configure' configures readline 6.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1317,7 +1273,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1368,7 +1324,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of readline 6.2:";; + short | recursive ) echo "Configuration of readline 6.3:";; esac cat <<\_ACEOF @@ -1377,8 +1333,8 @@ Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-multibyte enable multibyte characters if OS supports them - --enable-shared build shared libraries [default=YES] - --enable-static build static libraries [default=YES] + --enable-shared build shared libraries [[default=YES]] + --enable-static build static libraries [[default=YES]] --disable-largefile omit support for large files Optional Packages: @@ -1394,7 +1350,7 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor @@ -1464,59 +1420,514 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -readline configure 6.2 -generated by GNU Autoconf 2.63 +readline configure 6.3 +generated by GNU Autoconf 2.68 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -It was created by readline $as_me 6.2, which was -generated by GNU Autoconf 2.63. Invocation command line was +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## - $ $0 $@ - -_ACEOF -exec 5>>config.log +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ASUNAME + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------- ## +## Report this to bug-readline@gnu.org ## +## ----------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by readline $as_me 6.3, which was +generated by GNU Autoconf 2.68. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } >&5 @@ -1553,9 +1964,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -1571,13 +1982,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -1589,11 +2000,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -1602,13 +2011,13 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -1627,11 +2036,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -1644,11 +2051,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -1662,11 +2067,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -1680,46 +2083,53 @@ _ASBOX exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h + # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -1730,19 +2140,23 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -1750,7 +2164,7 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1765,11 +2179,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -1779,17 +2193,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -1801,49 +2215,26 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -1867,9 +2258,7 @@ for ac_dir in ./support "$srcdir"/./support; do fi done if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./support \"$srcdir\"/./support" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -1884,39 +2273,31 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" -LIBVERSION=6.2 +LIBVERSION=6.3 # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -1932,28 +2313,24 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -1970,18 +2347,19 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + opt_curses=no opt_purify=no # Check whether --with-curses was given. -if test "${with_curses+set}" = set; then +if test "${with_curses+set}" = set; then : withval=$with_curses; opt_curses=$withval fi # Check whether --with-purify was given. -if test "${with_purify+set}" = set; then +if test "${with_purify+set}" = set; then : withval=$with_purify; opt_purify=$withval fi @@ -2001,25 +2379,23 @@ opt_static_libs=yes opt_shared_libs=yes # Check whether --enable-multibyte was given. -if test "${enable_multibyte+set}" = set; then +if test "${enable_multibyte+set}" = set; then : enableval=$enable_multibyte; opt_multibyte=$enableval fi # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then +if test "${enable_shared+set}" = set; then : enableval=$enable_shared; opt_shared_libs=$enableval fi # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then +if test "${enable_static+set}" = set; then : enableval=$enable_static; opt_static_libs=$enableval fi if test $opt_multibyte = no; then -cat >>confdefs.h <<\_ACEOF -#define NO_MULTIBYTE_SUPPORT 1 -_ACEOF +$as_echo "#define NO_MULTIBYTE_SUPPORT 1" >>confdefs.h fi @@ -2056,11 +2432,11 @@ echo "" # We want these before the checks, so the checks can modify their values. test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1 -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2068,7 +2444,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -2078,11 +2454,11 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2095,9 +2471,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2108,24 +2484,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2135,9 +2511,9 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2148,24 +2524,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2174,7 +2550,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2188,9 +2564,9 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2201,24 +2577,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2228,9 +2604,9 @@ fi 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2242,18 +2618,18 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -2272,10 +2648,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2287,9 +2663,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2300,24 +2676,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2331,9 +2707,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2344,24 +2720,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2374,7 +2750,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2385,57 +2761,37 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2451,8 +2807,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -2468,17 +2824,17 @@ do done rm -f $ac_rmfiles -if { (ac_try="$ac_link_default" +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2495,7 +2851,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2514,84 +2870,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" +if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -2606,32 +2919,83 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2643,17 +3007,17 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -2666,31 +3030,23 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2704,37 +3060,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -2743,20 +3078,16 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2767,35 +3098,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2806,36 +3113,12 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2846,42 +3129,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -2898,18 +3156,14 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -2966,32 +3220,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3002,17 +3233,19 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3026,14 +3259,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -3048,11 +3281,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3061,78 +3290,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : break fi @@ -3144,7 +3329,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -3155,11 +3340,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3168,87 +3349,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -3258,9 +3392,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -3271,7 +3405,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue @@ -3291,7 +3425,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -3306,26 +3440,24 @@ esac $ac_path_GREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3339,7 +3471,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue @@ -3359,7 +3491,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3374,12 +3506,10 @@ esac $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -3387,21 +3517,17 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3416,48 +3542,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -3467,18 +3568,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -3488,14 +3585,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3522,118 +3615,33 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -3644,139 +3652,8 @@ done - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_minix_config_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } - -fi -if test "x$ac_cv_header_minix_config_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= @@ -3785,34 +3662,23 @@ fi if test "$MINIX" = yes; then -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF +$as_echo "#define _MINIX 1" >>confdefs.h fi - - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 @@ -3825,56 +3691,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no + ac_cv_safe_to_define___extensions__=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 -_ACEOF + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 -_ACEOF @@ -3882,23 +3718,19 @@ _ACEOF test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O" if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then +if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no @@ -3907,24 +3739,20 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" @@ -3945,10 +3773,10 @@ fi # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3956,11 +3784,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -3997,7 +3825,7 @@ case $as_dir/ in ;; esac -done + done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -4013,7 +3841,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -4024,11 +3852,12 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -4039,36 +3868,89 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS - test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + if test "x$ac_ct_AR" = x; then + AR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi test -n "$ARFLAGS" || ARFLAGS="cr" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -4079,24 +3961,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4106,9 +3988,9 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -4119,24 +4001,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4145,7 +4027,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4159,16 +4041,12 @@ fi MAKE_SHELL=/bin/sh -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4228,75 +4106,43 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no + ac_cv_c_const=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF +$as_echo "#define const /**/" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for function prototypes" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for function prototypes" >&5 $as_echo_n "checking for function prototypes... " >&6; } if test "$ac_cv_prog_cc_c89" != no; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define PROTOTYPES 1 -_ACEOF +$as_echo "#define PROTOTYPES 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define __PROTOTYPES 1 -_ACEOF +$as_echo "#define __PROTOTYPES 1" >>confdefs.h else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -{ $as_echo "$as_me:$LINENO: checking whether char is unsigned" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5 $as_echo_n "checking whether char is unsigned... " >&6; } -if test "${ac_cv_c_char_unsigned+set}" = set; then +if ${ac_cv_c_char_unsigned+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -4309,53 +4155,26 @@ test_array [0] = 0 return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_char_unsigned=no else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_char_unsigned=yes + ac_cv_c_char_unsigned=yes fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5 $as_echo "$ac_cv_c_char_unsigned" >&6; } if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then - cat >>confdefs.h <<\_ACEOF -#define __CHAR_UNSIGNED__ 1 -_ACEOF + $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } -if test "${ac_cv_c_volatile+set}" = set; then +if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4369,55 +4188,28 @@ return !x && !y; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_volatile=no + ac_cv_c_volatile=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then -cat >>confdefs.h <<\_ACEOF -#define volatile /**/ -_ACEOF +$as_echo "#define volatile /**/" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } -if test "${ac_cv_type_signal+set}" = set; then +if ${ac_cv_type_signal+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4430,35 +4222,14 @@ return *(signal (0, 0)) (0) == 1; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_signal=int else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_signal=void + ac_cv_type_signal=void fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 $as_echo "$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF @@ -4467,102 +4238,9 @@ _ACEOF -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_size_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((size_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -4571,102 +4249,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for ssize_t" >&5 -$as_echo_n "checking for ssize_t... " >&6; } -if test "${ac_cv_type_ssize_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_ssize_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((ssize_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ssize_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 -$as_echo "$ac_cv_type_ssize_t" >&6; } -if test "x$ac_cv_type_ssize_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -4676,16 +4261,12 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4700,48 +4281,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -4751,18 +4307,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -4772,14 +4324,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4806,65 +4354,32 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then +if ${ac_cv_header_stat_broken+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4886,62 +4401,30 @@ extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stat_broken=no else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stat_broken=yes + ac_cv_header_stat_broken=yes fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 $as_echo "$ac_cv_header_stat_broken" >&6; } if test $ac_cv_header_stat_broken = yes; then -cat >>confdefs.h <<\_ACEOF -#define STAT_MACROS_BROKEN 1 -_ACEOF +$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h fi - - - - - ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> @@ -4955,41 +4438,17 @@ return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -5000,17 +4459,13 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5035,70 +4490,39 @@ for ac_lib in '' dir; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if ${ac_cv_search_opendir+:} false; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5123,54 +4547,27 @@ for ac_lib in '' x; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if ${ac_cv_search_opendir+:} false; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -5178,102 +4575,48 @@ fi fi +for ac_func in fcntl kill lstat +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +fi +done - -for ac_func in fcntl kill lstat -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +for ac_func in memmove putenv select setenv setlocale \ + strcasecmp strpbrk tcgetattr vsnprintf +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +fi +done -#ifdef __STDC__ -# include -#else -# include -#endif +for ac_func in isascii isxdigit +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -#undef $ac_func +fi +done -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +for ac_func in getpwent getpwnam getpwuid +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -5282,4075 +4625,1183 @@ fi done - - - - - - - - -for ac_func in memmove putenv select setenv setlocale \ - strcasecmp strpbrk tcgetattr vsnprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5 +$as_echo_n "checking for working strcoll... " >&6; } +if ${ac_cv_func_strcoll_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + ac_cv_func_strcoll_works=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +$ac_includes_default int main () { -return $ac_func (); +return (strcoll ("abc", "def") >= 0 || + strcoll ("ABC", "DEF") >= 0 || + strcoll ("123", "456") >= 0) ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strcoll_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_strcoll_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - eval "$as_ac_var=no" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5 +$as_echo "$ac_cv_func_strcoll_works" >&6; } +if test $ac_cv_func_strcoll_works = yes; then + +$as_echo "#define HAVE_STRCOLL 1" >>confdefs.h -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + + +for ac_header in fcntl.h unistd.h stdlib.h varargs.h stdarg.h stdbool.h \ + string.h strings.h \ + limits.h locale.h pwd.h memory.h termcap.h termios.h termio.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi -done - +done -for ac_func in isascii isxdigit -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +for ac_header in sys/pte.h sys/stream.h sys/select.h sys/file.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +fi -#ifdef __STDC__ -# include -#else -# include -#endif +done -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me +for ac_header in sys/ptem.h +do : + ac_fn_c_check_header_compile "$LINENO" "sys/ptem.h" "ac_cv_header_sys_ptem_h" " +#if HAVE_SYS_STREAM_H +# include #endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +" +if test "x$ac_cv_header_sys_ptem_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_SYS_PTEM_H 1 _ACEOF fi + done +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi +if test "$enable_largefile" != no; then -for ac_func in getpwent getpwnam getpwuid -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { -return $ac_func (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + if ac_fn_c_try_compile "$LINENO"; then : + break fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi fi -done - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi -{ $as_echo "$as_me:$LINENO: checking for working strcoll" >&5 -$as_echo_n "checking for working strcoll... " >&6; } -if test "${ac_cv_func_strcoll_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_strcoll_works=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { -return (strcoll ("abc", "def") >= 0 || - strcoll ("ABC", "DEF") >= 0 || - strcoll ("123", "456") >= 0) + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strcoll_works=yes +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ -( exit $ac_status ) -ac_cv_func_strcoll_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ - + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5 -$as_echo "$ac_cv_func_strcoll_works" >&6; } -if test $ac_cv_func_strcoll_works = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRCOLL 1 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files _ACEOF - +;; +esac +rm -rf conftest* + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for type of signal functions" >&5 +$as_echo_n "checking for type of signal functions... " >&6; } +if ${bash_cv_signal_vintage+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + sigset_t ss; + struct sigaction sa; + sigemptyset(&ss); sigsuspend(&ss); + sigaction(SIGINT, &sa, (struct sigaction *) 0); + sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + bash_cv_signal_vintage=posix +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + int mask = sigmask(SIGINT); + sigsetmask(mask); sigblock(mask); sigpause(mask); - - - - - - - -for ac_header in fcntl.h unistd.h stdlib.h varargs.h stdarg.h string.h strings.h \ - limits.h locale.h pwd.h memory.h termcap.h termios.h termio.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + ; + return 0; +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_link "$LINENO"; then : + bash_cv_signal_vintage=4.2bsd else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + #include + RETSIGTYPE foo() { } +int +main () +{ -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> + int mask = sigmask(SIGINT); + sigset(SIGINT, foo); sigrelse(SIGINT); + sighold(SIGINT); sigpause(SIGINT); + + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if ac_fn_c_try_link "$LINENO"; then : + bash_cv_signal_vintage=svr3 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + bash_cv_signal_vintage=v7 - ac_header_preproc=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_signal_vintage" >&5 +$as_echo "$bash_cv_signal_vintage" >&6; } +if test "$bash_cv_signal_vintage" = posix; then +$as_echo "#define HAVE_POSIX_SIGNALS 1" >>confdefs.h + +elif test "$bash_cv_signal_vintage" = "4.2bsd"; then +$as_echo "#define HAVE_BSD_SIGNALS 1" >>confdefs.h +elif test "$bash_cv_signal_vintage" = svr3; then +$as_echo "#define HAVE_USG_SIGHOLD 1" >>confdefs.h +fi -for ac_header in sys/pte.h sys/stream.h sys/select.h sys/file.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if signal handlers must be reinstalled when invoked" >&5 +$as_echo_n "checking if signal handlers must be reinstalled when invoked... " >&6; } +if ${bash_cv_must_reinstall_sighandlers+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5 +$as_echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;} + bash_cv_must_reinstall_sighandlers=no + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi +#include +#ifdef HAVE_UNISTD_H +#include +#endif -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +typedef RETSIGTYPE sigfunc(); -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +int nsigint; - ac_header_preproc=no -fi +#ifdef HAVE_POSIX_SIGNALS +sigfunc * +set_signal_handler(sig, handler) + int sig; + sigfunc *handler; +{ + struct sigaction act, oact; + act.sa_handler = handler; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigemptyset (&oact.sa_mask); + sigaction (sig, &act, &oact); + return (oact.sa_handler); +} +#else +#define set_signal_handler(s, h) signal(s, h) +#endif -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +RETSIGTYPE +sigint(s) +int s; +{ + nsigint++; +} -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +main() +{ + nsigint = 0; + set_signal_handler(SIGINT, sigint); + kill((int)getpid(), SIGINT); + kill((int)getpid(), SIGINT); + exit(nsigint != 2); +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + bash_cv_must_reinstall_sighandlers=no else - eval "$as_ac_Header=\$ac_header_preproc" + bash_cv_must_reinstall_sighandlers=yes fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_must_reinstall_sighandlers" >&5 +$as_echo "$bash_cv_must_reinstall_sighandlers" >&6; } +if test $bash_cv_must_reinstall_sighandlers = yes; then +$as_echo "#define MUST_REINSTALL_SIGHANDLERS 1" >>confdefs.h +fi -for ac_header in sys/ptem.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5 +$as_echo_n "checking for presence of POSIX-style sigsetjmp/siglongjmp... " >&6; } +if ${bash_cv_func_sigsetjmp+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5 +$as_echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;} + bash_cv_func_sigsetjmp=missing + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if HAVE_SYS_STREAM_H -# include +#ifdef HAVE_UNISTD_H +#include #endif +#include +#include +#include + +main() +{ +#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS) +exit (1); +#else + +int code; +sigset_t set, oset; +sigjmp_buf xx; + +/* get the mask */ +sigemptyset(&set); +sigemptyset(&oset); +sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set); +sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset); + +/* save it */ +code = sigsetjmp(xx, 1); +if (code) + exit(0); /* could get sigmask and compare to oset here. */ +/* change it */ +sigaddset(&set, SIGINT); +sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL); -#include <$ac_header> +/* and siglongjmp */ +siglongjmp(xx, 10); +exit(1); +#endif +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" +if ac_fn_c_try_run "$LINENO"; then : + bash_cv_func_sigsetjmp=present else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + bash_cv_func_sigsetjmp=missing fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF fi -done - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_sigsetjmp" >&5 +$as_echo "$bash_cv_func_sigsetjmp" >&6; } +if test $bash_cv_func_sigsetjmp = present; then +$as_echo "#define HAVE_POSIX_SIGSETJMP 1" >>confdefs.h -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval=$enable_largefile; fi -if test "$enable_largefile" != no; then - - { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lstat" >&5 +$as_echo_n "checking for lstat... " >&6; } +if ${bash_cv_func_lstat+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; +#include + int main () { - + lstat(".",(struct stat *)0); ; return 0; } _ACEOF - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - break +if ac_fn_c_try_link "$LINENO"; then : + bash_cv_func_lstat=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + bash_cv_func_lstat=no fi - -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_largefile_CC=' -n32'; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_lstat" >&5 +$as_echo "$bash_cv_func_lstat" >&6; } +if test $bash_cv_func_lstat = yes; then + $as_echo "#define HAVE_LSTAT 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether or not strcoll and strcmp differ" >&5 +$as_echo_n "checking whether or not strcoll and strcmp differ... " >&6; } +if ${bash_cv_func_strcoll_broken+:} false; then : $as_echo_n "(cached) " >&6 else - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5 +$as_echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;} + bash_cv_func_strcoll_broken=no + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_file_offset_bits=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_file_offset_bits=64; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -$as_echo "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then - $as_echo_n "(cached) " >&6 -else - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_large_files=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_large_files=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -$as_echo "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF -;; -esac -rm -rf conftest* - fi -fi - - - -{ $as_echo "$as_me:$LINENO: checking for type of signal functions" >&5 -$as_echo_n "checking for type of signal functions... " >&6; } -if test "${bash_cv_signal_vintage+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - - sigset_t ss; - struct sigaction sa; - sigemptyset(&ss); sigsuspend(&ss); - sigaction(SIGINT, &sa, (struct sigaction *) 0); - sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - bash_cv_signal_vintage=posix -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - - int mask = sigmask(SIGINT); - sigsetmask(mask); sigblock(mask); sigpause(mask); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - bash_cv_signal_vintage=4.2bsd -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - RETSIGTYPE foo() { } -int -main () -{ - - int mask = sigmask(SIGINT); - sigset(SIGINT, foo); sigrelse(SIGINT); - sighold(SIGINT); sigpause(SIGINT); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - bash_cv_signal_vintage=svr3 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_signal_vintage=v7 - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_signal_vintage" >&5 -$as_echo "$bash_cv_signal_vintage" >&6; } -if test "$bash_cv_signal_vintage" = posix; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_POSIX_SIGNALS 1 -_ACEOF - -elif test "$bash_cv_signal_vintage" = "4.2bsd"; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_BSD_SIGNALS 1 -_ACEOF - -elif test "$bash_cv_signal_vintage" = svr3; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_USG_SIGHOLD 1 -_ACEOF - -fi - - - -{ $as_echo "$as_me:$LINENO: checking if signal handlers must be reinstalled when invoked" >&5 -$as_echo_n "checking if signal handlers must be reinstalled when invoked... " >&6; } -if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5 -$as_echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;} - bash_cv_must_reinstall_sighandlers=no - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef HAVE_UNISTD_H -#include -#endif - -typedef RETSIGTYPE sigfunc(); - -int nsigint; - -#ifdef HAVE_POSIX_SIGNALS -sigfunc * -set_signal_handler(sig, handler) - int sig; - sigfunc *handler; -{ - struct sigaction act, oact; - act.sa_handler = handler; - act.sa_flags = 0; - sigemptyset (&act.sa_mask); - sigemptyset (&oact.sa_mask); - sigaction (sig, &act, &oact); - return (oact.sa_handler); -} -#else -#define set_signal_handler(s, h) signal(s, h) -#endif - -RETSIGTYPE -sigint(s) -int s; -{ - nsigint++; -} - -main() -{ - nsigint = 0; - set_signal_handler(SIGINT, sigint); - kill((int)getpid(), SIGINT); - kill((int)getpid(), SIGINT); - exit(nsigint != 2); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - bash_cv_must_reinstall_sighandlers=no -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -bash_cv_must_reinstall_sighandlers=yes -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_must_reinstall_sighandlers" >&5 -$as_echo "$bash_cv_must_reinstall_sighandlers" >&6; } -if test $bash_cv_must_reinstall_sighandlers = yes; then -cat >>confdefs.h <<\_ACEOF -#define MUST_REINSTALL_SIGHANDLERS 1 -_ACEOF - -fi - - - -{ $as_echo "$as_me:$LINENO: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5 -$as_echo_n "checking for presence of POSIX-style sigsetjmp/siglongjmp... " >&6; } -if test "${bash_cv_func_sigsetjmp+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5 -$as_echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;} - bash_cv_func_sigsetjmp=missing - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_UNISTD_H -#include -#endif -#include -#include -#include - -main() -{ -#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS) -exit (1); -#else - -int code; -sigset_t set, oset; -sigjmp_buf xx; - -/* get the mask */ -sigemptyset(&set); -sigemptyset(&oset); -sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set); -sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset); - -/* save it */ -code = sigsetjmp(xx, 1); -if (code) - exit(0); /* could get sigmask and compare to oset here. */ - -/* change it */ -sigaddset(&set, SIGINT); -sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL); - -/* and siglongjmp */ -siglongjmp(xx, 10); -exit(1); -#endif -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - bash_cv_func_sigsetjmp=present -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -bash_cv_func_sigsetjmp=missing -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_sigsetjmp" >&5 -$as_echo "$bash_cv_func_sigsetjmp" >&6; } -if test $bash_cv_func_sigsetjmp = present; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_POSIX_SIGSETJMP 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for lstat" >&5 -$as_echo_n "checking for lstat... " >&6; } -if test "${bash_cv_func_lstat+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - lstat(".",(struct stat *)0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - bash_cv_func_lstat=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_func_lstat=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_lstat" >&5 -$as_echo "$bash_cv_func_lstat" >&6; } -if test $bash_cv_func_lstat = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_LSTAT 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether or not strcoll and strcmp differ" >&5 -$as_echo_n "checking whether or not strcoll and strcmp differ... " >&6; } -if test "${bash_cv_func_strcoll_broken+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5 -$as_echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;} - bash_cv_func_strcoll_broken=no - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#if defined (HAVE_LOCALE_H) -#include -#endif - -main(c, v) -int c; -char *v[]; -{ - int r1, r2; - char *deflocale, *defcoll; - -#ifdef HAVE_SETLOCALE - deflocale = setlocale(LC_ALL, ""); - defcoll = setlocale(LC_COLLATE, ""); -#endif - -#ifdef HAVE_STRCOLL - /* These two values are taken from tests/glob-test. */ - r1 = strcoll("abd", "aXd"); -#else - r1 = 0; -#endif - r2 = strcmp("abd", "aXd"); - - /* These two should both be greater than 0. It is permissible for - a system to return different values, as long as the sign is the - same. */ - - /* Exit with 1 (failure) if these two values are both > 0, since - this tests whether strcoll(3) is broken with respect to strcmp(3) - in the default locale. */ - exit (r1 > 0 && r2 > 0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - bash_cv_func_strcoll_broken=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -bash_cv_func_strcoll_broken=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_strcoll_broken" >&5 -$as_echo "$bash_cv_func_strcoll_broken" >&6; } -if test $bash_cv_func_strcoll_broken = yes; then -cat >>confdefs.h <<\_ACEOF -#define STRCOLL_BROKEN 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether the ctype macros accept non-ascii characters" >&5 -$as_echo_n "checking whether the ctype macros accept non-ascii characters... " >&6; } -if test "${bash_cv_func_ctype_nonascii+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&5 -$as_echo "$as_me: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&2;} - bash_cv_func_ctype_nonascii=no - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_LOCALE_H -#include -#endif -#include -#include - -main(c, v) -int c; -char *v[]; -{ - char *deflocale; - unsigned char x; - int r1, r2; - -#ifdef HAVE_SETLOCALE - /* We take a shot here. If that locale is not known, try the - system default. We try this one because '\342' (226) is - known to be a printable character in that locale. */ - deflocale = setlocale(LC_ALL, "en_US.ISO8859-1"); - if (deflocale == 0) - deflocale = setlocale(LC_ALL, ""); -#endif - - x = '\342'; - r1 = isprint(x); - x -= 128; - r2 = isprint(x); - exit (r1 == 0 || r2 == 0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - bash_cv_func_ctype_nonascii=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -bash_cv_func_ctype_nonascii=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_ctype_nonascii" >&5 -$as_echo "$bash_cv_func_ctype_nonascii" >&6; } -if test $bash_cv_func_ctype_nonascii = yes; then -cat >>confdefs.h <<\_ACEOF -#define CTYPE_NON_ASCII 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether getpw functions are declared in pwd.h" >&5 -$as_echo_n "checking whether getpw functions are declared in pwd.h... " >&6; } -if test "${bash_cv_getpw_declared+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef HAVE_UNISTD_H -# include -#endif -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "getpwuid" >/dev/null 2>&1; then - bash_cv_getpw_declared=yes -else - bash_cv_getpw_declared=no -fi -rm -f conftest* - -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_getpw_declared" >&5 -$as_echo "$bash_cv_getpw_declared" >&6; } -if test $bash_cv_getpw_declared = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETPW_DECLS 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether termios.h defines TIOCGWINSZ" >&5 -$as_echo_n "checking whether termios.h defines TIOCGWINSZ... " >&6; } -if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#ifdef TIOCGWINSZ - yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - ac_cv_sys_tiocgwinsz_in_termios_h=yes -else - ac_cv_sys_tiocgwinsz_in_termios_h=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 -$as_echo "$ac_cv_sys_tiocgwinsz_in_termios_h" >&6; } - -if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then - { $as_echo "$as_me:$LINENO: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 -$as_echo_n "checking whether sys/ioctl.h defines TIOCGWINSZ... " >&6; } -if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#ifdef TIOCGWINSZ - yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes -else - ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 -$as_echo "$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6; } - - if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define GWINSZ_IN_SYS_IOCTL 1 -_ACEOF - - fi -fi - - -{ $as_echo "$as_me:$LINENO: checking for sig_atomic_t in signal.h" >&5 -$as_echo_n "checking for sig_atomic_t in signal.h... " >&6; } -if test "${ac_cv_have_sig_atomic_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include - -int -main () -{ - sig_atomic_t x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_have_sig_atomic_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_sig_atomic_t=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_sig_atomic_t" >&5 -$as_echo "$ac_cv_have_sig_atomic_t" >&6; } -if test "$ac_cv_have_sig_atomic_t" = "no" -then - { $as_echo "$as_me:$LINENO: checking for sig_atomic_t" >&5 -$as_echo_n "checking for sig_atomic_t... " >&6; } -if test "${ac_cv_type_sig_atomic_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_sig_atomic_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (sig_atomic_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((sig_atomic_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_sig_atomic_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5 -$as_echo "$ac_cv_type_sig_atomic_t" >&6; } -if test "x$ac_cv_type_sig_atomic_t" = x""yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define sig_atomic_t int -_ACEOF - -fi - -fi - -{ $as_echo "$as_me:$LINENO: checking whether signal handlers are of type void" >&5 -$as_echo_n "checking whether signal handlers are of type void... " >&6; } -if test "${bash_cv_void_sighandler+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" -#endif -void (*signal ()) (); -int -main () -{ -int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_void_sighandler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_void_sighandler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_void_sighandler" >&5 -$as_echo "$bash_cv_void_sighandler" >&6; } -if test $bash_cv_void_sighandler = yes; then -cat >>confdefs.h <<\_ACEOF -#define VOID_SIGHANDLER 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking for TIOCSTAT in sys/ioctl.h" >&5 -$as_echo_n "checking for TIOCSTAT in sys/ioctl.h... " >&6; } -if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -int x = TIOCSTAT; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_tiocstat_in_ioctl=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_tiocstat_in_ioctl=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_tiocstat_in_ioctl" >&5 -$as_echo "$bash_cv_tiocstat_in_ioctl" >&6; } -if test $bash_cv_tiocstat_in_ioctl = yes; then -cat >>confdefs.h <<\_ACEOF -#define TIOCSTAT_IN_SYS_IOCTL 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for FIONREAD in sys/ioctl.h" >&5 -$as_echo_n "checking for FIONREAD in sys/ioctl.h... " >&6; } -if test "${bash_cv_fionread_in_ioctl+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -int x = FIONREAD; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_fionread_in_ioctl=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_fionread_in_ioctl=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_fionread_in_ioctl" >&5 -$as_echo "$bash_cv_fionread_in_ioctl" >&6; } -if test $bash_cv_fionread_in_ioctl = yes; then -cat >>confdefs.h <<\_ACEOF -#define FIONREAD_IN_SYS_IOCTL 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for speed_t in sys/types.h" >&5 -$as_echo_n "checking for speed_t in sys/types.h... " >&6; } -if test "${bash_cv_speed_t_in_sys_types+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -speed_t x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_speed_t_in_sys_types=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_speed_t_in_sys_types=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_speed_t_in_sys_types" >&5 -$as_echo "$bash_cv_speed_t_in_sys_types" >&6; } -if test $bash_cv_speed_t_in_sys_types = yes; then -cat >>confdefs.h <<\_ACEOF -#define SPEED_T_IN_SYS_TYPES 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for struct winsize in sys/ioctl.h and termios.h" >&5 -$as_echo_n "checking for struct winsize in sys/ioctl.h and termios.h... " >&6; } -if test "${bash_cv_struct_winsize_header+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -struct winsize x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_struct_winsize_header=ioctl_h -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -struct winsize x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_struct_winsize_header=termios_h -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_struct_winsize_header=other -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if test $bash_cv_struct_winsize_header = ioctl_h; then - { $as_echo "$as_me:$LINENO: result: sys/ioctl.h" >&5 -$as_echo "sys/ioctl.h" >&6; } - cat >>confdefs.h <<\_ACEOF -#define STRUCT_WINSIZE_IN_SYS_IOCTL 1 -_ACEOF - -elif test $bash_cv_struct_winsize_header = termios_h; then - { $as_echo "$as_me:$LINENO: result: termios.h" >&5 -$as_echo "termios.h" >&6; } - cat >>confdefs.h <<\_ACEOF -#define STRUCT_WINSIZE_IN_TERMIOS 1 -_ACEOF - -else - { $as_echo "$as_me:$LINENO: result: not found" >&5 -$as_echo "not found" >&6; } -fi - - -{ $as_echo "$as_me:$LINENO: checking for struct dirent.d_ino" >&5 -$as_echo_n "checking for struct dirent.d_ino... " >&6; } -if test "${bash_cv_dirent_has_dino+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#ifdef HAVE_UNISTD_H -# include -#endif /* HAVE_UNISTD_H */ -#if defined(HAVE_DIRENT_H) -# include -#else -# define dirent direct -# ifdef HAVE_SYS_NDIR_H -# include -# endif /* SYSNDIR */ -# ifdef HAVE_SYS_DIR_H -# include -# endif /* SYSDIR */ -# ifdef HAVE_NDIR_H -# include -# endif -#endif /* HAVE_DIRENT_H */ - -int -main () -{ - -struct dirent d; int z; z = d.d_ino; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_dirent_has_dino=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_dirent_has_dino=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_dirent_has_dino" >&5 -$as_echo "$bash_cv_dirent_has_dino" >&6; } -if test $bash_cv_dirent_has_dino = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_DIRENT_D_INO 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking for struct dirent.d_fileno" >&5 -$as_echo_n "checking for struct dirent.d_fileno... " >&6; } -if test "${bash_cv_dirent_has_d_fileno+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#ifdef HAVE_UNISTD_H -# include -#endif /* HAVE_UNISTD_H */ -#if defined(HAVE_DIRENT_H) -# include -#else -# define dirent direct -# ifdef HAVE_SYS_NDIR_H -# include -# endif /* SYSNDIR */ -# ifdef HAVE_SYS_DIR_H -# include -# endif /* SYSDIR */ -# ifdef HAVE_NDIR_H -# include -# endif -#endif /* HAVE_DIRENT_H */ - -int -main () -{ - -struct dirent d; int z; z = d.d_fileno; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - bash_cv_dirent_has_d_fileno=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_dirent_has_d_fileno=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $bash_cv_dirent_has_d_fileno" >&5 -$as_echo "$bash_cv_dirent_has_d_fileno" >&6; } -if test $bash_cv_dirent_has_d_fileno = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_DIRENT_D_FILENO 1 -_ACEOF - -fi - - -case "$host_os" in -aix*) prefer_curses=yes ;; -esac - -if test "X$bash_cv_termcap_lib" = "X"; then -_bash_needmsg=yes -else -{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5 -$as_echo_n "checking which library has the termcap functions... " >&6; } -_bash_needmsg= -fi -if test "${bash_cv_termcap_lib+set}" = set; then - $as_echo_n "(cached) " >&6 -else - { $as_echo "$as_me:$LINENO: checking for tgetent" >&5 -$as_echo_n "checking for tgetent... " >&6; } -if test "${ac_cv_func_tgetent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define tgetent to an innocuous variant, in case declares tgetent. - For example, HP-UX 11i declares gettimeofday. */ -#define tgetent innocuous_tgetent - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char tgetent (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef tgetent - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_tgetent || defined __stub___tgetent -choke me -#endif - -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_tgetent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_tgetent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5 -$as_echo "$ac_cv_func_tgetent" >&6; } -if test "x$ac_cv_func_tgetent" = x""yes; then - bash_cv_termcap_lib=libc -else - { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5 -$as_echo_n "checking for tgetent in -ltermcap... " >&6; } -if test "${ac_cv_lib_termcap_tgetent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_termcap_tgetent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_termcap_tgetent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5 -$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } -if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then - bash_cv_termcap_lib=libtermcap -else - { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5 -$as_echo_n "checking for tgetent in -ltinfo... " >&6; } -if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltinfo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_tinfo_tgetent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_tinfo_tgetent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5 -$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; } -if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then - bash_cv_termcap_lib=libtinfo -else - { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5 -$as_echo_n "checking for tgetent in -lcurses... " >&6; } -if test "${ac_cv_lib_curses_tgetent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_curses_tgetent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_curses_tgetent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5 -$as_echo "$ac_cv_lib_curses_tgetent" >&6; } -if test "x$ac_cv_lib_curses_tgetent" = x""yes; then - bash_cv_termcap_lib=libcurses -else - { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 -$as_echo_n "checking for tgetent in -lncurses... " >&6; } -if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#include +#if defined (HAVE_LOCALE_H) +#include #endif -char tgetent (); -int -main () + +main(c, v) +int c; +char *v[]; { -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_ncurses_tgetent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + int r1, r2; + char *deflocale, *defcoll; - ac_cv_lib_ncurses_tgetent=no -fi +#ifdef HAVE_SETLOCALE + deflocale = setlocale(LC_ALL, ""); + defcoll = setlocale(LC_COLLATE, ""); +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 -$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } -if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then - bash_cv_termcap_lib=libncurses -else - bash_cv_termcap_lib=gnutermcap -fi +#ifdef HAVE_STRCOLL + /* These two values are taken from tests/glob-test. */ + r1 = strcoll("abd", "aXd"); +#else + r1 = 0; +#endif + r2 = strcmp("abd", "aXd"); -fi + /* These two should both be greater than 0. It is permissible for + a system to return different values, as long as the sign is the + same. */ -fi + /* Exit with 1 (failure) if these two values are both > 0, since + this tests whether strcoll(3) is broken with respect to strcmp(3) + in the default locale. */ + exit (r1 > 0 && r2 > 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + bash_cv_func_strcoll_broken=yes +else + bash_cv_func_strcoll_broken=no fi - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi -if test "X$_bash_needmsg" = "Xyes"; then -{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5 -$as_echo_n "checking which library has the termcap functions... " >&6; } -fi -{ $as_echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5 -$as_echo "using $bash_cv_termcap_lib" >&6; } -if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then -LDFLAGS="$LDFLAGS -L./lib/termcap" -TERMCAP_LIB="./lib/termcap/libtermcap.a" -TERMCAP_DEP="./lib/termcap/libtermcap.a" -elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then -TERMCAP_LIB=-ltermcap -TERMCAP_DEP= -elif test $bash_cv_termcap_lib = libtinfo; then -TERMCAP_LIB=-ltinfo -TERMCAP_DEP= -elif test $bash_cv_termcap_lib = libncurses; then -TERMCAP_LIB=-lncurses -TERMCAP_DEP= -elif test $bash_cv_termcap_lib = libc; then -TERMCAP_LIB= -TERMCAP_DEP= -else -TERMCAP_LIB=-lcurses -TERMCAP_DEP= -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_strcoll_broken" >&5 +$as_echo "$bash_cv_func_strcoll_broken" >&6; } +if test $bash_cv_func_strcoll_broken = yes; then +$as_echo "#define STRCOLL_BROKEN 1" >>confdefs.h -if test "$TERMCAP_LIB" = "./lib/termcap/libtermcap.a"; then - if test "$prefer_curses" = yes; then - TERMCAP_LIB=-lcurses - else - TERMCAP_LIB=-ltermcap #default - fi fi - -for ac_header in wctype.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the ctype macros accept non-ascii characters" >&5 +$as_echo_n "checking whether the ctype macros accept non-ascii characters... " >&6; } +if ${bash_cv_func_ctype_nonascii+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&5 +$as_echo "$as_me: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&2;} + bash_cv_func_ctype_nonascii=no -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +#ifdef HAVE_LOCALE_H +#include +#endif +#include +#include -fi +main(c, v) +int c; +char *v[]; +{ + char *deflocale; + unsigned char x; + int r1, r2; -done +#ifdef HAVE_SETLOCALE + /* We take a shot here. If that locale is not known, try the + system default. We try this one because '\342' (226) is + known to be a printable character in that locale. */ + deflocale = setlocale(LC_ALL, "en_US.ISO8859-1"); + if (deflocale == 0) + deflocale = setlocale(LC_ALL, ""); +#endif + x = '\342'; + r1 = isprint(x); + x -= 128; + r2 = isprint(x); + exit (r1 == 0 || r2 == 0); +} -for ac_header in wchar.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_run "$LINENO"; then : + bash_cv_func_ctype_nonascii=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + bash_cv_func_ctype_nonascii=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_ctype_nonascii" >&5 +$as_echo "$bash_cv_func_ctype_nonascii" >&6; } +if test $bash_cv_func_ctype_nonascii = yes; then +$as_echo "#define CTYPE_NON_ASCII 1" >>confdefs.h fi -done - -for ac_header in langinfo.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpw functions are declared in pwd.h" >&5 +$as_echo_n "checking whether getpw functions are declared in pwd.h... " >&6; } +if ${bash_cv_getpw_declared+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + +#include +#ifdef HAVE_UNISTD_H +# include +#endif +#include + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getpwuid" >/dev/null 2>&1; then : + bash_cv_getpw_declared=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + bash_cv_getpw_declared=no +fi +rm -f conftest* - ac_header_compiler=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_getpw_declared" >&5 +$as_echo "$bash_cv_getpw_declared" >&6; } +if test $bash_cv_getpw_declared = yes; then +$as_echo "#define HAVE_GETPW_DECLS 1" >>confdefs.h -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether termios.h defines TIOCGWINSZ" >&5 +$as_echo_n "checking whether termios.h defines TIOCGWINSZ... " >&6; } +if ${ac_cv_sys_tiocgwinsz_in_termios_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <$ac_header> +#include +#include +#ifdef TIOCGWINSZ + yes +#endif + _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + ac_cv_sys_tiocgwinsz_in_termios_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + ac_cv_sys_tiocgwinsz_in_termios_h=no fi +rm -f conftest* -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 +$as_echo "$ac_cv_sys_tiocgwinsz_in_termios_h" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ----------------------------------- ## -## Report this to bug-readline@gnu.org ## -## ----------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 +$as_echo_n "checking whether sys/ioctl.h defines TIOCGWINSZ... " >&6; } +if ${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+:} false; then : $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifdef TIOCGWINSZ + yes +#endif -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes +else + ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no +fi +rm -f conftest* fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 +$as_echo "$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6; } -done + if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then +$as_echo "#define GWINSZ_IN_SYS_IOCTL 1" >>confdefs.h -{ $as_echo "$as_me:$LINENO: checking for mbrlen" >&5 -$as_echo_n "checking for mbrlen... " >&6; } -if test "${ac_cv_func_mbrlen+set}" = set; then + fi +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sig_atomic_t in signal.h" >&5 +$as_echo_n "checking for sig_atomic_t in signal.h... " >&6; } +if ${ac_cv_have_sig_atomic_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define mbrlen to an innocuous variant, in case declares mbrlen. - For example, HP-UX 11i declares gettimeofday. */ -#define mbrlen innocuous_mbrlen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mbrlen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef mbrlen -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mbrlen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mbrlen || defined __stub___mbrlen -choke me -#endif +#include int main () { -return mbrlen (); + sig_atomic_t x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mbrlen=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_have_sig_atomic_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbrlen=no + ac_cv_have_sig_atomic_t=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5 -$as_echo "$ac_cv_func_mbrlen" >&6; } -if test "x$ac_cv_func_mbrlen" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBRLEN 1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sig_atomic_t" >&5 +$as_echo "$ac_cv_have_sig_atomic_t" >&6; } +if test "$ac_cv_have_sig_atomic_t" = "no" +then + ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "$ac_includes_default" +if test "x$ac_cv_type_sig_atomic_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define sig_atomic_t int _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for mbscasecmp" >&5 -$as_echo_n "checking for mbscasecmp... " >&6; } -if test "${ac_cv_func_mbscasecmp+set}" = set; then +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signal handlers are of type void" >&5 +$as_echo_n "checking whether signal handlers are of type void... " >&6; } +if ${bash_cv_void_sighandler+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define mbscasecmp to an innocuous variant, in case declares mbscasecmp. - For example, HP-UX 11i declares gettimeofday. */ -#define mbscasecmp innocuous_mbscasecmp - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mbscasecmp (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include +#include +#include +#ifdef signal +#undef signal #endif - -#undef mbscasecmp - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -char mbscasecmp (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mbscasecmp || defined __stub___mbscasecmp -choke me -#endif - +void (*signal ()) (); int main () { -return mbscasecmp (); +int i; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mbscasecmp=yes +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_void_sighandler=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbscasecmp=no + bash_cv_void_sighandler=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscasecmp" >&5 -$as_echo "$ac_cv_func_mbscasecmp" >&6; } -if test "x$ac_cv_func_mbscasecmp" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSCMP 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_void_sighandler" >&5 +$as_echo "$bash_cv_void_sighandler" >&6; } +if test $bash_cv_void_sighandler = yes; then +$as_echo "#define VOID_SIGHANDLER 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for mbscmp" >&5 -$as_echo_n "checking for mbscmp... " >&6; } -if test "${ac_cv_func_mbscmp+set}" = set; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIOCSTAT in sys/ioctl.h" >&5 +$as_echo_n "checking for TIOCSTAT in sys/ioctl.h... " >&6; } +if ${bash_cv_tiocstat_in_ioctl+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define mbscmp to an innocuous variant, in case declares mbscmp. - For example, HP-UX 11i declares gettimeofday. */ -#define mbscmp innocuous_mbscmp +#include +#include +int +main () +{ +int x = TIOCSTAT; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_tiocstat_in_ioctl=yes +else + bash_cv_tiocstat_in_ioctl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mbscmp (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_tiocstat_in_ioctl" >&5 +$as_echo "$bash_cv_tiocstat_in_ioctl" >&6; } +if test $bash_cv_tiocstat_in_ioctl = yes; then +$as_echo "#define TIOCSTAT_IN_SYS_IOCTL 1" >>confdefs.h -#ifdef __STDC__ -# include -#else -# include -#endif +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FIONREAD in sys/ioctl.h" >&5 +$as_echo_n "checking for FIONREAD in sys/ioctl.h... " >&6; } +if ${bash_cv_fionread_in_ioctl+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +int x = FIONREAD; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_fionread_in_ioctl=yes +else + bash_cv_fionread_in_ioctl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -#undef mbscmp +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_fionread_in_ioctl" >&5 +$as_echo "$bash_cv_fionread_in_ioctl" >&6; } +if test $bash_cv_fionread_in_ioctl = yes; then +$as_echo "#define FIONREAD_IN_SYS_IOCTL 1" >>confdefs.h -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mbscmp (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mbscmp || defined __stub___mbscmp -choke me -#endif +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for speed_t in sys/types.h" >&5 +$as_echo_n "checking for speed_t in sys/types.h... " >&6; } +if ${bash_cv_speed_t_in_sys_types+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -return mbscmp (); +speed_t x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mbscmp=yes +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_speed_t_in_sys_types=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbscmp=no + bash_cv_speed_t_in_sys_types=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5 -$as_echo "$ac_cv_func_mbscmp" >&6; } -if test "x$ac_cv_func_mbscmp" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSCMP 1 -_ACEOF + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_speed_t_in_sys_types" >&5 +$as_echo "$bash_cv_speed_t_in_sys_types" >&6; } +if test $bash_cv_speed_t_in_sys_types = yes; then +$as_echo "#define SPEED_T_IN_SYS_TYPES 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for mbsnrtowcs" >&5 -$as_echo_n "checking for mbsnrtowcs... " >&6; } -if test "${ac_cv_func_mbsnrtowcs+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct winsize in sys/ioctl.h and termios.h" >&5 +$as_echo_n "checking for struct winsize in sys/ioctl.h and termios.h... " >&6; } +if ${bash_cv_struct_winsize_header+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct winsize x; + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_struct_winsize_header=ioctl_h +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define mbsnrtowcs to an innocuous variant, in case declares mbsnrtowcs. - For example, HP-UX 11i declares gettimeofday. */ -#define mbsnrtowcs innocuous_mbsnrtowcs - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mbsnrtowcs (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef mbsnrtowcs - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mbsnrtowcs (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mbsnrtowcs || defined __stub___mbsnrtowcs -choke me -#endif - +#include +#include int main () { -return mbsnrtowcs (); +struct winsize x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mbsnrtowcs=yes +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_struct_winsize_header=termios_h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbsnrtowcs=no + bash_cv_struct_winsize_header=other fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsnrtowcs" >&5 -$as_echo "$ac_cv_func_mbsnrtowcs" >&6; } -if test "x$ac_cv_func_mbsnrtowcs" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSNRTOWCS 1 -_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +if test $bash_cv_struct_winsize_header = ioctl_h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: sys/ioctl.h" >&5 +$as_echo "sys/ioctl.h" >&6; } + $as_echo "#define STRUCT_WINSIZE_IN_SYS_IOCTL 1" >>confdefs.h +elif test $bash_cv_struct_winsize_header = termios_h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: termios.h" >&5 +$as_echo "termios.h" >&6; } + $as_echo "#define STRUCT_WINSIZE_IN_TERMIOS 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } fi -{ $as_echo "$as_me:$LINENO: checking for mbsrtowcs" >&5 -$as_echo_n "checking for mbsrtowcs... " >&6; } -if test "${ac_cv_func_mbsrtowcs+set}" = set; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_ino" >&5 +$as_echo_n "checking for struct dirent.d_ino... " >&6; } +if ${bash_cv_dirent_has_dino+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define mbsrtowcs to an innocuous variant, in case declares mbsrtowcs. - For example, HP-UX 11i declares gettimeofday. */ -#define mbsrtowcs innocuous_mbsrtowcs - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mbsrtowcs (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include +#include +#include +#ifdef HAVE_UNISTD_H +# include +#endif /* HAVE_UNISTD_H */ +#if defined(HAVE_DIRENT_H) +# include #else -# include -#endif - -#undef mbsrtowcs - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mbsrtowcs (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mbsrtowcs || defined __stub___mbsrtowcs -choke me -#endif +# define dirent direct +# ifdef HAVE_SYS_NDIR_H +# include +# endif /* SYSNDIR */ +# ifdef HAVE_SYS_DIR_H +# include +# endif /* SYSDIR */ +# ifdef HAVE_NDIR_H +# include +# endif +#endif /* HAVE_DIRENT_H */ int main () { -return mbsrtowcs (); + +struct dirent d; int z; z = d.d_ino; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mbsrtowcs=yes +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_dirent_has_dino=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbsrtowcs=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + bash_cv_dirent_has_dino=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5 -$as_echo "$ac_cv_func_mbsrtowcs" >&6; } -if test "x$ac_cv_func_mbsrtowcs" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSRTOWCS 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_dirent_has_dino" >&5 +$as_echo "$bash_cv_dirent_has_dino" >&6; } +if test $bash_cv_dirent_has_dino = yes; then +$as_echo "#define HAVE_STRUCT_DIRENT_D_INO 1" >>confdefs.h +fi -for ac_func in mbschr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_fileno" >&5 +$as_echo_n "checking for struct dirent.d_fileno... " >&6; } +if ${bash_cv_dirent_has_d_fileno+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include +#include +#include +#ifdef HAVE_UNISTD_H +# include +#endif /* HAVE_UNISTD_H */ +#if defined(HAVE_DIRENT_H) +# include #else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +# define dirent direct +# ifdef HAVE_SYS_NDIR_H +# include +# endif /* SYSNDIR */ +# ifdef HAVE_SYS_DIR_H +# include +# endif /* SYSDIR */ +# ifdef HAVE_NDIR_H +# include +# endif +#endif /* HAVE_DIRENT_H */ int main () { -return $ac_func (); + +struct dirent d; int z; z = d.d_fileno; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + bash_cv_dirent_has_d_fileno=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + bash_cv_dirent_has_d_fileno=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_dirent_has_d_fileno" >&5 +$as_echo "$bash_cv_dirent_has_d_fileno" >&6; } +if test $bash_cv_dirent_has_d_fileno = yes; then +$as_echo "#define HAVE_STRUCT_DIRENT_D_FILENO 1" >>confdefs.h + fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac +ac_fn_c_check_decl "$LINENO" "AUDIT_USER_TTY" "ac_cv_have_decl_AUDIT_USER_TTY" "#include +" +if test "x$ac_cv_have_decl_AUDIT_USER_TTY" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -done + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_AUDIT_USER_TTY $ac_have_decl +_ACEOF +case "$host_os" in +aix*) prefer_curses=yes ;; +esac -{ $as_echo "$as_me:$LINENO: checking for wcrtomb" >&5 -$as_echo_n "checking for wcrtomb... " >&6; } -if test "${ac_cv_func_wcrtomb+set}" = set; then +if test "X$bash_cv_termcap_lib" = "X"; then +_bash_needmsg=yes +else +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which library has the termcap functions" >&5 +$as_echo_n "checking which library has the termcap functions... " >&6; } +_bash_needmsg= +fi +if ${bash_cv_termcap_lib+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_fn_c_check_func "$LINENO" "tgetent" "ac_cv_func_tgetent" +if test "x$ac_cv_func_tgetent" = xyes; then : + bash_cv_termcap_lib=libc +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 +$as_echo_n "checking for tgetent in -ltermcap... " >&6; } +if ${ac_cv_lib_termcap_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltermcap $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define wcrtomb to an innocuous variant, in case declares wcrtomb. - For example, HP-UX 11i declares gettimeofday. */ -#define wcrtomb innocuous_wcrtomb - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wcrtomb (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef wcrtomb /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -9358,91 +5809,38 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char wcrtomb (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_wcrtomb || defined __stub___wcrtomb -choke me -#endif - +char tgetent (); int main () { -return wcrtomb (); +return tgetent (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_wcrtomb=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_termcap_tgetent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_wcrtomb=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + ac_cv_lib_termcap_tgetent=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5 -$as_echo "$ac_cv_func_wcrtomb" >&6; } -if test "x$ac_cv_func_wcrtomb" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_WCRTOMB 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - -{ $as_echo "$as_me:$LINENO: checking for wcscoll" >&5 -$as_echo_n "checking for wcscoll... " >&6; } -if test "${ac_cv_func_wcscoll+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 +$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } +if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : + bash_cv_termcap_lib=libtermcap +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5 +$as_echo_n "checking for tgetent in -ltinfo... " >&6; } +if ${ac_cv_lib_tinfo_tgetent+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define wcscoll to an innocuous variant, in case declares wcscoll. - For example, HP-UX 11i declares gettimeofday. */ -#define wcscoll innocuous_wcscoll - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wcscoll (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef wcscoll /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -9450,91 +5848,38 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char wcscoll (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_wcscoll || defined __stub___wcscoll -choke me -#endif - +char tgetent (); int main () { -return wcscoll (); +return tgetent (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_wcscoll=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_tinfo_tgetent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_wcscoll=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + ac_cv_lib_tinfo_tgetent=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5 -$as_echo "$ac_cv_func_wcscoll" >&6; } -if test "x$ac_cv_func_wcscoll" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_WCSCOLL 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - -{ $as_echo "$as_me:$LINENO: checking for wcsdup" >&5 -$as_echo_n "checking for wcsdup... " >&6; } -if test "${ac_cv_func_wcsdup+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_tgetent" >&5 +$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; } +if test "x$ac_cv_lib_tinfo_tgetent" = xyes; then : + bash_cv_termcap_lib=libtinfo +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lcurses" >&5 +$as_echo_n "checking for tgetent in -lcurses... " >&6; } +if ${ac_cv_lib_curses_tgetent+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define wcsdup to an innocuous variant, in case declares wcsdup. - For example, HP-UX 11i declares gettimeofday. */ -#define wcsdup innocuous_wcsdup - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wcsdup (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef wcsdup /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -9542,91 +5887,38 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char wcsdup (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_wcsdup || defined __stub___wcsdup -choke me -#endif - +char tgetent (); int main () { -return wcsdup (); +return tgetent (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_wcsdup=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_curses_tgetent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_wcsdup=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + ac_cv_lib_curses_tgetent=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5 -$as_echo "$ac_cv_func_wcsdup" >&6; } -if test "x$ac_cv_func_wcsdup" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_WCSDUP 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - -{ $as_echo "$as_me:$LINENO: checking for wcwidth" >&5 -$as_echo_n "checking for wcwidth... " >&6; } -if test "${ac_cv_func_wcwidth+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_tgetent" >&5 +$as_echo "$ac_cv_lib_curses_tgetent" >&6; } +if test "x$ac_cv_lib_curses_tgetent" = xyes; then : + bash_cv_termcap_lib=libcurses +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 +$as_echo_n "checking for tgetent in -lncurses... " >&6; } +if ${ac_cv_lib_ncurses_tgetent+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define wcwidth to an innocuous variant, in case declares wcwidth. - For example, HP-UX 11i declares gettimeofday. */ -#define wcwidth innocuous_wcwidth - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wcwidth (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef wcwidth /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -9634,278 +5926,214 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char wcwidth (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_wcwidth || defined __stub___wcwidth -choke me -#endif - +char tgetent (); int main () { -return wcwidth (); +return tgetent (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_wcwidth=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ncurses_tgetent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_ncurses_tgetent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 +$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } +if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : + bash_cv_termcap_lib=libncurses +else + bash_cv_termcap_lib=gnutermcap +fi + +fi + +fi + +fi + +fi + +fi + +if test "X$_bash_needmsg" = "Xyes"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which library has the termcap functions" >&5 +$as_echo_n "checking which library has the termcap functions... " >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using $bash_cv_termcap_lib" >&5 +$as_echo "using $bash_cv_termcap_lib" >&6; } +if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then +LDFLAGS="$LDFLAGS -L./lib/termcap" +TERMCAP_LIB="./lib/termcap/libtermcap.a" +TERMCAP_DEP="./lib/termcap/libtermcap.a" +elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then +TERMCAP_LIB=-ltermcap +TERMCAP_DEP= +elif test $bash_cv_termcap_lib = libtinfo; then +TERMCAP_LIB=-ltinfo +TERMCAP_DEP= +elif test $bash_cv_termcap_lib = libncurses; then +TERMCAP_LIB=-lncurses +TERMCAP_DEP= +elif test $bash_cv_termcap_lib = libc; then +TERMCAP_LIB= +TERMCAP_DEP= +else +TERMCAP_LIB=-lcurses +TERMCAP_DEP= +fi + +if test "$TERMCAP_LIB" = "./lib/termcap/libtermcap.a"; then + if test "$prefer_curses" = yes; then + TERMCAP_LIB=-lcurses + else + TERMCAP_LIB=-ltermcap #default + fi +fi + + +for ac_header in wctype.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default" +if test "x$ac_cv_header_wctype_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WCTYPE_H 1 +_ACEOF - ac_cv_func_wcwidth=no fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +done + +for ac_header in wchar.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" +if test "x$ac_cv_header_wchar_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WCHAR_H 1 +_ACEOF + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5 -$as_echo "$ac_cv_func_wcwidth" >&6; } -if test "x$ac_cv_func_wcwidth" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_WCWIDTH 1 + +done + +for ac_header in langinfo.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "langinfo.h" "ac_cv_header_langinfo_h" "$ac_includes_default" +if test "x$ac_cv_header_langinfo_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LANGINFO_H 1 _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for wctype" >&5 -$as_echo_n "checking for wctype... " >&6; } -if test "${ac_cv_func_wctype+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define wctype to an innocuous variant, in case declares wctype. - For example, HP-UX 11i declares gettimeofday. */ -#define wctype innocuous_wctype +done -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wctype (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif +ac_fn_c_check_func "$LINENO" "mbrlen" "ac_cv_func_mbrlen" +if test "x$ac_cv_func_mbrlen" = xyes; then : + $as_echo "#define HAVE_MBRLEN 1" >>confdefs.h -#undef wctype +fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char wctype (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_wctype || defined __stub___wctype -choke me -#endif +ac_fn_c_check_func "$LINENO" "mbscasecmp" "ac_cv_func_mbscasecmp" +if test "x$ac_cv_func_mbscasecmp" = xyes; then : + $as_echo "#define HAVE_MBSCMP 1" >>confdefs.h -int -main () -{ -return wctype (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_wctype=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi + +ac_fn_c_check_func "$LINENO" "mbscmp" "ac_cv_func_mbscmp" +if test "x$ac_cv_func_mbscmp" = xyes; then : + $as_echo "#define HAVE_MBSCMP 1" >>confdefs.h - ac_cv_func_wctype=no fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +ac_fn_c_check_func "$LINENO" "mbsnrtowcs" "ac_cv_func_mbsnrtowcs" +if test "x$ac_cv_func_mbsnrtowcs" = xyes; then : + $as_echo "#define HAVE_MBSNRTOWCS 1" >>confdefs.h + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5 -$as_echo "$ac_cv_func_wctype" >&6; } -if test "x$ac_cv_func_wctype" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_WCTYPE 1 -_ACEOF + +ac_fn_c_check_func "$LINENO" "mbsrtowcs" "ac_cv_func_mbsrtowcs" +if test "x$ac_cv_func_mbsrtowcs" = xyes; then : + $as_echo "#define HAVE_MBSRTOWCS 1" >>confdefs.h fi +ac_fn_c_check_func "$LINENO" "mbschr" "ac_cv_func_mbschr" +if test "x$ac_cv_func_mbschr" = xyes; then : + $as_echo "#define HAVE_MBSCHR 1" >>confdefs.h -for ac_func in wcswidth -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func + case " $LIBOBJS " in + *" mbschr.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS mbschr.$ac_objext" + ;; +esac -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +fi -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +ac_fn_c_check_func "$LINENO" "wcrtomb" "ac_cv_func_wcrtomb" +if test "x$ac_cv_func_wcrtomb" = xyes; then : + $as_echo "#define HAVE_WCRTOMB 1" >>confdefs.h -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi + +ac_fn_c_check_func "$LINENO" "wcscoll" "ac_cv_func_wcscoll" +if test "x$ac_cv_func_wcscoll" = xyes; then : + $as_echo "#define HAVE_WCSCOLL 1" >>confdefs.h + +fi + +ac_fn_c_check_func "$LINENO" "wcsdup" "ac_cv_func_wcsdup" +if test "x$ac_cv_func_wcsdup" = xyes; then : + $as_echo "#define HAVE_WCSDUP 1" >>confdefs.h - eval "$as_ac_var=no" fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +ac_fn_c_check_func "$LINENO" "wcwidth" "ac_cv_func_wcwidth" +if test "x$ac_cv_func_wcwidth" = xyes; then : + $as_echo "#define HAVE_WCWIDTH 1" >>confdefs.h + fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + +ac_fn_c_check_func "$LINENO" "wctype" "ac_cv_func_wctype" +if test "x$ac_cv_func_wctype" = xyes; then : + $as_echo "#define HAVE_WCTYPE 1" >>confdefs.h + +fi + + +ac_fn_c_check_func "$LINENO" "wcswidth" "ac_cv_func_wcswidth" +if test "x$ac_cv_func_wcswidth" = xyes; then : + $as_echo "#define HAVE_WCSWIDTH 1" >>confdefs.h else case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + *" wcswidth.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS wcswidth.$ac_objext" ;; esac fi -done - { $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc and mbstate_t are properly declared" >&5 $as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; } -if test "${ac_cv_func_mbrtowc+set}" = set; then +if ${ac_cv_func_mbrtowc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -9920,154 +6148,32 @@ wchar_t wc; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_mbrtowc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mbrtowc=no + ac_cv_func_mbrtowc=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mbrtowc" >&5 $as_echo "$ac_cv_func_mbrtowc" >&6; } if test $ac_cv_func_mbrtowc = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_MBRTOWC 1 -_ACEOF +$as_echo "#define HAVE_MBRTOWC 1" >>confdefs.h fi if test $ac_cv_func_mbrtowc = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSTATE_T 1 -_ACEOF + $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h fi - - - - - for ac_func in iswlower iswupper towlower towupper iswctype -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -10076,16 +6182,12 @@ fi done -{ $as_echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } -if test "${bash_cv_langinfo_codeset+set}" = set; then +if ${bash_cv_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -10096,58 +6198,27 @@ char* cs = nl_langinfo(CODESET); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : bash_cv_langinfo_codeset=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_langinfo_codeset=no + bash_cv_langinfo_codeset=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_langinfo_codeset" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_langinfo_codeset" >&5 $as_echo "$bash_cv_langinfo_codeset" >&6; } if test $bash_cv_langinfo_codeset = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_LANGINFO_CODESET 1 -_ACEOF + $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for wchar_t in wchar.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t in wchar.h" >&5 $as_echo_n "checking for wchar_t in wchar.h... " >&6; } -if test "${bash_cv_type_wchar_t+set}" = set; then +if ${bash_cv_type_wchar_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -10162,54 +6233,27 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : bash_cv_type_wchar_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_type_wchar_t=no + bash_cv_type_wchar_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wchar_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_type_wchar_t" >&5 $as_echo "$bash_cv_type_wchar_t" >&6; } if test $bash_cv_type_wchar_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WCHAR_T 1 -_ACEOF +$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for wctype_t in wctype.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t in wctype.h" >&5 $as_echo_n "checking for wctype_t in wctype.h... " >&6; } -if test "${bash_cv_type_wctype_t+set}" = set; then +if ${bash_cv_type_wctype_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -10223,54 +6267,27 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : bash_cv_type_wctype_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_type_wctype_t=no + bash_cv_type_wctype_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wctype_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_type_wctype_t" >&5 $as_echo "$bash_cv_type_wctype_t" >&6; } if test $bash_cv_type_wctype_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WCTYPE_T 1 -_ACEOF +$as_echo "#define HAVE_WCTYPE_T 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for wint_t in wctype.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t in wctype.h" >&5 $as_echo_n "checking for wint_t in wctype.h... " >&6; } -if test "${bash_cv_type_wint_t+set}" = set; then +if ${bash_cv_type_wint_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -10284,143 +6301,81 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : bash_cv_type_wint_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bash_cv_type_wint_t=no + bash_cv_type_wint_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wint_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_type_wint_t" >&5 $as_echo "$bash_cv_type_wint_t" >&6; } if test $bash_cv_type_wint_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WINT_T 1 -_ACEOF - -fi - -if test "$am_cv_func_iconv" = yes; then - OLDLIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - -for ac_func in locale_charset -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +$as_echo "#define HAVE_WINT_T 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wcwidth broken with unicode combining characters" >&5 +$as_echo_n "checking for wcwidth broken with unicode combining characters... " >&6; } +if ${bash_cv_wcwidth_broken+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func +#include +#include +#include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +#include +#include -int -main () +main(c, v) +int c; +char **v; { -return $ac_func (); - ; - return 0; + int w; + + setlocale(LC_ALL, "en_US.UTF-8"); + w = wcwidth (0x0301); + exit (w == 0); /* exit 0 if wcwidth broken */ } + _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + bash_cv_wcwidth_broken=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + bash_cv_wcwdith_broken=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - eval "$as_ac_var=no" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_wcwidth_broken" >&5 +$as_echo "$bash_cv_wcwidth_broken" >&6; } +if test "$bash_cv_wcwidth_broken" = yes; then + +$as_echo "#define WCWIDTH_BROKEN 1" >>confdefs.h -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + +if test "$am_cv_func_iconv" = yes; then + OLDLIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + for ac_func in locale_charset +do : + ac_fn_c_check_func "$LINENO" "locale_charset" "ac_cv_func_locale_charset" +if test "x$ac_cv_func_locale_charset" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_LOCALE_CHARSET 1 _ACEOF fi @@ -10446,7 +6401,7 @@ esac # ${srcdir}/support/shobj-conf # if test -f ${srcdir}/support/shobj-conf; then - { $as_echo "$as_me:$LINENO: checking configuration for building shared libraries" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking configuration for building shared libraries" >&5 $as_echo_n "checking configuration for building shared libraries... " >&6; } eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}` @@ -10470,7 +6425,7 @@ $as_echo_n "checking configuration for building shared libraries... " >&6; } - { $as_echo "$as_me:$LINENO: result: $SHLIB_STATUS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHLIB_STATUS" >&5 $as_echo "$SHLIB_STATUS" >&6; } # SHLIB_STATUS is either `supported' or `unsupported'. If it's @@ -10501,7 +6456,7 @@ fi -case "$host_os" in +case "$build_os" in msdosdjgpp*) BUILD_DIR=`pwd.exe` ;; # to prevent //d/path/file *) BUILD_DIR=`pwd` ;; esac @@ -10560,13 +6515,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -10574,8 +6529,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -10597,12 +6552,23 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -10616,14 +6582,15 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -10631,13 +6598,14 @@ LTLIBOBJS=$ac_ltlibobjs -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -10647,17 +6615,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -10665,23 +6634,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -10689,7 +6650,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -10700,7 +6667,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -10723,13 +6690,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -10739,15 +6699,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -10759,12 +6720,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -10776,7 +6741,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -10790,8 +6837,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -10811,76 +6862,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -10909,8 +6909,56 @@ fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -10929,10 +6977,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -10947,13 +6995,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by readline $as_me 6.2, which was -generated by GNU Autoconf 2.63. Invocation command line was +This file was extended by readline $as_me 6.3, which was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -10985,13 +7039,15 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -11010,16 +7066,17 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -readline config.status 6.2 -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +readline config.status 6.3 +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -11035,11 +7092,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -11053,27 +7115,29 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -11081,11 +7145,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -11138,9 +7201,7 @@ do "shlib/Makefile") CONFIG_FILES="$CONFIG_FILES shlib/Makefile" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -11163,26 +7224,24 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -11190,7 +7249,13 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' @@ -11198,7 +7263,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -11207,24 +7272,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -11232,7 +7291,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -11246,7 +7305,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -11260,7 +7319,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -11280,7 +7339,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -11312,23 +7371,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -11340,7 +7405,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -11352,13 +7417,11 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -11443,9 +7506,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -11458,9 +7519,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -11479,7 +7538,7 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -11488,12 +7547,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -11504,7 +7561,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -11516,10 +7573,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -11547,47 +7602,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -11639,7 +7654,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -11649,12 +7663,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -11664,7 +7677,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -11691,27 +7704,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -11720,31 +7730,25 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -11760,15 +7764,12 @@ echo > stamp-h done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -11789,10 +7790,10 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..cea8f91 --- /dev/null +++ b/configure.ac @@ -0,0 +1,303 @@ +dnl +dnl Configure script for readline library +dnl +dnl report bugs to chet@po.cwru.edu +dnl +dnl Process this file with autoconf to produce a configure script. + +# Copyright (C) 1987-2014 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 3 of the License, 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, see . + +AC_REVISION([for Readline 6.3, version 2.73]) + +AC_INIT(readline, 6.3, bug-readline@gnu.org) + +dnl make sure we are using a recent autoconf version +AC_PREREQ(2.50) + +AC_CONFIG_SRCDIR(readline.h) +AC_CONFIG_AUX_DIR(./support) +AC_CONFIG_HEADERS(config.h) + +dnl update the value of RL_READLINE_VERSION in readline.h when this changes +LIBVERSION=6.3 + +AC_CANONICAL_HOST +AC_CANONICAL_BUILD + +dnl configure defaults +opt_curses=no +opt_purify=no + +dnl arguments to configure +AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval) +AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval) + +if test "$opt_curses" = "yes"; then + prefer_curses=yes +fi + +if test "$opt_purify" = yes; then + PURIFY="purify" +else + PURIFY= +fi + +dnl option parsing for optional features +opt_multibyte=yes +opt_static_libs=yes +opt_shared_libs=yes + +AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval) +AC_ARG_ENABLE(shared, AC_HELP_STRING([--enable-shared], [build shared libraries [[default=YES]]]), opt_shared_libs=$enableval) +AC_ARG_ENABLE(static, AC_HELP_STRING([--enable-static], [build static libraries [[default=YES]]]), opt_static_libs=$enableval) + +if test $opt_multibyte = no; then +AC_DEFINE(NO_MULTIBYTE_SUPPORT) +fi + +dnl load up the cross-building cache file -- add more cases and cache +dnl files as necessary + +dnl Note that host and target machine are the same, and different than the +dnl build machine. + +CROSS_COMPILE= +if test "x$cross_compiling" = "xyes"; then + case "${host}" in + *-cygwin*) + cross_cache=${srcdir}/cross-build/cygwin.cache + ;; + *-mingw*) + cross_cache=${srcdir}/cross-build/mingw.cache + ;; + i[[3456]]86-*-beos*) + cross_cache=${srcdir}/cross-build/x86-beos.cache + ;; + *) echo "configure: cross-compiling for $host is not supported" >&2 + ;; + esac + if test -n "${cross_cache}" && test -r "${cross_cache}"; then + echo "loading cross-build cache file ${cross_cache}" + . ${cross_cache} + fi + unset cross_cache + CROSS_COMPILE='-DCROSS_COMPILING' + AC_SUBST(CROSS_COMPILE) +fi + +echo "" +echo "Beginning configuration for readline-$LIBVERSION for ${host_cpu}-${host_vendor}-${host_os}" +echo "" + +# We want these before the checks, so the checks can modify their values. +test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1 + +AC_PROG_MAKE_SET +AC_PROG_CC +dnl AC_AIX +AC_MINIX + +# If we're using gcc and the user hasn't specified CFLAGS, add -O to CFLAGS. +test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O" + +AC_PROG_GCC_TRADITIONAL +AC_PROG_INSTALL +AC_CHECK_TOOL(AR, ar) +dnl Set default for ARFLAGS, since autoconf does not have a macro for it. +dnl This allows people to set it when running configure or make +test -n "$ARFLAGS" || ARFLAGS="cr" +AC_PROG_RANLIB + +MAKE_SHELL=/bin/sh +AC_SUBST(MAKE_SHELL) + +AC_C_CONST +AC_C_PROTOTYPES +AC_C_CHAR_UNSIGNED +AC_C_VOLATILE + +AC_TYPE_SIGNAL + +AC_TYPE_SIZE_T +AC_CHECK_TYPE(ssize_t, int) + +AC_HEADER_STDC + +AC_HEADER_STAT +AC_HEADER_DIRENT + +AC_CHECK_FUNCS(fcntl kill lstat) +AC_CHECK_FUNCS(memmove putenv select setenv setlocale \ + strcasecmp strpbrk tcgetattr vsnprintf) +AC_CHECK_FUNCS(isascii isxdigit) +AC_CHECK_FUNCS(getpwent getpwnam getpwuid) + +AC_FUNC_STRCOLL + +AC_CHECK_HEADERS(fcntl.h unistd.h stdlib.h varargs.h stdarg.h stdbool.h \ + string.h strings.h \ + limits.h locale.h pwd.h memory.h termcap.h termios.h termio.h) +AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h) + +AC_CHECK_HEADERS(sys/ptem.h,,, +[[ +#if HAVE_SYS_STREAM_H +# include +#endif +]]) + +AC_SYS_LARGEFILE + +BASH_SYS_SIGNAL_VINTAGE +BASH_SYS_REINSTALL_SIGHANDLERS + +BASH_FUNC_POSIX_SETJMP +BASH_FUNC_LSTAT +BASH_FUNC_STRCOLL +BASH_FUNC_CTYPE_NONASCII + +BASH_CHECK_GETPW_FUNCS + +AC_HEADER_TIOCGWINSZ + +BASH_TYPE_SIG_ATOMIC_T +BASH_TYPE_SIGHANDLER + +BASH_HAVE_TIOCSTAT +BASH_HAVE_FIONREAD +BASH_CHECK_SPEED_T +BASH_STRUCT_WINSIZE +BASH_STRUCT_DIRENT_D_INO +BASH_STRUCT_DIRENT_D_FILENO + +AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include ]]) + +dnl yuck +case "$host_os" in +aix*) prefer_curses=yes ;; +esac +BASH_CHECK_LIB_TERMCAP +if test "$TERMCAP_LIB" = "./lib/termcap/libtermcap.a"; then + if test "$prefer_curses" = yes; then + TERMCAP_LIB=-lcurses + else + TERMCAP_LIB=-ltermcap #default + fi +fi + +BASH_CHECK_MULTIBYTE + +case "$host_cpu" in +*cray*) LOCAL_CFLAGS=-DCRAY ;; +*s390*) LOCAL_CFLAGS=-fsigned-char ;; +esac + +case "$host_os" in +isc*) LOCAL_CFLAGS=-Disc386 ;; +esac + +# shared library configuration section +# +# Shared object configuration section. These values are generated by +# ${srcdir}/support/shobj-conf +# +if test -f ${srcdir}/support/shobj-conf; then + AC_MSG_CHECKING(configuration for building shared libraries) + eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}` + +# case "$SHLIB_LIBS" in +# *curses*|*termcap*|*termlib*) ;; +# *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; +# esac + + AC_SUBST(SHOBJ_CC) + AC_SUBST(SHOBJ_CFLAGS) + AC_SUBST(SHOBJ_LD) + AC_SUBST(SHOBJ_LDFLAGS) + AC_SUBST(SHOBJ_XLDFLAGS) + AC_SUBST(SHOBJ_LIBS) + AC_SUBST(SHOBJ_STATUS) + AC_SUBST(SHLIB_STATUS) + AC_SUBST(SHLIB_XLDFLAGS) + AC_SUBST(SHLIB_DOT) + AC_SUBST(SHLIB_LIBPREF) + AC_SUBST(SHLIB_LIBSUFF) + AC_SUBST(SHLIB_LIBVERSION) + AC_SUBST(SHLIB_DLLVERSION) + AC_SUBST(SHLIB_LIBS) + AC_MSG_RESULT($SHLIB_STATUS) + + # SHLIB_STATUS is either `supported' or `unsupported'. If it's + # `unsupported', turn off any default shared library building + if test "$SHLIB_STATUS" = 'unsupported'; then + opt_shared_libs=no + fi + + # 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 + +if test "$opt_static_libs" = "yes"; then + STATIC_TARGET=static + STATIC_INSTALL_TARGET=install-static +fi +if test "$opt_shared_libs" = "yes"; then + SHARED_TARGET=shared + SHARED_INSTALL_TARGET=install-shared +fi + +AC_SUBST(STATIC_TARGET) +AC_SUBST(SHARED_TARGET) +AC_SUBST(STATIC_INSTALL_TARGET) +AC_SUBST(SHARED_INSTALL_TARGET) + +case "$build_os" in +msdosdjgpp*) BUILD_DIR=`pwd.exe` ;; # to prevent //d/path/file +*) BUILD_DIR=`pwd` ;; +esac + +case "$BUILD_DIR" in +*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;; +*) ;; +esac + +AC_SUBST(PURIFY) +AC_SUBST(BUILD_DIR) + +AC_SUBST(CFLAGS) +AC_SUBST(LOCAL_CFLAGS) +AC_SUBST(LOCAL_LDFLAGS) +AC_SUBST(LOCAL_DEFS) + +AC_SUBST(AR) +AC_SUBST(ARFLAGS) + +AC_SUBST(host_cpu) +AC_SUBST(host_os) + +AC_SUBST(LIBVERSION) + +AC_SUBST(TERMCAP_LIB) + +AC_OUTPUT([Makefile doc/Makefile examples/Makefile shlib/Makefile], +[ +# Makefile uses this timestamp file to record whether config.h is up to date. +echo > stamp-h +]) diff --git a/display.c b/display.c index e4105ee..913e0da 100644 --- a/display.c +++ b/display.c @@ -1,6 +1,6 @@ /* display.c -- readline redisplay facility. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2013 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -41,6 +41,10 @@ #include +#ifdef __MSDOS__ +# include +#endif + /* System-specific feature definitions and include files. */ #include "rldefs.h" #include "rlmbutil.h" @@ -63,6 +67,7 @@ static void update_line PARAMS((char *, char *, int, int, int, int)); static void space_to_eol PARAMS((int)); static void delete_chars PARAMS((int)); static void insert_some_chars PARAMS((char *, int, int)); +static void open_some_spaces PARAMS((int)); static void cr PARAMS((void)); /* State of visible and invisible lines. */ @@ -165,6 +170,7 @@ int _rl_last_v_pos = 0; static int cpos_adjusted; static int cpos_buffer_position; +static int displaying_prompt_first_line; static int prompt_multibyte_chars; /* Number of lines currently on screen minus 1. */ @@ -176,7 +182,8 @@ int _rl_vis_botlin = 0; static int last_lmargin; /* A buffer for `modeline' messages. */ -static char msg_buf[128]; +static char *msg_buf = 0; +static int msg_bufsiz = 0; /* Non-zero forces the redisplay even if we thought it was unnecessary. */ static int forced_display; @@ -232,6 +239,18 @@ static int saved_local_length; static int saved_invis_chars_first_line; static int saved_physical_chars; +/* Return a character indicating the editing mode, for use in the prompt. */ +static int +prompt_modechar () +{ + if (rl_editing_mode == emacs_mode) + return '@'; + else if (_rl_keymap == vi_insertion_keymap) + return '+'; /* vi insert mode */ + else + return ':'; /* vi command mode */ +} + /* 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 @@ -258,7 +277,16 @@ expand_prompt (pmt, lp, lip, niflp, vlp) /* Short-circuit if we can. */ if ((MB_CUR_MAX <= 1 || rl_byte_oriented) && strchr (pmt, RL_PROMPT_START_IGNORE) == 0) { - r = savestring (pmt); + if (pmt == rl_prompt && _rl_show_mode_in_prompt) + { + l = strlen (pmt); + r = (char *)xmalloc (l + 2); + r[0] = prompt_modechar (); + strcpy (r + 1, pmt); + } + else + r = savestring (pmt); + if (lp) *lp = strlen (r); if (lip) @@ -271,13 +299,20 @@ expand_prompt (pmt, lp, lip, niflp, vlp) } l = strlen (pmt); - r = ret = (char *)xmalloc (l + 1); + r = ret = (char *)xmalloc (l + 2); + + rl = physchars = 0; /* move up here so mode show can set them */ + if (pmt == rl_prompt && _rl_show_mode_in_prompt) + { + *r++ = prompt_modechar (); + rl = physchars = 1; + } invfl = 0; /* invisible chars in first line of prompt */ invflset = 0; /* we only want to set invfl once */ igstart = 0; - for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++) + for (ignoring = last = ninvis = 0, p = pmt; p && *p; p++) { /* This code strips the invisible character string markers RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE */ @@ -366,6 +401,12 @@ _rl_strip_prompt (pmt) return ret; } +void +_rl_reset_prompt () +{ + rl_visible_prompt_length = rl_expand_prompt (rl_prompt); +} + /* * Expand the prompt string into the various display components, if * necessary. @@ -707,10 +748,9 @@ rl_redisplay () /* Now account for invisible characters in the current line. */ /* XXX - this assumes that the invisible characters may be split, but only between the first and the last lines. */ - temp += ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line - : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line)) - : ((newlines == 0) ? wrap_offset : 0)); - + temp += (newlines == 0) ? prompt_invis_chars_first_line + : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line); + inv_lbreaks[++newlines] = temp; #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) @@ -761,7 +801,7 @@ rl_redisplay () break; /* Found '\0' */ else { - temp = wcwidth (wc); + temp = WCWIDTH (wc); wc_width = (temp >= 0) ? temp : 1; } } @@ -925,7 +965,7 @@ rl_redisplay () /* If we can move the cursor up and down, then use multiple lines, otherwise, let long lines display in a single terminal line, and horizontally scroll it. */ - + displaying_prompt_first_line = 1; if (_rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up) { int nleft, pos, changed_screen_line, tx; @@ -1179,6 +1219,8 @@ rl_redisplay () else lmargin = last_lmargin; + displaying_prompt_first_line = lmargin < nleft; + /* If the first character on the screen isn't the first character in the display line, indicate this with a special character. */ if (lmargin > 0) @@ -1204,7 +1246,8 @@ rl_redisplay () _rl_screenwidth + (lmargin ? 0 : wrap_offset), 0); - if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && OLD_CPOS_IN_PROMPT()) + if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && + displaying_prompt_first_line && OLD_CPOS_IN_PROMPT()) _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ /* If the visible new line is shorter than the old, but the number @@ -1212,7 +1255,7 @@ rl_redisplay () the new line, we need to clear to eol. */ t = _rl_last_c_pos - M_OFFSET (lmargin, wrap_offset); if ((M_OFFSET (lmargin, wrap_offset) > visible_wrap_offset) && - (_rl_last_c_pos == out) && + (_rl_last_c_pos == out) && displaying_prompt_first_line && t < visible_first_line_len) { nleft = _rl_screenwidth - t; @@ -1274,6 +1317,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) int temp, lendiff, wsatend, od, nd, twidth, o_cpos; int current_invis_chars; int col_lendiff, col_temp; + int bytes_to_insert; #if defined (HANDLE_MULTIBYTE) mbstate_t ps_new, ps_old; int new_offset, old_offset; @@ -1300,7 +1344,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) size_t ret; /* This fixes only double-column characters, but if the wrapped - character comsumes more than three columns, spaces will be + character consumes more than three columns, spaces will be inserted in the string buffer. */ if (current_line < line_state_visible->wbsize && line_state_visible->wrapped_line[current_line] > 0) _rl_clear_to_eol (line_state_visible->wrapped_line[current_line]); @@ -1315,7 +1359,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) else if (MB_NULLWCH (ret)) tempwidth = 0; else - tempwidth = wcwidth (wc); + tempwidth = WCWIDTH (wc); if (tempwidth > 0) { @@ -1335,7 +1379,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) memcpy (old, new, bytes); /* Fix up indices if we copy data from one line to another */ omax += bytes - ret; - for (i = current_line+1; i < inv_botlin+1; i++) + for (i = current_line+1; i <= inv_botlin+1; i++) vis_lbreaks[i] += bytes - ret; } } @@ -1372,6 +1416,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) temp = (omax < nmax) ? omax : nmax; if (memcmp (old, new, temp) == 0) /* adding at the end */ { + new_offset = old_offset = temp; ofd = old + temp; nfd = new + temp; } @@ -1382,6 +1427,8 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (omax == nmax && STREQN (new, old, omax)) { + old_offset = omax; + new_offset = nmax; ofd = old + omax; nfd = new + nmax; } @@ -1394,6 +1441,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) { old_offset = _rl_find_next_mbchar (old, old_offset, 1, MB_FIND_ANY); new_offset = _rl_find_next_mbchar (new, new_offset, 1, MB_FIND_ANY); + ofd = old + old_offset; nfd = new + new_offset; } @@ -1417,6 +1465,27 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (ofd == oe && nfd == ne) return; +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_utf8locale) + { + wchar_t wc; + mbstate_t ps = { 0 }; + int t; + + /* If the first character in the difference is a zero-width character, + assume it's a combining character and back one up so the two base + characters no longer compare equivalently. */ + t = mbrtowc (&wc, ofd, MB_CUR_MAX, &ps); + if (t > 0 && UNICODE_COMBINING_CHAR (wc) && WCWIDTH (wc) == 0) + { + old_offset = _rl_find_prev_mbchar (old, ofd - old, MB_FIND_ANY); + new_offset = _rl_find_prev_mbchar (new, nfd - new, MB_FIND_ANY); + ofd = old + old_offset; /* equal by definition */ + nfd = new + new_offset; + } + } +#endif + wsatend = 1; /* flag for trailing whitespace */ #if defined (HANDLE_MULTIBYTE) @@ -1424,6 +1493,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) { ols = old + _rl_find_prev_mbchar (old, oe - old, MB_FIND_ANY); nls = new + _rl_find_prev_mbchar (new, ne - new, MB_FIND_ANY); + while ((ols > ofd) && (nls > nfd)) { memset (&ps_old, 0, sizeof (mbstate_t)); @@ -1540,10 +1610,10 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) o_cpos = _rl_last_c_pos; /* When this function returns, _rl_last_c_pos is correct, and an absolute - cursor postion in multibyte mode, but a buffer index when not in a + cursor position in multibyte mode, but a buffer index when not in a multibyte locale. */ _rl_move_cursor_relative (od, old); -#if 1 + #if defined (HANDLE_MULTIBYTE) /* We need to indicate that the cursor position is correct in the presence of invisible characters in the prompt string. Let's see if setting this when @@ -1552,12 +1622,11 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) (_rl_last_c_pos > 0 || o_cpos > 0) && _rl_last_c_pos == prompt_physical_chars) cpos_adjusted = 1; -#endif #endif /* if (len (new) > len (old)) - lendiff == difference in buffer - col_lendiff == difference on screen + lendiff == difference in buffer (bytes) + col_lendiff == difference on screen (columns) When not using multibyte characters, these are equal */ lendiff = (nls - nfd) - (ols - ofd); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1583,6 +1652,10 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) } } + /* We use temp as a count of the number of bytes from the first difference + to the end of the new line. col_temp is the corresponding number of + screen columns. A `dumb' update moves to the spot of first difference + and writes TEMP bytes. */ /* Insert (diff (len (old), len (new)) ch. */ temp = ne - nfd; if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1590,6 +1663,10 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) else col_temp = temp; + /* how many bytes from the new line buffer to write to the display */ + bytes_to_insert = nls - nfd; + + /* col_lendiff > 0 if we are adding characters to the line */ if (col_lendiff > 0) /* XXX - was lendiff */ { /* Non-zero if we're increasing the number of lines. */ @@ -1603,11 +1680,11 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (lendiff < 0) { _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += _rl_col_width (nfd, 0, temp, 1); + _rl_last_c_pos += col_temp; /* XXX - was _rl_col_width (nfd, 0, temp, 1); */ /* If nfd begins before any invisible characters in the prompt, adjust _rl_last_c_pos to account for wrap_offset and set cpos_adjusted to let the caller know. */ - if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + if (current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible)) { _rl_last_c_pos -= wrap_offset; cpos_adjusted = 1; @@ -1638,57 +1715,42 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) (col_lendiff < prompt_visible_length)) == 0) && (visible_wrap_offset >= current_invis_chars)) { - insert_some_chars (nfd, lendiff, col_lendiff); - _rl_last_c_pos += col_lendiff; - } -#if 0 /* XXX - for now */ - else if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && _rl_last_c_pos == 0 && wrap_offset && (nfd-new) <= prompt_last_invisible && col_lendiff < prompt_visible_length && visible_wrap_offset >= current_invis_chars) - { - _rl_output_some_chars (nfd, lendiff); - _rl_last_c_pos += col_lendiff; + open_some_spaces (col_lendiff); + _rl_output_some_chars (nfd, bytes_to_insert); + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + _rl_last_c_pos += _rl_col_width (nfd, 0, bytes_to_insert, 1); + else + _rl_last_c_pos += bytes_to_insert; } -#endif else if ((MB_CUR_MAX == 1 || rl_byte_oriented != 0) && *ols == 0 && lendiff > 0) { /* At the end of a line the characters do not have to be "inserted". They can just be placed on the screen. */ - /* However, this screws up the rest of this block, which - assumes you've done the insert because you can. */ - _rl_output_some_chars (nfd, lendiff); - _rl_last_c_pos += col_lendiff; + _rl_output_some_chars (nfd, temp); + _rl_last_c_pos += col_temp; + return; } - else + else /* just write from first difference to end of new line */ { _rl_output_some_chars (nfd, temp); _rl_last_c_pos += col_temp; /* If nfd begins before the last invisible character in the prompt, adjust _rl_last_c_pos to account for wrap_offset and set cpos_adjusted to let the caller know. */ - if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible)) { _rl_last_c_pos -= wrap_offset; cpos_adjusted = 1; } return; } - /* Copy (new) chars to screen from first diff to last match. */ - temp = nls - nfd; - if ((temp - lendiff) > 0) + + if (bytes_to_insert > lendiff) { - _rl_output_some_chars (nfd + lendiff, temp - lendiff); - /* XXX -- this bears closer inspection. Fixes a redisplay bug - reported against bash-3.0-alpha by Andreas Schwab involving - multibyte characters and prompt strings with invisible - characters, but was previously disabled. */ - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) - twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff, 1); - else - twidth = temp - lendiff; - _rl_last_c_pos += twidth; /* If nfd begins before the last invisible character in the prompt, adjust _rl_last_c_pos to account for wrap_offset and set cpos_adjusted to let the caller know. */ - if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible)) { _rl_last_c_pos -= wrap_offset; cpos_adjusted = 1; @@ -1706,6 +1768,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) a physical character position. */ if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && current_line == prompt_last_screen_line && wrap_offset && + displaying_prompt_first_line && wrap_offset != prompt_invis_chars_first_line && ((nfd-new) < (prompt_last_invisible-(current_line*_rl_screenwidth)))) { @@ -1723,32 +1786,47 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) prompt string, don't bother. It screws up the assumptions about what's on the screen. */ if (_rl_horizontal_scroll_mode && _rl_last_c_pos == 0 && + displaying_prompt_first_line && -lendiff == visible_wrap_offset) col_lendiff = 0; + /* If we have moved lmargin and we're shrinking the line, we've + already moved the cursor to the first character of the new line, + so deleting -col_lendiff characters will mess up the cursor + position calculation */ + if (_rl_horizontal_scroll_mode && displaying_prompt_first_line == 0 && + col_lendiff && _rl_last_c_pos < -col_lendiff) + col_lendiff = 0; + if (col_lendiff) delete_chars (-col_lendiff); /* delete (diff) characters */ - /* Copy (new) chars to screen from first diff to last match */ - temp = nls - nfd; - if (temp > 0) + /* Copy (new) chars to screen from first diff to last match, + overwriting what is there. */ + if (bytes_to_insert > 0) { /* If nfd begins at the prompt, or before the invisible characters in the prompt, we need to adjust _rl_last_c_pos in a multibyte locale to account for the wrap offset and set cpos_adjusted accordingly. */ - _rl_output_some_chars (nfd, temp); + _rl_output_some_chars (nfd, bytes_to_insert); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { - _rl_last_c_pos += _rl_col_width (nfd, 0, temp, 1); - if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + _rl_last_c_pos += _rl_col_width (nfd, 0, bytes_to_insert, 1); + if (current_line == 0 && wrap_offset && + displaying_prompt_first_line && + _rl_last_c_pos > wrap_offset && + ((nfd - new) <= prompt_last_invisible)) { _rl_last_c_pos -= wrap_offset; cpos_adjusted = 1; } } else - _rl_last_c_pos += temp; + _rl_last_c_pos += bytes_to_insert; + + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) + goto clear_rest_of_line; } } /* Otherwise, print over the existing material. */ @@ -1764,29 +1842,29 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) _rl_last_c_pos += col_temp; /* XXX */ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { - if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + if (current_line == 0 && wrap_offset && + displaying_prompt_first_line && + _rl_last_c_pos > wrap_offset && + ((nfd - new) <= prompt_last_invisible)) { _rl_last_c_pos -= wrap_offset; cpos_adjusted = 1; } } } +clear_rest_of_line: lendiff = (oe - old) - (ne - new); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) col_lendiff = _rl_col_width (old, 0, oe - old, 1) - _rl_col_width (new, 0, ne - new, 1); else col_lendiff = lendiff; -#if 0 - if (col_lendiff) -#else /* If we've already printed over the entire width of the screen, including the old material, then col_lendiff doesn't matter and space_to_eol will insert too many spaces. XXX - maybe we should adjust col_lendiff based on the difference between _rl_last_c_pos and _rl_screenwidth */ if (col_lendiff && ((MB_CUR_MAX == 1 || rl_byte_oriented) || (_rl_last_c_pos < _rl_screenwidth))) -#endif { if (_rl_term_autowrap && current_line < inv_botlin) space_to_eol (col_lendiff); @@ -1938,6 +2016,9 @@ _rl_move_cursor_relative (new, data) else dpos = _rl_col_width (data, 0, new, 1); + if (displaying_prompt_first_line == 0) + adjust = 0; + /* Use NEW when comparing against the last invisible character in the prompt string, since they're both buffer indices and DPOS is a desired display position. */ @@ -2056,9 +2137,18 @@ _rl_move_vert (to) } else { /* delta < 0 */ +#ifdef __DJGPP__ + int row, col; + + fflush (rl_outstream); + ScreenGetCursor (&row, &col); + ScreenSetCursor (row + delta, col); + i = -delta; +#else if (_rl_term_up && *_rl_term_up) for (i = 0; i < -delta; i++) tputs (_rl_term_up, 1, _rl_output_character_function); +#endif /* !__DJGPP__ */ } _rl_last_v_pos = to; /* Now TO is here */ @@ -2136,6 +2226,9 @@ rl_message (va_alist) #if defined (PREFER_VARARGS) char *format; #endif +#if defined (HAVE_VSNPRINTF) + int bneed; +#endif #if defined (PREFER_STDARG) va_start (args, format); @@ -2144,11 +2237,28 @@ rl_message (va_alist) format = va_arg (args, char *); #endif + if (msg_buf == 0) + msg_buf = xmalloc (msg_bufsiz = 128); + #if defined (HAVE_VSNPRINTF) - vsnprintf (msg_buf, sizeof (msg_buf) - 1, format, args); + bneed = vsnprintf (msg_buf, msg_bufsiz - 1, format, args); + if (bneed >= msg_bufsiz - 1) + { + msg_bufsiz = bneed + 1; + msg_buf = xrealloc (msg_buf, msg_bufsiz); + va_end (args); + +#if defined (PREFER_STDARG) + va_start (args, format); +#else + va_start (args); + format = va_arg (args, char *); +#endif + vsnprintf (msg_buf, msg_bufsiz - 1, format, args); + } #else vsprintf (msg_buf, format, args); - msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */ + msg_buf[msg_bufsiz - 1] = '\0'; /* overflow? */ #endif va_end (args); @@ -2157,6 +2267,12 @@ rl_message (va_alist) rl_save_prompt (); msg_saved_prompt = 1; } + else if (local_prompt != saved_local_prompt) + { + FREE (local_prompt); + FREE (local_prompt_prefix); + local_prompt = (char *)NULL; + } rl_display_prompt = msg_buf; local_prompt = expand_prompt (msg_buf, &prompt_visible_length, &prompt_last_invisible, @@ -2173,8 +2289,11 @@ int rl_message (format, arg1, arg2) char *format; { + if (msg_buf == 0) + msg_buf = xmalloc (msg_bufsiz = 128); + sprintf (msg_buf, format, arg1, arg2); - msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */ + msg_buf[msg_bufsiz - 1] = '\0'; /* overflow? */ rl_display_prompt = msg_buf; if (saved_local_prompt == 0) @@ -2182,6 +2301,12 @@ rl_message (format, arg1, arg2) rl_save_prompt (); msg_saved_prompt = 1; } + else if (local_prompt != saved_local_prompt) + { + FREE (local_prompt); + FREE (local_prompt_prefix); + local_prompt = (char *)NULL; + } local_prompt = expand_prompt (msg_buf, &prompt_visible_length, &prompt_last_invisible, &prompt_invis_chars_first_line, @@ -2318,10 +2443,13 @@ void _rl_clear_to_eol (count) int count; { +#ifndef __MSDOS__ if (_rl_term_clreol) tputs (_rl_term_clreol, 1, _rl_output_character_function); - else if (count) - space_to_eol (count); + else +#endif + if (count) + space_to_eol (count); } /* Clear to the end of the line using spaces. COUNT is the minimum @@ -2341,10 +2469,15 @@ space_to_eol (count) void _rl_clear_screen () { +#ifndef __DJGPP__ if (_rl_term_clrpag) tputs (_rl_term_clrpag, 1, _rl_output_character_function); else rl_crlf (); +#else + ScreenClear (); + ScreenSetCursor (0, 0); +#endif /* __DJGPP__ */ } /* Insert COUNT characters from STRING to the output stream at column COL. */ @@ -2353,48 +2486,47 @@ insert_some_chars (string, count, col) char *string; int count, col; { -#if defined (__MSDOS__) || defined (__MINGW32__) + open_some_spaces (col); _rl_output_some_chars (string, count); -#else - /* DEBUGGING */ - if (MB_CUR_MAX == 1 || rl_byte_oriented) - if (count != col) - _rl_ttymsg ("debug: insert_some_chars: count (%d) != col (%d)", count, col); +} + +/* Insert COL spaces, keeping the cursor at the same position. We follow the + ncurses documentation and use either im/ei with explicit spaces, or IC/ic + by itself. We assume there will either be ei or we don't need to use it. */ +static void +open_some_spaces (col) + int col; +{ +#if !defined (__MSDOS__) && !defined (__MINGW32__) + char *buffer; + register int i; /* If IC is defined, then we do not have to "enter" insert mode. */ if (_rl_term_IC) { - char *buffer; - buffer = tgoto (_rl_term_IC, 0, col); tputs (buffer, 1, _rl_output_character_function); - _rl_output_some_chars (string, count); } - else + else if (_rl_term_im && *_rl_term_im) { - register int i; - - /* If we have to turn on insert-mode, then do so. */ - if (_rl_term_im && *_rl_term_im) - tputs (_rl_term_im, 1, _rl_output_character_function); - - /* If there is a special command for inserting characters, then - use that first to open up the space. */ - if (_rl_term_ic && *_rl_term_ic) - { - for (i = col; i--; ) - tputs (_rl_term_ic, 1, _rl_output_character_function); - } - - /* Print the text. */ - _rl_output_some_chars (string, count); - - /* If there is a string to turn off insert mode, we had best use - it now. */ + tputs (_rl_term_im, 1, _rl_output_character_function); + /* just output the desired number of spaces */ + for (i = col; i--; ) + _rl_output_character_function (' '); + /* If there is a string to turn off insert mode, use it now. */ if (_rl_term_ei && *_rl_term_ei) tputs (_rl_term_ei, 1, _rl_output_character_function); + /* and move back the right number of spaces */ + _rl_backspace (col); + } + else if (_rl_term_ic && *_rl_term_ic) + { + /* If there is a special command for inserting characters, then + use that first to open up the space. */ + for (i = col; i--; ) + tputs (_rl_term_ic, 1, _rl_output_character_function); } -#endif /* __MSDOS__ || __MINGW32__ */ +#endif /* !__MSDOS__ && !__MINGW32__ */ } /* Delete COUNT characters from the display line. */ @@ -2599,10 +2731,8 @@ _rl_col_width (str, start, end, flags) if (end <= start) return 0; if (MB_CUR_MAX == 1 || rl_byte_oriented) -{ -_rl_ttymsg ("_rl_col_width: called with MB_CUR_MAX == 1"); + /* this can happen in some cases where it's inconvenient to check */ return (end - start); -} memset (&ps, 0, sizeof (mbstate_t)); @@ -2676,7 +2806,7 @@ _rl_ttymsg ("_rl_col_width: called with MB_CUR_MAX == 1"); { point += tmp; max -= tmp; - tmp = wcwidth(wc); + tmp = WCWIDTH(wc); width += (tmp >= 0) ? tmp : 1; } } diff --git a/doc/Makefile.in b/doc/Makefile.in index 9ddd314..72b7985 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -16,14 +16,17 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +PACKAGE_TARNAME = @PACKAGE_TARNAME@ + topdir = @top_srcdir@ srcdir = @srcdir@ -VPATH = .:@srcdir@ +VPATH = @srcdir@ prefix = @prefix@ datarootdir = @datarootdir@ +docdir = @docdir@ infodir = @infodir@ mandir = @mandir@ diff --git a/doc/history.0 b/doc/history.0 index 50d6d37..22c4f47 100644 --- a/doc/history.0 +++ b/doc/history.0 @@ -54,7 +54,7 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN Refer to the most recent command preceding the current position in the history list starting with _s_t_r_i_n_g. !!??_s_t_r_i_n_g[[??]] - Refer to the most recent command preceding the current postition + Refer to the most recent command preceding the current position in the history list containing _s_t_r_i_n_g. The trailing ?? may be omitted if _s_t_r_i_n_g is followed immediately by a newline. ^^_s_t_r_i_n_g_1^^_s_t_r_i_n_g_2^^ @@ -75,7 +75,8 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN The zeroth word. For the shell, this is the command word. _n The _nth word. ^^ The first argument. That is, word 1. - $$ The last argument. + $$ The last word. This is usually the last argument, but will + expand to the zeroth word if there is only one word in the line. %% The word matched by the most recent `?_s_t_r_i_n_g?' search. _x--_y A range of words; `-_y' abbreviates `0-_y'. ** All of the words but the zeroth. This is a synonym for `_1_-_$'. @@ -472,7 +473,7 @@ AAUUTTHHOORRSS bfox@gnu.org Chet Ramey, Case Western Reserve University - chet@ins.CWRU.Edu + chet.ramey@case.edu BBUUGG RREEPPOORRTTSS If you find a bug in the hhiissttoorryy library, you should report it. But @@ -486,8 +487,8 @@ BBUUGG RREEPPOORRTTSS ggnnuu..bbaasshh..bbuugg. Comments and bug reports concerning this manual page should be directed - to _c_h_e_t_@_i_n_s_._C_W_R_U_._E_d_u. + to _c_h_e_t_._r_a_m_e_y_@_c_a_s_e_._e_d_u. -GNU History 6.2 2010 August 12 HISTORY(3) +GNU History 6.3 2013 June 27 HISTORY(3) diff --git a/doc/history.3 b/doc/history.3 index 4eb159c..ada9a38 100644 --- a/doc/history.3 +++ b/doc/history.3 @@ -4,11 +4,11 @@ .\" Chet Ramey .\" Information Network Services .\" Case Western Reserve University -.\" chet@ins.CWRU.Edu +.\" chet.ramey@case.edu .\" -.\" Last Change: Thu Aug 12 22:24:41 EDT 2010 +.\" Last Change: Thu Thu Jun 27 10:34:44 EDT 2013 .\" -.TH HISTORY 3 "2010 August 12" "GNU History 6.2" +.TH HISTORY 3 "2013 June 27" "GNU History 6.3" .\" .\" File Name macro. This used to be `.PN', for Path Name, .\" but Sun doesn't seem to like that very much. @@ -112,7 +112,7 @@ starting with .TP .B !?\fIstring\fR\fB[?]\fR Refer to the most recent command -preceding the current postition in the history list +preceding the current position in the history list containing .IR string . The trailing \fB?\fP may be omitted if @@ -161,7 +161,8 @@ The \fIn\fRth word. The first argument. That is, word 1. .TP .B $ -The last argument. +The last word. This is usually the last argument, but will expand to the +zeroth word if there is only one word in the line. .TP .B % The word matched by the most recent `?\fIstring\fR?' search. @@ -649,7 +650,7 @@ bfox@gnu.org .PP Chet Ramey, Case Western Reserve University .br -chet@ins.CWRU.Edu +chet.ramey@case.edu .SH BUG REPORTS If you find a bug in the .B history @@ -669,4 +670,4 @@ newsgroup .PP Comments and bug reports concerning this manual page should be directed to -.IR chet@ins.CWRU.Edu . +.IR chet.ramey@case.edu . diff --git a/doc/history.dvi b/doc/history.dvi index 0fb8e1c..2316eae 100644 Binary files a/doc/history.dvi and b/doc/history.dvi differ diff --git a/doc/history.html b/doc/history.html index 5bdbb1b..0753504 100644 --- a/doc/history.html +++ b/doc/history.html @@ -1,6 +1,6 @@ - + +
- +
beginning-of-line (C-a) -
+
Move to the start of the current line.

- +

end-of-line (C-e) -
+
Move to the end of the line.

- +

forward-char (C-f) -
+
Move forward a character.

- +

backward-char (C-b) -
+
Move back a character.

- +

forward-word (M-f) -
+
Move forward to the end of the next word. Words are composed of letters and digits.

- +

backward-word (M-b) -
+
Move back to the start of the current or previous word. Words are composed of letters and digits.

- +

clear-screen (C-l) -
+
Clear the screen and redraw the current line, leaving the current line at the top of the screen.

- +

redraw-current-line () -
+
Refresh the current line. By default, this is unbound.

@@ -1338,7 +1377,7 @@ Refresh the current line. By default, this is unbound. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.2 Commands For Manipulating The History

@@ -1346,9 +1385,9 @@ Refresh the current line. By default, this is unbound.

- +
accept-line (Newline or Return) -
+
Accept the line regardless of where the cursor is. If this line is non-empty, it may be added to the history list for future recall with @@ -1357,81 +1396,104 @@ If this line is a modified history line, the history line is restored to its original state.

- +

previous-history (C-p) -
+
Move `back' through the history list, fetching the previous command.

- +

next-history (C-n) -
+
Move `forward' through the history list, fetching the next command.

- +

beginning-of-history (M-<) -
+
Move to the first line in the history.

- +

end-of-history (M->) -
+
Move to the end of the input history, i.e., the line currently being entered.

- +

reverse-search-history (C-r) -
+
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.

- +

forward-search-history (C-s) -
+
Search forward starting at the current line and moving `down' through the the history as necessary. This is an incremental search.

- +

non-incremental-reverse-search-history (M-p) -
+
Search backward starting at the current line and moving `up' through the history as necessary using a non-incremental search for a string supplied by the user.

- +

non-incremental-forward-search-history (M-n) -
+
Search forward starting at the current line and moving `down' through the the history as necessary using a non-incremental search for a string supplied by the user.

- +

history-search-forward () -
+
Search forward through the history for the string of characters between the start of the current line and the point. +The search string must match at the beginning of a history line. This is a non-incremental search. By default, this command is unbound.

- +

history-search-backward () -
+
Search backward through the history for the string of characters -between the start of the current line and the point. This -is a non-incremental search. By default, this command is unbound. +between the start of the current line and the point. +The search string must match at the beginning of a history line. +This is a non-incremental search. +By default, this command is unbound.

- + +

history-substr-search-forward () +
+Search forward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. +

+ + +

history-substr-search-backward () +
+Search backward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. +

+ +

yank-nth-arg (M-C-y) -
+
Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument n, @@ -1442,9 +1504,9 @@ Once the argument n is computed, the argument is extracted as if the `!n' history expansion had been specified.

- +

yank-last-arg (M-. or M-_) -
+
Insert last argument to the previous command (the last word of the previous history entry). With a numeric argument, behave exactly like yank-nth-arg. @@ -1472,7 +1534,7 @@ as if the `!$' history expansion had been specified. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.3 Commands For Changing Text

@@ -1480,52 +1542,61 @@ as if the `!$' history expansion had been specified.

- + + +
end-of-file (usually C-d) +
+The character indicating end-of-file as set, for example, by +stty. If this character is read when there are no characters +on the line, and point is at the beginning of the line, Readline +interprets it as the end of input and returns EOF. +

+ +

delete-char (C-d) -
-Delete the character at point. If point is at the -beginning of the line, there are no characters in the line, and -the last character typed was not bound to delete-char, then -return EOF. +
+Delete the character at point. If this function is bound to the +same character as the tty EOF character, as C-d +commonly is, see above for the effects.

- +

backward-delete-char (Rubout) -
+
Delete the character behind the cursor. A numeric argument means to kill the characters instead of deleting them.

- +

forward-backward-delete-char () -
+
Delete the character under the cursor, unless the cursor is at the end of the line, in which case the character behind the cursor is deleted. By default, this is not bound to a key.

- +

quoted-insert (C-q or C-v) -
+
Add the next character typed to the line verbatim. This is how to insert key sequences like C-q, for example.

- +

tab-insert (M-TAB) -
+
Insert a tab character.

- +

self-insert (a, b, A, 1, !, ...) -
+
Insert yourself.

- +

transpose-chars (C-t) -
+
Drag the character before the cursor forward over the character at the cursor, moving the cursor forward as well. If the insertion point @@ -1534,39 +1605,39 @@ transposes the last two characters of the line. Negative arguments have no effect.

- +

transpose-words (M-t) -
+
Drag the word before point past the word after point, moving point past that word as well. If the insertion point is at the end of the line, this transposes the last two words on the line.

- +

upcase-word (M-u) -
+
Uppercase the current (or following) word. With a negative argument, uppercase the previous word, but do not move the cursor.

- +

downcase-word (M-l) -
+
Lowercase the current (or following) word. With a negative argument, lowercase the previous word, but do not move the cursor.

- +

capitalize-word (M-c) -
+
Capitalize the current (or following) word. With a negative argument, capitalize the previous word, but do not move the cursor.

- +

overwrite-mode () -
+
Toggle overwrite mode. With an explicit positive numeric argument, switches to overwrite mode. With an explicit non-positive numeric argument, switches to insert mode. This command affects only @@ -1597,7 +1668,7 @@ By default, this command is unbound. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.4 Killing And Yanking

@@ -1606,106 +1677,106 @@ By default, this command is unbound.
- +
kill-line (C-k) -
+
Kill the text from point to the end of the line.

- +

backward-kill-line (C-x Rubout) -
+
Kill backward to the beginning of the line.

- +

unix-line-discard (C-u) -
+
Kill backward from the cursor to the beginning of the current line.

- +

kill-whole-line () -
+
Kill all characters on the current line, no matter where point is. By default, this is unbound.

- +

kill-word (M-d) -
+
Kill from point to the end of the current word, or if between words, to the end of the next word. Word boundaries are the same as forward-word.

- +

backward-kill-word (M-DEL) -
+
Kill the word behind point. Word boundaries are the same as backward-word.

- +

unix-word-rubout (C-w) -
+
Kill the word behind point, using white space as a word boundary. The killed text is saved on the kill-ring.

- +

unix-filename-rubout () -
+
Kill the word behind point, using white space and the slash character as the word boundaries. The killed text is saved on the kill-ring.

- +

delete-horizontal-space () -
+
Delete all spaces and tabs around point. By default, this is unbound.

- +

kill-region () -
+
Kill the text in the current region. By default, this command is unbound.

- +

copy-region-as-kill () -
+
Copy the text in the region to the kill buffer, so it can be yanked right away. By default, this command is unbound.

- +

copy-backward-word () -
+
Copy the word before point to the kill buffer. The word boundaries are the same as backward-word. By default, this command is unbound.

- +

copy-forward-word () -
+
Copy the word following point to the kill buffer. The word boundaries are the same as forward-word. By default, this command is unbound.

- +

yank (C-y) -
+
Yank the top of the kill ring into the buffer at point.

- +

yank-pop (M-y) -
+
Rotate the kill-ring, and yank the new top. You can only do this if the prior command is yank or yank-pop.
@@ -1722,23 +1793,23 @@ the prior command is yank or yank-pop. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.5 Specifying Numeric Arguments

- +
digit-argument (M-0, M-1, ... M--) -
+
Add this digit to the argument already accumulating, or start a new argument. M-- starts a negative argument.

- +

universal-argument () -
+
This is another way to specify an argument. If this command is followed by one or more digits, optionally with a leading minus sign, those digits define the argument. @@ -1765,7 +1836,7 @@ By default, this is not bound to a key. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.6 Letting Readline Type For You

@@ -1773,33 +1844,33 @@ By default, this is not bound to a key.

- +
complete (TAB) -
+
Attempt to perform completion on the text before point. The actual completion performed is application-specific. The default is filename completion.

- +

possible-completions (M-?) -
+
List the possible completions of the text before point. When displaying completions, Readline sets the number of columns used for display to the value of completion-display-width, the value of the environment variable COLUMNS, or the screen width, in that order.

- +

insert-completions (M-*) -
+
Insert all completions of the text before point that would have been generated by possible-completions.

- +

menu-complete () -
+
Similar to complete, but replaces the word to be completed with a single match from the list of possible completions. Repeated execution of menu-complete steps through the list @@ -1814,17 +1885,17 @@ This command is intended to be bound to TAB, but is unbound by default.

- +

menu-complete-backward () -
+
Identical to menu-complete, but moves backward through the list of possible completions, as if menu-complete had been given a negative argument.

- +

delete-char-or-list () -
+
Deletes the character under the cursor if not at the beginning or end of the line (like delete-char). If at the end of the line, behaves identically to @@ -1846,33 +1917,40 @@ This command is unbound by default. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.7 Keyboard Macros

- +
start-kbd-macro (C-x () -
+
Begin saving the characters typed into the current keyboard macro.

- +

end-kbd-macro (C-x )) -
+
Stop saving the characters typed into the current keyboard macro and save the definition.

- +

call-last-kbd-macro (C-x e) -
+
Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.

+ +

print-last-kbd-macro () +
+Print the last keboard macro defined in a format suitable for the +inputrc file. +

+

@@ -1887,94 +1965,94 @@ in the macro appear as if typed at the keyboard. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.4.8 Some Miscellaneous Commands

- +
re-read-init-file (C-x C-r) -
+
Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.

- +

abort (C-g) -
+
Abort the current editing command and ring the terminal's bell (subject to the setting of bell-style).

- +

do-uppercase-version (M-a, M-b, M-x, ...) -
+
If the metafied character x is lowercase, run the command that is bound to the corresponding uppercase character.

- +

prefix-meta (ESC) -
+
Metafy the next character typed. This is for keyboards without a meta key. Typing `ESC f' is equivalent to typing M-f.

- +

undo (C-_ or C-x C-u) -
+
Incremental undo, separately remembered for each line.

- +

revert-line (M-r) -
+
Undo all changes made to this line. This is like executing the undo command enough times to get back to the beginning.

- +

tilde-expand (M-~) -
+
Perform tilde expansion on the current word.

- +

set-mark (C-@) -
+
Set the mark to the point. If a numeric argument is supplied, the mark is set to that position.

- +

exchange-point-and-mark (C-x C-x) -
+
Swap the point with the mark. The current cursor position is set to the saved position, and the old cursor position is saved as the mark.

- +

character-search (C-]) -
+
A character is read and point is moved to the next occurrence of that character. A negative count searches for previous occurrences.

- +

character-search-backward (M-C-]) -
+
A character is read and point is moved to the previous occurrence of that character. A negative count searches for subsequent occurrences.

- +

skip-csi-sequence () -
+
Read enough characters to consume a multi-key sequence such as those defined for keys like Home and End. Such sequences begin with a Control Sequence Indicator (CSI), usually ESC-[. If this sequence is @@ -1984,9 +2062,9 @@ stray characters into the editing buffer. This is unbound by default, but usually bound to ESC-[.

- +

insert-comment (M-#) -
+
Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line. If a numeric argument is supplied, this command acts as a toggle: if @@ -1997,43 +2075,43 @@ the line. In either case, the line is accepted as if a newline had been typed.

- +

dump-functions () -
+
Print all of the functions and their key bindings to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

dump-variables () -
+
Print all of the settable variables and their values to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

dump-macros () -
+
Print all of the Readline key sequences bound to macros and the strings they output. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

emacs-editing-mode (C-e) -
+
When in vi command mode, this causes a switch to emacs editing mode.

- +

vi-editing-mode (M-C-j) -
+
When in emacs editing mode, this causes a switch to vi editing mode.

@@ -2052,7 +2130,7 @@ editing mode. [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

1.5 Readline vi Mode

@@ -2084,7 +2162,7 @@ in the consistency of user interface across discrete programs that need to provide a command line interface.

-Copyright (C) 1988--2011 Free Software Foundation, Inc. +Copyright (C) 1988--2014 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of @@ -2112,10 +2190,10 @@ by the Foundation. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2. Programming with GNU Readline

@@ -2137,8 +2215,8 @@ in your own programs, this section is for you. 2.4 Readline Convenience Functions  Functions which Readline supplies to aid in writing your own custom functions. -2.5 Readline Signal Handling  How Readline behaves when it receives signals. -2.6 Custom Completers  Supplanting or supplementing Readline's +2.5 Readline Signal Handling  How Readline behaves when it receives signals. +2.6 Custom Completers  Supplanting or supplementing Readline's completion functions.

@@ -2151,10 +2229,10 @@ in your own programs, this section is for you. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.1 Basic Behavior

@@ -2168,8 +2246,8 @@ the simplest way possible, perhaps to replace calls in your code to gets() or fgets().

- - + +

The function readline() prints a prompt prompt @@ -2264,7 +2342,7 @@ Thus, to disable the default TAB behavior, the following suffices: This code should be executed once at the start of your program; you might write a function called initialize_readline() which performs this and other desired initializations, such as installing -custom completers (see section 2.6 Custom Completers). +custom completers (see section 2.6 Custom Completers).

@@ -2278,7 +2356,7 @@ custom completers (see section 2.6 Custom Complete [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.2 Custom Functions

@@ -2328,14 +2406,14 @@ For Readline 4.2, for example, the value of [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.2.1 Readline Typedefs

-For readabilty, we declare a number of new object types, all pointers +For readability, we declare a number of new object types, all pointers to functions.

@@ -2425,7 +2503,7 @@ The full list of function pointer types available is [ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.2.2 Writing a New Function

@@ -2472,10 +2550,10 @@ command functions. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.3 Readline Variables

@@ -2485,7 +2563,7 @@ command functions. These variables are available to function writers.

- +

Variable: char * rl_line_buffer
This is the line gathered so far. You are welcome to modify the @@ -2495,7 +2573,7 @@ the memory allocated to rl_line_buffer.

- +

Variable: int rl_point
The offset of the current cursor position in rl_line_buffer @@ -2503,7 +2581,7 @@ the memory allocated to rl_line_buffer.

- +

Variable: int rl_end
The number of characters present in rl_line_buffer. When @@ -2512,7 +2590,7 @@ the memory allocated to rl_line_buffer.

- +

Variable: int rl_mark
The mark (saved position) in the current line. If set, the mark @@ -2520,7 +2598,7 @@ and point define a region.

- +

Variable: int rl_done
Setting this to a non-zero value causes Readline to return the current @@ -2528,7 +2606,7 @@ line immediately.

- +

Variable: int rl_num_chars_to_read
Setting this to a positive value before calling readline() causes @@ -2537,7 +2615,7 @@ than reading up to a character bound to accept-line.

- +

Variable: int rl_pending_input
Setting this to a value makes it the next keystroke read. This is a @@ -2545,7 +2623,7 @@ way to stuff a single character into the input stream.

- +

Variable: int rl_dispatching
Set to a non-zero value if a function is being called from a key binding; @@ -2554,7 +2632,7 @@ they were called directly or by Readline's dispatching mechanism.

- +

Variable: int rl_erase_empty_line
Setting this to a non-zero value causes Readline to completely erase @@ -2564,7 +2642,7 @@ the beginning of the newly-blank line.

- +

Variable: char * rl_prompt
The prompt Readline uses. This is set from the argument to @@ -2574,7 +2652,7 @@ be used to modify the prompt string after calling readline().

- +

Variable: char * rl_display_prompt
The string displayed as the prompt. This is usually identical to @@ -2583,7 +2661,7 @@ use the prompt string as a message area, such as incremental search.

- +

Variable: int rl_already_prompted
If an application wishes to display the prompt itself, rather than have @@ -2596,14 +2674,14 @@ never sets it.

- +

Variable: const char * rl_library_version
The version number of this revision of the library.

- +

Variable: int rl_readline_version
An integer encoding the current version of the library. The encoding is @@ -2614,7 +2692,7 @@ value 0x0402.

- +

Variable: int rl_gnu_readline_p
Always set to 1, denoting that this is GNU readline rather than some @@ -2622,7 +2700,7 @@ emulation.

- +

Variable: const char * rl_terminal_name
The terminal type, used for initialization. If not set by the application, @@ -2631,7 +2709,7 @@ the first time it is called.

- +

Variable: const char * rl_readline_name
This variable is set to a unique name by each application using Readline. @@ -2640,7 +2718,7 @@ The value allows conditional parsing of the inputrc file

- +

Variable: FILE * rl_instream
The stdio stream from which Readline reads input. @@ -2648,7 +2726,7 @@ If NULL, Readline defaults to stdin.

- +

Variable: FILE * rl_outstream
The stdio stream to which Readline performs output. @@ -2656,7 +2734,7 @@ If NULL, Readline defaults to stdout.

- +

Variable: int rl_prefer_env_winsize
If non-zero, Readline gives values found in the LINES and @@ -2665,7 +2743,7 @@ from the kernel when computing the screen dimensions.

- +

Variable: rl_command_func_t * rl_last_func
The address of the last command function Readline executed. May be used to @@ -2674,7 +2752,7 @@ example.

- +

Variable: rl_hook_func_t * rl_startup_hook
If non-zero, this is the address of a function to call just @@ -2682,7 +2760,7 @@ before readline prints the first prompt.

- +

Variable: rl_hook_func_t * rl_pre_input_hook
If non-zero, this is the address of a function to call after @@ -2691,7 +2769,7 @@ starts reading input characters.

- +

Variable: rl_hook_func_t * rl_event_hook
If non-zero, this is the address of a function to call periodically @@ -2701,17 +2779,52 @@ is no keyboard input.

- +

Variable: rl_getc_func_t * rl_getc_function
If non-zero, Readline will call indirectly through this pointer to get a character from the input stream. By default, it is set to rl_getc, the default Readline character input function (see section 2.4.8 Character Input). +In general, an application that sets rl_getc_function should consider +setting rl_input_available_hook as well.

- + +

+
Variable: rl_hook_func_t * rl_signal_event_hook +
If non-zero, this is the address of a function to call if a read system +call is interrupted when Readline is reading terminal input. +
+

+ + +

+
Variable: rl_hook_func_t * rl_input_available_hook +
If non-zero, Readline will use this function's return value when it needs +to determine whether or not there is available input on the current input +source. +The default hook checks rl_instream; if an application is using a +different input source, it should set the hook appropriately. +Readline queries for available input when implementing intra-key-sequence +timeouts during input and incremental searches. +This may use an application-specific timeout before returning a value; +Readline uses the value passed to rl_set_keyboard_input_timeout() +or the value of the user-settable keyseq-timeout variable. +This is designed for use by applications using Readline's callback interface +(see section 2.4.12 Alternate Interface), which may not use the traditional +read(2) and file descriptor interface, or other applications using +a different input mechanism. +If an application uses an input mechanism or hook that can potentially exceed +the value of keyseq-timeout, it should increase the timeout or set +this hook appropriately even when not using the callback interface. +In general, an application that sets rl_getc_function should consider +setting rl_input_available_hook as well. +
+

+ +

Variable: rl_voidfunc_t * rl_redisplay_function
If non-zero, Readline will call indirectly through this pointer @@ -2721,7 +2834,7 @@ redisplay function (see section 2.4.6 Redisplay

- +

Variable: rl_vintfunc_t * rl_prep_term_function
If non-zero, Readline will call indirectly through this pointer @@ -2732,7 +2845,7 @@ By default, this is set to rl_prep_terminal

- +

Variable: rl_voidfunc_t * rl_deprep_term_function
If non-zero, Readline will call indirectly through this pointer @@ -2743,7 +2856,7 @@ By default, this is set to rl_deprep_terminal

- +

Variable: Keymap rl_executing_keymap
This variable is set to the keymap (see section 2.4.2 Selecting a Keymap) in which the @@ -2751,7 +2864,7 @@ currently executing readline function was found.

- +

Variable: Keymap rl_binding_keymap
This variable is set to the keymap (see section 2.4.2 Selecting a Keymap) in which the @@ -2759,14 +2872,36 @@ last key binding occurred.

- +

Variable: char * rl_executing_macro
This variable is set to the text of any currently-executing macro.

- + +

+
Variable: int rl_executing_key +
The key that caused the dispatch to the currently-executing Readline function. +
+

+ + +

+
Variable: char * rl_executing_keyseq +
The full key sequence that caused the dispatch to the currently-executing +Readline function. +
+

+ + +

+
Variable: int rl_key_sequence_length +
The number of characters in rl_executing_keyseq. +
+

+ +

Variable: int rl_readline_state
A variable with bit values that encapsulate the current Readline state. @@ -2777,7 +2912,7 @@ whether a particular state bit is set. Current state bits include:
RL_STATE_NONE -
Readline has not yet been called, nor has it begun to intialize. +
Readline has not yet been called, nor has it begun to initialize.
RL_STATE_INITIALIZING
Readline is initializing its internal data structures.
RL_STATE_INITIALIZED @@ -2836,7 +2971,7 @@ and is about to return the line to the caller.

- +

Variable: int rl_explicit_arg
Set to a non-zero value if an explicit numeric argument was specified by @@ -2844,7 +2979,7 @@ the user. Only valid in a bindable command function.

- +

Variable: int rl_numeric_arg
Set to the value of any numeric argument explicitly specified by the user @@ -2853,7 +2988,7 @@ command function.

- +

Variable: int rl_editing_mode
Set to a value denoting Readline's current editing mode. A value of @@ -2868,12 +3003,12 @@ means that vi mode is active. - + - + - +
[ < ] [ > ]   [ << ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.4 Readline Convenience Functions

@@ -2895,6 +3030,7 @@ means that vi mode is active. 2.4.11 Miscellaneous Functions  Functions that don't fall into any category. 2.4.12 Alternate Interface  Using Readline in a `callback' fashion. 2.4.13 A Readline Example  An example Readline function. +2.4.14 Alternate Interface Example  An example program using the alternate interface.

@@ -2904,12 +3040,12 @@ means that vi mode is active. - + - + - +
[ < ] [ > ]   [ << ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.4.1 Naming a Function

@@ -2931,7 +3067,7 @@ programmer, should bind the functions you write to descriptive names as well. Readline provides a function for doing that:

- +

Function: int rl_add_defun (const char *name, rl_command_func_t *function, int key)
Add name to the list of named functions. Make function be @@ -2955,10 +3091,10 @@ you may need to use the underlying functions described below. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.2 Selecting a Keymap

@@ -2971,7 +3107,7 @@ get run. You can make your own keymaps, copy existing keymaps, and tell Readline which keymap to use.

- +

Function: Keymap rl_make_bare_keymap (void)
Returns a new, empty keymap. The space for the keymap is allocated with @@ -2980,14 +3116,14 @@ Readline which keymap to use.

- +

Function: Keymap rl_copy_keymap (Keymap map)
Return a new keymap which is a copy of map.

- +

Function: Keymap rl_make_keymap (void)
Return a new keymap with the printing characters bound to rl_insert, @@ -2996,7 +3132,7 @@ the Meta digits bound to produce numeric arguments.

- +

Function: void rl_discard_keymap (Keymap keymap)
Free the storage associated with the data in keymap. @@ -3004,7 +3140,7 @@ The caller should free keymap.

- +

Function: void rl_free_keymap (Keymap keymap)
Free all storage associated with keymap. This calls @@ -3016,21 +3152,21 @@ Readline has several internal keymaps. These functions allow you to change which keymap is active.

- +

Function: Keymap rl_get_keymap (void)
Returns the currently active keymap.

- +

Function: void rl_set_keymap (Keymap keymap)
Makes keymap the currently active keymap.

- +

Function: Keymap rl_get_keymap_by_name (const char *name)
Return the keymap matching name. name is one which would @@ -3038,7 +3174,7 @@ be supplied in a set keymap inputrc line (see section +
Function: char * rl_get_keymap_name (Keymap keymap)
Return the name matching keymap. name is one which would @@ -3054,10 +3190,10 @@ be supplied in a set keymap inputrc line (see section [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.3 Binding Keys

@@ -3083,7 +3219,7 @@ initialization function assigned to the rl_startup_hook variable These functions manage key bindings.

- +

Function: int rl_bind_key (int key, rl_command_func_t *function)
Binds key to function in the currently active keymap. @@ -3091,7 +3227,7 @@ Returns non-zero in the case of an invalid key.

- +

Function: int rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
Bind key to function in map. @@ -3099,7 +3235,7 @@ Returns non-zero in the case of an invalid key.

- +

Function: int rl_bind_key_if_unbound (int key, rl_command_func_t *function)
Binds key to function if it is not already bound in the @@ -3109,7 +3245,7 @@ already bound.

- +

Function: int rl_bind_key_if_unbound_in_map (int key, rl_command_func_t *function, Keymap map)
Binds key to function if it is not already bound in map. @@ -3118,7 +3254,7 @@ already bound.

- +

Function: int rl_unbind_key (int key)
Bind key to the null function in the currently active keymap. @@ -3126,7 +3262,7 @@ Returns non-zero in case of error.

- +

Function: int rl_unbind_key_in_map (int key, Keymap map)
Bind key to the null function in map. @@ -3134,21 +3270,21 @@ Returns non-zero in case of error.

- +

Function: int rl_unbind_function_in_map (rl_command_func_t *function, Keymap map)
Unbind all keys that execute function in map.

- +

Function: int rl_unbind_command_in_map (const char *command, Keymap map)
Unbind all keys that are bound to command in map.

- +

Function: int rl_bind_keyseq (const char *keyseq, rl_command_func_t *function)
Bind the key sequence represented by the string keyseq to the function @@ -3158,7 +3294,7 @@ The return value is non-zero if keyseq is invalid.

- +

Function: int rl_bind_keyseq_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
Bind the key sequence represented by the string keyseq to the function @@ -3168,14 +3304,14 @@ The return value is non-zero if keyseq is invalid.

- +

Function: int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
Equivalent to rl_bind_keyseq_in_map.

- +

Function: int rl_bind_keyseq_if_unbound (const char *keyseq, rl_command_func_t *function)
Binds keyseq to function if it is not already bound in the @@ -3185,7 +3321,7 @@ already bound.

- +

Function: int rl_bind_keyseq_if_unbound_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
Binds keyseq to function if it is not already bound in map. @@ -3194,7 +3330,7 @@ already bound.

- +

Function: int rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
Bind the key sequence represented by the string keyseq to the arbitrary @@ -3205,7 +3341,7 @@ necessary. The initial keymap in which to do bindings is map.

- +

Function: int rl_parse_and_bind (char *line)
Parse line as if it had been read from the inputrc file and @@ -3214,7 +3350,7 @@ perform any key bindings and variable assignments found

- +

Function: int rl_read_init_file (const char *filename)
Read keybindings and variable assignments from filename @@ -3230,10 +3366,10 @@ perform any key bindings and variable assignments found [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.4 Associating Function Names and Bindings

@@ -3245,14 +3381,14 @@ and the functions invoked by a particular key sequence. You may also associate a new function name with an arbitrary function.

- +

Function: rl_command_func_t * rl_named_function (const char *name)
Return the function with name name.

- +

Function: rl_command_func_t * rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
Return the function invoked by keyseq in keymap map. @@ -3262,7 +3398,7 @@ it points to (one of ISFUNC, ISKMAP, or ISMACR

- +

Function: char ** rl_invoking_keyseqs (rl_command_func_t *function)
Return an array of strings representing the key sequences used to @@ -3270,7 +3406,7 @@ invoke function in the current keymap.

- +

Function: char ** rl_invoking_keyseqs_in_map (rl_command_func_t *function, Keymap map)
Return an array of strings representing the key sequences used to @@ -3278,7 +3414,7 @@ invoke function in the keymap map.

- +

Function: void rl_function_dumper (int readable)
Print the readline function names and the key sequences currently @@ -3288,14 +3424,14 @@ the list is formatted in such a way that it can be made part of an

- +

Function: void rl_list_funmap_names (void)
Print the names of all bindable Readline functions to rl_outstream.

- +

Function: const char ** rl_funmap_names (void)
Return a NULL terminated array of known function names. The array is @@ -3305,7 +3441,7 @@ should free the array, but not the pointers, using free or

- +

Function: int rl_add_funmap_entry (const char *name, rl_command_func_t *function)
Add name to the list of bindable Readline command names, and make @@ -3321,10 +3457,10 @@ should free the array, but not the pointers, using free or [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.5 Allowing Undoing

@@ -3360,7 +3496,7 @@ tells what to undo, not how to undo it. UNDO_BEGIN and rl_end_undo_group().

- +

Function: int rl_begin_undo_group (void)
Begins saving undo information in a group construct. The undo @@ -3370,7 +3506,7 @@ information usually comes from calls to rl_insert_text() and

- +

Function: int rl_end_undo_group (void)
Closes the current undo group started with rl_begin_undo_group @@ -3379,7 +3515,7 @@ for each call to rl_begin_undo_group().

- +

Function: void rl_add_undo (enum undo_code what, int start, int end, char *text)
Remember how to undo an event (according to what). The affected @@ -3387,14 +3523,14 @@ text runs from start to end, and encompasses text

- +

Function: void rl_free_undo_list (void)
Free the existing undo list.

- +

Function: int rl_do_undo (void)
Undo the first thing on the undo list. Returns 0 if there was @@ -3408,7 +3544,7 @@ once, just before you modify the text. You must supply the indices of the text range that you are going to modify.

- +

Function: int rl_modifying (int start, int end)
Tell Readline to save the text between start and end as a @@ -3425,17 +3561,17 @@ that text. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.6 Redisplay

- +

Function: void rl_redisplay (void)
Change what's displayed on the screen to reflect the current contents @@ -3443,7 +3579,7 @@ of rl_line_buffer.

- +

Function: int rl_forced_update_display (void)
Force the line to be updated and redisplayed, whether or not @@ -3451,15 +3587,15 @@ Readline thinks the screen display is correct.

- +

Function: int rl_on_new_line (void)
Tell the update functions that we have moved onto a new (empty) line, -usually after ouputting a newline. +usually after outputting a newline.

- +

Function: int rl_on_new_line_with_prompt (void)
Tell the update functions that we have moved onto a new line, with @@ -3471,7 +3607,7 @@ It should be used after setting rl_already_prompted.

- +

Function: int rl_reset_line_state (void)
Reset the display state to a clean state and redisplay the current line @@ -3479,14 +3615,14 @@ starting on a new line.

- +

Function: int rl_crlf (void)
Move the cursor to the start of the next screen line.

- +

Function: int rl_show_char (int c)
Display character c on rl_outstream. @@ -3497,7 +3633,7 @@ redisplay.

- +

Function: int rl_message (const char *, ...)
The arguments are a format string as would be supplied to printf, @@ -3510,7 +3646,7 @@ before calling this function.

- +

Function: int rl_clear_message (void)
Clear the message in the echo area. If the prompt was saved with a call to @@ -3519,7 +3655,7 @@ call rl_restore_prompt before calling this function.

- +

Function: void rl_save_prompt (void)
Save the local Readline prompt display state in preparation for @@ -3527,7 +3663,7 @@ displaying a new message in the message area with rl_message().

- +

Function: void rl_restore_prompt (void)
Restore the local Readline prompt display state saved by the most @@ -3538,7 +3674,7 @@ corresponding call to rl_clear_message.

- +

Function: int rl_expand_prompt (char *prompt)
Expand any special character sequences in prompt and set up the @@ -3556,7 +3692,7 @@ be used to embed terminal-specific escape sequences in prompts.

- +

Function: int rl_set_prompt (const char *prompt)
Make Readline use prompt for subsequent redisplay. This calls @@ -3573,17 +3709,17 @@ to the result. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.7 Modifying Text

- +

Function: int rl_insert_text (const char *text)
Insert text into the line at the current cursor position. @@ -3591,7 +3727,7 @@ Returns the number of characters inserted.

- +

Function: int rl_delete_text (int start, int end)
Delete the text between start and end in the current line. @@ -3599,7 +3735,7 @@ Returns the number of characters deleted.

- +

Function: char * rl_copy_text (int start, int end)
Return a copy of the text between start and end in @@ -3607,7 +3743,7 @@ the current line.

- +

Function: int rl_kill_text (int start, int end)
Copy the text between start and end in the current line @@ -3619,7 +3755,7 @@ not a kill, a new kill ring slot is used.

- +

Function: int rl_push_macro_input (char *macro)
Cause macro to be inserted into the line, as if it had been invoked @@ -3636,17 +3772,17 @@ by a key bound to a macro. Not especially useful; use [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.8 Character Input

- +

Function: int rl_read_key (void)
Return the next character available from Readline's current input stream. @@ -3658,7 +3794,7 @@ the rl_event_hook variable.

- +

Function: int rl_getc (FILE *stream)
Return the next character available from stream, which is assumed to @@ -3666,7 +3802,7 @@ be the keyboard.

- +

Function: int rl_stuff_char (int c)
Insert c into the Readline input stream. It will be "read" @@ -3677,7 +3813,7 @@ before Readline attempts to read characters from the terminal with

- +

Function: int rl_execute_next (int c)
Make c be the next command to be executed when rl_read_key() @@ -3685,7 +3821,7 @@ is called. This sets rl_pending_input.

- +

Function: int rl_clear_pending_input (void)
Unset rl_pending_input, effectively negating the effect of any @@ -3694,7 +3830,7 @@ pending input has not already been read with rl_read_key().

- +

Function: int rl_set_keyboard_input_timeout (int u)
While waiting for keyboard input in rl_read_key(), Readline will @@ -3712,19 +3848,19 @@ Returns the old timeout value. - + - + - +
[ < ] [ > ]   [ << ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.4.9 Terminal Management

- +

Function: void rl_prep_terminal (int meta_flag)
Modify the terminal settings for Readline's use, so readline() @@ -3734,7 +3870,7 @@ read eight-bit input.

- +

Function: void rl_deprep_terminal (void)
Undo the effects of rl_prep_terminal(), leaving the terminal in @@ -3743,7 +3879,7 @@ the state in which it was before the most recent call to

- +

Function: void rl_tty_set_default_bindings (Keymap kmap)
Read the operating system's terminal editing characters (as would be @@ -3752,7 +3888,7 @@ The bindings are performed in kmap.

- +

Function: void rl_tty_unset_default_bindings (Keymap kmap)
Reset the bindings manipulated by rl_tty_set_default_bindings so @@ -3761,7 +3897,7 @@ The bindings are performed in kmap.

- +

Function: int rl_reset_terminal (const char *terminal_name)
Reinitialize Readline's idea of the terminal settings using @@ -3779,17 +3915,17 @@ environment variable is used. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.10 Utility Functions

- +

Function: int rl_save_state (struct readline_state *sp)
Save a snapshot of Readline's internal state to sp. @@ -3799,7 +3935,7 @@ The caller is responsible for allocating the structure.

- +

Function: int rl_restore_state (struct readline_state *sp)
Restore Readline's internal state to that stored in sp, which must @@ -3810,7 +3946,7 @@ The caller is responsible for freeing the structure.

- +

Function: void rl_free (void *mem)
Deallocate the memory pointed to by mem. mem must have been @@ -3818,7 +3954,7 @@ allocated by malloc.

- +

Function: void rl_replace_line (const char *text, int clear_undo)
Replace the contents of rl_line_buffer with text. @@ -3828,7 +3964,7 @@ current line is cleared.

- +

Function: void rl_extend_line_buffer (int len)
Ensure that rl_line_buffer has enough space to hold len @@ -3836,7 +3972,7 @@ characters, possibly reallocating it if necessary.

- +

Function: int rl_initialize (void)
Initialize or re-initialize Readline's internal state. @@ -3845,21 +3981,21 @@ reading any input.

- +

Function: int rl_ding (void)
Ring the terminal bell, obeying the setting of bell-style.

- +

Function: int rl_alphabetic (int c)
Return 1 if c is an alphabetic character.

- +

Function: void rl_display_match_list (char **matches, int len, int max)
A convenience function for displaying a list of strings in @@ -3879,28 +4015,28 @@ The following are implemented as macros, defined in chardefs.h. Applications should refrain from using them.

- +

Function: int _rl_uppercase_p (int c)
Return 1 if c is an uppercase alphabetic character.

- +

Function: int _rl_lowercase_p (int c)
Return 1 if c is a lowercase alphabetic character.

- +

Function: int _rl_digit_p (int c)
Return 1 if c is a numeric character.

- +

Function: int _rl_to_upper (int c)
If c is a lowercase alphabetic character, return the corresponding @@ -3908,7 +4044,7 @@ uppercase character.

- +

Function: int _rl_to_lower (int c)
If c is an uppercase alphabetic character, return the corresponding @@ -3916,7 +4052,7 @@ lowercase character.

- +

Function: int _rl_digit_value (int c)
If c is a number, return the value it represents. @@ -3931,17 +4067,17 @@ lowercase character. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.11 Miscellaneous Functions

- +

Function: int rl_macro_bind (const char *keyseq, const char *macro, Keymap map)
Bind the key sequence keyseq to invoke the macro macro. @@ -3951,7 +4087,7 @@ use rl_generic_bind() instead.

- +

Function: void rl_macro_dumper (int readable)
Print the key sequences bound to macros and their values, using @@ -3961,7 +4097,7 @@ that it can be made part of an inputrc file and re-read.

- +

Function: int rl_variable_bind (const char *variable, const char *value)
Make the Readline variable variable have value. @@ -3971,7 +4107,7 @@ file (see section 1.3.1 Readline Init File Syntax<

- +

Function: char * rl_variable_value (const char *variable)
Return a string representing the value of the Readline variable variable. @@ -3979,7 +4115,7 @@ For boolean variables, this string is either `on' or `off'

- +

Function: void rl_variable_dumper (int readable)
Print the readline variable names and their current values @@ -3989,7 +4125,7 @@ that it can be made part of an inputrc file and re-read.

- +

Function: int rl_set_paren_blink_timeout (int u)
Set the time interval (in microseconds) that Readline waits when showing @@ -3997,7 +4133,7 @@ a balancing character when blink-matching-paren has been enabled.

- +

Function: char * rl_get_termcap (const char *cap)
Retrieve the string value of the termcap capability cap. @@ -4009,6 +4145,16 @@ values for only those capabilities Readline uses.

+ +

+
Function: void rl_clear_history (void) +
Clear the history list by deleting all of the entries, in the same manner +as the History library's clear_history() function. +This differs from clear_history because it frees private data +Readline saves in the history list. +
+

+


@@ -4017,10 +4163,10 @@ values for only those capabilities Readline uses. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.12 Alternate Interface

@@ -4030,41 +4176,43 @@ values for only those capabilities Readline uses. An alternate interface is available to plain readline(). Some applications need to interleave keyboard I/O with file, device, or window system I/O, typically by using a main loop to select() -on various file descriptors. To accomodate this need, readline can +on various file descriptors. To accommodate this need, readline can also be invoked as a `callback' function from an event loop. There are functions available to make this easy.

- +

Function: void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler)
Set up the terminal for readline I/O and display the initial expanded value of prompt. Save the value of lhandler to -use as a function to call when a complete line of input has been entered. -The function takes the text of the line as an argument. +use as a handler function to call when a complete line of input has been +entered. +The handler function receives the text of the line as an argument.

- +

Function: void rl_callback_read_char (void)
Whenever an application determines that keyboard input is available, it should call rl_callback_read_char(), which will read the next character from the current input source. If that character completes the line, rl_callback_read_char will -invoke the lhandler function saved by rl_callback_handler_install -to process the line. +invoke the lhandler function installed by +rl_callback_handler_install to process the line. Before calling the lhandler function, the terminal settings are reset to the values they had before calling rl_callback_handler_install. If the lhandler function returns, +and the line handler remains installed, the terminal settings are modified for Readline's use again. -EOF is indicated by calling lhandler with a +EOF is indicated by calling lhandler with a NULL line.

- +

Function: void rl_callback_handler_remove (void)
Restore the terminal to its initial state and remove the line handler. @@ -4084,10 +4232,10 @@ the program exits to reset the terminal settings. [ > ]   [ << ] [ Up ] -[ >> ] +[ >> ]         [Top] [Contents] -[Index] +[Index] [ ? ]

2.4.13 A Readline Example

@@ -4158,22 +4306,129 @@ invert_case_line (count, key) }

- +


- + + + + + + + +
[ < ] [ > ]   [ << ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.4.14 Alternate Interface Example

+ +

+ +Here is a complete program that illustrates Readline's alternate interface. +It reads lines from the terminal and displays them, providing the +standard history and TAB completion functions. +It understands the EOF character or "exit" to exit the program. +

+ +
 
/* Standard include files. stdio.h is required. */
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Used for select(2) */
+#include <sys/types.h>
+#include <sys/select.h>
+
+#include <stdio.h>
+
+/* Standard readline include files. */
+#include <readline/readline.h>
+#include <readline/history.h>
+
+static void cb_linehandler (char *);
+
+int running;
+const char *prompt = "rltest$ ";
+
+/* Callback function called for each line when accept-line executed, EOF
+   seen, or EOF character read.  This sets a flag and returns; it could
+   also call exit(3). */
+static void
+cb_linehandler (char *line)
+{
+  /* Can use ^D (stty eof) or `exit' to exit. */
+  if (line == NULL || strcmp (line, "exit") == 0)
+    {
+      if (line == 0)
+        printf ("\n");
+      printf ("exit\n");
+      /* This function needs to be called to reset the terminal settings,
+         and calling it from the line handler keeps one extra prompt from
+         being displayed. */
+      rl_callback_handler_remove ();
+
+      running = 0;
+    }
+  else
+    {
+      if (*line)
+        add_history (line);
+      printf ("input line: %s\n", line);
+      free (line);
+    }
+}
+
+int
+main (int c, char **v)
+{
+  fd_set fds;
+  int r;
+
+  /* Install the line handler. */
+  rl_callback_handler_install (prompt, cb_linehandler);
+
+  /* Enter a simple event loop.  This waits until something is available
+     to read on readline's input stream (defaults to standard input) and
+     calls the builtin character read callback to read it.  It does not
+     have to modify the user's terminal settings. */
+  running = 1;
+  while (running)
+    {
+      FD_ZERO (&fds);
+      FD_SET (fileno (rl_instream), &fds);    
+
+      r = select (FD_SETSIZE, &fds, NULL, NULL, NULL);
+      if (r < 0)
+        {
+          perror ("rltest: select");
+          rl_callback_handler_remove ();
+          break;
+        }
+
+      if (FD_ISSET (fileno (rl_instream), &fds))
+        rl_callback_read_char ();
+    }
+
+  printf ("rltest: Event loop has exited\n");
+  return 0;
+}
+

+ + +


+ + + + + - + - +
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.5 Readline Signal Handling

- +

Signals are asynchronous events sent to a process by the Unix kernel, @@ -4189,6 +4444,7 @@ functions to do so manually. Readline contains an internal signal handler that is installed for a number of signals (SIGINT, SIGQUIT, SIGTERM, +SIGHUP, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU). When one of these signals is received, the signal handler will reset the terminal attributes to those that were in effect before @@ -4222,11 +4478,11 @@ values of these variables only when calling readline(), not in a signal handler, so Readline's internal signal state is not corrupted.

- +

Variable: int rl_catch_signals
If this variable is non-zero, Readline will install signal handlers for -SIGINT, SIGQUIT, SIGTERM, SIGALRM, +SIGINT, SIGQUIT, SIGTERM, SIGHUP, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU.

@@ -4234,17 +4490,30 @@ The default value of rl_catch_signals is 1.

- +

Variable: int rl_catch_sigwinch -
If this variable is non-zero, Readline will install a signal handler for -SIGWINCH. +
If this variable is set to a non-zero value, +Readline will install a signal handler for SIGWINCH.

The default value of rl_catch_sigwinch is 1.

+ +

+
Variable: int rl_change_environment +
If this variable is set to a non-zero value, +and Readline is handling SIGWINCH, Readline will modify the +LINES and COLUMNS environment variables upon receipt of a +SIGWINCH +

+ +The default value of rl_change_environment is 1. +

+

+ If an application does not wish to have Readline catch any signals, or to handle signals other than those Readline catches (SIGHUP, for example), @@ -4252,7 +4521,7 @@ Readline provides convenience functions to do the necessary terminal and internal state cleanup upon receipt of a signal.

- +

Function: void rl_cleanup_after_signal (void)
This function will reset the state of the terminal to what it was before @@ -4262,7 +4531,7 @@ all signals, depending on the values of rl_catch_signals and

- +

Function: void rl_free_line_state (void)
This will free any partial state associated with the current input line @@ -4274,7 +4543,7 @@ current input line.

- +

Function: void rl_reset_after_signal (void)
This will reinitialize the terminal and reinstall any Readline signal @@ -4289,7 +4558,7 @@ Readline to update its idea of the terminal size when a SIGWINCH is received.

- +

Function: void rl_echo_signal_char (int sig)
If an application wishes to install its own signal handlers, but still @@ -4299,14 +4568,14 @@ function with sig set to SIGINT, SIGQUIT, o

- +

Function: void rl_resize_terminal (void)
Update Readline's internal screen size by reading values from the kernel.

- +

Function: void rl_set_screen_size (int rows, int cols)
Set Readline's idea of the terminal size to rows rows and @@ -4320,7 +4589,7 @@ is still interested in the screen dimensions, Readline's idea of the screen size may be queried.

- +

Function: void rl_get_screen_size (int *rows, int *cols)
Return Readline's idea of the terminal's size in the @@ -4328,7 +4597,7 @@ variables pointed to by the arguments.

- +

Function: void rl_reset_screen_size (void)
Cause Readline to reobtain the screen size and recalculate its dimensions. @@ -4338,17 +4607,17 @@ variables pointed to by the arguments. The following functions install and remove Readline's signal handlers.

- +

Function: int rl_set_signals (void)
Install Readline's signal handler for SIGINT, SIGQUIT, -SIGTERM, SIGALRM, SIGTSTP, SIGTTIN, +SIGTERM, SIGHUP, SIGALRM, SIGTSTP, SIGTTIN, SIGTTOU, and SIGWINCH, depending on the values of rl_catch_signals and rl_catch_sigwinch.

- +

Function: int rl_clear_signals (void)
Remove all of the Readline signal handlers installed by @@ -4358,20 +4627,20 @@ The following functions install and remove Readline's signal handlers.
- + - - + + - + - +
[ < ][ > ]
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.6 Custom Completers

- +

Typically, a program that reads commands from the user has a way of @@ -4382,29 +4651,29 @@ cooperate to provide this service.

- - - - + + + +
2.6.1 How Completing Works  The logic used to do completion.
2.6.2 Completion Functions  Functions provided by Readline.
2.6.3 Completion Variables  Variables which control completion.
2.6.4 A Short Completion Example  An example of writing completer subroutines.
2.6.1 How Completing Works  The logic used to do completion.
2.6.2 Completion Functions  Functions provided by Readline.
2.6.3 Completion Variables  Variables which control completion.
2.6.4 A Short Completion Example  An example of writing completer subroutines.


- + - - + + - - + + - +
[ < ][ > ]
[ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.6.1 How Completing Works

- +

In order to complete some text, the full list of possible completions @@ -4461,7 +4730,7 @@ Such a generator function is referred to as an

- +

Function: int rl_complete (int ignore, int invoking_key)
Complete the word at or before point. You have supplied the function @@ -4470,7 +4739,7 @@ that does the initial simple matching selection algorithm (see

- +

Variable: rl_compentry_func_t * rl_completion_entry_function
This is a pointer to the generator function for @@ -4486,27 +4755,27 @@ return values are used to generate possible completions.
- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.6.2 Completion Functions

- +

Here is the complete list of callable completion functions present in Readline.

- +

Function: int rl_complete_internal (int what_to_do)
Complete the word at or before point. what_to_do says what to do @@ -4520,7 +4789,7 @@ a common prefix.

- +

Function: int rl_complete (int ignore, int invoking_key)
Complete the word at or before point. You have supplied the function @@ -4532,7 +4801,7 @@ argument depending on invoking_key.

- +

Function: int rl_possible_completions (int count, int invoking_key)
List the possible completions. See description of rl_complete @@ -4541,7 +4810,7 @@ argument depending on invoking_key.

- +

Function: int rl_insert_completions (int count, int invoking_key)
Insert the list of possible completions into the line, deleting the @@ -4550,10 +4819,10 @@ This calls rl_complete_internal() with an argument of `*'

- +

Function: int rl_completion_mode (rl_command_func_t *cfunc) -
Returns the apppriate value to pass to rl_complete_internal() +
Returns the appropriate value to pass to rl_complete_internal() depending on whether cfunc was called twice in succession and the values of the show-all-if-ambiguous and show-all-if-unmodified variables. @@ -4562,7 +4831,7 @@ the same interface as rl_complete().

- +

Function: char ** rl_completion_matches (const char *text, rl_compentry_func_t *entry_func)
Returns an array of strings which is a list of completions for @@ -4580,7 +4849,7 @@ when there are no more matches.

- +

Function: char * rl_filename_completion_function (const char *text, int state)
A generator function for filename completion in the general case. @@ -4591,7 +4860,7 @@ Readline functions).

- +

Function: char * rl_username_completion_function (const char *text, int state)
A completion generator for usernames. text contains a partial @@ -4603,23 +4872,23 @@ for subsequent calls.
- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.6.3 Completion Variables

- +

- +

Variable: rl_compentry_func_t * rl_completion_entry_function
A pointer to the generator function for rl_completion_matches(). @@ -4628,7 +4897,7 @@ the default filename completer.

- +

Variable: rl_completion_func_t * rl_attempted_completion_function
A pointer to an alternative function to create matches. @@ -4645,7 +4914,7 @@ completion even if this function returns no matches.

- +

Variable: rl_quote_func_t * rl_filename_quoting_function
A pointer to a function that will quote a filename in an @@ -4662,7 +4931,7 @@ to reset this character.

- +

Variable: rl_dequote_func_t * rl_filename_dequoting_function
A pointer to a function that will remove application-specific quoting @@ -4675,7 +4944,7 @@ that delimits the filename (usually `'' or `"'). If

- +

Variable: rl_linebuf_func_t * rl_char_is_quoted_p
A pointer to a function to call that determines whether or not a specific @@ -4688,7 +4957,7 @@ used to break words for the completer.

- +

Variable: rl_compignore_func_t * rl_ignore_some_completions_function
This function, if defined, is called by the completer when real filename @@ -4701,7 +4970,7 @@ from the array must be freed.

- +

Variable: rl_icppfunc_t * rl_directory_completion_hook
This function, if defined, is allowed to modify the directory portion @@ -4716,19 +4985,57 @@ the directory portion of the pathname the user typed. At the least, even if no other expansion is performed, this function should remove any quote characters from the directory name, because its result will be passed directly to opendir(). +

+ The directory completion hook returns an integer that should be non-zero if the function modifies its directory argument. The function should not modify the directory argument if it returns 0.

- + +

+
Variable: rl_icppfunc_t * rl_directory_rewrite_hook; +
If non-zero, this is the address of a function to call when completing +a directory name. This function takes the address of the directory name +to be modified as an argument. Unlike rl_directory_completion_hook, +it only modifies the directory name used in opendir, not what is +displayed when the possible completions are printed or inserted. It is +called before rl_directory_completion_hook. +At the least, even if no other expansion is performed, this function should +remove any quote characters from the directory name, because its result will +be passed directly to opendir(). +

+ +The directory rewrite hook returns an integer that should be non-zero if +the function modfies its directory argument. +The function should not modify the directory argument if it returns 0. +

+

+ + +

+
Variable: rl_icppfunc_t * rl_filename_stat_hook +
If non-zero, this is the address of a function for the completer to +call before deciding which character to append to a completed name. +This function modifies its filename name argument, and the modified value +is passed to stat() to determine the file's type and characteristics. +This function does not need to remove quote characters from the filename. +

+ +The stat hook returns an integer that should be non-zero if +the function modfies its directory argument. +The function should not modify the directory argument if it returns 0. +

+

+ +

Variable: rl_dequote_func_t * rl_filename_rewrite_hook
If non-zero, this is the address of a function called when reading directory entries from the filesystem for completion and comparing them to the partial word to be completed. The function should -perform any necesary application or system-specific conversion on +perform any necessary application or system-specific conversion on the filename, such as converting between character sets or converting from a filesystem format to a character input format. The function takes two arguments: fname, the filename to be converted, @@ -4741,7 +5048,7 @@ allocated string.

- +

Variable: rl_compdisp_func_t * rl_completion_display_matches_hook
If non-zero, then this is the address of a function to call when @@ -4758,7 +5065,7 @@ function may be called from this hook.

- +

Variable: const char * rl_basic_word_break_characters
The basic list of characters that signal a break between words for the @@ -4768,14 +5075,14 @@ which break words for completion in Bash:

- +

Variable: const char * rl_basic_quote_characters
A list of quote characters which can cause a word break.

- +

Variable: const char * rl_completer_word_break_characters
The list of characters that signal a break between words for @@ -4784,7 +5091,7 @@ which break words for completion in Bash:

- +

Variable: rl_cpvfunc_t * rl_completion_word_break_hook
If non-zero, this is the address of a function to call when Readline is @@ -4796,7 +5103,7 @@ returns NULL, rl_completer_word_break_characters is us

- +

Variable: const char * rl_completer_quote_characters
A list of characters which can be used to quote a substring of the line. @@ -4806,7 +5113,7 @@ unless they also appear within this list.

- +

Variable: const char * rl_filename_quote_characters
A list of characters that cause a filename to be quoted by the completer @@ -4814,7 +5121,7 @@ when they appear in a completed filename. The default is the null string.

- +

Variable: const char * rl_special_prefixes
The list of characters that are word break characters, but should be @@ -4825,7 +5132,7 @@ shell variables and hostnames.

- +

Variable: int rl_completion_query_items
Up to this many items will be displayed in response to a @@ -4835,7 +5142,7 @@ indicates that Readline should never ask the user.

- +

Variable: int rl_completion_append_character
When a single completion alternative matches at the end of the command @@ -4848,7 +5155,7 @@ an application-specific command line syntax specification.

- +

Variable: int rl_completion_suppress_append
If non-zero, rl_completion_append_character is not appended to @@ -4858,7 +5165,7 @@ is called, and may only be changed within such a function.

- +

Variable: int rl_completion_quote_character
When Readline is completing quoted text, as delimited by one of the @@ -4868,7 +5175,7 @@ This is set before any application-specific completion function is called.

- +

Variable: int rl_completion_suppress_quote
If non-zero, Readline does not append a matching quote character when @@ -4878,7 +5185,7 @@ is called, and may only be changed within such a function.

- +

Variable: int rl_completion_found_quote
When Readline is completing quoted text, it sets this variable @@ -4888,7 +5195,7 @@ This is set before any application-specific completion function is called.

- +

Variable: int rl_completion_mark_symlink_dirs
If non-zero, a slash will be appended to completed filenames that are @@ -4903,7 +5210,7 @@ function modifies the value, the user's preferences are honored.

- +

Variable: int rl_ignore_completion_duplicates
If non-zero, then duplicates in the matches are removed. @@ -4911,7 +5218,7 @@ The default is 1.

- +

Variable: int rl_filename_completion_desired
Non-zero means that the results of the matches are to be treated as @@ -4925,7 +5232,7 @@ characters in rl_filename_quote_characters and

- +

Variable: int rl_filename_quoting_desired
Non-zero means that the results of the matches are to be quoted using @@ -4939,7 +5246,7 @@ by rl_filename_quoting_function.

- +

Variable: int rl_attempted_completion_over
If an application-specific completion function assigned to @@ -4950,7 +5257,7 @@ It should be set only by an application's completion function.

- +

Variable: int rl_sort_completion_matches
If an application sets this variable to 0, Readline will not sort the @@ -4962,19 +5269,19 @@ matches.

- +

Variable: int rl_completion_type
Set to a character describing the type of completion Readline is currently attempting; see the description of rl_complete_internal() -(see section 2.6.2 Completion Functions) for the list of characters. +(see section 2.6.2 Completion Functions) for the list of characters. This is set to the appropriate value before any application-specific completion function is called, allowing such functions to present the same interface as rl_complete().

- +

Variable: int rl_completion_invoking_key
Set to the final character in the key sequence that invoked one of the @@ -4984,7 +5291,7 @@ function is called.

- +

Variable: int rl_inhibit_completion
If this variable is non-zero, completion is inhibited. The completion @@ -4994,20 +5301,20 @@ character will be inserted as any other bound to self-insert.
- + - - + + - - + + - +
[ < ][ > ]
[ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

2.6.4 A Short Completion Example

- +

Here is a small application demonstrating the use of the GNU Readline @@ -5483,20 +5790,20 @@ valid_argument (caller, arg)


- + - - + + - +
[ < ][ > ]
[ < ][ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

A. GNU Free Documentation License

- +

@@ -6033,9 +6340,9 @@ provided the MMC is eligible for relicensing.

- +

ADDENDUM: How to use this License for your documents

- +

To use this License in a document you have written, include a copy of @@ -6074,20 +6381,20 @@ to permit their use in free software.


- + - - + + - +
[ < ][ > ]
[ < ][ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

Concept Index

- + - + @@ -6131,7 +6438,7 @@ to permit their use in free software. - + @@ -6161,20 +6468,20 @@ to permit their use in free software.
- +
Jump to:   A   C @@ -6111,7 +6418,7 @@ to permit their use in free software.
Index Entry Section

A
application-specific completion functions2.6 Custom Completers
application-specific completion functions2.6 Custom Completers

C
command editing1.2.1 Readline Bare Essentials
notation, readline1.2.1 Readline Bare Essentials

R
readline, function2.1 Basic Behavior
readline, function2.1 Basic Behavior

V
variables, readline1.3.1 Readline Init File Syntax
- + - +
[ < ]
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

Function and Variable Index

- + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - - - - - - + + + + + + + +
Jump to:   _  
@@ -6223,414 +6530,433 @@ to permit their use in free software.
Index Entry Section

_
_rl_digit_p2.4.10 Utility Functions
_rl_digit_value2.4.10 Utility Functions
_rl_lowercase_p2.4.10 Utility Functions
_rl_to_lower2.4.10 Utility Functions
_rl_to_upper2.4.10 Utility Functions
_rl_uppercase_p2.4.10 Utility Functions
_rl_digit_p2.4.10 Utility Functions
_rl_digit_value2.4.10 Utility Functions
_rl_lowercase_p2.4.10 Utility Functions
_rl_to_lower2.4.10 Utility Functions
_rl_to_upper2.4.10 Utility Functions
_rl_uppercase_p2.4.10 Utility Functions

A
abort (C-g)1.4.8 Some Miscellaneous Commands
abort (C-g)1.4.8 Some Miscellaneous Commands
accept-line (Newline or Return)1.4.2 Commands For Manipulating The History
accept-line (Newline or Return)1.4.2 Commands For Manipulating The History
abort (C-g)1.4.8 Some Miscellaneous Commands
abort (C-g)1.4.8 Some Miscellaneous Commands
accept-line (Newline or Return)1.4.2 Commands For Manipulating The History
accept-line (Newline or Return)1.4.2 Commands For Manipulating The History

B
backward-char (C-b)1.4.1 Commands For Moving
backward-char (C-b)1.4.1 Commands For Moving
backward-delete-char (Rubout)1.4.3 Commands For Changing Text
backward-delete-char (Rubout)1.4.3 Commands For Changing Text
backward-kill-line (C-x Rubout)1.4.4 Killing And Yanking
backward-kill-line (C-x Rubout)1.4.4 Killing And Yanking
backward-kill-word (M-DEL)1.4.4 Killing And Yanking
backward-kill-word (M-DEL)1.4.4 Killing And Yanking
backward-word (M-b)1.4.1 Commands For Moving
backward-word (M-b)1.4.1 Commands For Moving
beginning-of-history (M-&#60;)1.4.2 Commands For Manipulating The History
beginning-of-history (M-&#60;)1.4.2 Commands For Manipulating The History
beginning-of-line (C-a)1.4.1 Commands For Moving
beginning-of-line (C-a)1.4.1 Commands For Moving
backward-char (C-b)1.4.1 Commands For Moving
backward-char (C-b)1.4.1 Commands For Moving
backward-delete-char (Rubout)1.4.3 Commands For Changing Text
backward-delete-char (Rubout)1.4.3 Commands For Changing Text
backward-kill-line (C-x Rubout)1.4.4 Killing And Yanking
backward-kill-line (C-x Rubout)1.4.4 Killing And Yanking
backward-kill-word (M-DEL)1.4.4 Killing And Yanking
backward-kill-word (M-DEL)1.4.4 Killing And Yanking
backward-word (M-b)1.4.1 Commands For Moving
backward-word (M-b)1.4.1 Commands For Moving
beginning-of-history (M-&#60;)1.4.2 Commands For Manipulating The History
beginning-of-history (M-&#60;)1.4.2 Commands For Manipulating The History
beginning-of-line (C-a)1.4.1 Commands For Moving
beginning-of-line (C-a)1.4.1 Commands For Moving
bell-style1.3.1 Readline Init File Syntax
bind-tty-special-chars1.3.1 Readline Init File Syntax

C
call-last-kbd-macro (C-x e)1.4.7 Keyboard Macros
call-last-kbd-macro (C-x e)1.4.7 Keyboard Macros
capitalize-word (M-c)1.4.3 Commands For Changing Text
capitalize-word (M-c)1.4.3 Commands For Changing Text
character-search (C-])1.4.8 Some Miscellaneous Commands
character-search (C-])1.4.8 Some Miscellaneous Commands
character-search-backward (M-C-])1.4.8 Some Miscellaneous Commands
character-search-backward (M-C-])1.4.8 Some Miscellaneous Commands
clear-screen (C-l)1.4.1 Commands For Moving
clear-screen (C-l)1.4.1 Commands For Moving
comment-begin1.3.1 Readline Init File Syntax
complete (TAB)1.4.6 Letting Readline Type For You
complete (TAB)1.4.6 Letting Readline Type For You
completion-display-width1.3.1 Readline Init File Syntax
completion-ignore-case1.3.1 Readline Init File Syntax
completion-map-case1.3.1 Readline Init File Syntax
completion-prefix-display-length1.3.1 Readline Init File Syntax
completion-query-items1.3.1 Readline Init File Syntax
convert-meta1.3.1 Readline Init File Syntax
copy-backward-word ()1.4.4 Killing And Yanking
copy-backward-word ()1.4.4 Killing And Yanking
copy-forward-word ()1.4.4 Killing And Yanking
copy-forward-word ()1.4.4 Killing And Yanking
copy-region-as-kill ()1.4.4 Killing And Yanking
copy-region-as-kill ()1.4.4 Killing And Yanking
call-last-kbd-macro (C-x e)1.4.7 Keyboard Macros
call-last-kbd-macro (C-x e)1.4.7 Keyboard Macros
capitalize-word (M-c)1.4.3 Commands For Changing Text
capitalize-word (M-c)1.4.3 Commands For Changing Text
character-search (C-])1.4.8 Some Miscellaneous Commands
character-search (C-])1.4.8 Some Miscellaneous Commands
character-search-backward (M-C-])1.4.8 Some Miscellaneous Commands
character-search-backward (M-C-])1.4.8 Some Miscellaneous Commands
clear-screen (C-l)1.4.1 Commands For Moving
clear-screen (C-l)1.4.1 Commands For Moving
colored-stats1.3.1 Readline Init File Syntax
comment-begin1.3.1 Readline Init File Syntax
complete (TAB)1.4.6 Letting Readline Type For You
complete (TAB)1.4.6 Letting Readline Type For You
completion-display-width1.3.1 Readline Init File Syntax
completion-ignore-case1.3.1 Readline Init File Syntax
completion-map-case1.3.1 Readline Init File Syntax
completion-prefix-display-length1.3.1 Readline Init File Syntax
completion-query-items1.3.1 Readline Init File Syntax
convert-meta1.3.1 Readline Init File Syntax
copy-backward-word ()1.4.4 Killing And Yanking
copy-backward-word ()1.4.4 Killing And Yanking
copy-forward-word ()1.4.4 Killing And Yanking
copy-forward-word ()1.4.4 Killing And Yanking
copy-region-as-kill ()1.4.4 Killing And Yanking
copy-region-as-kill ()1.4.4 Killing And Yanking

D
delete-char (C-d)1.4.3 Commands For Changing Text
delete-char (C-d)1.4.3 Commands For Changing Text
delete-char-or-list ()1.4.6 Letting Readline Type For You
delete-char-or-list ()1.4.6 Letting Readline Type For You
delete-horizontal-space ()1.4.4 Killing And Yanking
delete-horizontal-space ()1.4.4 Killing And Yanking
digit-argument (M-0, M-1, <small>...</small> M--)1.4.5 Specifying Numeric Arguments
digit-argument (M-0, M-1, <small>...</small> M--)1.4.5 Specifying Numeric Arguments
disable-completion1.3.1 Readline Init File Syntax
do-uppercase-version (M-a, M-b, M-x, <small>...</small>)1.4.8 Some Miscellaneous Commands
do-uppercase-version (M-a, M-b, M-x, <small>...</small>)1.4.8 Some Miscellaneous Commands
downcase-word (M-l)1.4.3 Commands For Changing Text
downcase-word (M-l)1.4.3 Commands For Changing Text
dump-functions ()1.4.8 Some Miscellaneous Commands
dump-functions ()1.4.8 Some Miscellaneous Commands
dump-macros ()1.4.8 Some Miscellaneous Commands
dump-macros ()1.4.8 Some Miscellaneous Commands
dump-variables ()1.4.8 Some Miscellaneous Commands
dump-variables ()1.4.8 Some Miscellaneous Commands
delete-char (C-d)1.4.3 Commands For Changing Text
delete-char (C-d)1.4.3 Commands For Changing Text
delete-char-or-list ()1.4.6 Letting Readline Type For You
delete-char-or-list ()1.4.6 Letting Readline Type For You
delete-horizontal-space ()1.4.4 Killing And Yanking
delete-horizontal-space ()1.4.4 Killing And Yanking
digit-argument (M-0, M-1, <small>...</small> M--)1.4.5 Specifying Numeric Arguments
digit-argument (M-0, M-1, <small>...</small> M--)1.4.5 Specifying Numeric Arguments
disable-completion1.3.1 Readline Init File Syntax
do-uppercase-version (M-a, M-b, M-x, <small>...</small>)1.4.8 Some Miscellaneous Commands
do-uppercase-version (M-a, M-b, M-x, <small>...</small>)1.4.8 Some Miscellaneous Commands
downcase-word (M-l)1.4.3 Commands For Changing Text
downcase-word (M-l)1.4.3 Commands For Changing Text
dump-functions ()1.4.8 Some Miscellaneous Commands
dump-functions ()1.4.8 Some Miscellaneous Commands
dump-macros ()1.4.8 Some Miscellaneous Commands
dump-macros ()1.4.8 Some Miscellaneous Commands
dump-variables ()1.4.8 Some Miscellaneous Commands
dump-variables ()1.4.8 Some Miscellaneous Commands

E
editing-mode1.3.1 Readline Init File Syntax
emacs-editing-mode (C-e)1.4.8 Some Miscellaneous Commands
emacs-editing-mode (C-e)1.4.8 Some Miscellaneous Commands
enable-keypad1.3.1 Readline Init File Syntax
end-kbd-macro (C-x ))1.4.7 Keyboard Macros
end-kbd-macro (C-x ))1.4.7 Keyboard Macros
end-of-history (M-&#62;)1.4.2 Commands For Manipulating The History
end-of-history (M-&#62;)1.4.2 Commands For Manipulating The History
end-of-line (C-e)1.4.1 Commands For Moving
end-of-line (C-e)1.4.1 Commands For Moving
exchange-point-and-mark (C-x C-x)1.4.8 Some Miscellaneous Commands
exchange-point-and-mark (C-x C-x)1.4.8 Some Miscellaneous Commands
expand-tilde1.3.1 Readline Init File Syntax
editing-mode1.3.1 Readline Init File Syntax
emacs-editing-mode (C-e)1.4.8 Some Miscellaneous Commands
emacs-editing-mode (C-e)1.4.8 Some Miscellaneous Commands
enable-keypad1.3.1 Readline Init File Syntax
end-kbd-macro (C-x ))1.4.7 Keyboard Macros
end-kbd-macro (C-x ))1.4.7 Keyboard Macros
end-of-file (usually C-d)1.4.3 Commands For Changing Text
end-of-file (usually C-d)1.4.3 Commands For Changing Text
end-of-history (M-&#62;)1.4.2 Commands For Manipulating The History
end-of-history (M-&#62;)1.4.2 Commands For Manipulating The History
end-of-line (C-e)1.4.1 Commands For Moving
end-of-line (C-e)1.4.1 Commands For Moving
exchange-point-and-mark (C-x C-x)1.4.8 Some Miscellaneous Commands
exchange-point-and-mark (C-x C-x)1.4.8 Some Miscellaneous Commands
expand-tilde1.3.1 Readline Init File Syntax

F
forward-backward-delete-char ()1.4.3 Commands For Changing Text
forward-backward-delete-char ()1.4.3 Commands For Changing Text
forward-char (C-f)1.4.1 Commands For Moving
forward-char (C-f)1.4.1 Commands For Moving
forward-search-history (C-s)1.4.2 Commands For Manipulating The History
forward-search-history (C-s)1.4.2 Commands For Manipulating The History
forward-word (M-f)1.4.1 Commands For Moving
forward-word (M-f)1.4.1 Commands For Moving
forward-backward-delete-char ()1.4.3 Commands For Changing Text
forward-backward-delete-char ()1.4.3 Commands For Changing Text
forward-char (C-f)1.4.1 Commands For Moving
forward-char (C-f)1.4.1 Commands For Moving
forward-search-history (C-s)1.4.2 Commands For Manipulating The History
forward-search-history (C-s)1.4.2 Commands For Manipulating The History
forward-word (M-f)1.4.1 Commands For Moving
forward-word (M-f)1.4.1 Commands For Moving

H
history-preserve-point1.3.1 Readline Init File Syntax
history-search-backward ()1.4.2 Commands For Manipulating The History
history-search-backward ()1.4.2 Commands For Manipulating The History
history-search-forward ()1.4.2 Commands For Manipulating The History
history-search-forward ()1.4.2 Commands For Manipulating The History
history-size1.3.1 Readline Init File Syntax
horizontal-scroll-mode1.3.1 Readline Init File Syntax
history-preserve-point1.3.1 Readline Init File Syntax
history-search-backward ()1.4.2 Commands For Manipulating The History
history-search-backward ()1.4.2 Commands For Manipulating The History
history-search-forward ()1.4.2 Commands For Manipulating The History
history-search-forward ()1.4.2 Commands For Manipulating The History
history-size1.3.1 Readline Init File Syntax
history-substr-search-backward ()1.4.2 Commands For Manipulating The History
history-substr-search-backward ()1.4.2 Commands For Manipulating The History
history-substr-search-forward ()1.4.2 Commands For Manipulating The History
history-substr-search-forward ()1.4.2 Commands For Manipulating The History
horizontal-scroll-mode1.3.1 Readline Init File Syntax

I
input-meta1.3.1 Readline Init File Syntax
insert-comment (M-#)1.4.8 Some Miscellaneous Commands
insert-comment (M-#)1.4.8 Some Miscellaneous Commands
insert-completions (M-*)1.4.6 Letting Readline Type For You
insert-completions (M-*)1.4.6 Letting Readline Type For You
isearch-terminators1.3.1 Readline Init File Syntax
input-meta1.3.1 Readline Init File Syntax
insert-comment (M-#)1.4.8 Some Miscellaneous Commands
insert-comment (M-#)1.4.8 Some Miscellaneous Commands
insert-completions (M-*)1.4.6 Letting Readline Type For You
insert-completions (M-*)1.4.6 Letting Readline Type For You
isearch-terminators1.3.1 Readline Init File Syntax

K
keymap1.3.1 Readline Init File Syntax
kill-line (C-k)1.4.4 Killing And Yanking
kill-line (C-k)1.4.4 Killing And Yanking
kill-region ()1.4.4 Killing And Yanking
kill-region ()1.4.4 Killing And Yanking
kill-whole-line ()1.4.4 Killing And Yanking
kill-whole-line ()1.4.4 Killing And Yanking
kill-word (M-d)1.4.4 Killing And Yanking
kill-word (M-d)1.4.4 Killing And Yanking
keymap1.3.1 Readline Init File Syntax
kill-line (C-k)1.4.4 Killing And Yanking
kill-line (C-k)1.4.4 Killing And Yanking
kill-region ()1.4.4 Killing And Yanking
kill-region ()1.4.4 Killing And Yanking
kill-whole-line ()1.4.4 Killing And Yanking
kill-whole-line ()1.4.4 Killing And Yanking
kill-word (M-d)1.4.4 Killing And Yanking
kill-word (M-d)1.4.4 Killing And Yanking

M
mark-modified-lines1.3.1 Readline Init File Syntax
mark-symlinked-directories1.3.1 Readline Init File Syntax
match-hidden-files1.3.1 Readline Init File Syntax
menu-complete ()1.4.6 Letting Readline Type For You
menu-complete ()1.4.6 Letting Readline Type For You
menu-complete-backward ()1.4.6 Letting Readline Type For You
menu-complete-backward ()1.4.6 Letting Readline Type For You
menu-complete-display-prefix1.3.1 Readline Init File Syntax
meta-flag1.3.1 Readline Init File Syntax
mark-modified-lines1.3.1 Readline Init File Syntax
mark-symlinked-directories1.3.1 Readline Init File Syntax
match-hidden-files1.3.1 Readline Init File Syntax
menu-complete ()1.4.6 Letting Readline Type For You
menu-complete ()1.4.6 Letting Readline Type For You
menu-complete-backward ()1.4.6 Letting Readline Type For You
menu-complete-backward ()1.4.6 Letting Readline Type For You
menu-complete-display-prefix1.3.1 Readline Init File Syntax
meta-flag1.3.1 Readline Init File Syntax

N
next-history (C-n)1.4.2 Commands For Manipulating The History
next-history (C-n)1.4.2 Commands For Manipulating The History
non-incremental-forward-search-history (M-n)1.4.2 Commands For Manipulating The History
non-incremental-forward-search-history (M-n)1.4.2 Commands For Manipulating The History
non-incremental-reverse-search-history (M-p)1.4.2 Commands For Manipulating The History
non-incremental-reverse-search-history (M-p)1.4.2 Commands For Manipulating The History
next-history (C-n)1.4.2 Commands For Manipulating The History
next-history (C-n)1.4.2 Commands For Manipulating The History
non-incremental-forward-search-history (M-n)1.4.2 Commands For Manipulating The History
non-incremental-forward-search-history (M-n)1.4.2 Commands For Manipulating The History
non-incremental-reverse-search-history (M-p)1.4.2 Commands For Manipulating The History
non-incremental-reverse-search-history (M-p)1.4.2 Commands For Manipulating The History

O
output-meta1.3.1 Readline Init File Syntax
overwrite-mode ()1.4.3 Commands For Changing Text
overwrite-mode ()1.4.3 Commands For Changing Text
output-meta1.3.1 Readline Init File Syntax
overwrite-mode ()1.4.3 Commands For Changing Text
overwrite-mode ()1.4.3 Commands For Changing Text

P
page-completions1.3.1 Readline Init File Syntax
possible-completions (M-?)1.4.6 Letting Readline Type For You
possible-completions (M-?)1.4.6 Letting Readline Type For You
prefix-meta (ESC)1.4.8 Some Miscellaneous Commands
prefix-meta (ESC)1.4.8 Some Miscellaneous Commands
previous-history (C-p)1.4.2 Commands For Manipulating The History
previous-history (C-p)1.4.2 Commands For Manipulating The History
page-completions1.3.1 Readline Init File Syntax
possible-completions (M-?)1.4.6 Letting Readline Type For You
possible-completions (M-?)1.4.6 Letting Readline Type For You
prefix-meta (ESC)1.4.8 Some Miscellaneous Commands
prefix-meta (ESC)1.4.8 Some Miscellaneous Commands
previous-history (C-p)1.4.2 Commands For Manipulating The History
previous-history (C-p)1.4.2 Commands For Manipulating The History
print-last-kbd-macro ()1.4.7 Keyboard Macros
print-last-kbd-macro ()1.4.7 Keyboard Macros

Q
quoted-insert (C-q or C-v)1.4.3 Commands For Changing Text
quoted-insert (C-q or C-v)1.4.3 Commands For Changing Text
quoted-insert (C-q or C-v)1.4.3 Commands For Changing Text
quoted-insert (C-q or C-v)1.4.3 Commands For Changing Text

R
re-read-init-file (C-x C-r)1.4.8 Some Miscellaneous Commands
re-read-init-file (C-x C-r)1.4.8 Some Miscellaneous Commands
readline2.1 Basic Behavior
redraw-current-line ()1.4.1 Commands For Moving
redraw-current-line ()1.4.1 Commands For Moving
reverse-search-history (C-r)1.4.2 Commands For Manipulating The History
reverse-search-history (C-r)1.4.2 Commands For Manipulating The History
revert-all-at-newline1.3.1 Readline Init File Syntax
revert-line (M-r)1.4.8 Some Miscellaneous Commands
revert-line (M-r)1.4.8 Some Miscellaneous Commands
rl_add_defun2.4.1 Naming a Function
rl_add_funmap_entry2.4.4 Associating Function Names and Bindings
rl_add_undo2.4.5 Allowing Undoing
rl_alphabetic2.4.10 Utility Functions
rl_already_prompted2.3 Readline Variables
rl_attempted_completion_function2.6.3 Completion Variables
rl_attempted_completion_over2.6.3 Completion Variables
rl_basic_quote_characters2.6.3 Completion Variables
rl_basic_word_break_characters2.6.3 Completion Variables
rl_begin_undo_group2.4.5 Allowing Undoing
rl_bind_key2.4.3 Binding Keys
rl_bind_key_if_unbound2.4.3 Binding Keys
rl_bind_key_if_unbound_in_map2.4.3 Binding Keys
rl_bind_key_in_map2.4.3 Binding Keys
rl_bind_keyseq2.4.3 Binding Keys
rl_bind_keyseq_if_unbound2.4.3 Binding Keys
rl_bind_keyseq_if_unbound_in_map2.4.3 Binding Keys
rl_bind_keyseq_in_map2.4.3 Binding Keys
rl_binding_keymap2.3 Readline Variables
rl_callback_handler_install2.4.12 Alternate Interface
rl_callback_handler_remove2.4.12 Alternate Interface
rl_callback_read_char2.4.12 Alternate Interface
rl_catch_signals2.5 Readline Signal Handling
rl_catch_sigwinch2.5 Readline Signal Handling
rl_char_is_quoted_p2.6.3 Completion Variables
rl_cleanup_after_signal2.5 Readline Signal Handling
rl_clear_message2.4.6 Redisplay
rl_clear_pending_input2.4.8 Character Input
rl_clear_signals2.5 Readline Signal Handling
rl_complete2.6.1 How Completing Works
rl_complete2.6.2 Completion Functions
rl_complete_internal2.6.2 Completion Functions
rl_completer_quote_characters2.6.3 Completion Variables
rl_completer_word_break_characters2.6.3 Completion Variables
rl_completion_append_character2.6.3 Completion Variables
rl_completion_display_matches_hook2.6.3 Completion Variables
rl_completion_entry_function2.6.1 How Completing Works
rl_completion_entry_function2.6.3 Completion Variables
rl_completion_found_quote2.6.3 Completion Variables
rl_completion_invoking_key2.6.3 Completion Variables
rl_completion_mark_symlink_dirs2.6.3 Completion Variables
rl_completion_matches2.6.2 Completion Functions
rl_completion_mode2.6.2 Completion Functions
rl_completion_query_items2.6.3 Completion Variables
rl_completion_quote_character2.6.3 Completion Variables
rl_completion_suppress_append2.6.3 Completion Variables
rl_completion_suppress_quote2.6.3 Completion Variables
rl_completion_type2.6.3 Completion Variables
rl_completion_word_break_hook2.6.3 Completion Variables
rl_copy_keymap2.4.2 Selecting a Keymap
rl_copy_text2.4.7 Modifying Text
rl_crlf2.4.6 Redisplay
rl_delete_text2.4.7 Modifying Text
rl_deprep_term_function2.3 Readline Variables
rl_deprep_terminal2.4.9 Terminal Management
rl_ding2.4.10 Utility Functions
rl_directory_completion_hook2.6.3 Completion Variables
rl_discard_keymap2.4.2 Selecting a Keymap
rl_dispatching2.3 Readline Variables
rl_display_match_list2.4.10 Utility Functions
rl_display_prompt2.3 Readline Variables
rl_do_undo2.4.5 Allowing Undoing
rl_done2.3 Readline Variables
rl_echo_signal_char2.5 Readline Signal Handling
rl_editing_mode2.3 Readline Variables
rl_end2.3 Readline Variables
rl_end_undo_group2.4.5 Allowing Undoing
rl_erase_empty_line2.3 Readline Variables
rl_event_hook2.3 Readline Variables
rl_execute_next2.4.8 Character Input
rl_executing_keymap2.3 Readline Variables
rl_executing_macro2.3 Readline Variables
rl_expand_prompt2.4.6 Redisplay
rl_explicit_arg2.3 Readline Variables
rl_extend_line_buffer2.4.10 Utility Functions
rl_filename_completion_desired2.6.3 Completion Variables
rl_filename_completion_function2.6.2 Completion Functions
rl_filename_dequoting_function2.6.3 Completion Variables
rl_filename_quote_characters2.6.3 Completion Variables
rl_filename_quoting_desired2.6.3 Completion Variables
rl_filename_quoting_function2.6.3 Completion Variables
rl_filename_rewrite_hook2.6.3 Completion Variables
rl_forced_update_display2.4.6 Redisplay
rl_free2.4.10 Utility Functions
rl_free_keymap2.4.2 Selecting a Keymap
rl_free_line_state2.5 Readline Signal Handling
rl_free_undo_list2.4.5 Allowing Undoing
rl_function_dumper2.4.4 Associating Function Names and Bindings
rl_function_of_keyseq2.4.4 Associating Function Names and Bindings
rl_funmap_names2.4.4 Associating Function Names and Bindings
rl_generic_bind2.4.3 Binding Keys
rl_get_keymap2.4.2 Selecting a Keymap
rl_get_keymap_by_name2.4.2 Selecting a Keymap
rl_get_keymap_name2.4.2 Selecting a Keymap
rl_get_screen_size2.5 Readline Signal Handling
rl_get_termcap2.4.11 Miscellaneous Functions
rl_getc2.4.8 Character Input
rl_getc_function2.3 Readline Variables
rl_gnu_readline_p2.3 Readline Variables
rl_ignore_completion_duplicates2.6.3 Completion Variables
rl_ignore_some_completions_function2.6.3 Completion Variables
rl_inhibit_completion2.6.3 Completion Variables
rl_initialize2.4.10 Utility Functions
rl_insert_completions2.6.2 Completion Functions
rl_insert_text2.4.7 Modifying Text
rl_instream2.3 Readline Variables
rl_invoking_keyseqs2.4.4 Associating Function Names and Bindings
rl_invoking_keyseqs_in_map2.4.4 Associating Function Names and Bindings
rl_kill_text2.4.7 Modifying Text
rl_last_func2.3 Readline Variables
rl_library_version2.3 Readline Variables
rl_line_buffer2.3 Readline Variables
rl_list_funmap_names2.4.4 Associating Function Names and Bindings
rl_macro_bind2.4.11 Miscellaneous Functions
rl_macro_dumper2.4.11 Miscellaneous Functions
rl_make_bare_keymap2.4.2 Selecting a Keymap
rl_make_keymap2.4.2 Selecting a Keymap
rl_mark2.3 Readline Variables
rl_message2.4.6 Redisplay
rl_modifying2.4.5 Allowing Undoing
rl_named_function2.4.4 Associating Function Names and Bindings
rl_num_chars_to_read2.3 Readline Variables
rl_numeric_arg2.3 Readline Variables
rl_on_new_line2.4.6 Redisplay
rl_on_new_line_with_prompt2.4.6 Redisplay
rl_outstream2.3 Readline Variables
rl_parse_and_bind2.4.3 Binding Keys
rl_pending_input2.3 Readline Variables
rl_point2.3 Readline Variables
rl_possible_completions2.6.2 Completion Functions
rl_pre_input_hook2.3 Readline Variables
rl_prefer_env_winsize2.3 Readline Variables
rl_prep_term_function2.3 Readline Variables
rl_prep_terminal2.4.9 Terminal Management
rl_prompt2.3 Readline Variables
rl_push_macro_input2.4.7 Modifying Text
rl_read_init_file2.4.3 Binding Keys
rl_read_key2.4.8 Character Input
rl_readline_name2.3 Readline Variables
rl_readline_state2.3 Readline Variables
rl_readline_version2.3 Readline Variables
rl_redisplay2.4.6 Redisplay
rl_redisplay_function2.3 Readline Variables
rl_replace_line2.4.10 Utility Functions
rl_reset_after_signal2.5 Readline Signal Handling
rl_reset_line_state2.4.6 Redisplay
rl_reset_screen_size2.5 Readline Signal Handling
rl_reset_terminal2.4.9 Terminal Management
rl_resize_terminal2.5 Readline Signal Handling
rl_restore_prompt2.4.6 Redisplay
rl_restore_state2.4.10 Utility Functions
rl_save_prompt2.4.6 Redisplay
rl_save_state2.4.10 Utility Functions
rl_set_key2.4.3 Binding Keys
rl_set_keyboard_input_timeout2.4.8 Character Input
rl_set_keymap2.4.2 Selecting a Keymap
rl_set_paren_blink_timeout2.4.11 Miscellaneous Functions
rl_set_prompt2.4.6 Redisplay
rl_set_screen_size2.5 Readline Signal Handling
rl_set_signals2.5 Readline Signal Handling
rl_show_char2.4.6 Redisplay
rl_sort_completion_matches2.6.3 Completion Variables
rl_special_prefixes2.6.3 Completion Variables
rl_startup_hook2.3 Readline Variables
rl_stuff_char2.4.8 Character Input
rl_terminal_name2.3 Readline Variables
rl_tty_set_default_bindings2.4.9 Terminal Management
rl_tty_unset_default_bindings2.4.9 Terminal Management
rl_unbind_command_in_map2.4.3 Binding Keys
rl_unbind_function_in_map2.4.3 Binding Keys
rl_unbind_key2.4.3 Binding Keys
rl_unbind_key_in_map2.4.3 Binding Keys
rl_username_completion_function2.6.2 Completion Functions
rl_variable_bind2.4.11 Miscellaneous Functions
rl_variable_dumper2.4.11 Miscellaneous Functions
rl_variable_value2.4.11 Miscellaneous Functions
re-read-init-file (C-x C-r)1.4.8 Some Miscellaneous Commands
re-read-init-file (C-x C-r)1.4.8 Some Miscellaneous Commands
readline2.1 Basic Behavior
redraw-current-line ()1.4.1 Commands For Moving
redraw-current-line ()1.4.1 Commands For Moving
reverse-search-history (C-r)1.4.2 Commands For Manipulating The History
reverse-search-history (C-r)1.4.2 Commands For Manipulating The History
revert-all-at-newline1.3.1 Readline Init File Syntax
revert-line (M-r)1.4.8 Some Miscellaneous Commands
revert-line (M-r)1.4.8 Some Miscellaneous Commands
rl_add_defun2.4.1 Naming a Function
rl_add_funmap_entry2.4.4 Associating Function Names and Bindings
rl_add_undo2.4.5 Allowing Undoing
rl_alphabetic2.4.10 Utility Functions
rl_already_prompted2.3 Readline Variables
rl_attempted_completion_function2.6.3 Completion Variables
rl_attempted_completion_over2.6.3 Completion Variables
rl_basic_quote_characters2.6.3 Completion Variables
rl_basic_word_break_characters2.6.3 Completion Variables
rl_begin_undo_group2.4.5 Allowing Undoing
rl_bind_key2.4.3 Binding Keys
rl_bind_key_if_unbound2.4.3 Binding Keys
rl_bind_key_if_unbound_in_map2.4.3 Binding Keys
rl_bind_key_in_map2.4.3 Binding Keys
rl_bind_keyseq2.4.3 Binding Keys
rl_bind_keyseq_if_unbound2.4.3 Binding Keys
rl_bind_keyseq_if_unbound_in_map2.4.3 Binding Keys
rl_bind_keyseq_in_map2.4.3 Binding Keys
rl_binding_keymap2.3 Readline Variables
rl_callback_handler_install2.4.12 Alternate Interface
rl_callback_handler_remove2.4.12 Alternate Interface
rl_callback_read_char2.4.12 Alternate Interface
rl_catch_signals2.5 Readline Signal Handling
rl_catch_sigwinch2.5 Readline Signal Handling
rl_change_environment2.5 Readline Signal Handling
rl_char_is_quoted_p2.6.3 Completion Variables
rl_cleanup_after_signal2.5 Readline Signal Handling
rl_clear_history2.4.11 Miscellaneous Functions
rl_clear_message2.4.6 Redisplay
rl_clear_pending_input2.4.8 Character Input
rl_clear_signals2.5 Readline Signal Handling
rl_complete2.6.1 How Completing Works
rl_complete2.6.2 Completion Functions
rl_complete_internal2.6.2 Completion Functions
rl_completer_quote_characters2.6.3 Completion Variables
rl_completer_word_break_characters2.6.3 Completion Variables
rl_completion_append_character2.6.3 Completion Variables
rl_completion_display_matches_hook2.6.3 Completion Variables
rl_completion_entry_function2.6.1 How Completing Works
rl_completion_entry_function2.6.3 Completion Variables
rl_completion_found_quote2.6.3 Completion Variables
rl_completion_invoking_key2.6.3 Completion Variables
rl_completion_mark_symlink_dirs2.6.3 Completion Variables
rl_completion_matches2.6.2 Completion Functions
rl_completion_mode2.6.2 Completion Functions
rl_completion_query_items2.6.3 Completion Variables
rl_completion_quote_character2.6.3 Completion Variables
rl_completion_suppress_append2.6.3 Completion Variables
rl_completion_suppress_quote2.6.3 Completion Variables
rl_completion_type2.6.3 Completion Variables
rl_completion_word_break_hook2.6.3 Completion Variables
rl_copy_keymap2.4.2 Selecting a Keymap
rl_copy_text2.4.7 Modifying Text
rl_crlf2.4.6 Redisplay
rl_delete_text2.4.7 Modifying Text
rl_deprep_term_function2.3 Readline Variables
rl_deprep_terminal2.4.9 Terminal Management
rl_ding2.4.10 Utility Functions
rl_directory_completion_hook2.6.3 Completion Variables
rl_directory_rewrite_hook;2.6.3 Completion Variables
rl_discard_keymap2.4.2 Selecting a Keymap
rl_dispatching2.3 Readline Variables
rl_display_match_list2.4.10 Utility Functions
rl_display_prompt2.3 Readline Variables
rl_do_undo2.4.5 Allowing Undoing
rl_done2.3 Readline Variables
rl_echo_signal_char2.5 Readline Signal Handling
rl_editing_mode2.3 Readline Variables
rl_end2.3 Readline Variables
rl_end_undo_group2.4.5 Allowing Undoing
rl_erase_empty_line2.3 Readline Variables
rl_event_hook2.3 Readline Variables
rl_execute_next2.4.8 Character Input
rl_executing_key2.3 Readline Variables
rl_executing_keymap2.3 Readline Variables
rl_executing_keyseq2.3 Readline Variables
rl_executing_macro2.3 Readline Variables
rl_expand_prompt2.4.6 Redisplay
rl_explicit_arg2.3 Readline Variables
rl_extend_line_buffer2.4.10 Utility Functions
rl_filename_completion_desired2.6.3 Completion Variables
rl_filename_completion_function2.6.2 Completion Functions
rl_filename_dequoting_function2.6.3 Completion Variables
rl_filename_quote_characters2.6.3 Completion Variables
rl_filename_quoting_desired2.6.3 Completion Variables
rl_filename_quoting_function2.6.3 Completion Variables
rl_filename_rewrite_hook2.6.3 Completion Variables
rl_filename_stat_hook2.6.3 Completion Variables
rl_forced_update_display2.4.6 Redisplay
rl_free2.4.10 Utility Functions
rl_free_keymap2.4.2 Selecting a Keymap
rl_free_line_state2.5 Readline Signal Handling
rl_free_undo_list2.4.5 Allowing Undoing
rl_function_dumper2.4.4 Associating Function Names and Bindings
rl_function_of_keyseq2.4.4 Associating Function Names and Bindings
rl_funmap_names2.4.4 Associating Function Names and Bindings
rl_generic_bind2.4.3 Binding Keys
rl_get_keymap2.4.2 Selecting a Keymap
rl_get_keymap_by_name2.4.2 Selecting a Keymap
rl_get_keymap_name2.4.2 Selecting a Keymap
rl_get_screen_size2.5 Readline Signal Handling
rl_get_termcap2.4.11 Miscellaneous Functions
rl_getc2.4.8 Character Input
rl_getc_function2.3 Readline Variables
rl_gnu_readline_p2.3 Readline Variables
rl_ignore_completion_duplicates2.6.3 Completion Variables
rl_ignore_some_completions_function2.6.3 Completion Variables
rl_inhibit_completion2.6.3 Completion Variables
rl_initialize2.4.10 Utility Functions
rl_input_available_hook2.3 Readline Variables
rl_insert_completions2.6.2 Completion Functions
rl_insert_text2.4.7 Modifying Text
rl_instream2.3 Readline Variables
rl_invoking_keyseqs2.4.4 Associating Function Names and Bindings
rl_invoking_keyseqs_in_map2.4.4 Associating Function Names and Bindings
rl_key_sequence_length2.3 Readline Variables
rl_kill_text2.4.7 Modifying Text
rl_last_func2.3 Readline Variables
rl_library_version2.3 Readline Variables
rl_line_buffer2.3 Readline Variables
rl_list_funmap_names2.4.4 Associating Function Names and Bindings
rl_macro_bind2.4.11 Miscellaneous Functions
rl_macro_dumper2.4.11 Miscellaneous Functions
rl_make_bare_keymap2.4.2 Selecting a Keymap
rl_make_keymap2.4.2 Selecting a Keymap
rl_mark2.3 Readline Variables
rl_message2.4.6 Redisplay
rl_modifying2.4.5 Allowing Undoing
rl_named_function2.4.4 Associating Function Names and Bindings
rl_num_chars_to_read2.3 Readline Variables
rl_numeric_arg2.3 Readline Variables
rl_on_new_line2.4.6 Redisplay
rl_on_new_line_with_prompt2.4.6 Redisplay
rl_outstream2.3 Readline Variables
rl_parse_and_bind2.4.3 Binding Keys
rl_pending_input2.3 Readline Variables
rl_point2.3 Readline Variables
rl_possible_completions2.6.2 Completion Functions
rl_pre_input_hook2.3 Readline Variables
rl_prefer_env_winsize2.3 Readline Variables
rl_prep_term_function2.3 Readline Variables
rl_prep_terminal2.4.9 Terminal Management
rl_prompt2.3 Readline Variables
rl_push_macro_input2.4.7 Modifying Text
rl_read_init_file2.4.3 Binding Keys
rl_read_key2.4.8 Character Input
rl_readline_name2.3 Readline Variables
rl_readline_state2.3 Readline Variables
rl_readline_version2.3 Readline Variables
rl_redisplay2.4.6 Redisplay
rl_redisplay_function2.3 Readline Variables
rl_replace_line2.4.10 Utility Functions
rl_reset_after_signal2.5 Readline Signal Handling
rl_reset_line_state2.4.6 Redisplay
rl_reset_screen_size2.5 Readline Signal Handling
rl_reset_terminal2.4.9 Terminal Management
rl_resize_terminal2.5 Readline Signal Handling
rl_restore_prompt2.4.6 Redisplay
rl_restore_state2.4.10 Utility Functions
rl_save_prompt2.4.6 Redisplay
rl_save_state2.4.10 Utility Functions
rl_set_key2.4.3 Binding Keys
rl_set_keyboard_input_timeout2.4.8 Character Input
rl_set_keymap2.4.2 Selecting a Keymap
rl_set_paren_blink_timeout2.4.11 Miscellaneous Functions
rl_set_prompt2.4.6 Redisplay
rl_set_screen_size2.5 Readline Signal Handling
rl_set_signals2.5 Readline Signal Handling
rl_show_char2.4.6 Redisplay
rl_signal_event_hook2.3 Readline Variables
rl_sort_completion_matches2.6.3 Completion Variables
rl_special_prefixes2.6.3 Completion Variables
rl_startup_hook2.3 Readline Variables
rl_stuff_char2.4.8 Character Input
rl_terminal_name2.3 Readline Variables
rl_tty_set_default_bindings2.4.9 Terminal Management
rl_tty_unset_default_bindings2.4.9 Terminal Management
rl_unbind_command_in_map2.4.3 Binding Keys
rl_unbind_function_in_map2.4.3 Binding Keys
rl_unbind_key2.4.3 Binding Keys
rl_unbind_key_in_map2.4.3 Binding Keys
rl_username_completion_function2.6.2 Completion Functions
rl_variable_bind2.4.11 Miscellaneous Functions
rl_variable_dumper2.4.11 Miscellaneous Functions
rl_variable_value2.4.11 Miscellaneous Functions

S
self-insert (a, b, A, 1, !, <small>...</small>)1.4.3 Commands For Changing Text
self-insert (a, b, A, 1, !, <small>...</small>)1.4.3 Commands For Changing Text
set-mark (C-@)1.4.8 Some Miscellaneous Commands
set-mark (C-@)1.4.8 Some Miscellaneous Commands
show-all-if-ambiguous1.3.1 Readline Init File Syntax
show-all-if-unmodified1.3.1 Readline Init File Syntax
skip-completed-text1.3.1 Readline Init File Syntax
skip-csi-sequence ()1.4.8 Some Miscellaneous Commands
skip-csi-sequence ()1.4.8 Some Miscellaneous Commands
start-kbd-macro (C-x ()1.4.7 Keyboard Macros
start-kbd-macro (C-x ()1.4.7 Keyboard Macros
self-insert (a, b, A, 1, !, <small>...</small>)1.4.3 Commands For Changing Text
self-insert (a, b, A, 1, !, <small>...</small>)1.4.3 Commands For Changing Text
set-mark (C-@)1.4.8 Some Miscellaneous Commands
set-mark (C-@)1.4.8 Some Miscellaneous Commands
show-all-if-ambiguous1.3.1 Readline Init File Syntax
show-all-if-unmodified1.3.1 Readline Init File Syntax
show-mode-in-prompt1.3.1 Readline Init File Syntax
skip-completed-text1.3.1 Readline Init File Syntax
skip-csi-sequence ()1.4.8 Some Miscellaneous Commands
skip-csi-sequence ()1.4.8 Some Miscellaneous Commands
start-kbd-macro (C-x ()1.4.7 Keyboard Macros
start-kbd-macro (C-x ()1.4.7 Keyboard Macros

T
tab-insert (M-TAB)1.4.3 Commands For Changing Text
tab-insert (M-TAB)1.4.3 Commands For Changing Text
tilde-expand (M-~)1.4.8 Some Miscellaneous Commands
tilde-expand (M-~)1.4.8 Some Miscellaneous Commands
transpose-chars (C-t)1.4.3 Commands For Changing Text
transpose-chars (C-t)1.4.3 Commands For Changing Text
transpose-words (M-t)1.4.3 Commands For Changing Text
transpose-words (M-t)1.4.3 Commands For Changing Text
tab-insert (M-TAB)1.4.3 Commands For Changing Text
tab-insert (M-TAB)1.4.3 Commands For Changing Text
tilde-expand (M-~)1.4.8 Some Miscellaneous Commands
tilde-expand (M-~)1.4.8 Some Miscellaneous Commands
transpose-chars (C-t)1.4.3 Commands For Changing Text
transpose-chars (C-t)1.4.3 Commands For Changing Text
transpose-words (M-t)1.4.3 Commands For Changing Text
transpose-words (M-t)1.4.3 Commands For Changing Text

U
undo (C-_ or C-x C-u)1.4.8 Some Miscellaneous Commands
undo (C-_ or C-x C-u)1.4.8 Some Miscellaneous Commands
universal-argument ()1.4.5 Specifying Numeric Arguments
universal-argument ()1.4.5 Specifying Numeric Arguments
unix-filename-rubout ()1.4.4 Killing And Yanking
unix-filename-rubout ()1.4.4 Killing And Yanking
unix-line-discard (C-u)1.4.4 Killing And Yanking
unix-line-discard (C-u)1.4.4 Killing And Yanking
unix-word-rubout (C-w)1.4.4 Killing And Yanking
unix-word-rubout (C-w)1.4.4 Killing And Yanking
upcase-word (M-u)1.4.3 Commands For Changing Text
upcase-word (M-u)1.4.3 Commands For Changing Text
undo (C-_ or C-x C-u)1.4.8 Some Miscellaneous Commands
undo (C-_ or C-x C-u)1.4.8 Some Miscellaneous Commands
universal-argument ()1.4.5 Specifying Numeric Arguments
universal-argument ()1.4.5 Specifying Numeric Arguments
unix-filename-rubout ()1.4.4 Killing And Yanking
unix-filename-rubout ()1.4.4 Killing And Yanking
unix-line-discard (C-u)1.4.4 Killing And Yanking
unix-line-discard (C-u)1.4.4 Killing And Yanking
unix-word-rubout (C-w)1.4.4 Killing And Yanking
unix-word-rubout (C-w)1.4.4 Killing And Yanking
upcase-word (M-u)1.4.3 Commands For Changing Text
upcase-word (M-u)1.4.3 Commands For Changing Text

V
vi-editing-mode (M-C-j)1.4.8 Some Miscellaneous Commands
vi-editing-mode (M-C-j)1.4.8 Some Miscellaneous Commands
visible-stats1.3.1 Readline Init File Syntax
vi-editing-mode (M-C-j)1.4.8 Some Miscellaneous Commands
vi-editing-mode (M-C-j)1.4.8 Some Miscellaneous Commands
visible-stats1.3.1 Readline Init File Syntax

Y
yank (C-y)1.4.4 Killing And Yanking
yank (C-y)1.4.4 Killing And Yanking
yank-last-arg (M-. or M-_)1.4.2 Commands For Manipulating The History
yank-last-arg (M-. or M-_)1.4.2 Commands For Manipulating The History
yank-nth-arg (M-C-y)1.4.2 Commands For Manipulating The History
yank-nth-arg (M-C-y)1.4.2 Commands For Manipulating The History
yank-pop (M-y)1.4.4 Killing And Yanking
yank-pop (M-y)1.4.4 Killing And Yanking
yank (C-y)1.4.4 Killing And Yanking
yank (C-y)1.4.4 Killing And Yanking
yank-last-arg (M-. or M-_)1.4.2 Commands For Manipulating The History
yank-last-arg (M-. or M-_)1.4.2 Commands For Manipulating The History
yank-nth-arg (M-C-y)1.4.2 Commands For Manipulating The History
yank-nth-arg (M-C-y)1.4.2 Commands For Manipulating The History
yank-pop (M-y)1.4.4 Killing And Yanking
yank-pop (M-y)1.4.4 Killing And Yanking

Jump to:   _   @@ -6682,7 +7008,7 @@ to permit their use in free software. - +
[Top] [Contents][Index][Index] [ ? ]

Table of Contents

@@ -6783,27 +7109,29 @@ to permit their use in free software.
2.4.13 A Readline Example
+2.4.14 Alternate Interface Example +
-2.5 Readline Signal Handling +2.5 Readline Signal Handling
-2.6 Custom Completers +2.6 Custom Completers
-A. GNU Free Documentation License +A. GNU Free Documentation License
-Concept Index +Concept Index
-Function and Variable Index +Function and Variable Index

@@ -6811,7 +7139,7 @@ to permit their use in free software. - +
[Top] [Contents][Index][Index] [ ? ]

Short Table of Contents

@@ -6820,11 +7148,11 @@ to permit their use in free software.
2. Programming with GNU Readline
-A. GNU Free Documentation License +A. GNU Free Documentation License
-Concept Index +Concept Index
-Function and Variable Index +Function and Variable Index
@@ -6833,11 +7161,11 @@ to permit their use in free software. - +
[Top] [Contents][Index][Index] [ ? ]

About this document

-This document was generated by Chet Ramey on February, 8 2011 +This document was generated by Chet Ramey on February, 11 2014 using texi2html

@@ -6999,7 +7327,7 @@ the following structure:
This document was generated -by Chet Ramey on February, 8 2011 +by Chet Ramey on February, 11 2014 using texi2html diff --git a/doc/readline.info b/doc/readline.info index 0e13eff..344e1dd 100644 --- a/doc/readline.info +++ b/doc/readline.info @@ -1,27 +1,18 @@ This is readline.info, produced by makeinfo version 4.13 from -/usr/src/local/chet/src/bash/readline-src/doc/rlman.texi. +/usr/homes/chet/src/bash/readline-src/doc/rlman.texi. -This manual describes the GNU Readline Library (version 6.2, September -6 2010), a library which aids in the consistency of user interface -across discrete programs which provide a command line interface. +This manual describes the GNU Readline Library (version 6.3, 6 January +2014), a library which aids in the consistency of user interface across +discrete programs which provide a command line interface. - Copyright (C) 1988-2011 Free Software Foundation, Inc. - - Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. + Copyright (C) 1988-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". - - (a) The FSF's Back-Cover Text is: You are free to copy and modify - this GNU manual. Buying copies from GNU Press supports the FSF in - developing GNU and promoting software freedom." + Foundation; with no Invariant Sections, no Front-Cover Texts, and + no Back-Cover Texts. A copy of the license is included in the + section entitled "GNU Free Documentation License". INFO-DIR-SECTION Libraries @@ -37,7 +28,8 @@ GNU Readline Library This document describes the GNU Readline Library, a utility which aids in the consistency of user interface across discrete programs which -provide a command line interface. +provide a command line interface. The Readline home page is +`http://www.gnu.org/software/readline/'. * Menu: @@ -397,6 +389,12 @@ Variable Settings characters treated specially by the kernel's terminal driver to their Readline equivalents. + `colored-stats' + If set to `on', Readline displays possible completions using + different colors to indicate their file type. The color + definitions are taken from the value of the `LS_COLORS' + environment variable. The default is `off'. + `comment-begin' The string to insert at the beginning of the line when the `insert-comment' command is executed. The default value is @@ -482,8 +480,10 @@ Variable Settings `history-size' Set the maximum number of history entries saved in the - history list. If set to zero, the number of entries in the - history list is not limited. + history list. If set to zero, any existing history entries + are deleted and no new entries are saved. If set to a value + less than zero, the number of history entries is not limited. + By default, the number of history entries is not limited. `horizontal-scroll-mode' This variable can be set to either `on' or `off'. Setting it @@ -515,6 +515,22 @@ Variable Settings default value is `emacs'. The value of the `editing-mode' variable also affects the default keymap. + `keyseq-timeout' + Specifies the duration Readline will wait for a character + when reading an ambiguous key sequence (one that can form a + complete key sequence using the input read so far, or can + take additional input to complete a longer key sequence). If + no input is received within the timeout, Readline will use + the shorter but complete key sequence. Readline uses this + value to determine whether or not input is available on the + current input source (`rl_instream' by default). The value + is specified in milliseconds, so a value of 1000 means that + Readline will wait one second for additional input. If this + variable is set to a value less than or equal to zero, or to a + non-numeric value, Readline will wait until another key is + pressed to decide which key sequence to complete. The + default value is `500'. + `mark-directories' If set to `on', completed directory names have a slash appended. The default is `on'. @@ -577,6 +593,11 @@ Variable Settings be listed immediately instead of ringing the bell. The default value is `off'. + `show-mode-in-prompt' + If set to `on', add a character to the beginning of the prompt + indicating the editing mode: emacs (`@'), vi command (`:'), + or vi insertion (`+'). The default value is `off'. + `skip-completed-text' If set to `on', this alters the default completion behavior when inserting a single match into the line. It's only @@ -791,7 +812,7 @@ variable assignment, and conditional syntax. # You can re-read the inputrc file with C-x C-r. # Lines beginning with '#' are comments. # - # First, include any systemwide bindings and variable + # First, include any system-wide bindings and variable # assignments from /etc/Inputrc $include /etc/Inputrc @@ -991,12 +1012,26 @@ File: readline.info, Node: Commands For History, Next: Commands For Text, Pre `history-search-forward ()' Search forward through the history for the string of characters - between the start of the current line and the point. This is a + between the start of the current line and the point. The search + string must match at the beginning of a history line. This is a non-incremental search. By default, this command is unbound. `history-search-backward ()' Search backward through the history for the string of characters - between the start of the current line and the point. This is a + between the start of the current line and the point. The search + string must match at the beginning of a history line. This is a + non-incremental search. By default, this command is unbound. + +`history-substr-search-forward ()' + Search forward through the history for the string of characters + between the start of the current line and the point. The search + string may match anywhere in a history line. This is a + non-incremental search. By default, this command is unbound. + +`history-substr-search-backward ()' + Search backward through the history for the string of characters + between the start of the current line and the point. The search + string may match anywhere in a history line. This is a non-incremental search. By default, this command is unbound. `yank-nth-arg (M-C-y)' @@ -1028,10 +1063,16 @@ File: readline.info, Node: Commands For Text, Next: Commands For Killing, Pre 1.4.3 Commands For Changing Text -------------------------------- +`end-of-file (usually C-d)' + The character indicating end-of-file as set, for example, by + `stty'. If this character is read when there are no characters on + the line, and point is at the beginning of the line, Readline + interprets it as the end of input and returns EOF. + `delete-char (C-d)' - Delete the character at point. If point is at the beginning of - the line, there are no characters in the line, and the last - character typed was not bound to `delete-char', then return EOF. + Delete the character at point. If this function is bound to the + same character as the tty EOF character, as `C-d' commonly is, see + above for the effects. `backward-delete-char (Rubout)' Delete the character behind the cursor. A numeric argument means @@ -1242,6 +1283,10 @@ File: readline.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Pre Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard. +`print-last-kbd-macro ()' + Print the last keboard macro defined in a format suitable for the + INPUTRC file. +  File: readline.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands @@ -1365,7 +1410,7 @@ the standard `vi' movement keys, move to previous history lines with aiding in the consistency of user interface across discrete programs that need to provide a command line interface. - Copyright (C) 1988-2011 Free Software Foundation, Inc. + Copyright (C) 1988-2014 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice pare @@ -1535,7 +1580,7 @@ File: readline.info, Node: Readline Typedefs, Next: Function Writing, Up: Cus 2.2.1 Readline Typedefs ----------------------- -For readabilty, we declare a number of new object types, all pointers +For readability, we declare a number of new object types, all pointers to functions. The reason for declaring these new types is to make it easier to @@ -1759,7 +1804,34 @@ These variables are available to function writers. If non-zero, Readline will call indirectly through this pointer to get a character from the input stream. By default, it is set to `rl_getc', the default Readline character input function (*note - Character Input::). + Character Input::). In general, an application that sets + RL_GETC_FUNCTION should consider setting RL_INPUT_AVAILABLE_HOOK + as well. + + -- Variable: rl_hook_func_t * rl_signal_event_hook + If non-zero, this is the address of a function to call if a read + system call is interrupted when Readline is reading terminal input. + + -- Variable: rl_hook_func_t * rl_input_available_hook + If non-zero, Readline will use this function's return value when + it needs to determine whether or not there is available input on + the current input source. The default hook checks `rl_instream'; + if an application is using a different input source, it should set + the hook appropriately. Readline queries for available input when + implementing intra-key-sequence timeouts during input and + incremental searches. This may use an application-specific + timeout before returning a value; Readline uses the value passed + to `rl_set_keyboard_input_timeout()' or the value of the + user-settable KEYSEQ-TIMEOUT variable. This is designed for use + by applications using Readline's callback interface (*note + Alternate Interface::), which may not use the traditional + `read(2)' and file descriptor interface, or other applications + using a different input mechanism. If an application uses an + input mechanism or hook that can potentially exceed the value of + KEYSEQ-TIMEOUT, it should increase the timeout or set this hook + appropriately even when not using the callback interface. In + general, an application that sets RL_GETC_FUNCTION should consider + setting RL_INPUT_AVAILABLE_HOOK as well. -- Variable: rl_voidfunc_t * rl_redisplay_function If non-zero, Readline will call indirectly through this pointer to @@ -1791,6 +1863,17 @@ These variables are available to function writers. -- Variable: char * rl_executing_macro This variable is set to the text of any currently-executing macro. + -- Variable: int rl_executing_key + The key that caused the dispatch to the currently-executing + Readline function. + + -- Variable: char * rl_executing_keyseq + The full key sequence that caused the dispatch to the + currently-executing Readline function. + + -- Variable: int rl_key_sequence_length + The number of characters in RL_EXECUTING_KEYSEQ. + -- Variable: int rl_readline_state A variable with bit values that encapsulate the current Readline state. A bit is set with the `RL_SETSTATE' macro, and unset with @@ -1799,7 +1882,7 @@ These variables are available to function writers. `RL_STATE_NONE' Readline has not yet been called, nor has it begun to - intialize. + initialize. `RL_STATE_INITIALIZING' Readline is initializing its internal data structures. @@ -1922,6 +2005,7 @@ File: readline.info, Node: Readline Convenience Functions, Next: Readline Sign * Miscellaneous Functions:: Functions that don't fall into any category. * Alternate Interface:: Using Readline in a `callback' fashion. * A Readline Example:: An example Readline function. +* Alternate Interface Example:: An example program using the alternate interface.  File: readline.info, Node: Function Naming, Next: Keymaps, Up: Readline Convenience Functions @@ -2236,7 +2320,7 @@ File: readline.info, Node: Redisplay, Next: Modifying Text, Prev: Allowing Un -- Function: int rl_on_new_line (void) Tell the update functions that we have moved onto a new (empty) - line, usually after ouputting a newline. + line, usually after outputting a newline. -- Function: int rl_on_new_line_with_prompt (void) Tell the update functions that we have moved onto a new line, with @@ -2534,6 +2618,12 @@ File: readline.info, Node: Miscellaneous Functions, Next: Alternate Interface, not use all of a terminal's capabilities, and this function will return values for only those capabilities Readline uses. + -- Function: void rl_clear_history (void) + Clear the history list by deleting all of the entries, in the same + manner as the History library's `clear_history()' function. This + differs from `clear_history' because it frees private data + Readline saves in the history list. +  File: readline.info, Node: Alternate Interface, Next: A Readline Example, Prev: Miscellaneous Functions, Up: Readline Convenience Functions @@ -2543,7 +2633,7 @@ File: readline.info, Node: Alternate Interface, Next: A Readline Example, Pre An alternate interface is available to plain `readline()'. Some applications need to interleave keyboard I/O with file, device, or window system I/O, typically by using a main loop to `select()' on -various file descriptors. To accomodate this need, readline can also +various file descriptors. To accommodate this need, readline can also be invoked as a `callback' function from an event loop. There are functions available to make this easy. @@ -2551,20 +2641,22 @@ functions available to make this easy. rl_vcpfunc_t *lhandler) Set up the terminal for readline I/O and display the initial expanded value of PROMPT. Save the value of LHANDLER to use as a - function to call when a complete line of input has been entered. - The function takes the text of the line as an argument. + handler function to call when a complete line of input has been + entered. The handler function receives the text of the line as an + argument. -- Function: void rl_callback_read_char (void) Whenever an application determines that keyboard input is available, it should call `rl_callback_read_char()', which will read the next character from the current input source. If that character completes the line, `rl_callback_read_char' will invoke - the LHANDLER function saved by `rl_callback_handler_install' to - process the line. Before calling the LHANDLER function, the + the LHANDLER function installed by `rl_callback_handler_install' + to process the line. Before calling the LHANDLER function, the terminal settings are reset to the values they had before calling `rl_callback_handler_install'. If the LHANDLER function returns, - the terminal settings are modified for Readline's use again. - `EOF' is indicated by calling LHANDLER with a `NULL' line. + and the line handler remains installed, the terminal settings are + modified for Readline's use again. `EOF' is indicated by calling + LHANDLER with a `NULL' line. -- Function: void rl_callback_handler_remove (void) Restore the terminal to its initial state and remove the line @@ -2576,7 +2668,7 @@ functions available to make this easy. exits to reset the terminal settings.  -File: readline.info, Node: A Readline Example, Prev: Alternate Interface, Up: Readline Convenience Functions +File: readline.info, Node: A Readline Example, Next: Alternate Interface Example, Prev: Alternate Interface, Up: Readline Convenience Functions 2.4.13 A Readline Example ------------------------- @@ -2643,6 +2735,99 @@ changed. return (0); } + +File: readline.info, Node: Alternate Interface Example, Prev: A Readline Example, Up: Readline Convenience Functions + +2.4.14 Alternate Interface Example +---------------------------------- + +Here is a complete program that illustrates Readline's alternate +interface. It reads lines from the terminal and displays them, +providing the standard history and TAB completion functions. It +understands the EOF character or "exit" to exit the program. + + /* Standard include files. stdio.h is required. */ + #include + #include + + /* Used for select(2) */ + #include + #include + + #include + + /* Standard readline include files. */ + #include + #include + + static void cb_linehandler (char *); + + int running; + const char *prompt = "rltest$ "; + + /* Callback function called for each line when accept-line executed, EOF + seen, or EOF character read. This sets a flag and returns; it could + also call exit(3). */ + static void + cb_linehandler (char *line) + { + /* Can use ^D (stty eof) or `exit' to exit. */ + if (line == NULL || strcmp (line, "exit") == 0) + { + if (line == 0) + printf ("\n"); + printf ("exit\n"); + /* This function needs to be called to reset the terminal settings, + and calling it from the line handler keeps one extra prompt from + being displayed. */ + rl_callback_handler_remove (); + + running = 0; + } + else + { + if (*line) + add_history (line); + printf ("input line: %s\n", line); + free (line); + } + } + + int + main (int c, char **v) + { + fd_set fds; + int r; + + /* Install the line handler. */ + rl_callback_handler_install (prompt, cb_linehandler); + + /* Enter a simple event loop. This waits until something is available + to read on readline's input stream (defaults to standard input) and + calls the builtin character read callback to read it. It does not + have to modify the user's terminal settings. */ + running = 1; + while (running) + { + FD_ZERO (&fds); + FD_SET (fileno (rl_instream), &fds); + + r = select (FD_SETSIZE, &fds, NULL, NULL, NULL); + if (r < 0) + { + perror ("rltest: select"); + rl_callback_handler_remove (); + break; + } + + if (FD_ISSET (fileno (rl_instream), &fds)) + rl_callback_read_char (); + } + + printf ("rltest: Event loop has exited\n"); + return 0; + } +  File: readline.info, Node: Readline Signal Handling, Next: Custom Completers, Prev: Readline Convenience Functions, Up: Programming with GNU Readline @@ -2660,7 +2845,7 @@ received in order to restore the terminal to a sane state, or provide application writers with functions to do so manually. Readline contains an internal signal handler that is installed for a -number of signals (`SIGINT', `SIGQUIT', `SIGTERM', `SIGALRM', +number of signals (`SIGINT', `SIGQUIT', `SIGTERM', `SIGHUP', `SIGALRM', `SIGTSTP', `SIGTTIN', and `SIGTTOU'). When one of these signals is received, the signal handler will reset the terminal attributes to those that were in effect before `readline()' was called, reset the @@ -2692,17 +2877,24 @@ signal handler, so Readline's internal signal state is not corrupted. -- Variable: int rl_catch_signals If this variable is non-zero, Readline will install signal - handlers for `SIGINT', `SIGQUIT', `SIGTERM', `SIGALRM', `SIGTSTP', - `SIGTTIN', and `SIGTTOU'. + handlers for `SIGINT', `SIGQUIT', `SIGTERM', `SIGHUP', `SIGALRM', + `SIGTSTP', `SIGTTIN', and `SIGTTOU'. The default value of `rl_catch_signals' is 1. -- Variable: int rl_catch_sigwinch - If this variable is non-zero, Readline will install a signal - handler for `SIGWINCH'. + If this variable is set to a non-zero value, Readline will install + a signal handler for `SIGWINCH'. The default value of `rl_catch_sigwinch' is 1. + -- Variable: int rl_change_environment + If this variable is set to a non-zero value, and Readline is + handling `SIGWINCH', Readline will modify the LINES and COLUMNS + environment variables upon receipt of a `SIGWINCH' + + The default value of `rl_change_environment' is 1. + If an application does not wish to have Readline catch any signals, or to handle signals other than those Readline catches (`SIGHUP', for example), Readline provides convenience functions to do the necessary @@ -2763,8 +2955,8 @@ handlers. -- Function: int rl_set_signals (void) Install Readline's signal handler for `SIGINT', `SIGQUIT', - `SIGTERM', `SIGALRM', `SIGTSTP', `SIGTTIN', `SIGTTOU', and - `SIGWINCH', depending on the values of `rl_catch_signals' and + `SIGTERM', `SIGHUP', `SIGALRM', `SIGTSTP', `SIGTTIN', `SIGTTOU', + and `SIGWINCH', depending on the values of `rl_catch_signals' and `rl_catch_sigwinch'. -- Function: int rl_clear_signals (void) @@ -2890,7 +3082,7 @@ Readline. This calls `rl_complete_internal()' with an argument of `*'. -- Function: int rl_completion_mode (rl_command_func_t *cfunc) - Returns the apppriate value to pass to `rl_complete_internal()' + Returns the appropriate value to pass to `rl_complete_internal()' depending on whether CFUNC was called twice in succession and the values of the `show-all-if-ambiguous' and `show-all-if-unmodified' variables. Application-specific completion functions may use this @@ -2999,16 +3191,45 @@ File: readline.info, Node: Completion Variables, Next: A Short Completion Exam the directory portion of the pathname the user typed. At the least, even if no other expansion is performed, this function should remove any quote characters from the directory name, - because its result will be passed directly to `opendir()'. The - directory completion hook returns an integer that should be + because its result will be passed directly to `opendir()'. + + The directory completion hook returns an integer that should be non-zero if the function modifies its directory argument. The function should not modify the directory argument if it returns 0. + -- Variable: rl_icppfunc_t * rl_directory_rewrite_hook; + If non-zero, this is the address of a function to call when + completing a directory name. This function takes the address of + the directory name to be modified as an argument. Unlike + `rl_directory_completion_hook', it only modifies the directory + name used in `opendir', not what is displayed when the possible + completions are printed or inserted. It is called before + rl_directory_completion_hook. At the least, even if no other + expansion is performed, this function should remove any quote + characters from the directory name, because its result will be + passed directly to `opendir()'. + + The directory rewrite hook returns an integer that should be + non-zero if the function modfies its directory argument. The + function should not modify the directory argument if it returns 0. + + -- Variable: rl_icppfunc_t * rl_filename_stat_hook + If non-zero, this is the address of a function for the completer to + call before deciding which character to append to a completed name. + This function modifies its filename name argument, and the + modified value is passed to `stat()' to determine the file's type + and characteristics. This function does not need to remove quote + characters from the filename. + + The stat hook returns an integer that should be non-zero if the + function modfies its directory argument. The function should not + modify the directory argument if it returns 0. + -- Variable: rl_dequote_func_t * rl_filename_rewrite_hook If non-zero, this is the address of a function called when reading directory entries from the filesystem for completion and comparing them to the partial word to be completed. The function should - perform any necesary application or system-specific conversion on + perform any necessary application or system-specific conversion on the filename, such as converting between character sets or converting from a filesystem format to a character input format. The function takes two arguments: FNAME, the filename to be @@ -4192,7 +4413,7 @@ Function and Variable Index * accept-line (Newline or Return): Commands For History. (line 6) * backward-char (C-b): Commands For Moving. (line 15) -* backward-delete-char (Rubout): Commands For Text. (line 11) +* backward-delete-char (Rubout): Commands For Text. (line 17) * backward-kill-line (C-x Rubout): Commands For Killing. (line 9) * backward-kill-word (M-): Commands For Killing. @@ -4206,45 +4427,47 @@ Function and Variable Index * bind-tty-special-chars: Readline Init File Syntax. (line 42) * call-last-kbd-macro (C-x e): Keyboard Macros. (line 13) -* capitalize-word (M-c): Commands For Text. (line 49) +* capitalize-word (M-c): Commands For Text. (line 55) * character-search (C-]): Miscellaneous Commands. (line 41) * character-search-backward (M-C-]): Miscellaneous Commands. (line 46) * clear-screen (C-l): Commands For Moving. (line 26) -* comment-begin: Readline Init File Syntax. +* colored-stats: Readline Init File Syntax. (line 47) +* comment-begin: Readline Init File Syntax. + (line 53) * complete (): Commands For Completion. (line 6) * completion-display-width: Readline Init File Syntax. - (line 52) + (line 58) * completion-ignore-case: Readline Init File Syntax. - (line 59) + (line 65) * completion-map-case: Readline Init File Syntax. - (line 64) -* completion-prefix-display-length: Readline Init File Syntax. (line 70) +* completion-prefix-display-length: Readline Init File Syntax. + (line 76) * completion-query-items: Readline Init File Syntax. - (line 77) + (line 83) * convert-meta: Readline Init File Syntax. - (line 87) + (line 93) * copy-backward-word (): Commands For Killing. (line 49) * copy-forward-word (): Commands For Killing. (line 54) * copy-region-as-kill (): Commands For Killing. (line 45) -* delete-char (C-d): Commands For Text. (line 6) +* delete-char (C-d): Commands For Text. (line 12) * delete-char-or-list (): Commands For Completion. (line 39) * delete-horizontal-space (): Commands For Killing. (line 37) * digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6) * disable-completion: Readline Init File Syntax. - (line 93) + (line 99) * do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands. (line 14) -* downcase-word (M-l): Commands For Text. (line 45) +* downcase-word (M-l): Commands For Text. (line 51) * dump-functions (): Miscellaneous Commands. (line 70) * dump-macros (): Miscellaneous Commands. @@ -4252,42 +4475,47 @@ Function and Variable Index * dump-variables (): Miscellaneous Commands. (line 76) * editing-mode: Readline Init File Syntax. - (line 98) + (line 104) * enable-keypad: Readline Init File Syntax. - (line 109) + (line 115) * end-kbd-macro (C-x )): Keyboard Macros. (line 9) +* end-of-file (usually C-d): Commands For Text. (line 6) * end-of-history (M->): Commands For History. (line 22) * end-of-line (C-e): Commands For Moving. (line 9) * exchange-point-and-mark (C-x C-x): Miscellaneous Commands. (line 36) * expand-tilde: Readline Init File Syntax. - (line 120) -* forward-backward-delete-char (): Commands For Text. (line 15) + (line 126) +* forward-backward-delete-char (): Commands For Text. (line 21) * forward-char (C-f): Commands For Moving. (line 12) * forward-search-history (C-s): Commands For History. (line 30) * forward-word (M-f): Commands For Moving. (line 18) * history-preserve-point: Readline Init File Syntax. - (line 124) + (line 130) * history-search-backward (): Commands For History. - (line 50) + (line 51) * history-search-forward (): Commands For History. (line 45) * history-size: Readline Init File Syntax. - (line 130) + (line 136) +* history-substr-search-backward (): Commands For History. + (line 63) +* history-substr-search-forward (): Commands For History. + (line 57) * horizontal-scroll-mode: Readline Init File Syntax. - (line 135) + (line 143) * input-meta: Readline Init File Syntax. - (line 142) + (line 150) * insert-comment (M-#): Miscellaneous Commands. (line 60) * insert-completions (M-*): Commands For Completion. (line 18) * isearch-terminators: Readline Init File Syntax. - (line 149) + (line 157) * keymap: Readline Init File Syntax. - (line 156) + (line 164) * kill-line (C-k): Commands For Killing. (line 6) * kill-region (): Commands For Killing. @@ -4297,19 +4525,19 @@ Function and Variable Index * kill-word (M-d): Commands For Killing. (line 19) * mark-modified-lines: Readline Init File Syntax. - (line 169) + (line 193) * mark-symlinked-directories: Readline Init File Syntax. - (line 174) + (line 198) * match-hidden-files: Readline Init File Syntax. - (line 179) + (line 203) * menu-complete (): Commands For Completion. (line 22) * menu-complete-backward (): Commands For Completion. (line 34) * menu-complete-display-prefix: Readline Init File Syntax. - (line 186) + (line 210) * meta-flag: Readline Init File Syntax. - (line 142) + (line 150) * next-history (C-n): Commands For History. (line 16) * non-incremental-forward-search-history (M-n): Commands For History. @@ -4317,17 +4545,18 @@ Function and Variable Index * non-incremental-reverse-search-history (M-p): Commands For History. (line 35) * output-meta: Readline Init File Syntax. - (line 191) -* overwrite-mode (): Commands For Text. (line 53) + (line 215) +* overwrite-mode (): Commands For Text. (line 59) * page-completions: Readline Init File Syntax. - (line 196) + (line 220) * possible-completions (M-?): Commands For Completion. (line 11) * prefix-meta (): Miscellaneous Commands. (line 18) * previous-history (C-p): Commands For History. (line 12) -* quoted-insert (C-q or C-v): Commands For Text. (line 20) +* print-last-kbd-macro (): Keyboard Macros. (line 17) +* quoted-insert (C-q or C-v): Commands For Text. (line 26) * re-read-init-file (C-x C-r): Miscellaneous Commands. (line 6) * readline: Basic Behavior. (line 12) @@ -4335,7 +4564,7 @@ Function and Variable Index * reverse-search-history (C-r): Commands For History. (line 26) * revert-all-at-newline: Readline Init File Syntax. - (line 206) + (line 230) * revert-line (M-r): Miscellaneous Commands. (line 25) * rl_add_defun: Function Naming. (line 20) @@ -4347,11 +4576,11 @@ Function and Variable Index * rl_attempted_completion_function: Completion Variables. (line 12) * rl_attempted_completion_over: Completion Variables. - (line 226) + (line 255) * rl_basic_quote_characters: Completion Variables. - (line 115) + (line 144) * rl_basic_word_break_characters: Completion Variables. - (line 109) + (line 138) * rl_begin_undo_group: Allowing Undoing. (line 29) * rl_bind_key: Binding Keys. (line 22) * rl_bind_key_if_unbound: Binding Keys. (line 32) @@ -4361,71 +4590,77 @@ Function and Variable Index * rl_bind_keyseq_if_unbound: Binding Keys. (line 77) * rl_bind_keyseq_if_unbound_in_map: Binding Keys. (line 83) * rl_bind_keyseq_in_map: Binding Keys. (line 66) -* rl_binding_keymap: Readline Variables. (line 159) +* rl_binding_keymap: Readline Variables. (line 186) * rl_callback_handler_install: Alternate Interface. (line 15) -* rl_callback_handler_remove: Alternate Interface. (line 33) -* rl_callback_read_char: Alternate Interface. (line 21) +* rl_callback_handler_remove: Alternate Interface. (line 35) +* rl_callback_read_char: Alternate Interface. (line 22) * rl_catch_signals: Readline Signal Handling. (line 48) * rl_catch_sigwinch: Readline Signal Handling. (line 55) +* rl_change_environment: Readline Signal Handling. + (line 61) * rl_char_is_quoted_p: Completion Variables. (line 46) * rl_cleanup_after_signal: Readline Signal Handling. - (line 66) + (line 73) +* rl_clear_history: Miscellaneous Functions. + (line 50) * rl_clear_message: Redisplay. (line 48) * rl_clear_pending_input: Character Input. (line 30) * rl_clear_signals: Readline Signal Handling. - (line 125) -* rl_complete <1>: Completion Functions. - (line 20) -* rl_complete: How Completing Works. + (line 132) +* rl_complete <1>: How Completing Works. (line 49) +* rl_complete: Completion Functions. + (line 20) * rl_complete_internal: Completion Functions. (line 10) * rl_completer_quote_characters: Completion Variables. - (line 132) + (line 161) * rl_completer_word_break_characters: Completion Variables. - (line 118) + (line 147) * rl_completion_append_character: Completion Variables. - (line 156) + (line 185) * rl_completion_display_matches_hook: Completion Variables. - (line 96) + (line 125) * rl_completion_entry_function <1>: How Completing Works. (line 55) * rl_completion_entry_function: Completion Variables. (line 7) * rl_completion_found_quote: Completion Variables. - (line 184) + (line 213) * rl_completion_invoking_key: Completion Variables. - (line 249) + (line 278) * rl_completion_mark_symlink_dirs: Completion Variables. - (line 191) + (line 220) * rl_completion_matches: Completion Functions. (line 45) * rl_completion_mode: Completion Functions. (line 37) * rl_completion_query_items: Completion Variables. - (line 150) + (line 179) * rl_completion_quote_character: Completion Variables. - (line 172) + (line 201) * rl_completion_suppress_append: Completion Variables. - (line 166) + (line 195) * rl_completion_suppress_quote: Completion Variables. - (line 178) + (line 207) * rl_completion_type: Completion Variables. - (line 241) + (line 270) * rl_completion_word_break_hook: Completion Variables. - (line 123) + (line 152) * rl_copy_keymap: Keymaps. (line 17) * rl_copy_text: Modifying Text. (line 15) * rl_crlf: Redisplay. (line 30) * rl_delete_text: Modifying Text. (line 11) -* rl_deprep_term_function: Readline Variables. (line 149) +* rl_deprep_term_function: Readline Variables. (line 176) * rl_deprep_terminal: Terminal Management. (line 13) * rl_ding: Utility Functions. (line 36) * rl_directory_completion_hook: Completion Variables. (line 64) +* rl_directory_rewrite_hook;: Completion Variables. + (line 82) * rl_discard_keymap: Keymaps. (line 26) * rl_dispatching: Readline Variables. (line 41) * rl_display_match_list: Utility Functions. (line 43) @@ -4433,37 +4668,41 @@ Function and Variable Index * rl_do_undo: Allowing Undoing. (line 48) * rl_done: Readline Variables. (line 28) * rl_echo_signal_char: Readline Signal Handling. - (line 89) -* rl_editing_mode: Readline Variables. (line 270) + (line 96) +* rl_editing_mode: Readline Variables. (line 308) * rl_end: Readline Variables. (line 19) * rl_end_undo_group: Allowing Undoing. (line 35) * rl_erase_empty_line: Readline Variables. (line 47) * rl_event_hook: Readline Variables. (line 124) * rl_execute_next: Character Input. (line 26) -* rl_executing_keymap: Readline Variables. (line 155) -* rl_executing_macro: Readline Variables. (line 163) +* rl_executing_key: Readline Variables. (line 193) +* rl_executing_keymap: Readline Variables. (line 182) +* rl_executing_keyseq: Readline Variables. (line 197) +* rl_executing_macro: Readline Variables. (line 190) * rl_expand_prompt: Redisplay. (line 64) -* rl_explicit_arg: Readline Variables. (line 261) +* rl_explicit_arg: Readline Variables. (line 299) * rl_extend_line_buffer: Utility Functions. (line 27) * rl_filename_completion_desired: Completion Variables. - (line 206) + (line 235) * rl_filename_completion_function: Completion Functions. (line 59) * rl_filename_dequoting_function: Completion Variables. (line 37) * rl_filename_quote_characters: Completion Variables. - (line 138) + (line 167) * rl_filename_quoting_desired: Completion Variables. - (line 216) + (line 245) * rl_filename_quoting_function: Completion Variables. (line 24) * rl_filename_rewrite_hook: Completion Variables. - (line 81) + (line 110) +* rl_filename_stat_hook: Completion Variables. + (line 98) * rl_forced_update_display: Redisplay. (line 11) * rl_free: Utility Functions. (line 18) * rl_free_keymap: Keymaps. (line 30) * rl_free_line_state: Readline Signal Handling. - (line 72) + (line 79) * rl_free_undo_list: Allowing Undoing. (line 45) * rl_function_dumper: Associating Function Names and Bindings. (line 30) @@ -4476,19 +4715,20 @@ Function and Variable Index * rl_get_keymap_by_name: Keymaps. (line 43) * rl_get_keymap_name: Keymaps. (line 48) * rl_get_screen_size: Readline Signal Handling. - (line 108) + (line 115) * rl_get_termcap: Miscellaneous Functions. (line 42) * rl_getc: Character Input. (line 15) * rl_getc_function: Readline Variables. (line 130) * rl_gnu_readline_p: Readline Variables. (line 83) * rl_ignore_completion_duplicates: Completion Variables. - (line 202) + (line 231) * rl_ignore_some_completions_function: Completion Variables. (line 56) * rl_inhibit_completion: Completion Variables. - (line 255) + (line 284) * rl_initialize: Utility Functions. (line 31) +* rl_input_available_hook: Readline Variables. (line 142) * rl_insert_completions: Completion Functions. (line 32) * rl_insert_text: Modifying Text. (line 7) @@ -4497,6 +4737,7 @@ Function and Variable Index (line 21) * rl_invoking_keyseqs_in_map: Associating Function Names and Bindings. (line 26) +* rl_key_sequence_length: Readline Variables. (line 201) * rl_kill_text: Modifying Text. (line 19) * rl_last_func: Readline Variables. (line 110) * rl_library_version: Readline Variables. (line 73) @@ -4515,7 +4756,7 @@ Function and Variable Index * rl_named_function: Associating Function Names and Bindings. (line 11) * rl_num_chars_to_read: Readline Variables. (line 32) -* rl_numeric_arg: Readline Variables. (line 265) +* rl_numeric_arg: Readline Variables. (line 303) * rl_on_new_line: Redisplay. (line 15) * rl_on_new_line_with_prompt: Redisplay. (line 19) * rl_outstream: Readline Variables. (line 101) @@ -4526,26 +4767,26 @@ Function and Variable Index (line 28) * rl_pre_input_hook: Readline Variables. (line 119) * rl_prefer_env_winsize: Readline Variables. (line 105) -* rl_prep_term_function: Readline Variables. (line 142) +* rl_prep_term_function: Readline Variables. (line 169) * rl_prep_terminal: Terminal Management. (line 7) * rl_prompt: Readline Variables. (line 53) * rl_push_macro_input: Modifying Text. (line 26) * rl_read_init_file: Binding Keys. (line 101) * rl_read_key: Character Input. (line 7) * rl_readline_name: Readline Variables. (line 92) -* rl_readline_state: Readline Variables. (line 166) +* rl_readline_state: Readline Variables. (line 204) * rl_readline_version: Readline Variables. (line 76) * rl_redisplay: Redisplay. (line 7) -* rl_redisplay_function: Readline Variables. (line 136) +* rl_redisplay_function: Readline Variables. (line 163) * rl_replace_line: Utility Functions. (line 22) * rl_reset_after_signal: Readline Signal Handling. - (line 80) + (line 87) * rl_reset_line_state: Redisplay. (line 26) * rl_reset_screen_size: Readline Signal Handling. - (line 112) + (line 119) * rl_reset_terminal: Terminal Management. (line 28) * rl_resize_terminal: Readline Signal Handling. - (line 95) + (line 102) * rl_restore_prompt: Redisplay. (line 57) * rl_restore_state: Utility Functions. (line 12) * rl_save_prompt: Redisplay. (line 53) @@ -4557,14 +4798,15 @@ Function and Variable Index (line 37) * rl_set_prompt: Redisplay. (line 78) * rl_set_screen_size: Readline Signal Handling. - (line 99) + (line 106) * rl_set_signals: Readline Signal Handling. - (line 119) + (line 126) * rl_show_char: Redisplay. (line 33) +* rl_signal_event_hook: Readline Variables. (line 138) * rl_sort_completion_matches: Completion Variables. - (line 233) + (line 262) * rl_special_prefixes: Completion Variables. - (line 143) + (line 172) * rl_startup_hook: Readline Variables. (line 115) * rl_stuff_char: Character Input. (line 19) * rl_terminal_name: Readline Variables. (line 87) @@ -4582,20 +4824,22 @@ Function and Variable Index (line 31) * rl_variable_value: Miscellaneous Functions. (line 26) -* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 27) +* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 33) * set-mark (C-@): Miscellaneous Commands. (line 32) * show-all-if-ambiguous: Readline Init File Syntax. - (line 212) + (line 236) * show-all-if-unmodified: Readline Init File Syntax. - (line 218) + (line 242) +* show-mode-in-prompt: Readline Init File Syntax. + (line 251) * skip-completed-text: Readline Init File Syntax. - (line 227) + (line 256) * skip-csi-sequence (): Miscellaneous Commands. (line 51) * start-kbd-macro (C-x (): Keyboard Macros. (line 6) -* transpose-chars (C-t): Commands For Text. (line 30) -* transpose-words (M-t): Commands For Text. (line 36) +* transpose-chars (C-t): Commands For Text. (line 36) +* transpose-words (M-t): Commands For Text. (line 42) * undo (C-_ or C-x C-u): Miscellaneous Commands. (line 22) * universal-argument (): Numeric Arguments. (line 10) @@ -4605,72 +4849,73 @@ Function and Variable Index (line 12) * unix-word-rubout (C-w): Commands For Killing. (line 28) -* upcase-word (M-u): Commands For Text. (line 41) +* upcase-word (M-u): Commands For Text. (line 47) * visible-stats: Readline Init File Syntax. - (line 240) + (line 269) * yank (C-y): Commands For Killing. (line 59) * yank-last-arg (M-. or M-_): Commands For History. - (line 64) + (line 78) * yank-nth-arg (M-C-y): Commands For History. - (line 55) + (line 69) * yank-pop (M-y): Commands For Killing. (line 62)  Tag Table: -Node: Top1330 -Node: Command Line Editing1987 -Node: Introduction and Notation2639 -Node: Readline Interaction4262 -Node: Readline Bare Essentials5454 -Node: Readline Movement Commands7244 -Node: Readline Killing Commands8210 -Node: Readline Arguments10131 -Node: Searching11176 -Node: Readline Init File13328 -Node: Readline Init File Syntax14482 -Node: Conditional Init Constructs29543 -Node: Sample Init File32077 -Node: Bindable Readline Commands35195 -Node: Commands For Moving36253 -Node: Commands For History37115 -Node: Commands For Text40520 -Node: Commands For Killing43247 -Node: Numeric Arguments45390 -Node: Commands For Completion46530 -Node: Keyboard Macros48500 -Node: Miscellaneous Commands49072 -Node: Readline vi Mode52929 -Node: Programming with GNU Readline54746 -Node: Basic Behavior55732 -Node: Custom Functions59149 -Node: Readline Typedefs60633 -Node: Function Writing62272 -Node: Readline Variables63579 -Node: Readline Convenience Functions74245 -Node: Function Naming75235 -Node: Keymaps76497 -Node: Binding Keys78490 -Node: Associating Function Names and Bindings83037 -Node: Allowing Undoing85322 -Node: Redisplay87872 -Node: Modifying Text91772 -Node: Character Input93018 -Node: Terminal Management94916 -Node: Utility Functions96352 -Node: Miscellaneous Functions99680 -Node: Alternate Interface101977 -Node: A Readline Example104136 -Node: Readline Signal Handling106039 -Node: Custom Completers112227 -Node: How Completing Works112947 -Node: Completion Functions116261 -Node: Completion Variables119833 -Node: A Short Completion Example133946 -Node: GNU Free Documentation License146725 -Node: Concept Index171918 -Node: Function and Variable Index173439 +Node: Top907 +Node: Command Line Editing1632 +Node: Introduction and Notation2284 +Node: Readline Interaction3907 +Node: Readline Bare Essentials5099 +Node: Readline Movement Commands6889 +Node: Readline Killing Commands7855 +Node: Readline Arguments9776 +Node: Searching10821 +Node: Readline Init File12973 +Node: Readline Init File Syntax14127 +Node: Conditional Init Constructs30832 +Node: Sample Init File33366 +Node: Bindable Readline Commands36485 +Node: Commands For Moving37543 +Node: Commands For History38405 +Node: Commands For Text42560 +Node: Commands For Killing45543 +Node: Numeric Arguments47686 +Node: Commands For Completion48826 +Node: Keyboard Macros50796 +Node: Miscellaneous Commands51485 +Node: Readline vi Mode55342 +Node: Programming with GNU Readline57159 +Node: Basic Behavior58145 +Node: Custom Functions61562 +Node: Readline Typedefs63046 +Node: Function Writing64686 +Node: Readline Variables65993 +Node: Readline Convenience Functions78671 +Node: Function Naming79743 +Node: Keymaps81005 +Node: Binding Keys82998 +Node: Associating Function Names and Bindings87545 +Node: Allowing Undoing89830 +Node: Redisplay92380 +Node: Modifying Text96281 +Node: Character Input97527 +Node: Terminal Management99425 +Node: Utility Functions100861 +Node: Miscellaneous Functions104189 +Node: Alternate Interface106778 +Node: A Readline Example109012 +Node: Alternate Interface Example110951 +Node: Readline Signal Handling113724 +Node: Custom Completers120246 +Node: How Completing Works120966 +Node: Completion Functions124280 +Node: Completion Variables127854 +Node: A Short Completion Example143502 +Node: GNU Free Documentation License156281 +Node: Concept Index181474 +Node: Function and Variable Index182995  End Tag Table diff --git a/doc/readline.pdf b/doc/readline.pdf index b123a2d..0667918 100644 Binary files a/doc/readline.pdf and b/doc/readline.pdf differ diff --git a/doc/readline.ps b/doc/readline.ps index 93dd8d8..9f922f5 100644 --- a/doc/readline.ps +++ b/doc/readline.ps @@ -1,7 +1,8 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software %%Title: readline.dvi -%%Pages: 74 +%%CreationDate: Tue Feb 11 16:57:25 2014 +%%Pages: 77 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10 @@ -11,7 +12,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2011.02.08:1112 +%DVIPSSource: TeX output 2014.02.11:1657 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -43,19 +44,21 @@ 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/IEn 256 array N 2 string 0 1 255{IEn 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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 %%BeginProcSet: texps.pro 0 0 @@ -76,61 +79,230 @@ end %%EndProcSet %%BeginFont: CMMI9 -%!PS-AdobeFont-1.1: CMMI9 1.100 -%%CreationDate: 1996 Jul 23 07:53:55 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMMI9 003.002 +%%Title: CMMI9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup +/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.100) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI9 def +/FontBBox {-29 -250 1075 750 }readonly def +/UniqueID 5087384 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI9.) readonly def /FullName (CMMI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMMI9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def -/FontBBox{-29 -250 1075 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935 -86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505 -DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD -67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF -6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554 -FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7 -22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD -730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F -449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7 -97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A -E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C -AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA -A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599 -B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B -9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E -759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3 -5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2 -BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680 -3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE -2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA -1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB -431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588 -A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433 -30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7 -801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB +7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67 +7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8 +BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365 +82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC +E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74 +91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E +540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112 +7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8 +93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D +EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756 +972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A +6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149 +796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94 +DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B +D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80 +E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D +0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83 +F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9 +ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97 +72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F +F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9 +4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1 +692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C +BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109 +4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1 +CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59 +41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A +9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20 +5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292 +2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5 +8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B +33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28 +03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1 +749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE +CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE +3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F +64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F +90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05 +DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8 +F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D +4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF +49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4 +E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117 +58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE +88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3 +B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE +7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776 +01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46 +19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41 +194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55 +53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3 +F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4 +412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6 +C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC +C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108 +4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831 +E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81 +AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF +00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A +E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91 +C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC +B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8 +2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980 +F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50 +0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023 +28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4 +E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A +C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42 +20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B +7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE +5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4 +74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4 +90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55 +3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621 +98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066 +54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7 +93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC +19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A +9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD +E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84 +A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB +107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA +5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08 +22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95 +B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D +403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789 +D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6 +20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6 +943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33 +AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F +A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70 +B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA +2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84 +2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F +E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D +E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F +8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642 +87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4 +2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842 +D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC +512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4 +4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559 +6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9 +9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A +0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040 +9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B +FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1 +430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8 +56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE +718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3 +F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE +95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B +EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE +6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7 +6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867 +630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111 +6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA +89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475 +3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2 +90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47 +38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34 +EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9 +B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376 +9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9 +1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF +1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C +62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5 +84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2 +AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618 +D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196 +BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6 +4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6 +531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24 +FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2 +43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256 +D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6 +0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4 +E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53 +DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358 +99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD +8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1 +8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73 +A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5 +362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3 +C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79 +E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2 +07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F +0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6 +190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4 +5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D +F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50 +005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8 +6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C +D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9 +F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087 +F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE +2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752 +F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0 +0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD +73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2 +62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79 +5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98 +F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F +6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7 +DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109 +EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222 +E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107 +536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18 +36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF +B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3 +F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0 +431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB598E51CAE7E4900 +5CD570C914EFBA426BAFF7A56FC775ECF5BE13F2C42E51EF96784E5201C0B64C +074AC229FF0BFDF71E6D5E08D8755D2C12B770B6466A9C9C61C15582DCD2FF78 +E9E74DC2B1CAA344EC0339EBFF92CD2CC1D62E2FA8FF15E7459A83C6CFA58A77 +2F1A40BD276E76B675FD6834052B33BF9190F04DF6AA5FA3BB7D77A88DD5B600 +324C5E28216F47682EC29EABF35BA842BA2294A3D72B126EBB852AB741186C9F +FC84B12DC4A6CEC08F2D03EE61B65C845841EE17F1B765649A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -140,25 +312,41 @@ A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMR9 -%!PS-AdobeFont-1.1: CMR9 1.0 -%%CreationDate: 1991 Aug 20 16:39:59 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMR9 003.002 +%%Title: CMR9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup +/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR9 def +/FontBBox {-39 -250 1036 750 }readonly def +/UniqueID 5000792 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR9.) readonly def /FullName (CMR9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMR9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put @@ -201,235 +389,453 @@ dup 120 /x put dup 121 /y put dup 122 /z put readonly def -/FontBBox{-39 -250 1036 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 -87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F -D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 -92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835 -3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203 -046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E -C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A -A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2 -A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D -731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B -09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1 -49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B -5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B -54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C -C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F -11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC -D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A -109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40 -3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343 -C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7A6E4BCA12E4 -2086286F43226A1549A4FF7492ABD07FBB1EEFDDDDCFD29D8325E262E7C6C0AA -34F6E5E90471F431033742F5BD7B8DFF2F7735FF03526A4B3E7C550BC02BF138 -20EF5BF1805053B714B2D3DEED7015C9AA55F6D4E5671A52177E916107DC1C24 -1A6B08D4D0E553312240DE0B15FCBC1D7BEBED0A277CB194A725042EBADF8C40 -926F53297C0AEE217D9626B555CF3CA2CA2286067C562C5639F2C8D36248F32F -32ECCAE20F5253B14C7A8827C4FCEAC97EA5DAFAD169BD757F6B155EB9D55A65 -002FBF723D774680C5CCD9C22C9912E6BDB205CE0EF255821381A430FB331DF2 -78C42E7445A31C581668B3C8F8F3E9A1AB5C5C8A4DA9865548AAFE4F3D4DD2C9 -68678E4DE398B1774F5EFE662300A1D4AE3DF645FD3BBFCD580E539DD785D970 -1FCE87953CB69D0AE861AF38EB47E578339D91B4C2D748F9705F425512FD576B -9EB3780E9CA494C3D2A88A7F1AE1B96762C34910CFFAB0C5F79ADC3E1B943A72 -A7A9DEF158FF05D81BA4E887665E21147692C6E7F4FC7B0323F519986C2510D1 -1A83196AC7139C56B1DEB3B8A3B33B39531A1DA923191BCC0354FC1012CD78E7 -1A7623989D6A2F46B8C716FDE84759D112DF59D9F5425668D287941F68A095EF -502FF94B4035BB46EAFD5245470E43243B3A6F4F4B30631EAB6FF3D54F1B8C54 -543211DE7404943720568AB7FF3A987636652EE54D45E593A522B6769E6A9B92 -FA8F84E357DE173E75FC9DF297FD52838EB3BDFDFF32FBFBE41350FB4247E69D -2A418989DE2C49B5ACE3ABD2E8784A0A54F0A0987922E0A418E5263794D67A2D -E74F20DCA22DBC738B16F72F45FE4D51F08447C33EE1F96D27C83F27EB606D19 -E169F2AD7A3F5345F1605E0F96F4DBA8CCFCBC57CC7A1AE6B60D00A33E13CBC3 -F82AB4802F2A6B4ACF7D19FB13CE8729884B182EDAE5D21E3085070E4868CE8C -05F96210555561E8F1A863D44E0CBE8E05FA6BE955C48EA8960151F684768C33 -324E61AE682CCA56EC7551034C3E30C057AB889E5E5E0B45C2D0082CC5F4EFCB -6D74A25B1E03716049FE975275FB46343DEFDED630443CC0932C1090F782F415 -3315E6F1709D376505A2400C95C4723B9C32BF192C1D46D6B707A5E8323AD2C7 -E62A300DB09EB298AEF9CC7EFB2D8BDDF6CBA4F57496570B5093D7E730FFB8B9 -8600824CFBD9879B9D6F6E4940AD760C8A9314ACC7FC31C1A74B919604B3DA83 -A943E6A767ABAB506DD2639F1D56D4F1A636A2CA59A79E1B45E811D5EB82DEA9 -135909E9420DB37753EF8B837934164F3545D0D240F5DDC6B38CEA134920B715 -BE6B928B524549C599CD71A60A2A549FC1B2EA68E2761A67F3D39F93F72CDE68 -D11E9258CE8D584C47789878BA3C28E92803D22CFB945166D42E3A627833031B -596EAF89BB06C015463CCFD72807FBFD8A3BDE14CC9FB2DC060A199443B31A85 -C857F30FEA63F01EDA8DA77C41CC332A515D3976A70F716C6E3A16B60CD5F4A6 -26D66E7BD366673DD50FFB463CBD3A5537DD30733C10195386D834AF7EB7789B -92C5971D8C0DF87E1E78018946B1A7D0D4D00BF2BE76639E082C622DDA59852E -01265974B74F8AEEEBD2E208206EFC2629551F3BDF5DEB6C490506036F0E2354 -EB88BDA624E9959E7BC24D6BDC9B1FDCC0FCD4CC82BC1FA903BEC21435C9250B -FACE0ABBD0E2ACC2ABC1183747DA7FC8EDD7F77CFDCE552F825791644CCF89BB -E50CE355F904CD40519CAFD8BEE25732C7C4CA01AD3EA6E9B9A6578354DC7756 -47D1DA4BEBBF0A38B65E6AAB280FEDC6EE7F403A33E26215166F6CF56491EFC3 -240947A96B5FC1C126F86AC56B2B7C28F5FDB2883652F07CDA4E643700F3E62C -AFA3BBED17CAFC04B376BA790406A6F3355871225FD45308DDA791323FFA45E5 -8DCA81C190500F57D666BA1AF5F465592F74EE121856DAC0446FD75905224797 -B6950AF2654398ABEA5CA909F573AB9BC6355DFB6402CED3600415D441A5F613 -D6CC7AF15DB7ECCD4101FD0DFCEDD751D53742086F56D76D59FF56BF0FE08D36 -EB2E0006FF7CDAD219D8A117BB0971DF61CC2EBAE13F3C61DCD732C0A1B5982E -FA9A82EA390A8ECEE8853100232DA6BB55797BE431DF34E87ABABB4E4EA5AEFA -A3D9096B9DE073104ADF5CA8E840D1F8D7D18B9FA9201D222E40E78EE179A297 -66A60A2F4C54053A48C56B7FE47D78B883EEA6BF369407B337C518C4A8521A36 -C3C7462EBF3D967683971100C64EFACA8972A8DC248EE257A0AF3F7F85DC30D5 -276315A876A830602D216B28DCF9E621F3764DB847601C133D004C531E8FF45C -E584754FDC89C1B1FCE30063EC10089C0CB315CA1EEEABF35F1CC26EF3961496 -702F49796643B3E9370599B5A8EFB3828A75383FD733C17D708DD20DAC686BBC -D210C8CB4A42935B60F1470659C41B62B629E381023D212BF79D29FAA4076393 -A3023F9B8D5D558114A7AF42FE9E45D8A91ECA11CE628E616C50105EE11BF8D6 -D03991B9F9C2C4FCE0FB746030A2EA802EB8998E94D4F0AC5E22274CD945800A -B3D82952F9790B7B86A6D3A24500A1B85733138D938F0501476D5520C336CD35 -DF710C8A6F6E9E92545188FA8AF49F9271F8AEC220FC54BD789AEE8A62634D3D -4CF6DA3D5ED42C3AC12992568EAF3EB5D9213AD587D29CA3DA7E6E208F5CFEEF -9040815071DA33F016EB8258C3813AAE3BF169486A02E8C43404F194AD7A1BC3 -2A46825183FFE5082699D7556E2F4A59DD0ED835B9C5EC8F942C0A703CEDB0F9 -C77068BA68AD0697D0C3C86F33C9AC9FD4ED4851AA3033B211218AC92F2A744D -2AA17C2DAC259F88171F7ED8BB1979D07673E16F5CA7A18E4CE78BB22476C2D5 -D08F78429A2433DEC7D7CD2D2391E30D4E8D9006C0755BAEA95FE903ACC4BD0F -9D9922837D3FEEE28BFE34018470D8C91D4EA968ECA1B93AEF9402B1054067D4 -3DA1DB14B96B96E9884CCF9B461273CDC224D5D79AD15FF57CBE9560F9F67A02 -4FCB320805E9C261BEC5EAF37B76F1A684B39B9911669E1772DEABF1FF131244 -C2A60413854F84CDBB2CA0D93241D2900161CAC9E9BFEE211102D9F5A18F383C -73F3627599589A3F0F2DFA4DE7AF33D6AC26AC0019F6C7E132B7724A8D4AD068 -64F81D26912089399AF5ED009375DB4DD51B8B274EB51EB6970A8F389946CE92 -390EB30FDC302380B9A18144E09EEB604001426CE1363A4946C015901E28BEAA -9B8026BF9D1225D741AEA87AC73C2A906A1CE906935C7273FB5B0D22832F6C99 -E6F698234DF5C3050DF46A51FD39BD43C6F9EBF83C76201152C797258FF01930 -6D47F15EFFA39887ED307174D7A0A1D198C93624A681F5F248096D8739B8B048 -9835310371E03AD967C6F81898956C53B00F891CD2BBC5EDCEA494694BACE089 -4E1338305A2F0B1475E87112270128312E8945F623B2893DA5D71AD9146773B5 -E23852F205214CEA0DAB998D6B61D47B531CA74D927C67405AA67A5A4CBD4B06 -07ABFE4E39139705739BFB944B0B1854306D385A368C8EB8A4AB820BFCA2D13D -C41FDE331CEECA12E55A92FE15E82A942EB17F2323AE76D70C0B58FED17E9EC9 -23A31F79DD1C0B8143A769A17BD7B9DA623B6A85EF5E04B2C37AEE7AE7D4F3EF -89C13761A40D0A684B97BD00D86AAFCB9D61D676702CDE89C703229B0B983DA1 -84474B233805DA7458F31D2B388C19AE2A5D55E7E2C021DCE2568124B9C65318 -7D2419852A7C3E782E65577C7A5B7EDE359520410022885395630A83A75ACA3E -487D878EDD0150D49F4AE2BE404736DAEC3FD3F399767E9442EF7712BBC4B465 -09723E1451DAA8BED3FDFC5A18B1520C43D2E9BE9AE51F805589305E6927F294 -DFC5439C09C9AD1B416F753656B197E3222DE448E3921DB5B669E10B78AD4A74 -54F879A1C6502528EA7FA622E3532786720EAC1FFE950AB23D232D30BBA0BBB7 -35108A8249D117096D478501F0F44951A19B9EE2E622D458D4E11BBC89668E07 -ED1F6528A487C1C11BEE5D4347602BF89904EA443C21BD9BEEEEE235AF511BE9 -0D5E9EDC91A61CE4936846D33BF3C865BDA00A6F71A5CA7F689F2903117245C7 -6DA1D0B9719C0907DC323CC7B23085C69CEF7D978919E7CD59E8778B71EF84CB -809FDEC2FDB6041C4E3E4BD1DDBF0DEF5904F9C7E8B13F7DCC108C6DBEC54A98 -1A857C3D6409006F2A7C0C6C6630D22902FC369632710BE765AF27F47137D52A -0E4DB396B8E52CE5D17176F5EB924CC12AE87870525FB6CE8284FE29869BD98D -F0F34EE2E85A0C83CB3ED6F8832729CB2905CD68D1B3CE93FE74594FDB08D75A -D099CA9AE015F396B5D6C4E0D35DDF566179B8CF5793C0D93D2C16A9B7F4E4AF -BB65316C8EFCEE6BFA0CAAF915CB43726F31BEED9A49CEBB22869C79DF80C7E6 -1D17CE31A53FAC643E0AC03FE5C7081CE023877A3C214A028E2596E3D3685268 -D85850A4ADB867D2C4BFB589B1F5247E317D4A1AFABFB17DFA0E76335AE25128 -4D89BBAEB1C05F2734AA78530482CAD30AF5448E0D8A0C19B5830FAD63F73118 -2E9BA785477AFC727D200E393612869DB66C6253C5F13F27FC1855E315D73FA6 -2A42FFBA17CA52934DFC4FC7C548A0C751E9E18F8AE45BBE25E68D5B95E0BF60 -82C28426DC6E1842A1FF6E2D2803E3732EAC874FDCC92C00FE3462A60DD51EF9 -304DF3135CB0865C96AD62E2D2947F9E04ABF144916083C61BED35C9A6DF7CF0 -6FF9B3C98AE848785BA4561ADF24C27292601E11990A2E88774FEC8D46A5D813 -AA4965778CA603D09054C38278CC1D749628C1FFB59D5236F313988AA64EFE0D -5B002D463124844922A10D3CD7810A847085B67A9813A24A225F5AAA4F4C66A8 -B26AAC57A279E2D6E6C7DA723DB118A183B782BB667329EDFD901585773705DA -E855515DC19227349EDD8B770C8371408EBA91BA4E64CA6E37085CC6BB05E773 -DD1046147BD67FC57BD4E748EAE63EA66895EC0D6CFB75E7F7A81B08D1E5CADC -79C04E9DE88611BA3B063D865C56D9AFA136DC2263634104CB3DD1D0C2053B53 -B010C058015B8726A20291C464981FEA208CA36023E1A5E7312E0D0EF6BD8C54 -ADFB488F2C81B265F0359A4F8356C6C8BA82CDA17FF91AEC7D9A3FA88F85B995 -698FC4024C6E8B12EA1189257B38E3814D50DE90BEB69808A6FFA2AC0CEE48DD -53E04D7B2442F2BBA36683BE5B6C50D55E1E5FB8EC804E126252DBE720C13790 -CBB8BC864156CB75F0BF923500F503E7E49838E4BEB76C594A9275E7D28CF9BF -2B48389285325E979FBFE0E35E1DA7FC23E122DD4D6344A3A7709F422B60520C -F6000B24045BBFE30D3E5EB35BEB48E26AAC37040D490851F1017E6F41E37135 -6A76F41BD27834CF3691C60F48AA508E8B276B2741941E4DB35CF42FC74A81CE -57429351B4EF9B429DDC4206948FE10F6D4AAD93C89C0A31E72A10D81F1A3B32 -8B08CD379B6126A607D1DC52C75786B6E76CD788FE7B0350E5D272159F70592C -7BB387B87117B59F14C4171FBFDC6CADEBAB572B8109F916D8CA5F71D00223FE -09B3D6709FB136D9CF4473629DB98FF10DC4EFEC5F0D22A717B098EB38928A53 -B457B5F90DA732EA3613A5AC30A91E220DB4DBEDF6B0B4C6F05774B994BBCE90 -1DC703882BE03FFFA973D6A27E26F2CE02FCF68FB64EFBC2FC453DC009985AF3 -28A924F5AFE61D8FA24484979104CE7267C71D018531521C205A692B2341A716 -8DB082AB32B9575193A0EE526119280A3F8C7CAEBA58E2AACD83F6B12F159B4F -21A5953FA0F061BBFDB1360D9453D1F8A9DDD2ABB031A3968AA9A97A5D7C497A -7F0D57FE59E319E06D77114E87803D8699C5C29E454DD168623F29D0FA61D832 -98738F6856A9B294233EF363DE84749AAD95212F3B350698D07B4068E1F21C63 -3B3917E6F79FBD02A3D9399AB18AAFF22B076C0D2F677B684476CA079F881C3A -D71D6903A75CB9931C78AFDAADF5B75B44A52E0025F406314E8DCF1CBE6B3165 -AAB0AEC77592BCC95C8858EFD33A945923ED8EEBCD7005129E7AF3CBFADF28D7 -C9CD1702D5F1E3518C695E831D2D3DFFEC6897968E4A4599E912BBD958EB12C7 -25DABD18A816CFAAFDDC8D0A88802636BD2CC81587B19E91BD99712E41CE0ACF -1C1745430054851077985E5FEF38A73272C56BE0DDD2F9B3973FE06F62DEA8E7 -B6CC46558B784D0BB5162F143B3959AEB720E6AC3F122E8383066B914D391541 -75C2D47E07C4DF14FD75E96F19788374A6CF218472ACA936078B9C245F40C812 -30D351323881A7CC553F0B9DF5E0E90753D41582A1A1F6E932BCA3853DB1A6D5 -07E4DBA91CD26EFAEB573A0C2D8EC879BD271F3619AEF841B4BB26EEB85A3C86 -AB33D5E94C594197134730A2061AEAF90E4E5A4FEBDECBEDA77588B8F0C02644 -B5DF17DAD9048C85EB0DCCBDE45C6B0BFE690C687C2BFDA900A484DA948D008C -CD087DF0CB9F74E3DDD27D12E4C970BD55D097AE007652DD43F74D3B63C0B619 -72F16998E182B9C113B921CBD7B831DCF5379B43662FA0971778ADE6636192F9 -24BE11982CC12FC087D4F607F078E2CA350A4EEA3F6E2EDD2B2D37987E722A2A -5C6794CC7FB91427DC38260D92CFB5E3C64B5460FC139BA88F9DEC183B3F4882 -B3EA91214CF6439DFF4E3AC48CE710B077FFC1A7FAFC9DB7459D3B2797BD0B7A -3E7B8DEBB09446D8ABAE4084F2FFC778BF697EBEDC69E16B5D4C962F260A69F1 -9F524442AE727481FFFF7048C0342059B4DC66C4CD7BB6200584CAD626E0D9CD -35F49DA71F619CFF33307EB0AA5D70A223B0E8854D2F492CC361C1147DE55BF3 -305A979D58165F76C2F819BA05ACF43FBBC480D290B1675974890D80CAACA7EC -3FF458B84D5DD9BC5FC978A701210042F3509E90DA4A6D72D133D89C4B191AF3 -C62E4B8D8BF959264070968B5FC00825E37FD55E9D6C83159B9171FA817B3914 -C0AB790C8CE44D481479844EED6D7E53296E2A3F4BB248F367A8F1659F2B7767 -3D05D34970CFB4579CCB0556839FC219CE80BF84FF513641E0F8F3E1FE62E59C -8B3E6AE389C797DC9CEA8E4CB22EE0E78451FE1D483134BCE93B21BC437B7B25 -FA471CEC4C6F340A4F9E754FFB94EA84C14C14B36D262CB28E91C2FB7A266C43 -3E81DF368494A4B4FC6AA8722A721F8E51D2E2DFD756336584F54F9989899BB7 -87BCE093C93147F25681D54670B6C06E06D4A9F9685FDF3C65DA8F35E0900F8D -2E378A4D9A859EFA76FD51083BAADDBAC5855693ED96C6321455FF3D59823CCB -1F667157BE14D5659AB14B331A6BEF7AAEF669AF32EBFF3C7070DB76D37C275D -3D133FFF1253AA87F2B0450507B281255BBC656B227756B0AF0F7792C501DF74 -42D67EDF5B472DB0BBFEA8D103B260321BC82E6C480FFFD5511CBFD5E044B1E9 -CAB664A8242A55F109499E68A6319E100A9E9DA66C56AA2E184B582E3DB64DF2 -A7C7349C0A66D976A30FA1DF84779B97ADE6F8692B8D787EDD1CE7DA30D785DC -65A0230BF3572F51D04E8E9FACE145CFC192F259AEF0F7D6B00F9CF9E72663B9 -B544E91823F68ED8C2A3C9A7B8806F4B77D28AE9E1DAA61BB1B9DD35BC4A7B4C -DCF4E4DEDA2DF1747AB0C14DB94C9067EBB9804C611771146CC2CDD9414F236F -BA04EFC0A021911D61A9BEB0F7A3E7981F8F7C5A8B43DF0FEF8B1FEEEB7AC364 -54F380BFE58A6DDB682BD01F0297AD66B20AC36D813124F5F97CA6DA3C083227 -074DB0905E63C2E7BDB30838F33ED57784F31C03CD70D33485E51002AE058ACE -152B9AF44BA46CE0936E5AF784029A8E1060173F6B57D3C59B8869641011ED3F -297C4BFE1E5555D0735CCA584CA9245D11E6A0AA15BF2064DB54E75A35F68CFE -6CCBE1F15377CF92FED2413E5F07B0D37DCEFF3FC27CE3A826F4D80058491AF7 -ACC42727CF992E00180C7DE3D290143062821B6F00F5000B31D9D70E2F246616 -A2CFA0179E76A5096FED5DA570926BBD220491F76EF5357DE263FD486101C889 -B997394C4FD4762D73DC3BCA70BE7784D422C11995E5D3E0F07E58FA33BAE3BC -5D65A0946DDC0EBCA88B55E38BDD3EB5D6DFAD6EC45A77D253FCDDE226557DAF -955946431B2E98E3C2C3AC76CCA1C0743631CEBD664B61AF619FD2ED5F3BC188 -ED79F70D78CF0220E87B0163590374DE6C5E7626B3AAF09DE2BC8D183D027109 -431913F590CDFA526840EF6339E75453ACB6E15B15F5AD61C067E3801C676800 -ADD9EE8A87A0B1A529857292029615BA892D355C5A7B1943A8DE6D23D6BCFC6F -ECCC844E64A2D1EE033083C6BB342FAA63B946CC446F2CBBE4F091952B4F55EB -305BD2E0DA668B027B1E5B18A5E272540E646E72ACD0430474AC0A8D9C869D63 -0DB6F7E3301A2DFD5E21DD938DD2D18CD9B361E2D73B224F9FCB9708FBCE673F -98F416CAFBEF721F8707ECFC5AC86648F247DA52C1971AA82B16B4946FA84C94 -B9103697B4A167BFB3B4ACEE5A1C747480DD3A346FCB36C93AF64928A7B36754 -AC3E92486DF3875A25E303BEC4F0410465F95B34EC6C729A5C503722154C8B64 -EA7C4B3ED6A3DA526C66D76689D81C15FA92F4E1993CE17E1D0B37A41977774E -102F689FEEF2D7FEC3210E6FBE9FD4F1B8EFEACB80004B382D1AF9C278584212 -D17C4E3CA1F1610C384A200D7AC738E60E114BB42F9534A72B7173AA9DFBA66E -28AA1295D58EE1DED0FA92DC68F0933F5406C7C7CBB06FEDBD92B326122FF632 -0F35F511AF93E40C12576341EBEA9BA16AFD66270002603EBCB6572E5DB500C3 -B9B36DA394DC9B2DAFAD14D96A558B5E3562D796046BC27761B31C4A160CB75F -3E5690B50111649D794A5ACC9BDBB851F5D64A460462B9171386DBEE21411224 -F68DBA86CE60D425C41F08B3233F1C2F7178F5173D4F3B6456678AA00521E509 -F88DF6766DBD6819775415AEC22DBF2AEB8CBD23960B34C5E62ABB85E3A7EE6B -48AFB4F6A8082C5DFECE69E88A85B2589DA7AF5F478A88FB8F1208A02E456B47 -6F1390AA44A34996FF8C3EE66B0454378130F7387110D189FE1AC22E610AA270 -CF5D41FB9D02F2A8835EA35CA404CB9A519A310B1B22B23DE56EECA74BC6C040 -356F29195B898788246B2E4D2BD332441DC719775D0D8D488169FA3089 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340 +15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E +ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4 +B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029 +85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C +DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955 +F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D +2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5 +B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7 +78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7 +E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3 +41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277 +B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072 +55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA +700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9 +8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A +F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4 +FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4 +3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15 +B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2 +AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013 +461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC +CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85 +CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C +4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F +291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223 +D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181 +C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115 +D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9 +9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405 +2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380 +A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB +2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E +2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6 +AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577 +9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB +B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67 +0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D +9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B +42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0 +C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35 +623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6 +B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4 +E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97 +CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D +07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7 +53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350 +EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9 +52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88 +F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC +D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3 +81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D +B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6 +B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A +31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF +E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293 +846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733 +46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E +44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08 +A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A +BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5 +1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4 +D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344 +6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A +E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E +24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E +75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D +EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51 +C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0 +5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034 +099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281 +7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE +53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84 +7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F +7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C +D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933 +CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD +866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B +B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826 +ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B +B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64 +FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B +40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643 +D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8 +2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787 +39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2 +1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4 +F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9 +253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B +14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085 +6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E +E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B +9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E +EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339 +FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F +289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3 +A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5 +5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46 +5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652 +152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE +67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3 +BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59 +3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88 +713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF +2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5 +D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143 +6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB +A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9 +F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95 +26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A +C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970 +350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700 +70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5 +F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95 +F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8 +9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2 +DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473 +F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D +064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF +1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325 +A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E +E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF +01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C +40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C +72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645 +24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1 +EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775 +D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311 +83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483 +5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448 +1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69 +AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC +4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3 +7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9 +65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063 +B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6 +FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6 +4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490 +8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6 +1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3 +10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B +C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4 +8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A +C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0 +7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F +852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C +3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997 +648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD +855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE +1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C +1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0 +B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7 +D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99 +24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C +552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733 +6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0 +800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8 +6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659 +E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4 +5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2 +00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F +E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4 +82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7 +6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3 +128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D +744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507 +84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF +AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86 +5D2579DAAEE12528C23ED8A1A2F34CAD1CE8BA67D0B660E9281F247EC10F816B +FBD6B9E8AAAA1DFCC4C9FF1C6AD05C0D776DBF675838C2629826D5337EED815F +4268604A4EED01A2C7842FCAED2E37F7F39F980866DC5BCACA8616749FFE946C +A0AB0475DA734C00D99912C544BD31F8A69367D068F0A18EE79FBD4D5385B8C1 +DEB92502ACB3B657A54C9BF786D7DC1ACABDF29591D77ACE1D4FE00E935D2858 +3733656C79DD1C174C26DD97D462B4323F33B410DEB64244095927C572FA90C6 +4C8B709C5B7E4386AEB936C2656B59AAFB74F9E40E680D890903458CB1B2AB8E +6E629F88B51546877F7799B99DECDC13638E2765343988DE2ED33279DEC3FF0E +2255A734F5925608991F068274CB1E5301C5B8623C5878851857B3E665490A7F +FCE5A8DC0FFCF3D56BF55E4AB2ACC6743F52B59C1343A1C25BD46A6A3722957E +24A6F4B970A594F67A09BADB6A7B4BEAD3FF97D0734470750FCE29807D315EFE +F93BE16F39C0B59D107D1834FDDFD520D8A429FCDCA408C79DEB580081191B43 +20650B5375AECFC2DC500E3CA934AFA3D241FE7988892CEA42C8677DE18C43FA +C3094F8DCB1D070DE0D32B69E2E1ECB4A82AD9E38D889D05418DF4E3C398FEA7 +BFE9B364A389B13BE713F5B2553ACD16C14AAE521B63E8A7DD0258EFFB95646C +18226B01D916D41DDB322F6E83C3E3717FC113BF7D7AFDA2CC03B8175BD7DCD2 +AEC82FB156E051F2D87B9F12F81E1F43E822EE27219758B3E237AD772E7B1DB0 +19ABCE7BE6A2FC3C7DA0766FB82CEDBAFC19F7EB19C7448C1719C88FE99BCB73 +F7DEA427FBFCDF4F00E0FDACD080AF068F7A1CDE18315BD694C60B1DC71DAF1D +1009AFC847156F96D9CD38A764D0EA70E5E9B6E19A2A0B80ECBB84CA44C137F1 +4925EF5766F00C22F967F9F68D7637DF0982785DABB8684A5525C6D23DB05B31 +026B49433392C8930BD9661B23C2EC0E0BC4F00FFB2587943DFDB4C6864CF1FC +7152CC20860754204B7D4536F3C11460CD2626DEE88BBFE1CAFB5E62C9BA0C8D +514629E5A25C4FDEDF56FA2CFEE1A648E78803062DAA41E3D2CA4400C74C3C33 +B77692A278BCC9B4E4512CFE8D71D53750ED0F7BBBC811EDDDAE0E7049BD916F +8D1819A0AEF50E284BCE7CD48517DACB587D2C48AA89062A791DBA7549C22C0D +2B14B2FFB48A05CEFA73D1F81BECD4BE921AEF860B30CC1FEFA6199BB39A8156 +1AC9CE55140BD9EFB3B2BCF6FB6645816F11C172C525D9E623FE2041BE9D41C1 +A3338195A24873E110DE875B1E4FFD5CA3CC44FF36163C867855620EA60319B2 +27A40368957F81B38F6346C45EEF35636B01923E356F2F4279001DF3FF52BA26 +B0C523895515658EE61DCD016A839A71ACB5645B4CEF3035843545920F7F6624 +B414350819CFBED577BEC9CAF1465EA75DFD39318F02ABF8697621325964DD46 +E8206C04B7C5285DDC91EDBB7F76DF9C9448A778F4D62307B2F042B169053544 +B3B19D36FF290B4BD1B807749BBF6077BA682539E07B846C9BEE668BC5DC5DEF +CFAC349ECCA59B1A46CF89F2C410C648AB50B63BC616BA3D448B1A08A2C10BB2 +CA96A7BB2A498E7F00CFFFAC03C1BFFBA166D4948593ACEFB6E1E6D586D24F58 +43A02C59ADDAAC725D06E4C4EC1E1F5B2203289908605D950551C23A71E12403 +A443576CA8BF7C365ED9ED2AC7FA6B17A786DFD3731967B43B8715028241DA09 +934CD93AFE81013D9642DFBA66EA1C024FC804ED884088FA398F065F2AF53163 +6ABC66A18AB971A7B494B6EE78A12FEF18EAB42529A1296D054ACA5BF2C386B3 +5DC802B67E362B2FC35633487F2C0FC90333508BA50DCA2EBEE2FB939910E7EC +128B7A7AA0F7A7CA91AF854AD2505F5DA70889940C4945BE229F6C2ECD1A8D5A +B35F475DA0D33125009C6C3E7730DACFCF279EDC74DFC88630342D1D81315AEF +884EABB7E785653BA2463C48708ECE70A49503575048CC768BB8F13FAECE7FCF +29FAE1045C5C6E475E634DA1A2128A0D16487BF3D62BBAAFF6ABE72FF971C361 +E5B530D6C6977137319321BFDB6A526B7AEA07EB6548F6FACAD54C426D3E5207 +0443CA8ED660D368BF42FA1107A9503F5FCC4EB8D4C7D2CE580597E4A84EEA31 +135D139540C7D5B0AAE65FFE3475C1F2DA4318DB4204677B4C30652DA10155F9 +C1CEE50DA12BF2F08521A17641A2F5541EC84195149392FB34E900EE8C130A72 +A06E8D5C1C3012486BCBE6F82A8570054C243ADAB55F1BD0A2AC1D73029F6E0A +91230FC5BD62E7C8179271886FE2A3D0A4D55D26A953064E16B99189D714CE51 +6C1ED25B47BBBF5494E1C788038B82BFD0D6CE9DB60E49EAF500DF9ED431BE3B +5C5E93A14078C7962DCCF2A34966BC16EC17989C10D2C74FE0DC9306CEB61DF8 +A42FB761999A3EB75E31431F568CDEB0A3CC8C5FB6B76B8768086F20D284D302 +A144E5CDDB303676D612FE7D749FAF7E0EEBA5D5FF48E3CBBE5046131A8A00DB +21F4A2C8788781CC2D3ED96148B7C77CAA7278CC32284B2BC83BBF542172F186 +677F635F73216E1D41D2CA802498C469234B79AF35BE521DF9E633293B1BAFDD +3A0B043626E3CB0EE9072FE09F90B8ABAB28F60C42CD3F2323B7BA4E4F9FF6C9 +BEB3D0E12B74799E2321A65B88840470446AFB66E7B9FD92638947923F8942B8 +B9182715510969377DE1362216F2EF6B96D4622ABE65EBBC5F7FC397B50DF682 +07EEB73A649383B86EB255B9145916EE2E8C326052ECDE0EB367DCB62F7F88B3 +6F9F23853CF377EDF5F4B1F0A6DF99EF29F21452D2628A40F589BBA831118DA9 +DDF19BB85E5AF7D79F5DB4015D90F3AF189E7D5E9E3585B9D444218B889366E5 +7B4B8EB34F4106ED4E54EF08F08581EB40A5B49E214A86251FEB131BCB071406 +B322E962F9B14AEBD38747B44F976B30B184AD7667EB5AE3EBA6744D6C8422D8 +F4CB40C3216799F46067651DD21F6F763A59E93B9A67484E6CF9EEE3913B6687 +BFE8E68087D287651AA7666BA83B0D271A422E3F0FE0C2942AFA64F71B8237F5 +31C7F7D6E5D4903D3CA32C77781BD8C959FD6DD1BE80C113B59B39F1941E8770 +BF7F8B7139ADF77E2CCADFD99E2A87A5C10802D2D6CE3D9A3830378BE37D8903 +B87B38EF25C49FE93C797FEF7114D4BE3A58555F701CE4D8BC2605CEA9725E08 +B2460459E5A4CE44793FDF3C212A6B5909B49A4ECA55F53AA3B9AF63A2DDD339 +9023D61FF6C29721EF2B49C89320372059FA33F25CF6BC7F64E3B4EC7D7527F9 +62A8FE056259BFC788F24506F8F6E9777B693AA26F646A22F3ABA85A6FEE1B41 +373D90C3CB55A474A2E5EF80A129F5628CD064B590DEEE7935DE9AF5D68C622C +814452DB304B52DEF5C9490B1366BA1834AC5B27DFF17CAA5722CF783AC8283D +B84A3DD19587B204EF584499E78DB2222DCCD50847959B4820CCDC092F88693E +50B9DA33FFEE72C235520F58332A3725BF62BEB005D36FD3CD1B2310B2982A34 +A095ACF013BB5C340A21B4537A7BDCD5161377A4818CC44D8A15BE7CACC03D33 +11CDF7811E0CF02F6F3213D3B598713F2EDE54E6857A526879C920D085A01997 +8DA06915850E5402A4444AABCB08881EDCA2DD068E1455BF9A155C54EF315FAA +279D726F57FC86300BC4D9DFCD4D44EDFDDD4B00DE34948028C7A9255B931CC2 +77A0FF40F7ABEC709B67C6EADAD9D24B014DEB4C342E5F37E1CA26A1999CFDAF +50D8E76F1715FA8EF095B88D9A8DF4325572B26753F763F264DA8887E4E5845E +2A01F86149EBDD9CFC21CF2852CE95386DBB1E4DAA2113AA1E0C53746A3AA5F5 +78570500FB89E376549E282E2AE990E72C0E77F701FCC977868ED3FBB7C9CCCF +CD28795A80AE8787EF1D0C374297819A324504623E12688B08E4782B18F05C75 +2E2CD594D0E6C10B002AD61CE491D4B95244E83DB861E36D293C0F556B295FBB +8F045711CD606D024F0F03603629F3BD495183E821D0A1ACD83F3376B62D278A +FFD084EF020A119836EB60D0F8A059BAD8D8CCE26A37182E7C89CFC2AB80C724 +275E921332ACC5A6991B36A2C7828B632DDDAF04780086F84E1A122461719992 +061E3F597C8E6DD8ECE708251DE0DED5DAF913AD4130ED89DD271B17C556F466 +A2587876F7954A9888751460B468313DDD88F267BE6C5FEA492A6CF1365AB8B0 +D8E872A625799B9BE1859AEFAD98B6F41AE33D0CC069BD36333819995FD9B510 +715BC8AC70443A107EB2E34809771DF24D3AC09D47768D3202D809B023FABA7D +C6B8CACBEEC4B47082177995C3C00D08446DA56D527D8857E5D3342EC3C42DFA +7E35C992B8C2A50E7374FE57092086613D5A3B4567A9DA3758F48E6817CA3C2D +BC552BF4A17E92DFB106E74A2C53DBEA13481DFB9EB64422F5CE073512B67018 +46E902A52D5AC8A943C93B1921ACBA76D6DD2DE9077C280E1E6E43ABB9DD11AF +E065D8EB102BB53A37F6B491EE341CC8D4D3AE311F122A28F7FC5481CC80E119 +EC3E67AEAC772AB31D41151AD51B88122325456163D1E84EFBC5CB9A55BC4C15 +7A2D56ABC55E61A49311ECB2C3267F7EAA3C284A0135985EB5E2D4113BDB8433 +123A4A4109F6926D9C38D502B5659AF97969C3160BA5E6E32B95AD5D6855D307 +89BDDE727683B2F05D6D9E74813CAF8038C03C574183CA79025D33FEBD68811E +1A3B42236EE1CF60614237538CB2C9567612DE1DAB1C864828B9604A5D4A52DF +D5012F80352DB0AF93758E8DD4ACEC077160D74FC723F6878B2556690E9ACC91 +5B552329E06B87A06E733270BE98C16A30CAE3A798CA80E7A9C3B8733A9428DE +0F4DAFA656E6D01470FA746BB58E686846C29933F9A48932E6AD3A20C7A0FA91 +AA45745AF05ABC50D77498AF81E72D0DBF7D6FAF97E5538673C57A6EE39776EE +06BFD30F67A57AC796036A5394DC9A8C75556144497637C28F3C56DBFB21595A +D2A46D6C4A0B63508A238B97ACB24499AB5540851B86E273B7B2DED24B458DB1 +5280B3F9040C08672F7DFDC4B69C54B92EE3555902BF55D64CFC95A9DD143C18 +FEEDB1BEA96762AECDA9DEE705AF2DD54C619328B9A26D019984DEC1EE34F30E +CA4EBD5A4AB2C8547C0EB264D47943AF93E281A9E346B6346B809363CD7D67D9 +9A8D6A2B1C109C8F226BE11C405F18E0197A47E44B57C1CBC8CAB957A2F60771 +CF8DAD0E361FF6891CACF5672997B0357F9A5D16D424F2B32A0256210106B3B8 +160B3CF0FB7D28A84FA861B0210F383466B6E69DA79B59D95AA05D608DAE9D56 +7A05E3CBBDFA558C8F3A5D5AD9F70AD60FF059AD26041DE8819EDB2746DAB76A +6600D7C708F08D266FE22609BA7462A9378E691E175230E4D4CF6F1FB40BBCE0 +31E34EE09023FB7BEB557267986637DD5D9C70E38C14E485BB6CDFE0826F9DFF +F5094AABB6719C11474BD877358C603FE16B3A26B8C3CA026E6B29B1868F2AD6 +2960CF99DE7E16B18D3480F52585F39D0B45574D4A0008BCD49C3F2B27930B25 +3117251BB7116A23C586F7B0706F7F2BB00611C4FA705CC11783E6A1D868E1E4 +5685B46356200BACD8C9851AC613169CDF40BBF1B400E21137D00EBA1E782E97 +BD6972E405ECD84202049433393B3C283D44AF4C3BDB3D1B700F43AB576B4C7A +195500FEE676D1DE97C32859987267428884E4E58C2D8FB367810741B0FB7D37 +4F185ECAE1AF834069503E8014FA13225152CBEDD5A1CB8895DE03E1B1704892 +23D2C13F5EE53AD95EBE5C0AE07FE2DD36209897001FF645DB1276FDA49951B2 +D319D63FB045B477BE528C3667F0CCB6853E0D31C77ACFBED46251BFD60C1321 +D0FD450193208958E91C05E9518F3E2FB9D4B6AFD5084ED2C13DC3E59F85C853 +10AB3B7706863D6056954E6E89A23D22FF9D3A868C7A47FAA92C95A5BCAAD7DA +0D145FDAEC7EF719C077D8FFB191CFE21E87736A98965A4A4AB2447B607D02AE +8995550F0BCEFA8BAB7A197C053F69BBA12CB7C01976219DFC6D2A49D415EFFA +66F17762549A09F43FFEC19B4A6CEE65A6903702F1750B263C342E5CD8D26F9B +363D9AF452BBB2B0D5551D412872AC8F781630B293FA0B96FF49893200BDC53E +32CAEA43D4AC2D01FB9212277ADB59C864CED023A8C30665A2BFD059A1031D86 +6410CF5A2716F0927A8F9213C73681278B8EC121E0AC73D46A704D6B28D7B003 +FD075F4455CABF65FE19A91768983B2B3FCD40AA0194EDEF3C94C06D2787F469 +BB045AF387183D001E980E05859D316821023CBC205C505B11DA011D784B7F3A +C47E20AD8F87E499D7D77EF84C75093BC67969E7CA8714F55D7945F799D6A640 +E6F00FCFE28DE659F36F947324DFF4E79AEFB61EF14ACB3FC078873A17FCB5E1 +D3C40C11B5A4327CF96E07F5CA9D62127553EE94BF3C148D9EB83353E9DBFDFD +FF9FACBDC8AED20340D2FCA6F3866DF72EE9CC880E4069DAAA2BA5A845DE7FB6 +CF7E686BC5CE9A4B6D37890D902CB7641033A7C1B7F974828F4FC8AF251F7985 +E576958972852E144094C10EDA802DEE259F7437CD26A1C9094F87ED0697D713 +94BF9E15347EF558B9D40243DDD348C7FDC96A1FB6D362BD9D955BAE3F6A2353 +84D89A27BB4DABE3CB58A9334971E39215DE41B4DA77FFD32B088EDE2E23A26B +59273A7DC587D70CCDF43BC64BC3CB11B6EF90042B8193C0C4E66D9C7BC7F459 +F8FFA1D733503659A2C2BA42C0A1E262D15E97A55E97D746455266507B4B2913 +EAB47632D372206F3F1CA23939A281F2CDF5E2DFF06B94560879BE2080E2CBE7 +DC93A7869391B1F44A4466B38B2A4A8A8F8774D76B8F2449435B525F2651791D +890D1078533B845F34713FC87A34153D1175B40B7A46F2C228C6405E4652E635 +D9DC320111AB934184B34B30A946D74D30894AA99769BCD213FA3494F8C998D9 +BE4501663B8CA4441C8A7A0314BE23D451D19E1ED15831DBB29180E023A989ED +4A4C4C92C65637A9DEB914179A4D3735CABEC726E9F431367994E32CA1C83541 +ECCB0D463DB8A0316213A3356D7C654F9F5A4C57260485D0FE8ACFB6FA759A74 +BC1C53F32A147A9F0B2264AA8CAC642D6D932E462D76F113ED2BE639DC67F8E9 +7CEDAC5FC2ED44E4AF3ABB083F3D103378B784E9B0D88DDC98160629B0731AFD +1502AA443FFF69071A8C6E6EA0A309893DF57E550C270B7BA271234BC69DB3DE +7D7A87D9A8450596960F05942E390BD546A9C10501057B96009548EAA8FA3DD9 +DE5BACF5AEDAEABC2998F34BB48497E022CF71C4260537F19A7D38679558E405 +EEB015B7BDB6092553644D28857CF4FA28E18040C3E6B8DB88289CFB10FD86E1 +99D4DAF86714EFA28E61FBB3010CCFB8EFD7C9B6E2B759F276616DDA9F90335A +388DDAC61C577A057434F28CCFB339902BE256D21F4D52DCD450AA5B747D7471 +8098E4B634907BE1DAAA43FFAB7E4AA8705E76E9ED086CAF7D73375E7EC6626C +FCAE8CE2AB754C256B795BE48428076BF67D614F3FB28AF32DFCD73F17B13E2B +B127E86C5726769BA5A5D2045B839E4FB5D382E93851E839D2C0FF5824B72C84 +D1C96EE48AFC44DBE54E1844BF709BD50C0E1D456EF920662D905C823C912A13 +018EC340C0F4B508F7D8AEAF895AC0CEE8B15A2620DEAF8B4CDCCDCBF40D626E +43CB4C280366C106F7951D505973018D307D9858D32E7360183E68C226060B32 +A342BF4CFFDE1AD9B5111CB80734C1E625343148FF2870D1D87DC70E9264E9E9 +BA20D962DA30CB7A2755B510F86899FE1430E46E76672E30A1CED0AAAD9E983D +4E3911BB537D48A168F7B3BD46592FD4B07B9CE043BE9DE2148BE10BF8C30C68 +76B76138AB34805C6D8B6454E3D5A830407A51B9E1A71DB17668E7A94BB150E7 +BEAC13AE7363DEE94E696FEC3627958DC530490FEE0DBDA1ADA7F00848D3C3EA +683757DCB8AFEEA2C95B7B27D8EEC5956AF8E26BC8CFF14DD8A2E6A638C5D6CF +E128C7F8BB3A3F27EC922041E857CB68CA824DE6DBC56F68CBD131AAEBD6B0BF +4189A1AFA1108BC42C2697B3C24AD8587EFF5C8B46A995CD881ED98523FC98CA +6A123D37FC9D79F0E9A6E6D9E783D8826A0A07A9EFCD563286710FA3CA4EF170 +1B42B440BEF8ABA94FCCF86F0BA118F36F80F6BFFEA5D13CE0FF328CF428D437 +EA9076A01A151C0D6CA5A7B8410815A88DD92BBD2A27EF160F39CAA7E0A27549 +EE8E1B301374028A8C30504461A0CE8CF9D1AF3BC27182E4FCADBE153FC3BDCE +04B9EF6B6C383FCEEA6DD9D51CFC360A9DDA8F18F28175B3AC453E4387D9CF90 +28B44827AEB043F2971C0E6C852882734C9B790DF14ADD37A55E807068431ACE +0BC67F4D03FBB3C611004D0C1E1B9D5CA572191A13820DE990F029E1EC07866B +9307D5B77304C9AA9D987D8E2CB1C302F4EBE5AE1A18EBE36901C6D94A3B4D48 +F31301459C87955B6C24F48A98BE883BFBF526DB1DBFAD1D6B23F29E6C32B3C0 +CC56550FB658455B8E3F2A76BCF1EBC9F6AAA1200C428465A22FC1C748CA45D2 +7427F87D506B90D3C676AD753DDAE196464C9672614D1FC43F0DB91DD9A00B4E +9D8E31DFADEF3AB6518EA1C7BD9BE20AC8C66D0B1CE9737C338E02794640F7F4 +F1F2E04CA39971AEBC9FB699ECA8F07569C8AD9833E69DD9EBAF42376BEA1961 +9D3312A8620A66BC68607C0B7D723DEF61764B7CA43EBA27ABA5B0F518F40B01 +E713AED7BA6E23BA5D866E10638DA78B9BFA68757921C9E766603F884C18E76F +848CE800A1A1E6FADA9E1BC717AF098446AF80924915D0AB86F4A3615D4FD49A +A5A844530155E047DF9A6F878677C12391DC8FEE91C90709E3D06F31D10952A6 +5B0D30556D0AA5F59DA5637BB280842DF8720816D67F465B48A063BD606B536D +760A402075ABBD70940DFB7EDA04B55B5E36D2B512A6D01E7E97FC90D708EAB6 +0F9A77ADCAD63063C5837DDDF800A4D407601B15895E83B58359821426E93994 +019B73A5FD9661550718CC3B2F79E9A6A0E7C4984EC1426C0B8EB86DDEAB3FCD +D1B467FF32005EDABE59166D2E0564CCD1AF482301D2BFAF138F88E2FEC6AC7F +060555D402304EDECAD793EF9F779F6AC52B1AF86D714F5CDF3C574592E8C742 +23204EC2C4C226968B8633554349A2C0A987E2812B8CA402A0A1BC7A16D452A5 +76083FA380D36F227828DF913C468AC69C435B2341A590AEE61A44B1A00D5409 +B836D6BD6670D5C02A614241941EFF04BB09366E4CCE644F8A3D2CAD5BF9E445 +BA296EF46392ECA30976FC566CCD4354D124DA25D9708578214DA5582122D8F6 +8EACCEA4CA8F63F15CAB59FDF29AEA5B4480023D6A61878B43B0F9CF1F4C6792 +C9B0726B1D5162E665CE4F89BD724CA7B957DDF865F6833BDA3736310595F2A8 +58182EFCF9911455FC934CEBD36C3D6E258D948AB4E28D225BAE6C73D7F96E9B +EE7BB7FB24CFE23558DB7050113CF8FAAF62E6DF1B05064FA99C2016537F4A60 +0C80147EBBB95DBFD8A03B125C464E5917AE0F11D293CB75C8FF18322D788FF9 +61593E2CF4FFBDD2A1169A37CD3483C3125A9669231592B85D80FFC5FAABBB79 +3E7F46EA5B3F67B0B5802642CC139D752C8A9FC6687CD6380192BBE2864AD792 +F84A826F9052A4970DE4725B125874C162F00453A685A329867D237E3FF253B4 +0B05384E0452602C3F021E47F5B2D680A5D120B7A7F4E261B1598DA4B55B3AA3 +BE47D2C7FB46780153B3A7E124BEEBF25BA598021BF943DDDC3CAC5CC661FCD7 +F78EAB069BDD1531684BADB59CB3DAA544A7F38429104399FFD147B2973E02BA +5D7C964A69650D9C5B1C3806A9B0F33478B9B2D8CB730D4E28BDF9C35A0E015E +AEE3110714E6E09D51A47EBE4DD5C1A4A7E608B0C5233B85426B1696C88E4A1C +56210C41D7B778DFDAC0708EEEA185E37CEFDE917728E9E2BC9ACE85CEBFF12F +702AE7B7D0288FD933ADDC3AC849D7352613C41BA4A7988A08D24DDF178E3C48 +1C7D348E7F5D67A764FDFBF5FB9A20195F4C806ACB59A47F334CE16B5CE3B8AC +FC951D49170D29B662A7A6EBEC46EBA01C96E85F8A4559CBC60D675EB6E1D7B3 +84C917104B318B9AD8CBAF12CFA478590690265DDB43198C7B7C1C6D5A23DB30 +11C1D6AE610ABB2985CB9D00B91860963C316BC83B9F2747AA99CF8EC08CF47C +D599CCA471FBD4C2059F8EF134050CC6247E9E56FD480E9B93DC083B0F16D673 +7E0A1096C30E9B8B0501BB25516B18471413428F50217BC2EDFD22EC1135D121 +DA739DCD4AB3AFDE2AB9407887D1F23CC5778C90D5C32BAA41A094968BB78F81 +FE42DB18820C03641895AF1D998B2A0C5C1543FDF91D6562A7D63C136C47AD42 +C1B04F7A70393CE6D13D313B63967BBA42F356AFDC81851BA94ACEA54ECAF0AD +8B6D4BC392CD8B4C71CBCD1B31A4FFC431970C88ED7D003EA9964F8829FA69C8 +D7BB49B7AE6571ACC901BAECF22D72CF86CE1AC1D831FC5FB5E6FBAF959CDC2D +900A773752D320C730E4A8D8612CDABAB22B6FE49DCA590A05861E2421541766 +3230671D0722C743024A8D143E3CA1DC3658F10B9779F4BB5859BBA03E03EA43 +68F9B65C04CD618BF61F0110EFF9DAC63DD889230010AFB6EADC13371A34D3A7 +CF3879D64242EB295ACFE2A2A7AA7D5919EBA50C38462BD9AC72160A24CAAA4D +F467AF4A4102D2C291E4B80543BC7D72AAF725BE15A1CD8499ECF99B73105E15 +53F2E4FCBFE1200A418A2207BF2F9D9BCDDDB62500F8394AA90E615D06A805EF +BA1006E2C3638FF8AF1D67D3A02F3E5185394D4D83A8E0502759A14F38DB9523 +1059BF230DFA29CF3020F2380406A8DBCABC40B50833E5E5253B524E2A4DE292 +49117835FBA70CC6B1A7E662B1FF2A5C96AA9CBCBBA454A623CBD4FB0FE35578 +3DC8B468AB579AA8D154035EB6F30F961412B5AFE7074F18AB9019AD2E600DCE +5C8376340B88DDFADCB4B1C46D4F63BBFA3631E11BA5DF550A4381B3DD1F1D11 +F47DF28562E706A080E38B2E61E03603694816D50D9AE19079228882B70AB605 +D5D4836F29B382A61683318A3442770BB18BC376EBC07BBDE01ECA8677702913 +2688777C8CB4E87B6692E5E86A54A220F927C3CBF885A78960D307B572F57650 +8D817DFB1124BDF3803A828D64EEE5EDC69D3568EF04D2D8C0285568817FA562 +08FDB68E1C0B822668CB706C3700BF0C30D72D048B943D50B00889A33003B446 +DD7F3E4B35F257B0537E91ED175FB3A32895457989C018A71A1023E096B539FF +1B09C66F77EF13F874F16E6F7D5BFD6EFF37202730AE5231A29B4F91B868C93B +CB3D9F38159EB9CCA2E1B3CBF296E27005DF9884F71C733BD4EE3F144D37E20A +65262030DA75AF8151F141693F97E380C5733B92A5615351E506925301308872 +09EAC5535D6185652AED2621F4E0D3224128620FB6D9D0B99C3D31B3E20F980A +A43A22BDCF8A2779BE4744B76E908354589E1D69A7691884319FDF889A288E89 +696E5FEFA1350410F0411CC4B1FA2E4A767A662606978716754FD44FD7161DD6 +7CAEA2734F499316BAF6E665DD6C85980CEC818542DC7460B336097E25C47AAB +F26FC408465B034EC7173FC10CC7FCE36A9D74786BF2007D0EA403D3F8E90FB9 +852B4D1400ED16A4B945C3426617EF47A8118551D0CF6B5E95C525FB8A896FF7 +FD7FABA141B597D27499B7D7D97712248CF0DF7976BED02A5D564D59B23F4B18 +9F13FB0DC17334A496FE3C2C84F4CFEEC9F89B14A7482AB324DFB201B6B72295 +98EFBE2C8A5A58FB4EEF33F4888773533A9D5D73732662192B72A1D5102E2F5E +247C9282EAF1705B5E96C9EDC36111AD5FC2E1FCC606DB766775AF00834B2631 +AB76888E6FF3CD6BA444C804770463EF3F5014DB69D860EE563CBA238F8DC2ED +3B5948A27A0D02033850B4B49E15EFD202B0B3ECE75C407F0843FD84D070344E +01D1462A8F7CD73954D75D7CFE22A8F4B69185A3B3081C1D113D9B2FDA91AB0A +5D3FADD335B480F61C6A5C25496F3FAD35449A156A23CCC9C3D5BFF5F1C1D243 +607E05B2F81999337A57A673026E7716ABD0395134BE23DC11484F898D9DC7E9 +68CBA68E60DD836462767ADBCAB8F3353778FA7B976E01458064B51B5D2F2B53 +4E26AA1EB608D072089F858B1C7A7E1C217C8872E44CC5AABC5DE83E10C3986F +E5A484B2EF6D8B05F70C499BAF6054C05C10C1D45C8FEF8D493968F065EC4161 +B8B04F8588F208C4902D37520724B2CB0299D8120D11B836F8B301229BC57CE8 +3DE15D7DD8D829BA7A7F3E39885771A4469E5E4390A60C295926AB828CD91058 +93832AC0A6BDC8A6B7 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -439,25 +845,41 @@ CF5D41FB9D02F2A8835EA35CA404CB9A519A310B1B22B23DE56EECA74BC6C040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSLTT10 -%!PS-AdobeFont-1.1: CMSLTT10 1.0 -%%CreationDate: 1991 Aug 20 16:41:43 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSLTT10 003.002 +%%Title: CMSLTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSLTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSLTT10 def +/FontBBox {-20 -233 617 696 }readonly def +/UniqueID 5000800 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSLTT10.) readonly def /FullName (CMSLTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSLTT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 39 /quoteright put @@ -499,212 +921,371 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-20 -233 617 696}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8 -0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB -4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840 -8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079 -8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4 -B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F -ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858 -C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F -EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F -2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60 -4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370 -52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D -38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA -00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0 -B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D -CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF -B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F -802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE -32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8 -00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96 -8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B -3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D -CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC -A2393AE6935C0F8B67FC1D1A12AA74695EFC77DAFA2804E0EBCAE77E4B5CE103 -A0164B7AF6593E58028A8A8A5AF4F5EC5F7376330432566F458AA2661A6AD0AC -B713047E21FAA80F81C5DE30E1358773FC039A6263DACBF89878169A5B6EE0A5 -BE02F5DE8802912F04D373F16B2E4627D54705ECCDF1A43DE29C3BA73077BCF3 -148E0FE06A4DB51F925170861C43F58168AE85CD478CED8E811821DB638BCFEC -A9FBD9312B6958E3A3DBCEBBE2CF78B52D963A8CD0013428CF3BB3C8BE792496 -D4C6933B070E5492C789A97B7E3864801AF824C4417BC42BB5E0AB897E139CE9 -86D59B189E90F7B5FAE69B67D5A4C797C7335E3A3CC84C92DC98B165077E48DB -34F90A551B4CF387D06A08A637635E2C758227956B880C27E6A6048D5A75F22E -ECCE6D87EFD432983D76E5266950DAA186B89EE41798EC19030105A364B88351 -4CB78AB2AF4BF4E379AC857261D1648BE32B080DC760B01EC9270FFD779E9074 -041A04A3FC130DF2B7B8289BE512DFFE93A62B77529E490C9017808F1B1E9FDC -21E7CC5BE564C03AE602FECC60B2BFD0CD3ABB895B4AC3E3620DA7260603B6DC -A918321A58B20114133FEB1AA7845E8ACD966FDA6A0D76232FA4D0E3ACB16725 -070D6A1AD1C12C4FD19CD64037D8A12A750ADE1E589B38C70A1E4CB163E20BA2 -0FFC466D1452D5561C23677E706A588DDE184EEE001A78D5C833DBD34E2F5828 -E89006EAA304848F2D932C5F52E7F546E18CDD77AEE1D3FCC1A1CF5DE08A4FC0 -0AEFB3FBC66C2053B559BCD562A11FB06722BBED6581D9394EB3F36A0CA220E8 -5D09B80CF21A02E44AB75FCECEFE41E2D1A44435936AA7812B4453F4E31AD6D6 -F6160A2EC199F5AA36D64EE247B072BC58E5F9C7D95390E45BC894D7037D861F -791D339387CDD95EF7283EC409B669E10E949B7C659CA1CC582EEEF4F38CE080 -B2432908B82EAD945FCC67B5D7579A1BB2D5EB3F05F7D32BE415F1BB43566F03 -B9C2B3CB2A3F518F30353F81BB517B90C2278B8ED8BC671370D9ED56D36E00CE -F2C5B1F7DB19BD3140BB2D7EC7D5E3DDA246B660510F93290F5FBF491F4DFF6B -F5428976D5A0D7013CAE6528B070667BF297C45716593781324820C6F8B4AA7D -134BFD082129C91A8E10D8EE59B8C6B55956AF59172F07602EF541470894E46A -A540FE3595DC7B250636D25A5BAFE9107ADBEEB453D4A09C62638674B8F841F0 -C3CB1E3656C7FE9518E318DD13C37B1E7BB57A10695F92C61800A82D9F365BCA -4C0D1C810E3196CE403E16F71E310E3E658D7CC5FE8515322456B252C4C5E56D -807A2E058291BA6EAAD224D49773528EF813556F539CCC84432CA61338C81E99 -88AA24401042751288CB72B695DB05D16AF6FB10924E2D5D9E4397A7107F5EB7 -DBE7DA4EB66C2A9C67A021E6CB0DC31C58A76BC8876379DEA4B6BFED86225990 -99101A9F14EF5B0EF55BD4A54B570D5037C627BE1EB66B20B7FDB7D38A3BCD90 -FB5803DE8B3CB8ACD1D004D26D277469A1359C9B7ECCAF475348DF4B5094F8B7 -9C0B573D161B0C4439694FC196C475B40B051F1E8A64DAC8E7A2C18411E6D7C9 -7E950F1EA4AF91CAFC554A22A840C1873E68DEAB9120D7D9BA8F702F174CBFC9 -04DD6A0567753E97CE5E7795960B4EAFAF76037E54ACC8B9D91A06020E0C0AAD -DE9D2B3408948697A3D7C8F05D27072F470EDCFEDCC1DC099910622E84C0462B -31392B98F29CF0FB1923D480A5AF8616EAB11DE1B2497F7BF6AB449AFF5C6BE6 -AD22AD624BF84A8D59187D26F7CEC076451AD78DF28AEEDF41DEBCD54AB2E747 -3303A61D1A86CA6DE7CC12F2C8B97F77FEAB8D275060A746726F20E9E5068FFC -34CAF97F3F4C41FCCD5F71D333C4EE913986E4157E37A4CCF8B1953E1CB23C52 -36A9BE44AE0349BBA1114920DDA315BD99455E3FF4399A645A7ADB43184BB615 -3A24D5138C09632124085CEB005DE1E00CBFC15C5A041ACBF1B7FEA933E687E6 -77FA85BB40D82E80C96186C9CF295674025F58FA1E43BBADDCE1C60AC4F0E017 -611762CD7CBDAF43659078BF62DDD7D249BC9C5FCDEB06D708AE56DE87490681 -E5191DB36D26A1237A2A150DB03ABCFB0EE1A887ABB92B42FDF25D02A0CD2371 -0A2B5844810A74AEB45836EC19EDD6090B5BC95C258FFDE3E6FD616B942C65F6 -3C35D8123E06D064F4E3CB3B98E38B882836DDBF3752AB1EEF2B731508791E22 -0A67A82EB13058865C6842F61EB43FCB26F0D4AB2B8FC8753B1C6CBD134D8C3B -030386CF236891C74F756F357BDEC0DE483026CA64FFF573C1AA438FC35C43AC -C7501D0E052B43545B562D80192C53F8C5261954BF4429C353AF469B67B6BFAD -37E10BD6430500C6BF756AE206600555417853DD51CEFBEFD0D30A6DB02A008C -1605208250E41485EE0CDE7F0D710D4B846FFC34D31469FB141A04BE8CE53C27 -0DA139C0418F6A331CE817609E80742AC8BF3A20FF11B514B3237E43F1764987 -E6B4C0C7BAF99915F62DAE4C22F59D3CA0CDC6E754D33DFAF9D34028BC2B0EB9 -8CB5556000D1CE986F60C84D0B6E3F4F55ADF2E417358F1B14B542D8A96EFC53 -C3F3F91DAE932AD3DA9C849BA0791C01EEEA3B967A78329083338D1A0B278D8C -CEAD5B6F8017451F34CB458091405E1415E9621A577D6F61A76E1FC781385CCC -0A317E9E794CD972272E988DCF793570C9D4076DAE9BE50EF63A11B7EFD03E3F -96FEA00E65F069CDD157728A1C98AC0A9377197D4BCC157308D09F149AB70838 -C66313272D00504E80FD0839B3A3F126CFAC3B820991F94C497B27B38D058B4A -116E628F7B978C1F253872706B40A7E475F3078992B01336DCB013ACE31F5D1F -2029B4F8A2321A9DEDDD10F2E14A38818637E8C559580529B999E84E07CD0666 -3323D757D75C9DF6A125E3F631D9F6AF5D0C0D2B7C454840282D19BA23764BCF -5842369A69D847DF013B765C2893F80E68A9D9D59A634CFD9E85B90B6F7F09A7 -5D609AC8C9E8820F2F84B72122B081825C116CFDFC3E5D6078A715F35E06811A -4BA7E74DA0B2A24CFC50D6DE7FD0DE5764B53B7A7B33368283615F118E709D65 -EDDCFD8816372B5148590E0AC8C17FEA93205F4AEC06DAD89BBCC28B48F6C702 -119BD3C79D038C3F2B80D60DC61E0C60D872614813DD54B63E8B08623507E92F -962E535C61A2EA234A63C607FABAC496CF03CF226C6C8052753030A0EF740E7F -466BA4A34B072D58F3E560AFB843C5232997976F3C3D4ABCDCA237E43B05AB73 -5BD65C6559DAC970E7F34D4C170F7E34BEB204CD651370588CE4F2F17A0E7131 -6364A265194B7C313257DD83467B21D84E9EDEF5CEBD45EBFFBD912EFD373FB1 -5409ABB0D4B06FBE08577459A14636A374943DC6D4CEA0AB33DD1154FE79BABE -7F5D1D92EA7ED7E6D261C3B2569E83B5E9CCB1717B79959876F16FB720ADCA50 -05A33A47F1668E05A7ADF6E52B38D9D5016923EB55ECDAA72A7D9504635C0352 -76F899CB8DFB42BB5DF808A6499E52C230D5FB8E9E3924C2474D417826D282F4 -8B61112FC39B574AF8DCAF572E89720F539528E20DABDD87EE0ADF78664E94AD -00B3867BEED6C9488036959AAD14CB301B29F19165776DF911A01A6A53414751 -68E4E401C9B3C2B04C9A3066EA0C3553E8F4BFC3F05C73FDF55EAC3213E82E00 -C50DDF2165E51677CD949D27B09DBB30376FA05D2FF3856253F2BAA7907F2EA8 -95FA61D8A042C8179BF834DDE7F67CF386A0D79FBAE5E859887942C6C482785C -E1FBF3F97C666D82FE260D6A8FBD72CA43D731BD4B4301C48249B1E7C31C1765 -D6F7F9C8B59E47D72D7DDED87351E0F007938BFD73C2324BE5BFBC746AF529EF -3259DBC9D83B5025185FD75E0D040203398D1739115F6096AB8DC8A0AB539C17 -755D5927081BAD8FAA7AC021FD028A5C823E373795C2A892DC5750C575D60792 -5BAFC4DD83596D8A182293D630985459BAB559314F27EFDB7E186DBE0E7081EC -A8BBF0F30EE9A8B53DE47C9F2057139937D8B7787BB3107C40002264E6E3C0C3 -E77CF0B68F27E7A0A5CD8AE9A2CBDF98ED4A12E9D1C0DDA8287738A12A607F88 -15B1A64BCFA685C23075619E196EAA4B38517BE37CBC6464369245FAF3D32F90 -A6F8A450B66FA94FC6639D580A1AE8582EB307ABE2396C1093EDBC229BFDD87F -9C5F49F51DB41D671BF836DB70047938A36CF124A5869255D06F3AC0E3435DFA -FB5DADA29C76216637F0E5EF0696BE5833CE0AAD72FE1F8BA860277E70278C6B -32386C1BA505A7BB808BEFE2D75E6D159D58B85F093BDECE344765F388DB0F08 -6D072C265A32944C0A965C10E7BA869881D547A636AF586E1B69F05E9610C411 -EA313749E4584A9C386E789D0BF4EEBEACB2A01CD195A5C6876758C8B2C21E4A -6C68DF63313CE32C033CEE9327B9FCEBA1CB91D302D1E5068DD6189EA38B2C62 -1CBAFAB46F8BF3034A0255FBB0904B4B1B4FB0CC2DF2D412B28E8BDE816F1329 -55635B7E6F7123DAE06E6608CE8EBD46345279E47EF1853B027CE583D1194EF6 -19599F6ECADE298B64CB9FD733CA7DA837DEABC198E750603A02F61874204942 -4D0991E030498B4083C8F81B8B9BD549F6FD0E4C378880FD9968590C13748553 -7E0A624AD408E0D2DBBF2B0566B337CB51BC414598BDCB19F9D84416DEC43110 -A8A899E01D48648D26D92C2F8B784A23BA3436F6403AE29EBCCB05F8F3172FB4 -0408E457400C113233CF054A2EAB612B7F6BD7A92486E69BD12280C5A7251E20 -E103668F48886BF4761830DB9BBA52325F8C3100B923EDEAD4B3CE7494912E58 -4720BFD6B649D64E3015A42FA5A6284A5A4DC3838B58337C8B35CE7D47C39913 -EA706C468E46DDAAF4A5A749FCB5889FD59F90FFDCDB44E5839EA3E49575799B -75A13CB1A17923751326D75A2ED1D2CDAC394084314FF697D408A86D08EB8494 -B526EFAB125865D892431DE80C0EF53E6FFBDDE9F130575976037A35C7853DD6 -5126F779A344E96E6381813950594C1233337459217666A989B5F1718A6BE0AC -19A3B476950B5C9360073C3F2D3D0EEA52CE85743BC348C38AB89B51AA00B899 -217E5008EDE0576E826365DEDDAE40E4A4A69138029D0E59727CCCD3905056DA -DC8FA349C60224B63516186143F07EFE361921C05D9492A6E24234C026A34BD3 -B64D03901979BADECD929276848B4479B51006B8D1171F7C5D0F8DA027043C86 -D44AF5AE35E350F4B11DCD92DDFFC8326E99E764978F965706AC58DC6C0D2F36 -994CCD448AC3CBCC42268B94E16FA9C1387FDC6F45CDE9F58FFA74F27A4A98FA -EA3F2A17E1D2012AA78F906B88EE01694736BC4D184EEF4FB8140E5FAF64150D -E50E8E06F7B9BE125A0FCF24648366CA7A7BBF0E11E6A2DB5825637368DAC5D2 -766A0E15B3BF3CA0838518512DD4697373BB8A95BBB46B39A4659B318EF66F23 -5D068815099898174E95229A7141FD1EAF4D765037BB86FE633EF02BC2A1405A -A01AA2D5CD89628A1B0CD2C5AF088441E52BA7E1BC6A7F09E3A47F6F3B97AAA4 -A41D3EF15211B21CFFC872A40C1182A4CAD0FA5F08CED4BA7D87E5068535349B -8056D253E7A3E5494F07DB46B403E02AC3A43BCD45634DBA2C47C14B1A2E4E0D -22A0092E68F1E320BD63941F4BE8B912B62C2B8D681B29288330F4CAEA024FF4 -3A1809AAA6263656C45146D5A01E2E13A5AFFAF2607891988FB0170595E23A3F -B9714047F54033BA60BE76EDCDBA5C595795440712E64F106452B470D5A9CFC8 -A2C604BB415890FF7AA3126C3CE1D30C3E58ECE4AA04307DAB193702DDAD0686 -788A8B9F8F6F0D2119DB3D4E339C052B314202834F478B8914FB9302037FD84B -B25674DA46B5C9D2A4885BEA519831D2DC406C3C3753251F2BBAC75E1170750F -C54426090DB373AD6EA90AD73C6E80CBBD01F0C56F98C09FF2A162930651AB45 -E8A4CBFC8B1BC29522AF269C5E182130F5DF6822270359151948EFB4C33A2687 -5954407A1EE96F245ADF9E93F972ABC5E1B1457A030F047CFCEC02A3D8228011 -ECC2CB0E0C7AE4B01AA342C6596BD0F85A45E7BE4455D41FC15539D07F710636 -537A8BE0EC50B6A1FDD90B599A08B7824FC65559E3B6FED676A41542BD58A09A -42388D7661D3422CB86F13CF6239BB56EA0B1DAA5542ADD316EE76B01F98E0EF -29A828461020DF0FF643E546EE04CB0032C06AAE533C20720F888295ACFD52D0 -5AD152CD7D0922F911F613354344622BF800B0FA2AF3324E898B39F953818950 -B7587AFDF91F16EF57E46E46F07E14E89326737DFD1CDC0E11E9DB2FEBCD147B -8257B4C2D23DF86AC129BA1655FE6AC212F2080BE6FBC1BFF9BEA8D8E121040E -2AF9500B926072BA9BB474A8CB55E727A9FFFB2C835CB3E7981B904E9EFAF4DE -9F8CA5D338E31FD2535E5CA9A59002123CF08C621D185C102077AB80AF6244E6 -49D22C2ADD353C3F906DE952CEE101A9D08F1D9853EF8EE282506A53FDE5F64F -2FF433CA6E60819B7945A4DBF21534E35039853600CEF1A9FB53B99F074F909B -5164499BB87652A71C6A55FABB3238C1C04AC3D27393D3214D84A6A37B714E7F -B28256E05FEEA5F7E86CA04CE4BCC5479F40FD797CB5BB6C0C817808C0834EEC -63F1D78F0FE712D1EC6F001B395D21656834D6220D77393DE89CDEDDABCF3D59 -7B1703B8884ED56CECE93AC713239D5D814093C2DF4025884D36535994CE1DEC -CB64B51AF63B434F7A18A6FB644F49089EB3161B46F6EEC430B73DE10EAB0ED2 -70736D0B6F3DCA3B96EB036C21E0E9441CC7B4BAD4D1B3B34027D0475C482A4C -6AD17670E16B1D87078AB94D2C04F99CBB4C88E5F29327884BD673BDD841E8EE -B3A2E544B7882F589F9912D86828E0C39519932FDE205EDA6CC03904B253BC90 -2AD98C29F109D815BE900AB44C7BA1D6349313E03F9A9549FDB06A6C65DD2798 -EA07440AACD59AE91FBF7EF10E82EF3FB80E10CC515A992811CA5BCAE7A80EDE -30BDE900F0F49D8F47911274AC3FD41A5D83092FCC98B057BEF66030F9BF5773 -664AA821536B3D033C144CA1DB7CD7EE37965958093253061277A197449A80E8 -AED1C47D8BB3BF0560E24432F6A9FFCA3C468AB309C54F920C30FECF049BC75C -EA7415390EC30468A96C615F7529B5E2D96BA2313D48033C73162275AE4F3831 -8EB29A2FF205037EA4B6DDD1AE017ABF2DA3E4C6B8215FA1052120D7F2DA8BBF -81928CD22F10AC0B1DE254CF5443DE81F68EE6C19995ABB4F8716998C9AF78EF -DC1BE13139C6C9C595CC526974B1E0E4F6B4D552C6FB637D91D850E104939287 -888ADD077B7C05818AF7C70015292F2E968D4214BC5DD87767EDA36249E8C4CF -145E0C8CA3DAE43DB6EDA10ACCDE03608EBB63C2B39D6DC07DE2E5879A052DD7 -84E826A3E22E0B1155272196F4E7CC825259DF70FF0599D91599A8D61DCC4F02 -BA6A6BF9228EA07B8828CE3D5EE43340CA2497B058552A3ACCF499DFF3A8B9B9 -0448CBE07E0BB7389B3ABB578566E781A89AE8A2908823D2B5127EA0282E0E2B -E9BFDFFC7D529613F3E0D063EFE3D71F71A099F2AAD50BF776A2F0E544E13B7D -82E0BE0296556A3F76BA81751352E2D82DD0CCB4F577D7838E34B452B5C79B58 -A09592C169459BEBA283D98756960CE37A239769BCA22660A20418B1A298B0D8 -7755FE810321506D35FCE70E901966FE77816823E4D4B9C6503C90D6F31C6379 -2A4852AA61DC63F3593D66508A9EFB8F1432448F2FD45647271731E2886C4C74 -9EF477B9AE5363897243C931D34E3CE5BF7902F27B93FA5CCFF5D853A28A08BA -B17E3DDAA648F373F4EDDAE1DF25C80BEA3989C2A8D71A4B4B4E8A3C55904E56 -83C98EBB5EC3015647E59A24457B390E3311AC62A67DEBD25C7809F8B11DDF44 -77C7AC9A7080A2F138B214FFDD090D187DB668ADCDA7C2A5ADE94A4692C596B0 -42F4E7A90567544BAF65B302BBFDB55B442B624CF128876330CC2FB394E51EFB -8B0C596BDD60C03F16A6CDD89434110D7ED758F1519F1E8CF0989AB652939204 -17F40D3D7016399612610B56788C6D9257A54C9BF8C7943A6DB9B6990C0BF988 -FF38C97892288C509B71BB8DD20A69B8EB0BDBE05F8450F657B7D2173670E42C -AD48F174E44AD17C66B96DFBB9871AFC5E +D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 +2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 +6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 +979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E +ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF +B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 +A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA +3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F +D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC +6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F +3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C +4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90 +DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2 +753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131 +54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D +107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3 +7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231 +328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9 +85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C +2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7 +308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450 +CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195 +739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93 +FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6 +F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312 +3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A +A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F +55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC +A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB +69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50 +82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0 +8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8 +0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6 +0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8 +1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1 +D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F +B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737 +170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863 +767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D +EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F +AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3 +826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235 +8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048 +345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE +67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD +802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E +20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127 +5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07 +0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36 +22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC +4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF +CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B +4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880 +0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5 +220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403 +7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005 +27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE +B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300 +7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07 +A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D +45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10 +F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7 +C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65 +AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012 +DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781 +FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA +997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4 +3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A +2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605 +31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22 +A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891 +43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D +4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5 +94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E +425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616 +FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5 +51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9 +859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852 +E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F +2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910 +82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA +22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D +200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5 +892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32 +0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140 +437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3 +BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9 +E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402 +DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1 +CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551 +80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F +FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA +9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41 +031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90 +9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3 +9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891 +4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB +57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B +2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39 +0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9 +03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067 +22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79 +06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC +39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD +E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163 +A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6 +9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6 +B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F +79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553 +2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5 +8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA +1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA +0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2 +BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3 +312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3 +B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F +9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16 +A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6 +91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F +7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D +78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC +7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09 +766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11 +016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D +C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3 +8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278 +E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC +6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8 +B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959 +44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB +C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE +5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB +42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A +F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57 +CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009 +9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2 +82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72 +0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5 +F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9 +EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA +E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD +D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD +F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F +14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8 +BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2 +9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5 +6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A +6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116 +4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE +C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B +A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C +9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780 +42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE +7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024 +1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D +4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540 +CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4 +D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81 +CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1 +0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9 +92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0 +57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4 +5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4 +57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158 +8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0 +C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3 +7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7 +B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674 +EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521 +D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9 +DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074 +F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D +D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0 +56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8 +46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40 +52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA +19477F075ACF608CD94CE466C1FC3EDAEA3ED25C96FE89A7CBFE528A33C4E84D +465FE6FB031B48D904C5120D428D6B51F3232847CB0B7521E5CEA887FFC56F02 +0882B3BB7F5B0B954E7078DE3E31D8AE65F9EA55F4C169DB7C35DB9645617AFE +078E03BF9A1BCE4E489AC9495A1E6CC7D1FFDCC03CEC1A32490186FE8B53B09B +DBA7F0E23C8F5E5270D039B409D504203A458EEF12C035039A8AA12C719C0339 +F766BE6275511D585F82E9D4AC9B5424312755C4B74383FD094BBB24817D6525 +EE62456392E5DCAD0A0157A4A033E440AA014D5682606312F72248E13C43EC3F +BBC9B4A2CF19A4AC6ED7F561EB13C3AB22FB3F3EF644B5B47DACE807262DE5C9 +50578464845B950140ADD91D72D28470A5A5FB134EC52F4DBBB9C50A7523592B +C5BAA056E46F8C004062298BEA010C1CF9F49DEAB58C4D2012E04E630F54C985 +328DB2B6FEAC584308D71A9F5FD945A37EA13F3DEB1748320870057A362E70CD +50C269D32993CE9CD1E8CB35BC6F69E7574F37032219C6E1C960F3693CB8D1F4 +7E3376495E6CDA3BD280DEA744D382D720935D605E1E2464A31B86E831A1DB1B +BA9185DC43D32993D3B5900F9D5B45EE9D2C607172A670530780EEA08AECBBF7 +5F59F645CF7A86ED8CFFAAAE50BEC460C07B11BEAB82765FD18D152AD476B7B6 +2D08A8C7B5D8F7B6400C8435E6F08CCDE4234D981D056E7F1B361F478759FFEA +468FDA9D4EE5B8BF0B83506B39C1FD36B16D14D5005202EEA3D9BF656BA60548 +A94BAE6159A75BAA549ECB9D5272C475CFF6BC373C60723049295392D4BCA477 +3FF6270B7658362D0014743F1686ECB611912E6B82670BCBA93832C4EC9CDD22 +BB2FD9FF321840A882A1E2BE9B354E69C9F4C6210564C02DBD96D4BC181B4876 +49818380D9DD9424E30DA3E8E3BE7682CE0CDF6CB3F7554ACDAE1812AD3B8AAF +F0990BA00B058A1C5CC83A60491B7875821799B231BD9BF1D568ACFAE9E5FE2A +7558D3820A67A6158EA037FDBE8A6EADD8C934380101327B8F1736D996F9699D +D64AF938C999C6C93C9DDC7A8F4497FE81DBB787F24EA08ACF82B3C7620088E1 +8002FC529C8FAF40A519878DCB79EB5C7C34DD5D6F911D9DA790DAB33E7A8968 +A266E95AA808AEC8FD854D1326778821DAAD03ADC0863C83E5D0FE70ABB35619 +AB31554DED6142E2E1E26481377AE95C9F32D0EA3DE07F78C6A30FEB98B15F69 +296FC94E6DAB5829F1B59672C6A87EE4E2CD3F0D9894D6DC8D7A514B6BABF018 +B199CC3A4478821649A7389ED46DBB9AFB7D4FF7696F8DB586830D7F74F0FABD +4BB32F787DFF04CE1E7349704FB5D3154D1BE3CEA0B476C2B787C6E534061EA3 +E28F7D8F65EB1FBD8177AA013A6FFC03BAE514112214F67C7957583FA78FA805 +29C0AD1C6FF9750CA24D3505C889502833CB71EEAC21B8F2F4D3415372E0FD82 +33A937D50F4BC55D381E2E2C831D2CBE4F960978BF7041FBB69C6C9C9246F8DF +FA2D5C5875200AE8F9BE1C44F839F446C23E630B74B823FFFC88DC30B931769A +3D5D444376B7138972BE07E5D8215B79288401B0E9E76831250304635714B64B +2BAFC31E2583F26B15B38400125BE793931E7887175D98A1CE1505AD21BD08BA +16BFACB350DB1BB37E647D7A00A48130CA4F7B6FC5CA17FBA73F7737366E906B +AA3335A2E51D65DFC79B1D87F109E9CF3F420408BFFC2C399CA6844A3C5D50C2 +2B3673FD3A796F654D2624FE5B1E02C1720B91A00B4998F825D9C1EB29885A11 +D100A98620A7C186BFAEEC214F0E63A21A28E076D0CFC7DF62A016A21AF198C7 +28E5C374A93D0683E91F06858358E1AEFCCAAAF2CDBC382B1C999D489D06AB82 +60D4C548B9AA7B011F0382324737A74EF18AE7D5402DB1B8FB15AC162E6E1D2D +371BB20E1F78C962F032B7647A301F771D496B14B11DD63965897BEA60DF1B75 +EAED63791A62BA912A8ED5EFD66340D07FD2DD8A9EAA1A98957F8D4B9F0C7142 +024FF2918E971B73F5BECDC098C7D011335077F059697C9429CA2E13B03886CA +5D07C7178C2368B4DBA1BE17A074A1565A9DFDEB90F96163829C4F2BE8D537D4 +606E7CF1BB667190AEE95B4D68422B7EB84B054D41F6677D840ADA7BED269A8E +8ECEFA88484CDFD6F999D9F51F4431057929706105172AE2635764B326446A07 +1BCB5A2277441E0C0C8A6CEDD2D886D794D3495F7CE828E1E9F65C3CB47C2634 +1E3BA769EA7DD098296E5CC981916608DC33279BDF53510C8BBA06A0A0E9203C +EA569B24DB5EC1DA6254156276944ECB2338CC5679558DFF053863B3E6FDCC2C +FAA0D336E9ECA4236917455D8DFA46EAE6ABE8C942E087ADD33E3CE49C2A8C5E +9E4BF0A357D1B9DAD6B2C01D64D65A99EC728DADC5DA83FC279CD60A08971941 +638CE3A7E1A298FB9832804EB4752758EE1ED81FA96B60A6AA1004D79AEE456F +C3AF0687AD5AA5062DF7F0C8FE7AB78DC6122BD2894DBC59B4126A0D85F34C8D +A748048087E7D9E12CF55AA2786E595EF5BEEABD86563204CFD5B1FCE181B2D0 +5410E3836E394D0843984362F65D4A55D26C805E15EBF488AEACA766DB081C3E +51267E8BC8B7E4373183CC054B68A4839F842DB22341130D4A1D312DB573060A +7E73FCF514617C3D486651D2C8075E02331EFF65A2CE8B9AB7E35CD969550C2A +89DCE554802F08D5C6163A09E669B7F5C6754138D778CBC5458F40B4B51C9A93 +5DD23BEDF12182BD5F1E42B2BFE76F421FD8128DA78F195038907F9EB52268A8 +324B1A134148226CD0B235B8A6DBAA8508A7209720E892B910056D55AD5797D4 +26ADBC7FC9E6A41F2EFA145DE8707D8AB76970B46D2F2CA4CE11DFB46B9D156A +E75210C6F9A2B31DFFB3670CA8E52F322AAD31EB71D3E0C99CA791797650E5F5 +FE5EDC86B5B19433B9363A388FBD4C8ECDBDD8281A81AC935371FEAA2B841C98 +3E54FCA6C6445C89374981ADF8A974F5D5CACE8E158AAE572AFB2D282E73B1F6 +C7150271CDE9FA5E5BB94244F04B0CB671EB2391BB35EC2FFBFC522237F54168 +2A4AD8B48C84C4FEAA2602AF9483A1A07570F8E84434F1FD3942A13D3A30C1CA +BD7901D49659C85ABFC78124215386C475AA0E229E98A9A2A47E32B46F09AAAD +6C8F0D5FE2E4D4D4BB3B3C3B23EDDAED65004BD410BA829EFFC414DE349F8852 +75D4C9567FC887F173EA3E5AB863903C728D65DEAF592F400C803317FF9859E3 +1BCB658A0458AA355CE3671C35047760ECFE8AC3A01C3B975F01A02CA21E4CF6 +697A9B828DF3FD28BDD625D8502133E85586A0F66386AD428C1E65AF78A65106 +188721680B04E7EB756C564859E4F8E16B9DE6B7231F8F8AEC8064CDD8C923AF +7B0888ACFC86AD6E03D83A37C52DFD5BAC714A09727B53ABA05461DA406D894B +81B4B43D3F737939EBB7CEF3C4CA965705411B1EFA1FB6385A6556913A6D32F0 +3CDFDC04F88F214763B7E989D288C6B8861504CF5E8A6C67D16FAEE5E6962F6E +0935372016194115F205519805A8FE8EE76676EA3CC75CEF7C7326810BD3BE34 +2EC114C3BD2508ABA9206401315D75C4AB6401E9AF3AABA580E47776C6A7D7AA +B576D209AF4EF84F37608B2CE84D98008988331C5DEA082E8523E06A7BB59004 +CB8C7F4F39B4E83C926CC519163C17FE4CF47F1B66CB444842F494B5C8C1A386 +2DD05BED6BF59227A5757410F63CD8BB77AD0AB848E4B8FC85186E222208740C +09B0E47BCCBAC26EDCB9029727EB96521F17A7B32E719001E59C483237D8B9BD +6695799A0C3B80ED9C7D64DC153CBBCEFC22B4B25524BF5B301431F192BC6933 +A6DA377691670958B04AA1F7491379CB60C87F3110CF2BEDE95D6611C2A9604E +083B721D51F513E47499871C0E3E504E8EE620CD2E0F450E3035CBCA94242BCB +E42CB0E8408A3CCC5575C261F2325EAA2B06D91A65AEC162268D751CBBE9D5DB +469592065418BAFB50E658E286933DC0EDFB9E9F7D82AF9851E71AE9DC4A9DD0 +8E01F2533F5C8F83DE9C0D0A49DFC375BA4F32C2BCA5774B702066CAE2647B9F +AB7541FEC25269D28A7AB4F1F60F3EEEB5D2EE23408BCC84AE471EB6540A5438 +DA807B936F6C27FDC536D2D8471EBE9967B9133A1A5641BE80E64632E61E5E8A +7700465D087E89BFD1C6197B8BA8A41CF2159A0817B5F95351E02E654CAA7978 +1FA6571CE47EDE08B7E66A2D0C8EB88AD6E4F287B9809EE5485A94EFFE85A73C +454BF8BAB70BA2000F2B56BB3E0255892C3E4480C147CA11D4C3AB71744BC536 +CD21B6DC302B5895BCA9E72285744E93E85D33A86688758A060304E3EF024281 +590A765C943980884EAC5298497E7D2460C55EE1BD234C407FC63B9B3029C018 +6C86BBBCA5BDCD4300359A40D1281A0211B09B2DF2941EA893F5DB95BDFDD018 +6D674A37A25F63722AD62597314CABEC1F3A2460F51E00451D3095DAE1071ABB +17A8DB8BA0E224D420D4A0EFF9EA17FFC7801D36BABADACC27A0AF1879C56628 +573059FD22294243357928DB4A835F02B3807067DC963CDE81CF4F69669421B4 +88A159B3502CA9619F5B30CD992F3F94EF3868CC695F52C5E0619E88A750D6F4 +90DF0CD32D6642A3D19549C733B89391041D0FC126AADC04D882188D9769CAB5 +21BCEB131BC5283CE6E9E6F650246B1D59A7A559EB45AADD9A669FC39EDE6CAD +FCA20CFE0922C8730D56962F4AD00DDDEE28B1A7C2FA02CC7C59932AC31BD59F +E0C837740EA82EE6C804114DE18CA35D8EBDE3F0C16565C2F51A14083F5CDDED +C5B7796F9E6717A6A3E963F3DCF7E76DD7F896716193C975F4EA5CC73F6E8C95 +C987260A3653AA099EAE36068B7FD793154050D9868D9D30F4E4603AEF7B591E +DFD9F478EB30D16AD0496965F5702DCA4BF33541778EA2FAB83C25313F8E694B +43FAD86D47D5E84B51309B3E7991B29E9922E80A34AA1A5B895765ACE2329F92 +8A04E9A68A0D9C008EA9E52A114B3F09144C30A00A6E010BEDECB7B955AD1B06 +467F156EF79E4AEE257AC357EE49724730D9DE4942E84ECBBFEC6CC7C85CA2B4 +3BAE1CBA5ECFEACAA7ADFA4508F1DB7E6C37405439138ED4BF236C1589A319CD +3A5DD32D848C22F07732BCE84FD15F86AF8373AAC85252A8F8EB7F3915B52558 +EF02270FFE20521F0347386B3A253A69D9510900F7052A95DE26B29D48D662A9 +20A437B9944E0AB22AB623E7C766A752D89A57AE7BA6A64FD96FA05A5FDE6C8E +C6084C44FF6732B5B95A844FFBE2BBB234A3A247D4D89B0FECCA87C986912A90 +4791231605EE8EFAA7BC7F2FA5551991706DD4A677639A69EC231CEE3B0B05DE +AD7C4A221B7B74349DEF428680366F1947D0103D5E4D72AF8579FF824DF89949 +6904BD33856ED29B9AB43113DB038902A9DFB2DF3036B99E5508156522E76539 +440A83884F8C08F8D8449DE3EBF2E6A775090536040BCB299FDCB7E9AB6AE453 +3AD36E109C46221C82265DFA576029157FB1EB3236F1A84FCA1B9B68EA2AE583 +6BCFC2D127B1A169A7392AC1AC251A14C32D643D21C5756BB6E39AD478160069 +A11B985D9F69B800D339BB0242A9A7199E996B02467F6A1F220A8FC245BF2F45 +5AED4D104C5513D3206D57C6DCD93B9428F82CD9938EF6468A165B5A53CF556A +68E702C0A9796DDFC79DFAEB0ED0267BD57D099D407AF32F8F84EECC9C84C57E +C34339DD87991056EA0246914D3E2096517B7C0CD1F674CEE593B92129F0BEBC +2ED3DBAF4AA2EC0217DDA3A7265148B433CDBFF63A68C4A33BA2780E99BF8744 +D3ECA386BA3872EDA1B99A6191EAA8FE477301A84DDFF5BCA00551286CF62477 +10EDF4D58FB980707E202C9C337663C9B16F9283D36D540C75DDCFBD525473BB +027BBA7FD75E952C2ED012B5455FFE95DA7E04C20F8A7D5C11813646516968E4 +36259B6A91966E87664978BEA76C2B2E093B2A65591D0EF3D501D91FE135C2BE +E97A446B0586BE37201363A10C2F73026DDF0F0B6FCB331272BE349027410D4D +958EC50B66EB7A45A1E818B67ED9A5DCC638D66164772ECEE06A80765C0B259D +1B01A13FA9208182644F5853A8B8C3EBFF7F25C575761E9A49C5275E66B16FC6 +625D7E73A657F9B23EF1CECED93FEE2DC83EEF7D695D76D19BA87F83642F6676 +C460692CD64AA6FB768DA6008FC1C79E22055261A9A62DD1950F4899A7F6A2E9 +21D800038C30183019E084C951394B9F6AA87646410623B996B310E86858BE3E +8C6DA85FEA3D6BCF62D2C3B154104E7CB5FDD42B54F52F8DBBC12087570F4C6E +8173A04835CEA36D2280C5C42B880A498E30C7A77940F28397DD279907693979 +077CA5D28515A04B4EFAC1F0C948D69FF108320BF3B5C3C7D642AA0122A49ABA +735B8D950535460E0B2C17475404D8E85DDA4BB68E888250500363648828A193 +AEBA46DF8C644FF81A998C5A7E4F9F9435C4F202C3DAF498484A012D4088C4D3 +AA9E813A9161BE6F9844167AEB52F29013BFFF51928E5DB7B48BD20D86F317AD +63EDEC755F5A85B2B07C5B0E0A1B7A006D547744462AB0DDDFA9BC20C95DC57A +61D44CB4A45558C68E36DD3F680605C9987B6B6959DE24DD65C874E46D5AE7B0 +C54608ACA7D5C7A88FFA06D9F6366E623F036EAF7A9914B0B549747AD58CC031 +97036EA1D54D01A736BD6CD796600E5884E90DB6BC5E2CECD68B995D06B26FC5 +2B6EBCE4279DA0E33317071FA1801279FB48563890C888BF6F2C1057F9728A95 +59D07684FD8997DC446EB635E9A5171C14E2A357C00C30886EF1DFFD229A82B6 +42912D02E3AF236F5C773456BDE13F60E8C674B21BD59D4E6444371E28956C23 +FCB55999382C3347777CA0CE8BC002CB3DAABC58D52FE542A115FDD96D19061E +1A1DDD098498C9A8E713AFCAF355D2765DAE775FE6F9EA4DE42A066DEE306432 +065E7DC31F144697EBD270671A77E6096C0E191C96449F7E94419C752B920EC3 +034686DABF9FE674DB5E0744D44A82DE6B3933193F2E91D7A74BD17CA9FCA7AE +CF9E5650355DA885806A24A9993F3041038DBB0DA23D74F12B86A329DFAB87CE +C06B3F1C7A0D84DEBB870E64E15E251253E82ACEE05186D3ACC88E838F276B99 +0729AC02CE325EDFA5BC3F5DA079E55CA302824AD2DA70964AEE86504BBADCAC +44B9244CC456CBEA44517185285515DF5AE0BDD7D98AC8928EAACE6AAE7D93AC +E256992BD972DD6E33EF98DE9D9EB30B6D0569DB0B0BB23A1D0F9A6AC788F6AF +AF81260D25B767AF16D5F060960E11146384A241CC05185408FE265CFA941DA6 +86AC510021788D2767FF5B384A17E60EF2A664207D6344302CA491D7D292D7C5 +A6DF93AF2ACDAC6970A16A5D3C78991931163509561A0CF10E7375F7E91F331F +B84E8405E9A1881DD4103B575E80F36F7203522282CB5E899DDC42C781963830 +BA1051F49DAF440F28847188237492149C74E4A99C3323635BC051B8000986D4 +1629B1B7038C98D182481E182D4CA4F1554902D6D88ADEE755E9155861C0D772 +CB414808198E4686B722786911914585F81D84501B40684E279C5E6B0B0C2FCA +F3538806C4A410EA894CEC8218DE6D2489C6239BA36233871B0F449B4AE9DDC7 +F00502EC6E7247BA3A829795C9351B50D312455F1486DECC64D2F159B0003FED +E201B29443F8127878BDD436CF7873F22B3FD597EB81F1D630811BE93A51D340 +FAB3D607EFF2A65A74E78C792896CCEA1C2F1C36D43F1950453C79A9F0767B08 +DA6247B44B703157FDDE2F431089FAA9AF23C786737E921D76BAA2D68C3BC8DB +DED8E756624970C823E97C598DEC658E28AE00CB901213CBA0110E625AF40618 +D9EA9369F124D089C2CAC832A145474AE476AD16BA5BA3FD9C28122229C3380F +AFA46693D5E9A6254C055DAF47FE051751FE7F9284EF39A36C5D25FE6FACB838 +17F86520B8F143F8A7DE0615FFE77078603F5CD60DD0DDA9B84F44CA3BDBF2EA +10F6CF79CA3E66EEF95C8E8DF98951933358360BE4A9CA23EDB5F5CD794974F7 +1A6708F418D34E6BE5BE645C266229A960C947877EA14415CEA2B238C8191387 +100FC1D6A879B129AD2CF7D50EA7FB9E8BF2C80E6609809A0E8CE2A70F2DC54F +3F958E45E63AAF577AC7023F097A77C8412A48A3E608B36F96C39AD6067C60D1 +CC7A2E00BEAA799FD75F1F694928003FEB29A8E6EE075C57C789781D3E983115 +68AC3B16695D5FF9E2416277288367B040DC47D40D5EE565ED73DC18D23B8EC4 +DEC6790571546F0ABCD004B3A6C2360D7BECAD494888E737FD41C0FF1D277891 +7DAC83316800F786A16959022C9729ABA334E45E077A69D02EA82FA23086DDC5 +BD96F41FE176A7F491EB87181FE64F647980DBA6F210F3260CEAB4E076918F99 +D8246512F1BAD74D3C15EC69ED19346B60E59D8A9DC26D00B47741F103DCAE31 +A2CB69D1BF659C091044AE0E2796F13C9FB5CEDC3527F90D035EF785A0655296 +0C979C70AF9637D7C6E3DDAB3A9E17594FAC3DEA75 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -714,25 +1295,41 @@ AD48F174E44AD17C66B96DFBB9871AFC5E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMR10 -%!PS-AdobeFont-1.1: CMR10 1.00B -%%CreationDate: 1992 Feb 19 19:54:52 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMR10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put @@ -760,6 +1357,7 @@ dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 59 /semicolon put +dup 64 /at put dup 65 /A put dup 66 /B put dup 67 /C put @@ -819,488 +1417,754 @@ dup 122 /z put dup 123 /endash put dup 124 /emdash put readonly def -/FontBBox{-251 -250 1009 969}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 -87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F -D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 -92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C -295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 -409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C -4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF -2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E -0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E -B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 -24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B -43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF -D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 -5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC -96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 -7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65 -0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830 -B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D -AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007 -97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8 -FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5 -20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4 -0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD -F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20 -3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122 -A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379 -5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA -2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9 -0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60 -E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2 -E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857 -DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F -739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94 -02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6 -E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F -957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A -45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F -8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB -BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E -F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599 -117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B -743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4 -E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243 -617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3 -33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696 -839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105 -2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73 -79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2 -D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5 -28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E -22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31 -7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD -8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB -FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986 -1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF -1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73 -B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF -AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C -20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3 -C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD -87117C0B5235B1486088B8368C80ECE70DC07A0493C32B571F6D6E5F3C7556B8 -79DD18A0C09C644C1B0A57E09CBF8247A97FBDA9442DF87C99CB00F959FE4925 -8FE8B3EA62A6C99396CEECAFDB091CBFAA0EA6F25BE1F34B1B8EF507D2347A7B -866CE28452F7ADBB56F4696567032BD289B3439D6CB90A602223E00B43CD2585 -4D598BE43C0161BEAD813870FCA3E377A588C3D24667846301D1BEB056315636 -1304E2CB595B5297018C0ECD1BA4F8F1EA81B4FF88126295CD676D96756FB9FA -C97CD2A8574EAEBB0A869C527E0828940C613B9D45894E4667172D841C94410B -FCC5083CF850AEB2EF92BDBA8DBA361AE95B267FB5F90D5EF8B16B2A83568D5F -50BD20AC88DE25DDFDAAB7B2F7662DB99E20989C7D12DE04057FCD2DEEC770D6 -535680D13ACB557EE7AF8DEBABC3088908943E6E3655C3C00ED022B276FFA5FA -E6E4ABB96A214908EA899EC925E67E86413840A67B3FF86957586B5E06909036 -B9987C5BA21E46DE7919B382CFC4740ECC794A6577BE33CCB94E2E4BB3F28BBF -AAC6E68DD9B01A59A7F3B964F53F41CB9BE94CD44027868F079324B44C595200 -0E375B069FC085DAD5B678ACBBFCCE8916C4266B572D89C0A7B6A26F1D329EA7 -63CDD44F37932CDC9C89C724AD52BF91CA68209471F26C10AA18CBCD1288460F -9EA9BA85084A5F34451044B81559DBA03F03292638C28A704C553CB25312C568 -A06C9F5A764BA025FD48883244E88F1A31ACAE83432C2B837D034CC960EDE3C4 -2234FFFB8132473C8A750A41770EC46F9B2CA7FDD937A2C8CBF5DDD6162EEE0B -36C53BDC0D2D7F6D38DC2F502755B0D25B0BD1858A9B16BA69549B5CA4673F0C -32C5F1BA97E1C124374037E0B8EE94706B3B2AEB9CEBFF69E4F107BABED996B2 -EA92B4D94AA267E626953550633A74099022786C172A323DF9D903A0DF6CE486 -38AB2B0CA07D5EEF34BDE2DB5F539BEDB569F60005A3317EA6B1560C22606B8E -AED6F84526090E626FBF48846E49714EA80C90FF66F82F36F3151B580DAFFFA2 -668B4952CAA66C6F10A341118E0D58B8CE34367BDAEA79645E27059FF2A43D2A -435ED248345B6305316D1DAC5F75787D8E72D0D8C3145C0A1E45B201382EB716 -D06C5E8BA78B6F32B13F80E7EB6909D2B7ECD1420BA2B2A88C0C3154F3091065 -16A79C898C1682A98FC2A11A2B8D4536D74E6E228E5474090D42CBFE3BAA8029 -4564F468EE59B2E2BF8B2429634898F21C31812394AE3EC0CA8CFD5D5E818F4F -344FF40488F06A48E9879E42F131DE378A8A733C6016BBDCA24B10B385BA73D3 -DF4770685FC7B9720D196A9FFF978C10977D37D98F11A3255486C8F8C3F67225 -4AA8884C88A3194EC1AFD2DA57258E30B057490A10AEA001017F06C83255C0AB -13AE04B86FEEECC7F04A593282501423D319CC3FFAC3691DE723F71A6138EDBA -F1373C651464A05906A2F370B0862F5E5CAA5C9570B7D5F9DB24FFE4A6C6B98C -539FFD61F24487B2AF446467B1A3CA16E9BB2384972372C90DD930B8DAEC0FEA -7C2692F029EA687E29EADEA6AE95F030A8DC599C8727F5CC41FFF86EC7E2D04E -E1498E0AB0D2719E08956A68FE7E92EBC6945771DDC13689CB68D39EAF73CB2B -DC8BAECFD1F721BC66D89342D650699C3364A2D0B35F58E4CDF2209512224472 -8920B0079AA5355990733CBCB8A372E1EA02B9DA4107F619968075F33BD123CB -870D0DF6B22E6DB70F1328532A05BD7A624CB7488034E94F3622F97636CB1330 -FE3336665F27AF77FBCF01A786143F0AA892E1B2CDDAEF2E0F33E56F179CBC8A -72973C643CF217828D892C818CECE72D0E89329C6A9159BF17D10BD3BB4A1154 -997ABD8127118AA79BD792292B6B9689D989258CA9F57A75C4C9CEADC338DF07 -13081B667C8D86DEEE5BDCC47FF96E2AA5B37C365585747EB3B664F08CC7ADAD -B42D1B54096C60AD15596D7DC585316A36598A349E89242274B5171A1DE841CC -30A5BE43B0ADB71C3DDA25650BFF704B452831FB06A7DB0D60D24436BFE23CC5 -AA68BFEE0897140B248E4A9BE7AAE37B98A54CC1D3F81164943B66250D55E554 -55A688BB9E3077FF8D11D1BE1C3FF99DA01EB206AC5AB1D394854DF5CD417084 -82BF6D1DAF88698A69DC196FA9A3285AAFFC3441CB4297A48DFC86B29490F2F4 -B514AE8F3D4C0EF920791371BBDD1B6369C38A90A2D2AC06B25781630847D6D0 -87B469CAC111778CEF26FA3233A85044965F3862C83F63CA2565B9644EC15B77 -BD2BA08CD8AC3DF1E5CC53CCE496172A18627384CD54595E3BE1E7D1B9751C86 -D6AD3EDCC725EA4B09BF3B92ED658356A3424F1B0D07B6E11B8E1D4823F5B0C8 -F3EA4BFA3DF77AED89D464D29BB2326ED2DEB73E327AC8B2C99B73DB70ACEB0B -D0FD854CEFBC72FB9C906B4DB9EA35BA8018C623987C834B63E8C800A30BD551 -011F6E05EE76C26ED2F335E32BD4C866A57BA7AE89ACEB1066E795F122E1BBCD -5768F2DEC922EFF8B1778F4FFB7BF1B6253F632F8D98648B81018D2FD4876974 -8C818E01ABFB557C8553B98A512241000B9DF64C1F5784343314B7B3CA04E506 -BBC612628AEE13DA23B3242AAC3B05244D3711121D5C9AFA8EBABD2074DD3658 -0F46D501A2CB11A370EA7E38E3682A31F5C47836E9CECAFB1BEC80DE889E99BD -8F4DB78DBA5AC5D764EA99237738FEAAF199DDA7236D22B07D22A8F6ED023E44 -1828588397D723FB557CD35C7C5C87BB64E4A7F88B03FAF135ED0F185F7AFA4A -F498B226D6D843EFECFD9029122B15065A4D04B509A8B633E46AD3D15D4F9EB1 -AA41E4694AC4DE0613B027E35C32935B5F0A9C21F5F60B9DFB5FAD619A35AF19 -20C0A1B2490E8E3BDACF27F37680BB32489D21F91603D4BC5FE69862A1A05F10 -4C11FE5744676C4794CC0B7F1AC1DC9861A247234FB986A0A4BC5F8F6A3183FE -3A6FF5ED1D32A711906031CFF6802B5455CF208787AE3A35B1D437C64E5A3283 -A1B87F31D6B6AC634579FC3145035BC5F0B454CD9280BA3509B890D45AC7EC54 -F8FCDA7E5F8AB9F8201621417E17FFD8CB7BF55A6D9B21F95C403AC0112A94D4 -B7BAD823A1E9A5FEA956B08ABF303A917B69C8BAD87E685DEBA72E62AB132F46 -521CBA0C7A96A833AFDB396E0FEB85D3EC605A4EF6026C0A6CCADA56A26A8FDE -18C61D26C93DC6E15F1B5E789567E833E79CB85580CB50A68AC93D9C2454861B -487A833774E205A73A2932D0043759D5978921BB5B499BBEC5AC6F505EDE86C2 -8B8DAB630F36128B53BDA72CD82A3810E94C6947C9FB148574FD25E8629CBEF1 -2AAA7DD33D1A83C0235AF9F8FA00822AEF0A6E9DC7FA79B3872CAC39957D746E -3F05C8EA69F0BBD0D96DA2ACA93E73FDECCA8B35D6CD52C464C1A51EDFAA83A0 -54C236F0064B7268C7DF4BC1F97606D48D6C8739AA2CE28CFF1B4986B4CE8A60 -D8DA6C67A6887CCC3A0A2790FF5FA00120D15C26E8D938D524F355FF8212A689 -D34269669DF03F1BACCFE834425972EEAB399EE578407F9550B93D65E63E3707 -CDA159B5AF4B68ED52D389CC6915CF7B0C737514EAB05C947AF32D67CC36D782 -C9F73B32CDF11D2CE33E8C3DAC12AD070D0CE9EB3C209D0830C0665DB9F61C35 -FF976057485A32A5A41E7205BCED4E2B9D2011AE3FA90ADFF6E3C58144293A55 -E25C6A98BA2113DAFB861F0C3544A15F5CC20496FBC58F1FA2088BC67334006E -2AE3755CF0791FE82E8620A5BF3B487F37DBA3ABE1709DF21745CA7D7CDC0AF4 -F33FCF3672EF5ACB540CD7931FD18F815422B2A193C9AE34E626020F9AC0C36D -4D5AC1137C75F10B42E2499DE914703C682806C9E1D158217C68329CE401234B -462F92A35F20858F5FAFAE3062C57ECEB930B762880A982A8DCB7D010383A156 -547310C8BDEEDF6313650A2FD71856131E24F1299C8033CF49DA9BFD013F64D7 -2B571F6C2E0A84FE62F060298C654E068F0B8BA453D5F94BC89D3B5053721731 -AF5CCFED84B7F6CEC60FA31F84644CEFA02DC2323CADB246E64DE08D9BE4FAEA -59D1652DFE1A09C41479C3CDB577942334F8C57545BD883E0AD172CEFE546C21 -5B9F63E32980B1E57B0EDD66674C9D919F6E323DA0A0CB8788F031BD533615B1 -D27320ABD6A1147E3200322DB2D8700B3F1F8B19E3C5B67842E84469D997B702 -0D8DE8894F5422DF2B9244C20186597587D3852F34ECB21E5244EA9C8596F0D8 -6E4D7353C7F6ABCAC499D7E34CA7E7789A54D712AE69DE15F767F045E637DDDB -CAEFE413AF652D849D58D52DE084956D177AB7E3A9146B8A56BA23CB3F734298 -88C66B7C2B084EF219FA08BC87443FD9D86BBA351427631D368F514C7DAD7329 -DDCDCE8311971D746FE79322097E7F676740389F17B11587086942024918CCBE -80A60A78D96F3CBB59CB81BF5D8028475316D96E12248867A3F23A859F8AB547 -B1F06C1ACFED4AB83378932A253B8FF8AD5F44BB4EC7A7F025BBAA179C81DBA2 -049053EDA32AC126C4F222B5FBB1119C7BE3F4BE0E9A3161CBC5F4842E6BD743 -11903130004FF705BDDC0EE6C1D97396904B295596A226FECFD665AE0A6F7EE3 -FD51F370008D1697035CCE907243038E0B0487A6DD63F1ECDABCE1A71193FFBC -6DFBF1726156A4E9710C0D272A7A351F8FA0C2785BCFD0BDCF1B4250675B512F -997677E512B29D85313FAB6F7FD26B402E1C4B2E270E264422D1375B93EA138C -171557C70A07C8B330E0C0602949C60B9D921B33E906ED3858966A640367C505 -2E3D254C1C0C63B3F831C9D2AF2B2FA6FE8B663F94B72A7FFD63712A2C4422B6 -6E3524B5AA8D2EB9C7733BBF2662B64B3428EBFE956CBD500DC71A4F4CDE8896 -2EAA65771273D823E8687E2FED6A26D7DB98DDBFB57670278897D2AD553D6AAF -6F1117C4F894AAD44F53348A763289BFEB2E9DF66DB921E402279FE17634E0DA -576F0323E1F849DBB1E7E56D0303DD2C81EBBC192B5F8C13A5F5028D64DF153D -C7E4C2A59A3E369D44F346BBD79A4AE4930E3249C1FD5CC8B4FC6C753ECA9326 -797F25BEE6BC66E125AFD247A2CC2F61A47F03DB682F67382B2E83312D1D239F -39D8BD6C3256FDD8D424046A289D17984ADAE316FA39B743B12419DCC3C8582C -EF6BE8C6E7A091F1EF76C6090C15A7742C5F66F66A69DE863256574491B422DA -93F4B0B13E69B03D1A92840D80B39C96A535C2AEAFB579B9051CCC67E32103F6 -21EADDFEF9CEE1980D3F86DB452B61200C9805EDBD219E812F22AD612B436E28 -D86956797AE0FBBE0A0DEDE4340B51D2CEB5127FF7C14C85AC55C55A1A9412B0 -1471CDF9FE7D52A5A069669A9C500FABD920863628E541893B2692B9D40CF391 -69C797742BEB239A6FF37CBEECF5ACC960011BE1CD35241BF35431F902EE41FB -5E89FD3C7FD3E7CE970CEF9A3BA9DB4F10945568813D4566F5939A7CF94CF2B0 -97E9D335CAAB09BBDED1D462EA787E5FD11A63B17D75882E379B490C5B2B4440 -FCCE6CD6EC2F4C21D5443E6269734EAF0A61520285791FAB0B421D5CEB2CB165 -286278D3F21045ABFCA81CD9E50A733CE516E1F4C494FF072C50FFCE2D746CD0 -0D28F9EB6CB77425D0F4188760F61C46101F21215BB89FE5FB9684F2E9BADF1D -8078D29B3160EF63A74A19E17202270928654B95413DA00FF89548F30C8A2146 -8082CFAF97B44733C420572188F01731535A0F5609CE44AB565563B15212E835 -10E5EBA20E3B1635B8E08D85E8D282D51AF0C5D8B4526EB0D43325370644445E -087E067A1EBE6E9C5A69D8F2D32E2960FA2B26B582A4D2D9AA1CC49408E88CCC -19C63FEC3256F43F55CE38B3F2D7902A4978918AA2D9D23EE839BF2A901F0649 -856041B1F62612DD6FBBFBD1D3645ECEBCA6587080C6DE11DA4CC9F8E08758B4 -37D559BA464A49A3AEA6373DAD44C615496C71C41080F4357FF2ED23608BB448 -FF983C196501096A58EC0C0FFC9BFE36C735118DFA981C69365EC6E543BABAEF -0515AAA6E8E34711747D586A6CAAE1D3D0F2EE85DAE124D93A6EDB408D9FC825 -7943607554B3CBF71A9843A76A69D7533865BE78F7BA15316360CEC333F0326E -EDF8B884A60A0E02401A2A1E3C18C89580C030AAB8B94438214A96EFBA9554F8 -2AAAA5C653E94FE70BC18F998BCD6713AE8A087E37097C36E06C1E929278F668 -4E6B169E30196E373D89CDB6BDA65989AC54ABA2678ECC7EDE24AD6263BB0301 -012E31B2361D62F8E08528558CBE40A37939F09069F82095379C56C31EF2984E -78BBA233E706B9575A245E527CCD6EC11075A3FD2623B49E2A68EEB68030AE43 -1D7AE54192A39C52BBA92FAEC3899FF0ED859B0051537F998743B6C5F2DC99AD -FDBC65E51D3E82B70CEC3EF1C3645ADF893C3C5F3D25D51CE54CEAA463F8BF8D -EDC3CDD0422C12FB34C87305CD11F0005B4AEA3E9AAA000546E4383C7B8629A2 -3372E0E857C5A9F564E6FBCE49407740873A109A2B8FC581171B6965DD349786 -E547781395D8F3E42E99BC556A41773DB2BA8AA0918081E4983B9F8B43A15544 -8D15BCF336E93F8CFCE6E79940A52F9B7067C2C8688F20F842B2D0BC02DB70A5 -3074D0CA85BBD01D6D91B2722CC15C866448C91ADAF9EB2D2A52F08B39808E43 -2A492AEFD45480EBB07C4182CD6DAA9C26A561B83E381594A1AA0364C4464AA6 -20621994D2B64D09B7F460C2D6A7C264D89E4415A9E54A53CC8331A3D358BD14 -4894EBA4DD7AE1B836E2C9246DBB0800805683A11DBE420BA989837D86A1A600 -8B669C7A7283BB9313F045A08602B7F98F78A059CB086B5991F761CADE8AEB86 -5039C35C2FD564C0D8CF404A5F32D7C532716169EEB6D08C8CE5BB357E4CDCB1 -5FCEC35440433719FC19DEA55B1662309EC85EB47B323CE2EBA56D17E0A88175 -B2FD7B59B37F7D48FACD52A7DA80BC296E62D60D6C5F251554138DDC4975E308 -2F9673033F0A255FE037F16CE58A3EF652D3DDE2AE7FD39AA20E88FB0A7B4598 -02E993D6550EE854A5D9ABB3B15BE396E3FC2DEE919D354166BC1A2519E0F2C0 -228998A7243FFDAE507841771E4A88B610F1D390F7898CCAE418C8CC15A4B3A0 -9B74E01AC32BCBAA020C99B6856952158F866E0AC66F171C3A3265E713094F71 -BED491A2ABFA737A0EC17DB262A73EBAB9F8F9E96DC7C5764B92D15F5C967CB3 -C846C147DF1568A68BE099D8E38B5A9FEDFC66CE2AD3BBAAFD72AA51D6C08A32 -AD54AE75530267728A9EA3244E8C8CF67C5A28F67068CB4CF90FB76F280930F1 -893C952DC2A7ADE38C692BD19FFF63383308FC2873CF241C1C3D1ECEF6B98CC7 -287D9F5F0C61033CAFA9739D9941AC833A194E67CD1B9CA1FB4A02F0A53A814B -565CFDD9CDA06303ADB599D6CE17A7F6A81C13040FB7D6E98AEC4BE9F88F3B29 -FFA880E8CF8CB6F4FA009C4354337A43DD077D40C993A9AF66D2B524CEE5FC0A -BDF03740A45C0CAD814E869D435C61A964D0644E93C6F228B205ECDE4EE59D67 -C35647FAE9617877DB23272A9D777262A1DDCBB7CDCFD2D6136FF69C000F9B29 -DA30B2A654C27C564F113FFB52CE2F6618EA1C8102FF9D93B0AA2C936CAED8CB -1A9F2FA71930351D74240F88DE47423EAD67D66C20C8DE2ED00C94642C25630D -4A60B8DA5362D00F3399C6796EE25BB88325E11045FB6E00B72706257BDDA2E2 -76C77F6E0030906D646D759447343EE6CDCF9A61CF30C1392BE54A0F5951AA69 -461E856C4A2921C859E03E13AAA1D6F563D5F62A66065F36ADA9A08A697F53E0 -249DB7965E9312F46A18F6016684708F397989B1C291F63C491B48A8B1A51E8A -2C1DB13DB081B75784ECFFA1735A0DA6D443D7BBBF38B16874B57891E3C28A04 -C21978532D806CAD99C9CB00777FC2B9582CA68D285D0488B5724B9EF603D4A5 -4DC01291C0AAE941219EB99398C6051357DF7138324625A4C244A3B127BA85E3 -08C8272EC75E848D984E38F151E9C0D46D1BAE4648F7391B59BA76038391F306 -3E8E72B0B557913A38CD6042D2ECFA192A5124B9F58C887726C72C5518D3CD90 -B24196C04E0D05A6B590E067B17103BB36AC830CA181BAA072B137A344B7570C -7EAA3272A774A58E049F71DC9DF45CD22B1452A26BE34A5179221A01FC5536DF -BBB94E93BA9EC169BE596336768AA8C9A72C258B8A8CE7C511DD923193D886E7 -F6C33E5FD68032A5A4459955FFE76A8D5726AFDECF42818BE43F03D2B4B8958A -38D94568751E5468A1322EBF924C7B587D732486DF8E309CB7FE20F64C6A371D -D62BF5A33B49DD267AE4C3F638A76BE6DF49B693D40D8AE1E9F0C0B0606C84E2 -A6868B4F700A6DA1ECD097C96704B17DB76621FF4876149E6B2FFA89D38D8F3C -1026401F2CB949DE9313115E6626B26082B1AD94D0C1F8E7B907B3676FFEC9E2 -E31FAC5504207CA741486734336521C2F9BC91AF257472E4762966AC19A6E89A -87644A22CBC9FECECD919E513209FF439E2E7F24AA80B4D3C940021C23D7A921 -1B6E544E43FA00C4540C73EB0F3B8F352BAAE6CAA924C1F09C6EF7DCBF4BB88D -0BFEC67C79B6334A4A0E6099A460B57FBB845831ABD0E83BF0F92491ADDE5526 -E036C58BDF78FE25C55B9580F6D02F2C2F7D77399DB7CB4B8B8E037538D2BA64 -BE2BE4697B87366CFAB5A92932465689775FBD9F87AED9B53303DBC13C0C13CD -B549FF2D8C8C6C9082CCBB9B6DABFEBE53A85297555389E5A08E47F27F62EA1F -11915A06C9A1E82C37E4AC72B009B0CBEF25FE046FF9FF20D50DFFA97AD9856B -B51EEFB3DE0472EAB91CB0B51ECF29EA2025422B31C811C3E449416B8916C2B8 -63E9E4A80F9EC738B81A2A32BF196875BF8F52010B1DEEA25BC2719EFFEEA0D3 -A3AB794058EE49333468A3CF5D13336431ED14CEFB1A2D067AB3D2DE942D9DC9 -C0B5CFCBE9D9A4B53D9B2B19E28F5416F5DE29E73156516683F169BEC75C5344 -D953C9640552267E6CE554C418773F06BC8CD88084C60F8D7F37523922B4D49B -ADCC93A64D0C92973527A810F6B0239E5525A6BC6AEFABBC8FDF0B7E1B368A52 -3620DEEC31E00D6CD5F02E1625A571A6129DC18333B395D4680CF6F69CC6D359 -4C444307FB45B09509E36E0905C7B2CED23D9B48FF65F31EDFBD2073F718FC34 -99FB4A68B4225D12A42FBB14D7A3FE9D2CE7DC8925E6BBCC4EB53632EA3432D7 -BBB17498259DC19AF7E6CA3F124A7B39BE4C9768FB49748F5CCAA3D1940E0A49 -136B3F49025B2C3D09AC6598844D9D113297A68027AFBB1D8341FEC07FF6CE10 -28358FDBA753264E7865B5B311532DC8D16E6E1747E53D96E996B9F27D9CFE93 -460158DDB6708485029D6F31729805DA1F445C629D5A7048F06D8BBBC6BB69D6 -FB7BE6BF7FC02EC0B33462CF5C756F35AA56886688B05F6A417B8BCA35886256 -8EE314686DB5BD49E631AC220C299A8C5D6ABB974C45643CBC589EB2D0DF48D7 -F59EEF1FEC4CCBEBA797DF168D1D08EC7467E7C35F421BB6BEA0E9C4846A84C1 -70FEBABA787CC46391393A0B99EF0CFC33730140696B0DE9C57E90231310FAD9 -D67462F55A56D9666EC08AC424E940CAEAD58503911C4D80FD59CDD5182ED504 -656628B1851818197DEACC842E943D5A2B75B5934E8AED3E67529FB51E625A14 -4D91B077A53FD8C69C930C677497A36A6A578A639EFBDE481EBCB80536C9CB96 -0A2E54A15F6940F4FECC203A440AB47439C9FDA12A9D78B74325ADF44010BF40 -6A5FB9C012E07A557A60326983A0802424CEA244DDBF66CDDF918B30618F348A -8C5086F7A7BB1A86C7B4826323802701A584D17C6E19AB720CD13D02E8EBCE16 -4A87BEA7C6B76D05D49CDBE8549640FFE6124D2852A00A46768FEFDD2DD5B60C -3AA80C3839A86B4EFB035B65E1236F6DA58BBE2A9445311E8714C82310E6A0D2 -E926A3D18AC3E7A8F8A61AAE5ADE10E43116C105653E3A03E895BB2F7477A0AA -F1E481B4F1B3BC9DB099E60681EF3B0476D6E84DF5ADDA588E8320B4899D2D40 -F8CEA36C2039AE832C87644E2A3EC19AC8FECDD575364238524BF5F76ACB02EF -094278DAC561F700ACE728478FBB8E0C192795AF982216E2A4A3488D6A4BF06B -AFB8F4EE78DA4FD96437A45C1E1F49E83D6E85390F8FF9B8E487AFA6184FA430 -2A3E13C59C88E3FC8ED9102D485FCCA463197A32821988D1C0A7A86620655DC3 -DFEEDD33B3A1F55CD5599A58D0F4A390B69137D947897DC448A8255A2521EFCE -2CA896955E05BEA3480166F9FF82F1B145DCB56B6872449335275533C38336F5 -4C49F40D0FB04222D14E0AC8057580118B1EB1DD43A8BF334763BBA198D851AD -47F4499A2922816D2F0AC1956B4410E617201C82FDD7761C1A0C8AD025FCB1DA -9A0722266E22C438C10275CC2BFFDBE726084F9CBAD1CA9ECFA072EB5A317EA5 -2A8E39F8794209B978DDF404FAFD22831F3F53356401FFB85334D339426CCFFE -0F869606955F20FA055EE560B4744730EEA18CBBDC134644F124B714FD43653B -C0879B820871B8809020301A71D37A44252491555D9B6278A9070C088C0A80D2 -BC753160E83AF282F3DC077CDF610A18A1A83D4920EB6E2A2B73E40BA112F78C -A18A26ACD11A5D4E12C67A631D4928EFB809640F64571E5605AD4BFD3D00FFCF -FFE4FF9FFF1A63002175D401D4BBD218F40B4C56766A4FBB93741F9D2B746F78 -B062CF36E60973FD3D52810750C06C73CC376F5291442A4EEF4B2842B6317CB7 -E1AE735793AA5CD2F927E4DAD0470D0A6612E8C0557245213B0DC87DF4B9CD12 -60A6FB3955E007041838B667417524FED98D5EE035C212C8377A6E2393D86DCA -BD5092520A83CBFB978D2EEC4847BE9D4365714A5F36B343F87F1DBB1E2759ED -78EAA5491A4EEFB8FE1FBD10112294959C42FA664442335E521CA7D7E7BDA468 -AE36FFEDA896738CDB3054025485FA28A071C96A003DF5A940261ECCE471616C -A5B0223E7F435A096B90FF8ED7D88FADF050BC4C4C1FA51D4D389BC36E9D5D70 -9C38800E0CA38D1A045586E46563D855E4E6A8482BDEC35617411F8E046FB838 -1F745325CEF7AF2EF0D7F912A34BA6CE8676944A3B12212CE7AD55539FD9179C -D8BE8CA39C9EEC948BCCCF2ECCC8F10DD4C8E99A5922BD9A56191C4900063DCC -C3BED41EF16BD2BC1891D87E5DD05AF7C25D7E92B1BB87D53817643B621BB21B -EA839B295433042A7E0CE294C031A4C460F05D16B46430445717EAC72766909F -9008EF1F3F8404DD56B1B1F90A06D99859A1C45F7510B9E7C6929BF9E54053BF -95B4911454183A5F2734C2CC7622ECFD0664B77640C416A1DA10F13BA0238C25 -DF6752C9B793F8FFA012C6E8E2AC81DDD9E402F42DC4CD6F290BFF4B9C633E1E -52397F385B895FA3DC7471F3EB97244EFEAFB11BA92C994CFB511D7532304836 -151A4087F1CEE38AB690E1DE2354FA2A7059F42982D0CFD01BE3A320FB078F2D -7947E9A5C973DFE340D0A742170386831314BDE9D67134451FDE80E093C53F37 -F0FD8CEF42FA08555757888839D9DAF23A735243EBB372A5C3230B1CC2F3B5C1 -C8C19CB3C3E9B1A42D0B314E778F7B3F24C8D61375FA725B40F561C6619D025E -899BAFD602833506BBC5B6EC86A932F46338E7E26EDA743CC51D8E4B3944D186 -7EFEF666F9AE87E395FB9DDE9A936AB87B90771BE94B784B7584D71827874DEE -03B55096CDD953D93FC0FCD7E878A11EB46A10CCCE040A90B375995C5FCBBB27 -5D0745BF763C61DCBF193651A3E36A4112F823B5607F418AC8C41B51221F9E6F -0E9DC72ABCAC248BD8D83949A24D33DFEAA363508C263FF9B222347DA08B99F0 -2173065BB9240A61135E38D461736B04BE918BA150DC90043306056B657D6CA7 -FC27151322B0F132D91C0BD0B9483A6A26D84882095E20127541BC1D93B72AE0 -8A68A5DEFB35E50B37ACB926DD8DB96B910BB6F315FDBAE48531574B9ACBB438 -D1ADA41812A752E9876AB76B31CDE8EFDDB0DE7AF97238A9DA0846EAD39DB2AB -30EB7D7F61DB0876FD294E5E09916F0C79417108B30597932BF1C81DCF5CE0BD -2D65C84441D6354A9C8647D740C1B450E5DD3237EF9BBC793F1148155C0F950A -405BFE9BE30D9EF9F8812279F71B30949F8640E9D0E5B6CD133153B2866E7F35 -78795EDF42FAC47913A9083E7069C4D4E6B0642F55FB481E7004DEA3C3C86177 -A103AFC8FF966BB958BC5EAE139870EC202D1BAC713AF4E3F2FB9594D60E83F0 -8638980BDB2FD061C867E748420E45AFE685D27A2767D31E272B43EC2DDA5424 -AC17EB9D1C7CE94DA05F741F0F635361325F227EC2DEEB5A3EF3AF4FF03F5FFF -349A9571CA07A944C3974706C1E1A2A433F76149A1E33322E05335787A99C9A3 -98EBC8894218611339E7F065F13C02CF110ECED530FF12350140A7BC7BC810C8 -F17E870225D6DA162362C5587A4A13F52E9F92E31D0DC959DA76A3095661D000 -25A9EB458084039E445529C5A08E3C66FE115D2FE1CAD9CF27315D440FD45C76 -464970D0438E3C1E5F9CE9A9ADA95C5584532C7998063FC7E4E4DD3248148EAC -10DD976E786084D5CD51D263AA0B7B5F0C31C1A127E03CA8AAA424C6D31106D9 -5788B85D5B2D4557615AF4B1CE34CB66F61AB005C5968756539C44690C3B93E9 -0629165F9377A1B449E2D07356E10DA88338F5B16EC8DAEA544ADED4B3EDD716 -550D9103F3F97E86181B8379D37E53FDA0557BA5EA231B90655957080E0E6DC6 -114D07BA1C9D1BACD0EF6F7997BF73482B194824A1EE1A39A6050213FDB4C820 -FE4BDE84724041C6F51287B7AF2E7A19558AB32EE2DABA726577787D5A136434 -427EF025B3D99F7B916F17AC1382994BD9DF6FD023D2AA72437FD509F55D5EA9 -189108B7934E0B0CEA9E956A000C5E23732E45BD1762961EFF36F7389BA1BF85 -312959449D0751E198C9C34E1081CD049759573217FB73F6A7B0348533F2D942 -9CF18688587980A65F512906C42593767D8A08F81C62E42CF85B92366E0DDE12 -0B04CD253800423151CCF040354A70EBF850C23013A48ACAFC816C4C002D0BAA -0BCD2869368C497129DFA21813D2689F3EDBDA0956F822751B125CA6ACED9525 -51F85272D896B6A12EB9FB8579DF5FCE686804E3D4BCE113B5FD83478861553D -75E11E30471EC3A76C5DA24F5BDA4C5A8B72E93DFA470B7E49CE1F960FD3F10F -3E0E32BEBBB09244F091ACFD721B806D00593A925F97DAFC22C86BB5B0D4648B -1BD0C32F5EEB7A3CD106C00015CC89B0D2677C7B4F2D3D818B40336B24D3B7B6 -77D03EAE4775C93326F7EE747CBD71FB65A2A2EAC5F1D03A5999C5689B099127 -61A2F058BD984FA3D2785622909A03EDE1A209ED6BB56237887479A782C75A54 -BC20ED5EB4E2BEAD28641E95237D2FE51C70AC77BE31246C92D4A3175EE3FE6C -02612C7134DA79EAC6522DC1B52AD97132FF53EAE224C2DE9BB37E79464F08E1 -7340C8A79B87B439A484AAC56037E30DD391961E99B1BD4034BF50D00C1657E9 -8FCF4C2DD03612021175360A582CEFC4A7D12642EB33567A389EFBE03712DEF1 -00E971320F62E803F0775767620F37B34692C313FB9C0958E00597E1953F79F0 -F32186D202AF03829D2062335B64DE098D4ECBDED19516A3F4DC88D1799D0FFD -F24B2C0E899D45756733EE27A1FCC99BEF10C462E9F9B062E9BFC16E75459B76 -06D84FE9C552AF42B0B3EC237785B3CB5075ECB9DE28817B55C85AAEC0C94C4B -DA282188747A4CF8D63A50B9923CD27DB14D3BC523F41728A2D90ACF46355944 -991DACE13425D8DC18BA74B9F61923E45C978DC8B2D50939947CB4B33596D6D8 -5AB3DD0BD8E4CC3CB8D14590F900354CC46858D09C4BFA8142CDE33F8B75F349 -F535CF80B6DB8E64E6DADDF520D9E29D957BF1E298027BD5D0C4171DB575EA96 -1AECF1C3DEA0950BE26E739FBFB2BE59B86E188816CD44B7ECA980C1E44AA079 -AC2E7BD3C6FF65D9779B60ED34BCB38CCF793BFCF59B84A89A8C719C40EB0A23 -A91CCF0C21CE3DF3985E13C2EB9F89D6B7CE6923077D5E27260B55BC9FAE73B7 -C7EDE7676F922A8366154FAC92C7455863A45C4F4BF140776935BA4583CB1EC7 -1486197EDDFA9E46DCE6A28C992B10DA89C4FB8CF80CD39AC536C1D41C6753E3 -692F8E76928B5D4F2E86D30F7B3954BD6301ABB58CED13884C284C53D7A734BC -46A9502745970B12A16058695801EDDFF1E65F7242CC61F6C4163A67DB236F17 -704CF79727413904319002AA4D81BFDDF64EFAD2DC47FB896BCBC5FF19FCA3ED -B2321FF9F8504241CC25C1922DBB23CD6AFA25DDCFD473AC617F1333CFB469F1 -A343455681B59829DFFBCE8406D374059A724C7124FEBEE05F9BF3206254A931 -0D276555A890E38C69BB578DC8D7511E5F82A15E8E4BECD06D47F6E3AFD854C0 -B968F0923B0D7A3672BF7CDA1DA9CD9FEE74D70A2CCAD4055062E3AD8685FFC0 -B5BDDB530C857C3C826981C0F2F91574DE71274A4E404A1D73020F4B50376EFC -748EEA93D6E1E2DB1144347180ED372D2727E2DBB8E9334778AB1C4E67993D28 -5EA56E402DC2A8B87D017778ACB9585D9C73780CAD7CE94B6BB727BB93366612 -8DC1B3830E7E95EC7EC2D539FE7E73E55633CADBC630F6B7DC36D77ED47B2958 -0B263DB67F07E16A040DC602CA362233C947B95F63F16239F0CA977F1A99F9A6 -B36F831B7D8AA5BD29DC4E26DB4DDB04508C53EA8041AF99D33899327C353C96 -A765BBFE74CFDD198E2FD0D9B9F3F76F2A8178A530919CB701F51DE0BECF3BFA -B6A10EA4DB04DA17C04B2A932E937CCB268F5F427485C217D284CF602C9091E3 -6977BB4ECD4CA46905E79C6E847C0B7FE0A84F0DD43F7EECD10CC502F95293FC -078348DBDAC9DAF6338E1F9D7DD289F52E1021E27851CC45AA0047F2FE07B5C7 -A6F0F8BB5E26BA7FFFB21082351804662F9C476E9D721E8A5BC81F2E5CA81F45 -4FC091EC171438E64ECE1899865F483D6015792450AE1186640D1E3C328B915E -2893621345A8EAEF8A017CCA2D2608C5823A23FC7575397C3646476E8D26BDD2 -8C51C4CEF109EDB677017739A53CFA6A509AC5152077EA5ECD7A176578B6BFC4 -ABABBD0C484F31B293EE6FE8E68A281EECA6198A8BC6CAD2EA4EE2C49390AF4C -6A710275742AFCA4E2A1DBE04123C080FAC65EB8C6AC86388FBFFAC8EEC49BAC -464C4E1AA0DCB37AA6503E364FC954BEC84C9552300DC9495DDDEC35795EF8AF -50D2C0CA0F238B3FA1CBBA9F9CBE1F621C710F73B7D456073082BCB28170407C -FC3007F52CB71E08A85621B22B4DF750D011175E0A29B4FEBC1D8625E713D050 -31325515679F4A0D6EF17529A37C0BBC3F8F2F7AA0A6F57977941AB4133DA64D -1AEBE4C7FABCDC25854BA5583678FFB54956AAE6D94F3E06D5C0F27B1DCF2421 -1C74FD8D4F0A5824DABE0346804CDD2D96BED494EE8B9D99F133F325D8CDF0EF -431AB25D5025BA7A7E8B329AD2F89A53C3855AF9CD54275E030C3051632E5CC0 -994AFBD2A15772BAAFAF46FA10543A2B0AAC06163802D7F748C0EA0DA9072E54 -19E4BE682E9CDBA0B0D7E9F60A90C6C8491A6F30A5D310050DBCF613CC297D4B -66974DACBFAB4377A753A16FE6394542A275D14197D422CF91FF360E8A63E8B0 -2E746082582E2448F6CAD56E488DBC0F40FCBCBB993A787E70BC9D8E24176B61 -FF2984A3855F02787C6C3DB41752B63FE0B7B090FC6D21763E96F2AC80B8994C -FC3DD8AD32562184A3FA34CB6C0C73CB587529E35E72337A1AD22970995051DE -2D10E84A14340589B08FA907F5A3570F98713316F633228AC0BBEC6789BED276 -6E2E1597D0C8C22705A729622749A30BDD267F7BF3CC116F7F888A4F4AFCD688 -63AE5A71F1E2F5EEFA3B100B19D6A893BE519DC5DAA215B143F807296187E4A2 -F52FC1F4448B0F4529E2156CE980293422994E484EA3F21C9FF7A56BB005A4C2 -F073DF6552D40E5DCB7A419C620C9127C451EBC2E341CB0649A503FA0E1B38D6 -2BAD504BEEEC35C13F6CB0659E719FF18C523B882EBD74D43D769E1F8A30354F -8B790EAA99668110FE86806BDB239796E9F55A75D110D000C72AB2A430241713 -FD770F84793CD7BC488B8BBD59DA1BE3AAABC83F5E699F2A9D4870C2130502A1 -7CC2368B92CF0D52CB70446A3F634582E2E3D320CFC4353A748C1F1D91C7E4B5 -5ACA209EA88800AB7293FD1E8064B10C1A5829535E26D3C55AF6AD9B4ACE497B -FAB377677F34D002BCDF35C0BBB7DA7833638683788748A16D075E344CE8FF95 -C09C6DCFCCBDB48EC084126BCF94EBDB1856940C67BBB69B8825E91A98F699EF -2E378557776C9788E2A80ABAFE3E7E3BB6C0F32FA770597E37F271C50C10A9B2 -F90C8D80F4BD9F4C1098A306CE886C127946D3DB39C82F31F1CB1B1451FF6D9D -A519AA74E1C7C4797F5E3EB440105C51ACFF85734924C0576E826B210C501232 -456601B688A3EA9494A8F391E1A0BFB7668BF6D0E1B82A47E91BC893E13EA0BC -F8B7BA17D586DEFE3F7C2C72909106A651908325E055DE4F4E5B266D71716474 -56D5010FDC4012A2D659234BA355366C4E737FDFC04B7BECE1C1E16A7158FB27 -21AB8752DBCF8EF4AD11D185D7CE3BD84CD520553F0EE3FFA0AB3D773978A425 -F6C1B4EEE27F127C469005AFE5E07ACF2E438CCA628A77D90C9EAF7072733357 -CCF508A46C831FB96D0033FECE34E85023015A3AAA5E373A790DEB5D743EADBD -7D249F543389FB089F4ECCAEDC4B75034AAF5DF41AB2DB047BE7C9500D34C60D -7F38EC93219FA9C8A96523B981103196DB4D45031BAA1CF5018F3ABA08A547AD -02E77C769762C162C7931A91CED9B33EE6C3BF4E59FF8EFE17A952FF3EAD46A9 -FDB74FFB0FB988DCEFA31ADB3F2A78E7C51BB09504DBBF1D53D96676E5843D8E -DB50E2C89E2FA58295694AC71D7DC610756278F387A7809C8CD27152672314BE -E287E774C2949A13B03BCEBA7A9A1A0B927AC46D8FF136C5B305EC65609F6162 -39908934CA61A225513E658F6B42F15A3621A45191F5437EBECAC64914548C8A -6750FA2C9CC0E3BC40E01A21E3C4BA1707915D34CB78C96F0BCB7E2B10892E71 -174268D0234CFFCD5E60BD7955A151226F4987B67A69D9313CDB1ED0F9F34958 -33F7D16834BB40A6EEC4A5E24F57067FB59FB8D8C9AADFDBD3A897D8C91770CD -D4820C1AE39A2D1AEC8B457DD856F81B3E698CF1FC5191CF60B1A80CC3230B63 -59C1384BD01EA86208DE000C9D3857B3243C95D6B6BA5BC693C539F7F6423205 -1F0FC68EB360DA674569C20FB993449096394328BB9229F93F45ECF5E11371B9 -63C233E1661C8451A3D1E076D243F6E887C82E49E00E2847CC33858370D560A4 -6742B1F48C2EE6D561A6D43BE796A09976E0D69A4A6C346AB895264C96092511 -7527320E9EA8A73250607B09BBE48D3952998435F36FE4D1CF667BC28ABCCD69 -FEE40049B09F1F39B64F3BE92C1EAC9C4661EBC403A69A9180FA83D1D5E590E0 -647AD00FE509B0E9FEB752F85726783978CE98B4AFAD649D9623F41419F9923A -A11729723270E0847AA464AEF74FBC743D8D805322360364E7751743552A0AFF -CCEB847942D9689E9659D15A3D795AEC8782C6EBCE6760E687F87095FCDDEA8B -C4D8FCE65634148638A8DE5797BF21266AD94E363F58DB84561B74CDD8D5FAB3 -59A521598B34720C54C0AFC5B1A415B7E929D6EDCEE9205DAAB716379C29289F -2C1AA7EE0776B1C6B6AFCDED4C6ED7EDFF1AA20523EC52F8332C2C0ABBAC1A2B -DE91AE501079F2A4ECAE93FB93082B1A241AA79C1F7907F8EB3BD528A2353FBE -749B89A4FD00C8C9472446EE4B6F04F5073EA7C2854835FFBA548920108192AC -8CC658B87F249321015CA481B2A5F19156F63C5F7C285E18456D0CF0E1ECABCA -C9702A3DC3911A3B179C837D4849DFEF463B9648AA2CEE8C7B7304B551296AA5 -4E73AFFD0D86AFBBAAEB71082E250627D70CAF3D246867A3676ED1BBBE99F6FD -32BCA350821E0925E99235BE60C72D8270769DBE50CA12BE348D5145598EB0F6 -2EFC2EAFB348EC74C1F9025DEF33772AB3A41D6F8DDE6CC6746701CF75C86B43 -3F9224B633E510BAB613F6EC46A685D32C1C474F3509FC63268C4DF841B9B38E -9CB08A26518FFD1A402D43C079C5603589D578DE2E8225A160625B6A484460CE -5C445FDC1D3A58A982D205C370D86195D988E277F92937BBC9FF72851B0694B4 -D484FE0755962D2C4D81DA0F1F36973CD69765482A7DF0F5E701A3C5045C97FC -09B5DEC1E35BDF033C02B7155B72851ED7A6BFDE12196DB43AFEDADACD52B93D -E6F247F438A11DBF4A6D6CD59834865EF349F87DBB7EBBC5503492F5BAEA9615 -32AB4D318C6D1BB372FB14CFCB4268EF69128DE3FA99379609DF7099E459B557 -E7CFA0A293121A700CCC679D815F0883CFAF64B603C9E588488904267AD3EE3B -9A8F6BED8EF48582F4A420AAE9CC3E0A61EB8D10C816C3091074E3B6345FF4DC -37E1C1597DA71581A9920E9858DAB295178521766178F2141851EF5E455CE390 -4CD16782A04606397A6B4D13303918255700FFC68D83420E3F37437C073DBE9F -C80EC3F7D915376410FC4961F37D73D13268B7E93C8B4F29880B535D14DE1205 -615CCB9BCDB0164F2D9C3E9515BF00C5D4E164A6B495E6A80EA01D3D6226BABE -762982E7B5B74799A15819EDEDFB01B444BA30899AF2498DF31B1198C9115C88 -720C6BFFE2E0F33944274AB36CDEC08D18D00AD8AAB0037680DA8525AD9EBA6D -8847EEEF0F689C466DB5CA6382B52F56FCF8490F2A931B3A71 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3 +3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E +61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B +F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F +D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6 +652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA +07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11 +6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB +EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2 +BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77 +2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDB693AFE84 +246AB18279A2B24E5B50A2FF6337B7B1039FFDD4B00ED3667B5F2F7BC2786D2F +525A0E82234B30711AA835EAEAC2E404915FC7EC0081B194765032708B5E11CE +EF68682FBA16ECD75C6A6CAF0F577583B72C77BF328E68308B929229A0930D9C +61CEFDC57E376B63ACB4F3DB9B5C602C248B4CA233E2C25E16314CC878BC1B88 +6C0706423F71514CC2DBF0D259D87DF704CB718A866DBAAE005180435034AF3D +5EFA02237755986AC73CDEB3B4766710B762312D5F48C59537B158DCEC084C96 +19F1F37CD1CFB61C63F6D05F59B2E47137A433DEAA34823395727B67CBC15B6A +857627BBD49BE34F5C7B2EA6C0ADEC83FD5E10907355E926ADFAA74C6CBBFB41 +1E37968BC3BD7F665AFE2CF6740125D751CA66148781310C76FD92731C0513A2 +0ED792B34207ACE82F3E84425756F6205E70E1BDE989DA786C6234FB98DB8195 +737FFB8086D05B4D5C88D80B7DCE555AB3882DA305ED26351BD26ADDA377EAB5 +0618D08F7EDFE61938ED5CF78A4BE43408C7C2889C8E81CE04A4C20BDDF31A5D +31BA15A2BE1CFE0AB51E539CE09DFE33808277D947D083C066478F23A4D524A0 +D89553E24ADE78EAEB4ACFD51EA3D2E1D5C84024D893F050DAE5314C91EFD93C +91D81F3591168B4EE3B01ED80CDDDAE0FBAB3936EEF02462A6A2895E22D24FDC +F93DA61C36998E2297B512FAB1FD39409175426A8A7A56EEA4FA8B0D525E849E +27AB6622A3BE999A30A415B7C8A317D3802BC0B8FA6F89712D9F38D9366BC724 +8060287F1B859F13CF627ADBC25002D1610DBCEB93C866520FD018715FCA7ECC +853869B7F55FD5649526F9355BBEFB83E9DA1E05406F8E32C1E112BB9207637E +8B976EC8B51F0D45F717C6BF4BD2B352FD491822DDC1FD074A4DAEC4AD128A62 +475A39455847C265210B5B4CC476930162CEE809E3E4DC76250CDBE461FEC4C0 +0C40D656D905D6AFB4390B62DD21887206733520E4C95FD857BF38350B03F2AA +BD0AD9A87F485E0DB510F8216107EB7B31F81CF5DE76386D475A4CA18133BD84 +74E1CC1A9F2BB4013E570EF03C0F93AFF4095EED8F861BA5DB1D28EBEFBBBA0A +AD9FA3BCA136A0EACE7D66B63728374A3A5A198D2348E8FB33DCF83C12C77A43 +01C57D222B4FD5C3A9B8BBBFAB1A04BE0C1DB269D7C7DFDDF849C849F5592390 +32023ADE6B8F65BC17C850FFE3F7154D6ABD89B1EED4ADF354A071B0DF8B22E6 +CC94F1660E4C0F9E6E22EB77ED0EE9E3E10459B9AA355E912CE927A429B02152 +56CFF25F22E753393188F7B79B49C0F44512626F2BE1339F28FEABCA02052072 +2A4B1FDF77C3C092EA151A6F3762571629775247A6AC65DEFBCBC464A5EB0BB4 +F2C8AE029BD1172B430088B5786E7CA468E96E826FAB1D8A48A3700F8EF65B63 +C6F0EDE8519C256C46808B033DC9FAB61B1D49C8AE59C69176AF3AC875F86A64 +6F149241EF5610992222B79B859135D0DA31C438D26A3C8CF43B1D23ED27C852 +E8668043F8279A423942A5070D136425ACABEE43E4A45B846F4E7F7DB374E0E3 +D066CBF83AC321D26021738105BCED4081EE6AA264737F6862385FF9F3691197 +1D924EC2D0DC8019350CD7ECBE9814BD19184BACC9DA9A3A433F950E8B3400C9 +84EA3D3DCF2CF050DC3435E1294136E6998104B897A5ED4709B6DC996527A8E1 +AAB1B3DA5285EB8AEE64A2D47D29F09004DC142553CE14262D2AE3774A65EB9D +4782B048008979779F56C8D8BAB280B043B49F5AC33462CC5A1157DE60AB3347 +831ACEE9CBC3B88AF70F6AFA0C191867F2DF1CA821C6596552C7066932979570 +ECDC82CC1A565E4DDC16373B2B976B99BA5F0B92E0FDFD5C0D7DE2197E5C91C7 +9EBD346C4643295F769C4B2C15D2429FADBAE9F8DF0B80063F9A3B214535951F +A61DDC0F82F21CD0C6E779EBDDF5F660E8262CD10AA422586EED7BA629AA87DE +796AF15A95E1E579AF686729C69646AFA2DF78BC053A65AE1FF65945FBA879B4 +A21449B2F252C9601A3E54D1247C5B102D138C0D2CF15616A3E3ED3802608BE5 +4BD40194D3526B2F54E7F73D3C0DD86A64D1EAA8A23EA4719AE3E9694C8ECCAE +5CA73829CEE0B8F18CC386797D2A696F3666950E1E9804B899AFDB003C38EDB7 +AA93BB2FA9F447DC37AAABB9140A382AD6E69933724EDC6375C6305BCCFD126A +1E962DD9769EFAEA41D4F64FF7818DFFE7ED253836BA51AF3554AF92E3AC3145 +990C8FB0867DE7CA55C54D3CE900AD4492B2D3B50907E6B3DE62FC41CBE8C737 +760EE51E5C6D9F1CC15CFF852770A3991F86CDD3C188F08FF2AA1CF66D3ED8A4 +96C04CD3BC8E97C820FF51DBAC94109C9ACA1C8DEE7E6D43B55A3F3ACADBA997 +39FDD65E250335E05CDD9563F70AF53CE842BD51BF75777F269D3895E82A5F20 +CFCD667AB094E7DDE057203E2634DCB355054F9DD8A2DD1EF927B0154E7603E1 +76D2167B8CF3794CC8977E665AAE5D703AFB18A9C1B94B2EAC6162C36681AF82 +E3D62B671C8C274AA208813E57FC625E63296E325E2C31ED632C3136F0919FB6 +A34D452892690811A376BF8342F01CACB948360AD003609F3509EE55639B904E +CF801A157CA626EC056A683D84AC9D95E327411C7646269A27E297D0C1616947 +BCA4D4E4C32BF7A49FBB7ADE2766785B6939FB94029B2880BAC407F736E15B3D +6C2416C48002740A4E6663380089C45FEBC743CD82E6891224A561C003D1F65B +B01AECDE888B9DA271C80796B4693072DD1BF68182687CF10C1B4F0FE15EBC6A +695647F5B0C1D1B57FAD61FB1E348C8BBD3B7031A0DC7F7DB374E0E3D066C91A +C339E16323C7E4428D2EE11C1079BA8DDD66CC775FE43E1C7D9A454DA6434341 +2AD0E5836244D8F9B99F349B12BB4EC608FD760951981D9D7D67FBA77BA1637A +2C1D282B90601F9493B789F09B70B52F2EF2825DED6AFC88E7BF74241D7DEDFD +CE064578CE287B1AFB246DA586223BB4D80AB9A542D62A2CC807FFFFC7383921 +09C105D198B7D05743D1779154CFF12DC90FC2DDAE7318A9065A81A757C2255E +5832AE7DC10658AE2B5647CB5CD00E4C86AC8DE6E61B7C251F1F52A905F45745 +03F255C15ADF31815753145F3F9F1A71382A2996AD2955DD8B1A35CFB2ED77A4 +04F9DF20CA177A8A0C4863CA54B6B646828364824C7D41C3B93E473AEE9243F0 +A89C4DF01C4322AF90578A9A290C1AB64B77EAA019B739C465BDA098161F8256 +9CB8746FDA4FBD95600E6C1AA356F3A2E5DF49312C7AC27D9204EEBDF1A271A3 +AACED2042AFB7CBEA4BBBBDB159784008721738BDC79B89E7F5226092A0FEF60 +DC87CE9EFC97DA5698D5B4BFEB8F379BD02D7F1A024EF4D10D85AA4E8A0E38EA +1974B3FF78F01CAE5274C223DF459A776B4B31492C4D6F555DAC9A6DE72D42F7 +7C28B735E62DA5413F00525CD590107C9D39B41E36C19D316C38A8F29E2D6E5C +BA9F47D561E741B96947C368084A78375398EDD47BCA95DA3913705D4DE85882 +61BD9681B2FC75CAD1888311CA11322DFCDDC15804BD0C789D1D29562CBA2001 +A7B127F68F2914EEB96FBA5169B7ED30FCFA1023FACAA27B9AA8DC42C2C8BBC0 +B9AE6327E705B50995BA6ED0B538A693C74CCB6C250F2E2080660A2634D67D1C +2D928502D4D5D5C9C68C0A289DF434CC3B75118690B10738560610DD15BFC537 +55B548B55DFE2D08B3682AEA2E22CF0CC35C26E8322378374BA80FF2185C146C +3B2548A38A09796D087F33932C5ED4D513A1C8AB31058AC27B6BF81522692A15 +12DEA25281CE4DDC009ECA8ECC714D2066C9BAD6DD7D4244A3C3B1586B501DC0 +4A43DF7A21C7DE55DC385B2EA52E96A8182486574857DBA1C7DD7BE38C7F6605 +8EB798D6FE20324315A736793F0C6BEE522AD3E582E965ACC07C1F78C784982D +BC451B029ED37E2F8492A9770813DF2B1B539C5AECCF93BCCF128F3455C30B45 +D7FBEDCC43893291BD3270368500D3BE66EFE9702411375EFE3E10F0AD8E5906 +3A70BB8298517DE21FCEF75496E0782BDC1E924E1C6F28D619F5047592830AC5 +E06EFC6525E06B7607D65B2927946E73FE9C8CAE65FF1D9E321779E94CDE9085 +4C7BAA86BBA2C4A53F0DC10ED188DE1574088A2141DE6FF48450144607B4C1DA +C8EDC64EF6246E40CC20CDE7A22F892629475D4DA16DC62C42462393779609F1 +B479EFC7EA8C20CDE04DD0F6B6175E997D2ADF32CCC0D351B3D4A5F8E0274D1A +3EEE83F04EB815896C3C727D60E3B85E655186F7A7BB423D1A7CD19296DAA015 +204FCF401E9A56F64C697497C61662AA7F4097C0721822BEDD824426324A70BC +EE6757B6DD103C370796839A4E76C039B9B5B316FA8F6565B7CDDE544D0991E0 +302D896C0885A3542B3B7216F6156BF5554DA7E0129935C31A2154C7110E6061 +26B6C1102DFA3512AD1ADB0720992481EA7EFCF4DFC6FFC2605FCC550AE5ADDC +E021A7C84541C48A0856E1F2BDB47560AEF2ED181B2F9E9D1B466FD9EABA1D02 +8F0D2989D62E03727346FBB96694AA60DB90075A1E4671888FAAC0F5CFCA3FA2 +55E024E0A3565639CBD91D4798A4735506E6A03C7A805C5AA651DFD7BFC5FC1E +D85DBF025D98281323C7EB5A6AD56C22C139B13F4BB5346A5BFE8DA3DA8F9B40 +7ACEF81F3B6D2915E16B56BAD8F23C2B4685B19BE4DE5E0DCA120EB161E620DE +FC3691FA087DED6F4ECDBA980E7B3E30BB3383E0FBB3BBB70194162DAB70D516 +659E682FEF8B291493F99D78494432E4D68A7212A4F363441C51E317A1C2F60D +2A8CA4321599EBF483D155D14C173AE29B7DFBAB79E26B963EE984CA5D467FE1 +AAF9D1AAC02D00DE91D177DDDB891B6C515C8199F29C473CF4618655F70C53E4 +CA3A87DADFAB36E523AE2D91B7B8A768679DB1C90077BE6E3D7A2C72B6449348 +29F5FC9F6D2799DCB69845958006A46F7EF86830D372AEB56ADD69E33A096411 +80D9271F61CA7A28B8073D6E194F6C9BE8E93479E8E64223CE98C31A011E4BD1 +9A5746408154A365470CA46C5413C4D55B69328F13C9DA2D22EAD288E2993073 +00F51CDE2C443A4ED60821065D493C5D0F2BA5816DD57E86CEB90046E66EED20 +CF52F00A23FCC18279248872C297FBE6727A45B4EFF0199C9CE54A8FC5DC2EDC +75CF68CE217318DFDBA3896AA6805CA4F9BE4E7E3A3A2772CFD39365F192F884 +13DF92FC39FCE3A1F9D9513BA7161088AEDDD4F8BDD9D414963BF54725802983 +64B5306599724F40C2D146F9F9EB50B9C65A211F0E9992C4E2DC925C44BCF9DE +A619A551090A28275303FF0D0ACA6B4D00354DD874E53B167BD81B58BA6AA4DF +3DD703EB95199BD02DA951336995D273A6B8A1345A76F043007017B077CA5127 +2CFA3215CAB06F857B22C1E1DBD335629B037482372E6CA2EF5E176F66255509 +80D0ECD3E933D029C567C4628D8938F576B16835EC112C3F3DC4AA74E8AC43FA +6FA6F42F618B958CC83980D86567FA17E7B821FEBA4888DA6C964F2A7F9E6CE5 +04531D53DCD037FBA89A7F840DCE36E251D3896D4735394497035E96D3DA12A7 +6AC5A61146701BDA722955BB8EE66E838CB128284158E9CCCB5DF51DA6036CD0 +D4029141D01EBC90E0DDD8FB1C884D7243782F62FF196C942212E4D2F7C65788 +E8B5C79962FA1941C3F0731D16403412C3FF79C08ACF03034169E676AA39F9ED +4BCE98694FB1A9EEFF44E40267921733AEF80C73743C20C99F49A7323EA27E15 +6D5F2C3EC4F7896EC28E3630F66741B723A7860EA5FB584185D77ACF418B79DD +8C8E9B6DE87D17BBEDD558E350F4CE69488A995189CD56AF75677C31897C62CB +07BFA36265AE30FD06D55F59ADF2CDB21E7E13BC9E88EFEEF3F9ABFADFF2B6C8 +5275F80D7D4BE9976DF0476D070B9625E7AFB99E6CA526FBCB61554B87F8B1BF +320F79BE2695E7DB5E6E2BA3276275C82A53BC3DDFF0F2979F8C4E5752D130C7 +8C9F7CF16E436B823B1A2FD914700A263D3F3DE48BABC99FA90E0316AAB12D95 +8C59195EF634E8B29F9CCA10677E46730E1AF19F046BC5239B7C1F430955F158 +6E3F0BB2151E5D05C35F4C3E2205440C44B8EB2ABF0612EC6B413FC233126D16 +55AAA85F5DDEC3C008C5B559CB9C37B78512FD9FC93A435B68871DDD1D5FFD3B +C0045588F0CA5442D7984C1F782E109653AFE579756584D216275663B2B9890F +EB3F11B17A58EE8F5A92410DE390807D2E03B522CD0B2DEBD381270710DDC6A7 +9F1B8F8E669E65E1354D5ED7953EDF0AEC9119A162B2D1CF3039AD0EFA9DBBCA +9446EC4819D07FA893A019A38E2189F5DE84DB0E4DA2F0C169D25A636DB7D8DA +33BAB84A4331DDE5E29362F174D5618DAC5E1B830E0F464B7B8007A4283E48D8 +95DD3F13982278B538767816C211AAF263F1D40DA68AEE2FC007CB4093E14DFB +042AF398DC5029B701DD13AB11473ABEE8EC65D76591C485681529863B61B321 +3D9C04C6FC4FAFA0FBAE2252012201C55E0C03F532D68854124B117B2F350654 +E000EC5844A178DE9709C32B751EECD46C0713B7989B1835F7F50F64A6147C9F +F219283A82E3B86F6F6D29DC37B8A0C9FA4D4D41920C25D3DF33AD39ED08C289 +856FEA05AAB6D69577B0D8A5476169ECB15CA63F670F8D1B9C2E820697278597 +6BAC78708D8176B3B1576865D0280DC3588E8293A1CC7EF5FC59D9980BAA08EA +B093970E06743EA33350BCAF0933D2B009740F9495D7B24B88F46271CF23AEF9 +273E1F6F5F1F371508FE264100A16EB6F3F97A66D718166592239AC3009D8812 +65A495A9DC01F527B189190A79DEBCFB7FDE92FF64C77BD545EADCCA35076238 +C3000C2E27445209E8B4965B25D707B51AFB11B6D80B36FAC32657A2CBD51A82 +8A159B3A433760AD4558221A09E94011B682EE29AB16E9234C0AA1834A5AEBDB +957108C46AEE9AE963716EE61BAF4BE54C1A2224A3DB7E3C30DF9D07D652AA43 +1AB19D826F7DB18BCA8DD4806DEF031CF933406E38ECED77C7F1229C0A3CF129 +AB12BAFD207C68737198A64B573B6A11F3F287A48C92FEEA8306D1DEC14A91E6 +4CEB56C3EE69C5C36F68D96A88AF8B1289E41B3410BF2DF7C9A2BD5B9139121F +7AFD6E7DB302E9AC30AE901D4AFB90B05E614BCCAEC67E8F57CA0F4A0B780EBD +55D9239ED6F716F3CB0B3191AE1A4BDC6BCD82AFF7821C120A553E454D00B679 +BDC33B347F2E9B4D15223A4C7AB0D321F277E0623550917980B5BBC0607AF56C +F10C29146DBE2F6BF9FD8E4879F6FCF8199B446C25E4E65B6214FEA3EC34E4F7 +8CBFE934045822A6C961620D2BB3A4B36825E4D8E5BEA28E55868D30B02BF507 +F6FAABE950F17B4C4130D9252701F08014068E33A4F20C83CC54FD940C92318D +CF76AE0F4522A50DE7C14352EB7C94F746A7F73942129D6BD12A8C843DA6CF89 +A6E58575036DC8AED79C892E1AD7AA11EDBF43FA64D625556AEE04D3CD4DDA31 +CCCEEE3E3153FCAB30BA65A3A34AECC7663D745DA62838BEDFEAF4F167B0BBA7 +222BF55A9626B85DCAD9AAD5FC333A85950710749D55F7C12369941E8AB8DD41 +FAD6502A069EA1490B953694860AF8AB930DD5EC009FDBCEFECEAFE298E33727 +70ECC760BB8156DE8FC2F2B5A1E03B0F3FC8F7448AF02EEF97FE5A94BB0801AD +E83DF738A4D5131E16CA198DEEAB023E253227DF06A26950327409A9722101E3 +79D57BC5106B6EC703320192D7DEB89BEFD19000E2E6E43C10FE960551B81D78 +50EFE679BE528666AE7CC2FD9826AA224A009C7387A542AADB9403C24F8AE183 +3A40BA685BBA9F8DFB6717E1C247C52773DDBAD04D2EFC606C55E4EF7B292595 +F03D82D3FFFACB5AB2BDE9406AB2354675CC29FD01D8A625FB22BAF3602A5C08 +663A212E29617C2CFE55AD4E251A2F864AFC683984B4D72843B24D321EB85835 +00719B26365E467D664A654C692476F0FC1BE27302FB3959D722C3613F846923 +FED287F447F5DE22DBB6771FFF56E746DAA399DF493CDCF95B96CC809CEE835C +F8D827B1B1F7EF28AB0D91F6224E5C6DA4CFE20F7ADEE7EB834CD7C54447F49F +9B353F9BCE262CACF2867E6F462CB21044202B554CD8C1EF87FB0A863A8CDDED +59D32030EFB62C81136175EB9874B7C627ED7E63AC77F78FBEF2D2E5C2149360 +0C8C8278529A79E42FCD4B4551F2593E96F36D15CDB56CF8D6D65357CFA98663 +600732BA9F1CE83E0D47647F02FE3EC8443E81B3A7B55E80F3216252AAD626C3 +030A9E420221DA91E57CF1B3ECECB36FFD21EAD729CDB7B3C6F35168BEA82F36 +E52D0CD46B0A3D962E8CC48B3F35C049FF18AF0E271BF7B03429FD90EA4C68BE +41014CE3A859D138B3D51F53790DE3E7F4BBFF2997FFCB2C189056091633A2A1 +03E88A3CF49967B712991DCC769501523EAF0D70895A45DB09A40DB1DB221E79 +A1869BFAEE115B3970D0696EE1EEA3F29AFFD16D6FEF99F6EEA625AAADE8EAF9 +C23187CC5CD5A9CC9D0A3E76AC308694FA802DA1F900A1D324CB0E622F192647 +FE0CDE1A22585CF4FACBBF456AE5AA5F01D255F4B9A4163891DA74E4364625FE +30EB70BFFD698B6B27BF55FACE80B4A55F8370FCD74FD0B29FF8B3EE6F4DE577 +3F842ACD7F112C9AA9597AAAADC5C746AB7AF8B97B906B56B3607C72D988831B +B5202C6F76BFA5DA8101971CABB1E24D305460305FF0C9C0BA75BF2FE7692F3D +DA6971F3F63C81842428B93585E7C2413206969587A556B6E36AC4453394CA18 +777FC5D838D4EBFFDEFA1BCDD4064964421E862699C2E2B4BCB800D22EBEAE14 +A97744D1EBED19B62EA117EF78B59EDB5DF17647C34BFBD9FCAA296D9E3BEBB6 +ED05FFFBE063EF811B18D104AE7B8B4C386164C9B5CF1EB30247AFD937CE04E7 +6A35FF92CB0B8DD9239AD1DC8E8608AA924CAB7361D5F48192D24FB92B6D21EF +9D83CB3E13967E2250B32410B86EC6BF4722D31239891479B0C65DE3A5A43E0D +A0192649B5F44902FB67DD68A9609B8FB578174D970CB01B9F86248DF15A769A +0B0EF0C116A96A4D2D0A9380137270CBED1CA8C19C486E22E13E1BCAAA65F157 +E82A6AFA76530DAA8B27BD83ECAB41121AF2C764CCED122B94FEC74719D22D98 +C6981745F42ABD6C0476776584BE443655ACA39F0BE0AAE445C96325F5A69D08 +41AB9B0ABD19ED358BEEE6DB94724900250B795404243489FB69928CEA6126A8 +2036010760904A7DC8F15D9B05DF3779D1C657FD5162B801996F1F7572BCE8B6 +89DB7020F784D2F750BDCFCAF1E66E5D1CF8206D33D104AE44659298387CD149 +4E2A992E1548A37C0587752D46EF35357BBCD8DDA9BBFB616898AA1BEAE18180 +7AAABCDF3B9D51351EE5CDC490CC365FBCC2325076F696E9C731250A014F635A +E0EE366E3515066E0735430AF23D407FC997EB489BECFDFBD65872788AF7E13A +5A216C115DDD2F8FAE684B0F17EC9B53EE00E5966BED1FD155F32B3744F02FC8 +592F8C5B7044F0CD6C23BD26FA11C128CF92E1EAED0DECAE1B3CA64EB558A6F0 +415DFCBFEC7339822CC12F95F0E151ECDCEDD36CCE14AD2D4F57C9932E2F9FA7 +00FB8D7B2C97EE4BFC16F650D0FCFEB70DAB22318CB400BDBCFDB79529F11403 +026348DEC4AB352296519895E23B3305A44887739E906DEF031B92A0F41A4411 +09BDAECAD78E6A853C0A1973657BAC3A58A4EEDF99C0EBDD974EE2E9D2DE83A4 +181A7E72C8CD49EF58369C674D6B7EFC24120A0F245523E85C6E91083F131CC0 +B91CC5DB16712011C2AD2DDBF6D7AECF5BDC2E09ECBD88797912330CE1FAF21C +D2754C8B16797C577A376B452E96DA49624F063653FDB04098EF11CF1EB5B602 +DD7E66675AA3EC317152ABBD1FABC470A4841B347D80E6021D4E290512F91D53 +6DBE98C25A17631B93544297FF7CA950B903494DA2F686857C118BE4F2D2F5B4 +D63F931457D1507F13FAAF06881670C1F46A11339169B6E859D2F75F9401F5B1 +0F6BBF066B6410C522D3647DF86FEB25C1ACB394F2EE034B6FBA1E1F0C166CAC +23AD89FD97B43C63867C86FD5609496B8B58F9E10CD24141A110530EC24ADE79 +3A9CAF5E07793AC8B0F9E560649F589FB4312CF3B61FCFAF08B8B62C185A442E +5EA71733D96F429DA0E2343910D9FBB4225C1B6710721B89316B3F12E3A2E39B +4B139D9805B64E831BB2D4D1885094552900CB91275C8052B93B59730F1162B8 +76DC1B604C73145C7B9CD5B8B352F3012D8FA03BE0C48998A45C9CE392047BEE +81E8FA2AF78903D4A55CC2F8CE39C3582FFA7C010D879967F28A1FE3D21416C7 +30F381F99B01020FE3F35340A770629C16333805AE2830BECF5C40EECFCFE629 +67FF0A3A9AF794C5FDD669A18FA5EB93244E6C54843B3868C28D66902429854C +E3B70B242CF8652F910465050775B542AF7FE158DE22027F228C48F8D137E1EA +E734DA62FC34B5CC44C9ACD3A078C7D4FCA262EE953EC784B134F40CFF645045 +71B9E302A1B579793BCCD8ADD3FC027EC85A5770A26A1F71C545784E1998E396 +A6E567E1F605A1E89826D328ECF772FB1902F0A05F08F3F7C1DE5A0B1BA02A99 +0348A28AED186D63857976EC0B837EA34AE4D781CCB5B07F39C9E788DD15D549 +BFA3984DD591CA27AD98FD841C57ACF08A0F62287531043EA497D6F48613133F +BD84A9EA1F660F26660147B4C62EC20648FD4D079BCFEDCE8B96A32FAE2B53CE +62557A1C739805245755ABF416A368D238FA86EF6C904EA55516A25F4A8DC805 +C9095D78D07E2F79A6C5FC0D4DE4F5A7B14C9809E1141C78705FD9B25A482E44 +D994E5718640CC735DE0412DDE3DBD6BC724446933E83655AF78F08094D074D8 +6890E72F22E5C1228E8D21444669C7BDF8FBE16454610FABF167A63B62C46673 +6CB69B77FB6F0D144CF7B7968668069C819F7D4DEB00343F0AD05B99E8F40DA8 +A3608556D5F823F4FE26B10C1A135161F7684FA93A64EC896097D65DAACC6830 +EE3ED51E612B7D60C85D0C035BE59D78DAAAB868561015257361686D668FB635 +6A4F1B01317B6A07BA91FA9DE649B378CF0C7A37E4BA8FBE74DF0C907DA0047D +2014ACB6F7DE1698A8E689E23355F9A56E5B36F0A5220D010DB6CC174A78BA9F +FC79C6ADF5E5FE639264BFAAC91F253876AF829D4A6F59EBB89FA5B00EBB3049 +78FAEAD988E030CC48D18FACB55D4683A5F4DCDEBD347C64CFF09E7AF1FAFAB3 +750A2C59C2FE52A678AEF44E4D72836F7EFB4DEE537F3FCB1B5F2F46EF3835AD +A4725EE1695F778527E6BFB0D9C1574822D31DFD5B47219954E006F5CE225B7D +6957FF7C3400031C01DD55BBE7CA2701D3D38E7B0ACE3F14B57876D9A66BD8B5 +42DD5654030E04F002139350208DCA6D83BA9DE34F437E85D5BECDD5E26FCCEC +892C4AE075F7824261A87484135FD125C430448F2FD46C3C3C70B0AF9AC6C683 +E22995E1A8BEA75475A817C1B399D6C5D673ABAC95BE3DD7837397C609303655 +52442881BE93455BAE061A9A4BFD2824076AAE70418A52FCB61BDDE7B9EFB935 +0DFDDB6160FEC9A4409A4A8BBDC5AEECCA8A4978BA93A63270F06D8D08137C8D +87D80FDEE637B74C9F26E0AAF1A42111D751877DF17302D3A09EADDB12B787F6 +15FAB9D634DCF45FF7D84597813143C6AA252DD2585BE200F4C0F25C17EE82CD +564F0044838462C828EA8CDC0B4F7D995527A5425ED593FBADD183A1F488AB67 +1E9AD1A1041E867D2B988F300D87ACA7F675DC85CFA8A478CF2B8C4F1571CB64 +EE2A4F693BA8A7D6F7D0406A4157CA86BA4C64B285186AFAB6387B3D540CC02A +01900D447BDBB936BC0F94EC4EFA96DC2D09FA22440376C718DC6742D24128E4 +581C8143652E5E07736BCC0A6E5A1C31A1B8E137A9914EA8A38EC38515582A2A +5F21B9814F1B95A3A231501353800B112149C71F5CFD2E3A55B6179442A55EF9 +24834308DDB593652CB134C208A7F84A4E9FCF7D580FCE2AC4AADF08DB7A7EE7 +86B8079082EC5A1FF3D45B561B69B9F56C2698EB54888531D945421ADDF26BB4 +E4A5AD30D1DFEA597292757F308971BFDED158EC1A793462CFF812E6A809A388 +24795AA06078601971152F7EDC2973374DCF2C2D3945CB839E8CB7702F6E435A +0E79F28BCDA3D3AA18B9B9C97673B75DF095B22D658C90D163F8DF0CA86214C0 +3D165234B14E373B20F8913638FF228FEFEF111DD0F930968F17EFDD8B87C05E +0A3A895C202389DD7F5EA6855E2841E6DC01323992E8DD4516199CEF2EDD87C9 +5C1C8F4085C9B85ACF85316E22EE715FA188632115F151BCEE512805990FF3AB +D8F4927DE10EACD49B720FD17EB260CB9F2BE96D7B50EF189E5579166A7DF683 +EDB55429F1A54AE9DDE34B4A9AA8DF685F8567967C263E2153458BF1E654E2FE +C19BBBBE7409AF5DDFBF32F26D50EFDD0BB09A1D1106D9B963296034E7D6997F +9BD4C3478CCA3549D3086930C6F9DF60D1DC3ABA1A289982699ACD964112E30E +A1C568A53D701642DB80E2B2C0B6084B29F6FB73B0A9FCCD3ABEBAD6B3D58FD4 +1C5C45606AAF806333B354D19F58467B3C315D65B9A9109708966FB7F498A999 +CB0C7DAAC86F9A0F1488D9235A07D6D524BC88C8C212D80143EFFF603406BE2C +C3108EF1CEE6F6DCF9A3C3CED684800E0E186EE7435A20F54DF2CA4F5539A6C5 +9A5907AEF0DB6AD436FCEF56C198768FAEAEC2D886DD94F7091C44621EED8DC3 +5737DD96B7B2860DC4EF1E0A2B7A963CF707C2C29DF918B7D3066652D6CFE261 +5D381B08F5711C594C03BC72875C384BC01556D907B0641DCE086EA20C621354 +1A2FF32AE1EC09D3F39A11D0FF0A710F4F9E0E7507B6951F96F8FE1E1CA43FDD +34A511B7AE7D87FB7239CD88D1C0E203A6B9AE1AE673AE441352112FC8728874 +D6585EDEED161FE8303725036402609F36A62E1EF8C3014C4B67A986C741B5FA +260A32768B2D1F7B23C4BFAE60AF5353AD6C300928427A5A6E942BA44A9BE95A +E1D5EA5E14F4FE92129D28F01A3B61E49FC01FEC7367DA93FF88DE296A22D62C +B464A027D7F151FCD84811B26FC115932A86F16EBB16EE974B39AAC5643E6EBA +5383F1B29C499B66C09FBE07663CF953FBDFF9AB4F50C2DB63498CB80444A58D +9A91332C23586D1735220BDE76CDE790E86C518C07DC1597ED533CFC62467BE0 +9EC9C70EC2A095F634DB70D5D7DF3D45F66318FBF8FB8316538DDEB13136AFE4 +84B5151453FC9400CF33D0DE81B429FA70449542CDEF957A23643B31ACC5D310 +07BEEA3E2964B17FD1BD27A18D4240C1F445E3B0C177611963A32249F614E521 +1C465B1870EDB7B3EA4B003F113776A8D9EBD060201A0EA68C0D1EAF6B414BAC +D2CF83F811F5921C0BE37730D093F78B1B58F3E566690BAF966F573370B47AF9 +575EB124495710B9DA2F16EB1E33BEF989B63DD525F57B134D15D083326329BC +64CCFC0688BFF7A8D56FC1A6A042A4C5BCA5FBB6CE393B990C33EDED14450F24 +1BBC77354E1B4C88A4E7928890379BB6A3083E3E2D29EBA2125F993A97462F01 +B8C47D06845FAEA3FB523C5CE5761050F4D7BE3C07EF80FC8A2D96FE16DA2F52 +2B50F6518446BF64A0717824F7F8BE9E4734BD4737DB4B613E7E3ED9395672EF +E7F61A887996E5B8B44C94EF7D5800D04353C739043E5BE9F2B93AEB49180390 +BEA7B15653E02A52C70FFA11E3D6ADF017EECA77E97BA1D5DA509A251D585225 +E7FBB89E38482514CCFAE1B3871B36ED6421014B9BC9854247ED67F962F8582B +A4471805054B1A62A064E1CDB4CDE6CEADA8C63E5013C99E5F35611C23F93A17 +5A39EAC64AC8CBB76B19F15C3E71AFE68FA93AD903E7D2C1CC094AEAADA2EA6C +C639BFD4842A2B7C9ACE44433CC181EA2FF9BCDC47FEFFEC9CC0737B7088AF78 +29557E8C1F7A825AB31A7E64522EA9F2F3983C1EB14048B4FA453FC04879FB27 +A38584B80E4923D449D4C9171936934F8605FDA9905A5FD87CA1C44A31920C26 +E1EDEB80B835D8E7A647AE842792BAD46DC5F4E277E534D7641AD2FA14FF177A +0802F81CDE37059B4568A8B06649D7950471FDA7056B675A90FC1FD4B8D380B7 +6BE5958AD92772AEB05010F911CC8FE665F72CF3B8174F7558ED94A3297AE918 +91512710D7F85D5892572B15A933E98E4498882A26EEB6FCFA55D90D48F4D84C +55E3D32F5F8CD1827A5B5A3DD8B8322EC61558D1BC1E0432D9396F508B5E2B21 +4705FA448A68E087CB39A7A3A184A098EA095301A064638156CAF3A2AB163551 +3FBA7DA70C080D6F90A2F0F2EC614ADBFDF2CC0FA7A2FD8359014F3189765B48 +4EBF26C3B384108AF709CACE708076A951E1336FDB85F6D65CF93A5FCB00E81A +AEFD1AC063CF370A5019183C85111E7C94F0B00E84E3B5A1A844FCB9FB350253 +59CC1D705A644E174B3132B017E6CF0690FB041A3598E43C5A7379E74A68AF3C +91030D7E1AC1150B848BA3679B9FD4C389B1A5EED00B807798928A080FB8E2D3 +9E942BA6DC13C68EA2AEB352854A3DE429010E542C59D89FE3B5F3A2FD4A7CC7 +486ADFDC50AA172E0E199B31012D4D6F088082D695410566026F6A3E20F381F0 +03B53A3B6478F821E351F8BD8EF78F793DE6AE2C326308AAD96BCF38D0429D2D +849E05706752C6407CBF8E174648D96EB30E797B7C8B4F95495D9B7D0EF1CA0B +C228CABA268389ACF9581CD0F51DDB8CE99FD508AFC4A38DCF717734CC076A24 +6B28248F8529207CA64F929329B012A25BB61AAC60215C6F1E736F9CA55E80E7 +2E9DAAB650FBB96212005B08D389B6DC61EDF075B734DE09B98DF4129F9EC36E +6596E2AC6418DB0C32138AB85430005710C758D7448DF224734D2E3923259B0D +FC6B7065C867CA4AA8199093264518584E1AA9FAAE36087116086A2E9AC10CF4 +09D3EF67012D1593BB50C9BFC3B59C3600ED250D5C70251E978313933C3C9F59 +891C46B03F7A7091E77C557E7053D3812D7D693CB6C7DA4E0F489B207738D7F3 +3759FFEEC013B1691AF0C60798CAC322685D26060C9CE6EBF066D53F30F11D25 +894358D31207551EB0AFAF3AE1D1B66A6675EBF44C467C6758594A4D01DB0912 +EAC8754AE29E0B3C4D99AE6CF89BF5692934E7A07B0177F919FCCA9EBD323E15 +374291E778B3FE8A8A6CB9A69858F3278D8419AEBADA50B248D2D8C96EB63884 +0C27CB385767F01AD1AEAE9C6406EEBF21B2DFE26C759E2D955A74A28F06F0B9 +45E678A9D7813522CAD3A0A91DA860A6C7EF9AEDF3423FDD5558F1CF976280D9 +E85944B29D1050C2482B9D97A9357C0B3853F98BF7CE394C71A92FC724AD68AF +6A9918F688DD40C917FA4AB39C175B185896FDA430AA88A9ED2516E8EA77BA83 +E45319F24D5E82DC9762FBA0B801B8D0E4F7DE641D4695A9F0A1212F53964508 +5A9C4113B36A9605092435B16E6F765DD95A1DDBD7B8697C94A943623025C291 +04B695920CF1B9C5554F9DAE95F05DF8B61B73A45FA4D65B8450CBD46BEB6AC9 +8CEB6211F698E70F355770ABBEB1951B89FA09CD5E71138F93E2CF3285A28E2A +F075019DB6E974A032F5137B07B6A4C63DCA29E3D60137399A43D7FDA58DBC9B +4EAC070EA82F1BF66D7FA3B06E721048AE9B31B7D5A3327AD85A866358D3AF40 +F062B1372AEBCB11CA70420FD18657C8687EFDFDD545ECEAA2F2BE2F34A05AC7 +7919093131B5849BEDBE80429648434A0302DAA9993A83316718E48CF96BCCFA +F7A1D7E186DCF349C7070F7385E8AA028223DDBFF26F66CF215F61F28A6457DD +1DCE4EA972AF73F231900E0A524ECEBCEB05BC23C5B7407643F8AB7D23423C82 +0A2534D9F582280D0D2445D3EBC42B471C2458E6FBABA52D938A0EC7876A2304 +9D8B04ADCBA20D1101284D4858F97AC95D6DC0111D1573CAFAE8F6F8446C43F1 +D3BC51596AD3C2FB6C69F2A9570795CACB459EDC78C52ADFB76E6784DA1B5FEB +3F305ADDE49ADABEB42C5C01EA61946012C921133742255494D32060EE4A2455 +5BFDDC076F26692597EBDDEF9EC84E253A3B4219F3F13E6C94E3280E8D28BCA4 +E076025C91CC07A384B9962CFE482B734D545E0CFF7B941FA601C10B3E9C2518 +BAE689B889CD18AEB0220CCE3617E63906B7D8CFC26F95B5AE3564B4E9EA384D +3BDF74E8436805ABFAADD9CB40A59095F3FCE96C07DE973CA7958B01D74F5046 +B942EDD853FEE099584E9D2E935C7745B7FF6BEA18DC184ECEF507D14276C680 +E6F07604A1ACA225A52E1C45DC5864068A90B65B98F78357240FB76F991F9364 +F00E4602A8701E1025B16B7F1A97F594B6FBD2A321B042DB35AA44F47D2D049B +BF97DCB804CE4EE2EDA3C5D6BAFD1B214E35D23ED4F216961419152CC037D1B0 +2CA38A5111946C23CFE641DA07FD378590CA88F7743CA51DC77923CA75B681D6 +DC69B139588E6560692E351B2ACDAB8CC26A6341CFAFB2C3486DD98915BE765F +4CD20807C525A85B515C0C16621D90623EC943B55F0771FE3737866867A47060 +CFAA4542902BE0677A53B77544E2CEFA3C04E2008598250F28688CAA37953C71 +6C190F7D4D7C4C63BB198454EBF42AB7EF205BC46C94890A7F694DEB313157D3 +53D9CC57F45C8B4B45205B34E3BC4E6E7ABB1637BF2FE53CBDA4DB86D96883DB +13C3E0DAC10A36BBCD0EB98943C82C3D4EC140BFADACE3CA5837657905013F19 +5D656E299E99857911C105038B940013CF7120AD119DB6387FB82673C7425E41 +3EBD4C898BB6C4CA79327C5C8224755C09F406E7ADC5312F268D28113245C5A4 +1FD5187376C43B631A46606B5E4DD342EC3794ADB2668384C6074CD62C8B3FD3 +0E250A6010DC25AB2D9C2130372A7ABA5D99A55FFD5C2BFB361B6641950273B3 +DAEC41E29B5F4E4BE6C47B6F8B07BA114715715ED44A7EC9E5E02143E9158FEB +D74AEC18677F3289490ED44AE41E5E644A88A2608259FD8289F70382ACF1FB65 +DFFB6068CB49E42D2BD143E716B2552F79AA583492AD1B0101FD8BCEE7408A15 +EC0F74F86AD1E5960B644CB98A0D7EF61BEB88CF986591C7CA593D4C335C2242 +FA9BDEC9EF27F959874CB790433050010B76C5C4E8E52F6081FE12B43B68511A +F8E44C320C77ADF8BE420B49D01A35B2196D311C54746A890E309014B28AAB43 +5494C69A64116E35286FA70DEC52AAF6F01B279BF7C3EEC83C5F83A7E06B86C6 +C87AAC3F48CA4A46497A678D42D7F6E5B75EE084986050C72D2AE7403918FA52 +9448E84F0C13ED2E05C5046A86B785D6B28FC837CA0679AF787FC6B9E0BB6694 +6D9E6D362C0E5D2286AE2C5108059A6F1062FE5BF325ED0AD064CF9ED457D201 +920AD9DDC276D4AAE77F4FFFED8C3CDD938EF957C720CDB03ADC8D5802852EE0 +3889A623D3CBFE97DEA0AFB94E3E8E4D46A3C58327FE6F23958DF08B80D5F764 +08F1EFDF674493B0FDBEB2B19805DED353D9995ADC3DF804E574CAB0E954E3BA +9C76607F322D2155D8473107715EF96A06A85A765F594814198083CF841C120C +E1DDF6EB226382EBEC5547CC40BFCF24DA3383BB8CBB1C4E5C71AA04A49A32DB +B08E650951358951785012DD855EB6F7BE2606215B61715CDFA9E3B7F74AE31E +19814B61AD49AF25C42C298F52D4F4B1F0D72CA53CD511BF16D59F2E3F7FF3A3 +0228445FA2267D52A1049CC43EAC74C474E19CD574DECCDAC37366BA1C533BF2 +3590EB9E6E4E402D6B331BA57C25A9DE9CAA3551C2EA3B3B48D1193C811E94E6 +477C451A23203C0F901D5DF77A2BC15A54D0289D7E1D5F051DCBB6F97A2C0007 +64F1FDE12220479919B1AD7EDE462A28BDF5625FD11BCE29DC73B0F130D7B73E +F1C956F0EB7D355530E80263FF95A3FD86C5BF5A8F9280A302EF55B50246177B +FCBD3C8B4F29887FE682524ADED4B3EDBE4FE9C3174C072E24631D919E297DA9 +785E4CB724A606B8E056E3C12081ABC5E3CA9DF754330539089AF63B85F05938 +D871A58BC53C5ACA3A057302E0E5EC036145465AB04210B257753DFA9D75BE9D +B57AAE25F11331C4E19B210B39ED8AC74C2A45640C7F914B56CA1D85DDD83ED5 +40D1E4370D44FC03C5DE5384AEF8B63BAF7BC7FC32349CB6611FDCC82B91D2C4 +BA111BEA7545081D250895C8E5BABE45DCE4FE11BA87E728E08FEB146281A44D +00012518E56AC86BCA87308C247A99C14559D383B85F045BD99EC6EC40C4D2F0 +65701599595737E17FF4707E938D4163DC5C5DB95E2F4D4AD8E437F66A3C36A4 +C792D1687679DE42FFAB0BC754E5B1E43508C21FBB1A3DC304485C415A686657 +EA1A0E90C7322A364B8AE93425E044661F6556651D3F9873A102E87B0B68D8E5 +D468CE2F02359FF20CCE5CF53A22D19250A7ECB6940A98CBF7C3E2A664D1861F +86EAACD43BCBBB0D888BAF4B5E90E90D32CA53BCD5660FC10866B9CA92E43DB4 +569CEEAE4CFD211763AD75B885B9C65A8AC553E5CBB5F2C4496DFDDEF46C0115 +0AE64EE489283932D13FC4DE2ABCA4795F3668C63416EB357062394DA0A826C1 +7E6B05CEA77CC0CB3322700F3E1ABF1E6CCF7BAB83B6B4026F03F1BBAD0A10C5 +5E8D9828C10AA29C5A2EA82730561D4019A0C6D131B433B9DD9BE471F66C15CA +384266E8C1714EA8585BF507366B7FC0F0F797F40CF4A613FD15F033F88BB3A9 +9D5B2654E591B634D49253B2706A31E2F0B2A1C699D0890BC8FD4B25FCCFFF92 +809336ADA46928D535ECB86D167A081FCF19AE7BC30E56225E040AD75FB5DE61 +52C32A4649F2ECF10D3438E80A50F56FA3A43009C5C845838563EA25421030FA +F79825592A51030E21F9BBC1536F33D2CBCFC1C22499C0F80503FCBE9BAF8BAD +D35DF34D2875D4E6E83EDE725C829D4A53083484351BF341A8DF8004E20DEDAB +607D9328425085A8F3E757917EBB775ABB9EB9969093AA44B58E092975ED4966 +5495E0E7E602F0D3194CD7672495CA11BFB1E80231258EFB746275FFEFCEB535 +A718A12D58827F2EB225400C6881451A4BBFDD4B46114779926BD485EFC8DE44 +D6DB332605AAA5A7FC1DE0B4C222E49A33C821426D8E368B931D0402AA1B839F +1C5FE1C77C329F8DAC88B72EED01779E9C18ECB4369240460980C264FFE5ED13 +5897ABB3A748D0F855EB83796DBBC99917F6FE0C9CDF733AE4CF9A05CB96E88D +B81C17897EA2B714F9B83342CA33D092C148EBFE2F5341CCF2CE1E4E1E5CF89C +5AFBD1B998C0806AA39D7BBF68DB42F013A8E1328F1F32542D5636ED8EEA525F +33F5E1204CAA6E8498CBA5F4B4C970F31F0E9D59ECA534D6B886BDE7B5617B46 +D0B6E8796F51A4CB169C64A2D5A4D04E53B46373A7824E35CD6BFE1017F733E3 +239A0B21E556C96D64CCA81665CEA5A1EFA5B91FEC17BB99DB9B16838A615890 +F6A235A1FD3E7746681EED1A73D9C0BA3F5F229B7C4F8BCE672F8535A6332894 +8C788FC18113BB20EB0C802995E333737D6EAAFDFFBEC04DA500B28E3B1B9CF9 +8A74D155FB6560060F9E8CF4E1EBB3B47043CEC18BF2B764EA71A7F7FABB50FF +DE301187D740865EC7CA01A58A315D9E31D38476FC8F20FBC23F3A6658001088 +B9FD73F5164E3689210E6C88A83C1894AE8CDBB53E10EDA5C88839D7AFDC3910 +66B88A12BABC981BA4099C05EB047042785ECB701932C9CC4F96E8F5A2D20B11 +E908D9C619F1D579ECD5ED7998EEE848EE23066FA80292CCF13B0B33B15EFAF5 +5878F3CA17A08440DA18802A5C6E212BC7E3B8555E9DF231C1F9571D77E2C8F0 +81AF6E1B91E53C1B630BC5A149F863290A8A596F6D4C5205A6149C9E356ECA6A +B827C7417010AB2750F020E0BECF6F40A3D356C708FFED6CCF928911AEA0D6C4 +A96F2C1F794C9F6B208646C25A60C65B00F7E0A3321F21B25D1064FAA29113B4 +8F3D1DD8A9F67AAE5200858A7A4EADAB2326FC8DC5069225F464B34A0E6DBC92 +7E960DBC2BE9E03657BF54552699CA523BAEA23D8B0FF3DB605B6802DBDA6421 +88D4B5950ADB9DCBF1CD9C6BA643463B09C725460A9B5CED29ABDB2813613A3E +9546615A0E247A13FE0843433BB13DA9F53ECFF4661DED22C2E33542DB518D09 +BFDB906B8952BB029BE10DDB9DC059B59E4EC6E7BD2889F2ACC74402D9F96DC7 +7D8125154FA2407151A926147689035FC32C0AD2A606A9FE3107B5EE501280D6 +C75236BCFD6C422C1216ABDA87DD13B045E541F88D566214E579F8D3E6C8B68D +0BFDBD1715628FF84A2F8778384F9E7B796F299AA3CB76B10C82F9D5CD7B0242 +3CF6091D12DE398C69F29F1DD5F11BD467995E35F6E296D48CA8EB7D4671575F +4A53CB37F995A33A39AC6241B7FCAD9C1A8C23E14A9CCC0E233DB1C4888FE4CC +709DDA2563CE6F834131994CEFF5692B0E4945A2CA672913FD17E2A5C58D0EFA +268AFA4A39E948D2084F0AC14F1F59A0AABEED9322A1BEE00959499A657EB681 +A32E13A6BFA469078B6E752C48EEBD614A48B8238105D61EC32FCA6D27C0F914 +E665E9D87C5EA62B53F1E7C4CE2E7CBF07319ED1608C9E9E3F1258C463C1C100 +2554DD5265D35A13B3CD9304BBFF08096EA237C9178F88BAC17EE12E2AA7CD29 +CCD7E976F6A102DF7EF4947846F415DED6E60D180B22EC9E91C81227CD167583 +BADFA76080A434CA059E64BADA0BEB2B0E91AE2013BA5D23D3FC1ED9519027CF +D3E3E2482786E08B3B35D2B6E14BAD2E24C6F437BFE4CCAC08C67F2D61971C9D +D30381D9CC8882FB245FD0BBA73EE79C1C5EA7892239B54198CA4F2DB0D77267 +38CFA22A1D8A53030602FF834C0717B3E372559D9347215675DA86CBCF01DFF9 +C46451FA26844D4B3864D9C6879F3062F8F851B552876BD15CC84504EE8D5B25 +E981F9AD4FDCE79FF59366236C19D41126BE0003908E91DFF2A3CE3A42A9ED9F +FA8272446D31ACF35067CFA838C0D1D023C7F99F45194550851B4A11584F1EB9 +9C0E3967867C92A260D815A28CAA5CC842F313BCF1140C5C2146F2FD25A46243 +320A1C5A27725472E5640211DB0F01EA82640C880EB557298E54B1CC27CBDF6E +C2AF67684B23B6822210207E45E302AEF4F9DC2F2A3B9B7F321243057D881DFF +5DA582555915ADF2297C99CC0561B26C194B764B7FA2B1837B6C5F087FCB9CF7 +D718DD816FDDBC26012531473A1521E63A724D95C73D29987105C38AE741D75F +76B95C4CEAE23A6D1D29B494D089F9B1750243E6C2443C37484721BBAA145979 +0B65E86F97F81D1A44D9AFAF762604FA442B33E0B985F8414AC699284C05FA83 +802D0ABCB947971C2DCB161661D1F38F96081E974504C00DB0D89D8BE113493A +1A248CE00F8A54DD352BBC2728F509853EE05A1C6FF40C6DF5CD7B2968344F1F +2350E9B88FF8415CE0E113D22DCC6E5980E5FCE557A3BC64E141B4458150347B +168E35237A245A1D1532A7C1E8AA487271BB4DC122C0C75E47AD7E7A1C35BAF1 +BB797EA981CC72DC550BFEDAEE0DC722AD62AE9554FE9E822D2BEF7E9EC838C4 +4995143A593CF33BD92E37B12D3A8F29DE6EDD8B98401AD25FE73F3505F18369 +5A5DF007C4ABA613145AF6A8B7B06F1FDEBAE506DFE8585265ABFE2D662F1ACF +BDFADA70EF86FDC577EFAC8B24C7C399CD098E1A0DEB65E8C95C2C773D2B1092 +1A39F5AD71DFB6EF8192FA1DA31156D08205792B948D26FA1FA3BC6F5F3275FC +BADD90204837A228544B30AE0B0F8470DE34B9C928A980958FF01C481BA1480D +998D4A6D648B97C060EE44AF668BC1546F7309E685C1A00D8227B4B7C5F17E78 +A89809823590469C0343177A54DEECC1BCEC612AE333F34981A28F78A0FCAA78 +116FD3C17B19EED4E55C01ADF0F8895EEA12D45B4F3A25AB605A263DE932276D +16B9B72BEDEA2FFA8F493D119B2721F72DD3CE0F1DC7365386B63CAFD774D142 +388527F0A02394F0C5502E3768ABAB2C080FBE5A832EA82D6FF99C5A65AF5D33 +F667F0225B9F319F054C475780DDA9C6F1C8F0FD0505AE8AAEF27D0D1CC330A6 +410825436D6CC0842D91EEE3B5F198AD84CD3423177602D521570365078AE6C8 +8079A4A0D87E599C0876AED67FFB3FD13886CB536EA2F022326A00A121CAB893 +01CD94FFAACCCFEE2B2167FBBC4A62F6B40BEA1AAF1EAC43AFFBD70E53B80039 +6CFA90D932D1E597C040D98BDA0B019D36ADFAE872EC1BD91ED628994D071EBC +F62659CBDF3EF702D0FA67EB9F95E2BA245F1957EC8BF8D5D1F7271CF8CF3837 +A07B3367ACCF0B4C4CFD30A374FA5C9156FEA1F05AD54FEB2C377AAA7911C614 +582AEDC105D97B86408C005F597F861D8FED1F401D3AFB853AADA4E81C57D744 +227F9ED2E1FA8A46C68679A5561CC83BEBCCC2B432EDC0FBEF5BA4B925B6BA76 +965CD982D5CD469FA31C5BB567171AD4D79B62894ADC3BC94749B4FC2D137759 +2892026E16A0F372EA323AB51E23C114F30BE247CB5F2BB4E3656F660A8F0C31 +25C43E7F0DD10669E2B0819D62A402AC1F403B3B3E42181207A8FD19EC9C9EA2 +00CEBB75DB7B7D1969CD18DDEF18B7A20B0D3F702455B4CB9705BDCA36B09397 +B76D7ADBB40E2037288F57C2CA99EABB9870E1D1CD7F3F2DDBA010D641BFDBD4 +321CC05839ADC1D3ADCA67B2FDD3C5A3B4D703ACE6EF665F7293162B39051CEB +4CEAD2CFDE2AD38C1DEF0076325E869CC4279164A66D8922957AFDA10DDE38BA +C8237AFCE135D3EDD082B4E3FCEF82E6402E44F4511F823AECED2B222DB97856 +26E846408D556491567CC4259FFC7BD9C0838652714B3CFC61F44C9BEBA4485E +53718997739101069F14B2A1900FA728515D0BA26FAE48BDE871091AB3B6EA90 +8C2D42858E8DAD44FD2DDEE93C0785EF10A4EB9185C429750820DEFF528796FF +1F668B63762870C23768712FD62382311C8C4737065E8FFDEF70B3DBACDFF083 +49DB6627FA66567048891BA794EDDDC9C5A1C47F60EC1E0B5744C26B4B110900 +04FEDC8143AF0DC2B02F29342CE024D6D5876E5DB59D7323A28B265FE2578FB6 +2BF0EA9F0D85987E3C7B9C4B8E491D9193D40A5E0BCCCB3E9D9428386881A3F0 +CC586A6A6C1B256976F03A0BA5028ACE4E5AFCEC7CA47FAD65FEB559B3F7B0B4 +A24316CDABCD387BE5E241A11BA2D3F48A9951FDCBEB6DDB9227B78CACA27A75 +371A9CBC4F2BE12D139E79ACBBE5760A3A0A044583B334FF524BB1D5F0FA54AA +6ADBCAC4D6F6C01213D0C6B54BA8554B49765ECFCF8456014B7179876B88FD81 +0725C7106266B3B9241E6EE12535771864EFD3C31EA57772239B7DA8B9139C5A +2E3AD47B2A27E560CFD6DA87776E3D66D19A9351B1E352E829A7127BCB0F9713 +83E3E5FF6301535F372C38DFB8310CDE0FF24806A4B97B608C8B249EA1D60E76 +AACBBE28B7C4A3581F977680F67C5C3A5FB412E481AE7A11417DBB7D8B2ED528 +658E92B8B0B1FEDFB8F4DEF05D2CCC42F6B57703A33EDBB4852BE8E975E4C6CF +1085908476EC40C50CA746BD761318481936B71639B24011BF652347BEE3FDA2 +FEC5BEBA0F5A5609F5B834DB04746D4395B08B1AD4CC45B7D24099259DE86DE0 +F5C0638881A9C92C09B14B24AE8230E47E53B4785B52989911C164A58FDCB167 +2B0390701EC7B6287D9C942BD519449A4754C9AC7C0A22BB500B2A32A55208CC +2DE0E516483DE632789471B8D46260290AC32C26FE2E31389A604490A087D0DB +81937C0F9C0B15714F2410133CCCFDB6F0B0FCF95897DA3E0AFD783FD9AD2BE4 +6D21A6BE877592E404475471648F8205483B894BE866799E772533AA33728D4E +F54C1354822020AFBBFA7B4BEC6F3FD9B26D6EF307618DA000C56ABC87D98643 +D543A519FC8D61A2B86C7E18364EAB4D31A48EDC70869DEB8044A17FA8B2CBA5 +224851AFB9FE49CD5219376D6EE66772EE27FF6419557E845C2B0426D793CC2A +3165B3EEA6A1A13F421C8CA3E47C93106B0B6202D86C5A31C1122AA3F17A86BD +065EA5A687EA3B1ED324A9F36246919BA50117492866DD545E42A1186979FC71 +DDFC98C8A6FDD649B17DEE9FF4AFD78920A75FF69ADEF128077DCB3F5FF601C8 +96599F8C9168D7229BE969E5AE9A08166EC40E890D1DD8B62E29AFD2E3B406A8 +73396BABAAFC158C6A92390B33598F8C643DD4FBDB760D2D202815DE41E8A471 +039F8D61F8033532CD100F07D726D0D92E68338C014C88B274357D554EBCC802 +265288D9E554ADA4CB6D1431D0CD94CB3D1A26675EFD6D036BC583D242710A8F +19751007530B1CB76025D04432FBB38D7468FD4203D9A47F7E67C636ACA10E19 +A9FA72D3DF82FB37474966A58AA01C5F7568DC7D4668ADE721BA5219CEAAFD3C +AE372963DF037ED7574AA890AD12463C5109B5CF23E54DE574CCA937D5C49BF1 +F763F6380300887970BB22246FCF5B2B2EB69942748A30BCF9A003BC6FBCA2C7 +325284834812EAB44F42921A116B12D184F9EBCDD8B782933A1BA9ED1F33F97B +548D72EDE27B24A0A8714E6A847254763CA5AF040D304D75E376A43F9CF839ED +1D9E2BEDD3C0BB55E19B8C5FD48CD785AAF3FD381CD301C75B6BCD63CDC52D0E +3DB72DFD034AFCBD61DE9C83AB58A593D727B6EAB8217CC38FD5AB57FF1DBF78 +01B4CB52D6E888339B00FF527F839026787F743EC13446C2B9BC6C73E24C5E75 +29AE3FD77A54E341F0D40DE696FB0C11E12252BE4B039A80618E1B9C824744C6 +E918CA1230C1A1B389AE706AC4E4974A204854CF371E655A80CADBB400DD8F8D +A6C3C168A237B5DD57E69FFFF2D670268242A54A2A30DF8EE3D6802EB60B8568 +F101F3B8081563E133B5589666278217DE793AEDA75F72A50A558EF3C4E2DFB7 +6CAEF16C7FC19C7C2EF3A1288E1B77064CC245CB799CA5DE7D709C1DA186AF22 +1453CB15AED504F92D27201EB935E397D85983135B606265449423D878AD8B0D +C53B9461A91F46AD34F5CB1A3A0264B6305C01273C84CBA9761260A30C36BCA2 +F9CF25CB60710671DC2EA7D9D48444E53DB4F4FC0803BF617632C87EB04D54EC +B729E72DCCE2B88CF6A4FCBE878615FC4A1728D456E911F904965FF49CF1CE7D +69B4EC40857946FD8A761310B2D2AB5B753D6A47C11C789D682A23E7F80416DF +4834804F7E600AD21CC2930429D479319E970CE129AEC7AEEDB3CBCFCB311693 +FA4F4C645405B6C9A6C5DD437F6D8D320C36DB8C34C8883218B913C3B9F3787C +DE794BDCF63BE1BE6AD878880243BB1F5DB700A5FEBEB48E8778827FC428A1D5 + 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1310,25 +2174,41 @@ C80EC3F7D915376410FC4961F37D73D13268B7E93C8B4F29880B535D14DE1205 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTT9 -%!PS-AdobeFont-1.1: CMTT9 1.0 -%%CreationDate: 1991 Aug 20 16:46:24 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTT9 003.002 +%%Title: CMTT9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup +/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT9 def +/FontBBox {-6 -233 542 698 }readonly def +/UniqueID 5000831 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT9.) readonly def /FullName (CMTT9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTT9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 33 /exclam put @@ -1418,416 +2298,570 @@ dup 124 /bar put dup 125 /braceright put dup 126 /asciitilde put readonly def -/FontBBox{-6 -233 542 698}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E -2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279 -650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35 -F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A -D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E -F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1 -4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A -438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD -BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B -A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641 -AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74 -D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB -CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A -082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980 -9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0 -4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A -9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F -B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D -42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED -F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328 -A2C69F817061D6C60B121EEE844CA5008F23DF07284565BBEF0CE7F1CF6FEF28 -F076C9A548815E85D9217BB252D3891CEE88E98C74015AD579DAB8A8F3CE74B4 -E054D34D0C8CBD8CD31B76ED594A67C314D947D71132A546EFF9F0A1D5C9EF00 -1935D169FDC0597ED3C84AC306B76F096C76CF2415ED28833BA187E53992D4CF -7989F353CEA37B66136E61631E21C0C94A66DD92E36A668D781331758FCEF642 -0BB4EFC8FB6B340077270EF871B3FA6181714DF7B1C4F31E0A878E8A80F17303 -08125D405932EF6347F2076FAEAD5AD3B6BFD37FBDA386349E86AC43FDC075FE -2F723D59ACA1827B7411FAAFDD192B067D9ADC43837A4AFAA44A9B9977F38A40 -B455394BB37FD42F864D87FC6354472FD07ABCCDB8ADB91920F4499E9FF9CED2 -7BC068A35B1E8F42C1D713435484F507D07BD88FCDC2AD786357212007D929AC -91739C997CF60059723035D8118760650266DE84D67BBFFC8F9160A6047E1872 -543B2E6314994D0EC2239A0B392E4E063B59935CB1D746CAB6A0CEAD5C607BFB -2B8D8BE15CABC61545AE4B0ABF52D5D6D4E79676D54319CF5C372B1620FEE9A9 -ED112E8EB0C9926D241005CA3E0713D7C404A4E36BF2CD40ED1BD929C502977E -5519DE3613A4BE33C2202BD51A2931D1B8DF61D0FE4D579E6F0AFE9F8BCE6B81 -620605D3B24BB4E759D444ADE5D414C358E01BD56077326338059D3E072DFC6B -A73042A5079C5D208C68919BCCB94D915B85FDCFA99307121D906A6644B1E985 -7BC0B72B5AA099B6FE5F136CA1D3858A24B67287A286F3A33A14BE5CC6F58AE3 -BAA95A683081195371180499A2DE681E8953092BC24A9491AC8C12135D697161 -9594262B9062AF226ECA469B31E6D983B52CCD2A3052778B124C897419757544 -95F0A7BB2CEA697A5591108D7C19C0AAD06F64A87F5582E0D48587D39701B3E7 -D9DC742E6C7326E030335E0617736614AE8EBA185F40263E79798C73924DDC32 -19CF344BE4EB06576343FE3E443E2CDBDE0EA7835C0D2D1151B4793C27A1B1C5 -E1AE0233C7A19CC23FA2CD07A3D73B7DB2EF96104D94B2F62DD3FB7277351A9A -52A0778A3C83656B338D3F8951BC5A9BA28002BCF4C4815F119C001F6D656924 -FBED0CD9A28A0A49E200A3683F91A705B6847EBA41E47B65AB0905F91F908157 -0172210E075CB7EAED23A3F51147394606C02F9667A5DD977C4AAA8BD09C9294 -72C2428BD937C93EC6BE3E67DCF4928A2A96115EA1A98D6B06658493C2370E6E -088E8B181E6542974FF1C51ECD7FB084932A9931B33C7ED6DD22C036829979D6 -760B78C1F08BAC053C883BFAE5B90FF2C1DD429AD5613D9EFDB35501069B651E -969E59CD89B214F252D6E704FA00601F2ACC744AD9B38717C0BC0DF1E6C6DE99 -069E1E16FDF9CB81D9EEB02D27AEF5DC382BFD68689EBF58F644C0A3341F0529 -9DC677EB851B300E80519FFBCE90300F2D74198F9A4615C55DFFB10540066F5B -DE4597687BA06A7056467B5B2261ECCAA224BDA8B26FC76939AAEEF3D9F19909 -A639FD5FFC9B7EEA77FB99359A55F776D7AEA05AF8F2A58F3D8D683A75C46D8A -14984758C7DDAC37182186FDA630FA43754CF09E518E7760E073A39220C423B9 -AEA6962C84B7EE1389CB8ACDDA116A15A28D48F630685888C05D40A5E2FC1D5B -A1CA6CB880CC2A3D12E68BECD474AB71B601F84047B8F653DCAB5D752D118A15 -05B46BEFAF68B6575E2C24D26DBAC139A29A218042407609D1DC5382C116A77F -B793FC657596D3BE2FF0A30E64488A8749A6051209AB4C9D723442E1F16E66B2 -EF043314E1DF470B2087E9733337B61438E9E730EF61917F094E067457E52DBC -3CB73A61F5599D3F80BC3A30EE2AED6725574804BE163BDA713BC2E16E8A1A65 -293D12C2191AE91FAC7E94A6C0BFFB3F0870DA9EC1F21A9E69654B72886FB22B -6E603A7F31F327CF361B89E1C88FEB1BF3E537DCC0E82E4FE3CE976FEBFF885C -3070D236A7CBB2BDF557C51A5F28AC6CD527508AD903481254A7737FBA4A0800 -D9A54A384C9E5979020A9609D6190E0C24C4D092C7D0B09370AFA5EE3C372ED1 -C3936F20543165F5D70AA0D4CFE2017239954E617907FD9C72AA9C2FD4C94279 -46DBC2FCF2788F62EA5C8E6B16ED355C14C5DCED3A04E276E22268F7D80DB574 -932937B1DB44D2AAF4B8CBED21BD3DCF7C620B115ACA9BF698AAC602BD0BEB65 -25890BCDB375DDA7C8807E43E534B849C21FCB75BF960ABBAD8561902C242DFC -B2D3AA455524985FAE0CBBC9839BA84D77B3EC5B38D378F4C203AA48BBBB9757 -809648484684C95DF804ED2D29F672E4895BE54B821FD25B6C57EFD164DB0E5C -7D178E57DE47D2376AACB150C60D986AA7C3B23392B7A3C7C8D89F86C98BBF80 -4CB51559D210251588340AA851DA3176CCFA61F8AF643A6E52E4109F059EFABA -3973E580FBFBD2E75B73D7FF70C13D1394E187EFA4AF831B5A6876B3748A1CFC -2F642F3829F5699C0DCB3CA99B2FC34176C6FAA943813CAA6A52CB170E87A1F0 -E02DF9C1243E7B4955B4380B6D8800E832E2F799FF72F2C0A3A373F21C43207B -68A816147A46D8B4070E96EECE7AB0FC949D0400EBF6232EA7CC9A81BDB0F7B0 -886D5A1316A9636D779748A7D8E70B36A3AB65967C3258621100E0D6675376B9 -974959879BF814EDE2E764C84077561C357D9B427C3689243BB73C1B49D69B1A -39379E3E0C57C9ED1D8DCA2C2EDD70652020773518B16AF171A14C77720EE361 -B3E79BA06B7B4182A2148356F0D7038E6CE2545E13142C93D3F20F430A927F96 -4902B1A00579EAD4B2EFB6E7BFD074D41A013624A088412D9E961509F1E0D60C -BDAF336DF7FE2240A21A1C16FB2E112A550BB4700A61918AC6A21FBAF2EA2ADC -828F356BC995BCE890CF78D8F0071DBBC47600589A65AB58D5F3ED6F0EFE2C09 -F8182026A24F645830A19B5A14C4DE5337ABECE46CE37EB86D21C6B7944F8C65 -BBB716DFCFB8E7B3885B85D376A69E5EE7A8F7029F6C89E4C442517F66DE9353 -BBE7C67FED5D1BF039960B1169BCB617A99526E7920BBFDCA33E11D279CD8AA6 -A7889AF9C8AA7ACD334E3AE2A4E48C33F44BCC96F3D78143BEAEF0EC9FA357BA -83153E31EC162FB03998063DDE15DA5F51B261CBFC82690C0D4BEFCFAA5FCFFC -E138EBEE9F4DA0CE076805D2FFD37586F1F45E7DFB68349C4173BC7996794EED -EC2673224C40D2E0FFF9707F479745EA603BF93F6A99EFE10C7F449098DFE0E4 -0089BC6533A317F51A4BC0EAD3314DA8CAD24188DF1C6570C6E6DF36FA45ECC1 -39DDF72BE39B4A5ECA23D5E09DD856C10F0D3F25D78F8478D57669085B1D8124 -37C0E20DFF027B15614458F86E1BA3C655448F2FC6AFBDF333568F3704149C63 -E394A7F98322B15FFC5DA905ACCE397BD928054E48ABC3DA121B0A182555A109 -F014E0734D5AAF5858048F49F0B324DC77E060417B54F3A7060DE4475774C5FC -77E7F583918AFB6E7C6E5AF0FF6708EA61ACF225DC79FB5B19AD288B4E2174E4 -A480A30FAB2617A62FA296825CF53C8EBEED170F11EFD6D4917770D273604800 -F384DB40581569C5041992F4EFF39079E8925294D26DFA83B091457E1E8B8B26 -3BC281683D4C19E29701661EE43DB860177E24FE50572FF9B44186165ADCE2EB -FCC16E4D41DA9B0495133941815AD4D559F070B3E05AADC78D01CE604B260AEC -6508DEFC3661719C04EA4F348B21BDD60CDA9EA543BCE78C2B4C85E870DB0B13 -2FA544ACABC56E8ADDA9CBE7FD8FA934C9AE1E0E998402A2CA6EF950A722F550 -6817C340EEAF4AB987C0AEF640BB2B739F5B21A96ACA55DD1DFC43F8CF9D1899 -FDCA0A5D55D2C9F4CF0F738C1D60A216E5ABE76451FD310CE60E485512139FE1 -DAABE87F8619669746C80D3306B8B6BE040F8C15ED2A69191180F3C887C847FA -F3DD9FECE9207774CA07602D32096844F681AD05B79A59EE082B9D70558E9B0D -9C9CDB807773E6EC3EB9BC15100628F961500082D34F2037851BB50546EB32A9 -E2ACE8E919B3A4B0CDC3B772B4670E3D8A23AA5CB70B8887D43C937BDA694362 -630F09DD0D5D759FC52D6464657CB8694E67B021DECF63394ABA00FC5294B482 -E7986938C5A302B41370FAB777A167E19F2615EEEA0B4334C5B644AFEC30FD84 -C61FC154A0442DE42606F4F86BFFBB296FD58EA4C61A266913A052F64E389B39 -00ACF232A472E72DFA9F75DEDC442D9D7BE5FC1E029E6448113EDD17E8F21A0E -C13680609691B776763A537A85F87E4B0AED171C24151F72D63A5DE9A4407FC1 -FDD0FB731C8D37664BC51E050936D73920ACE8F3489470C75732A55C5147302B -1033634FC4BFA63E857E8FCA328E9B7F05D0C0B52627F01AADCD3472281E0872 -F970229A6A64457F49A9BAD409B2FB60B683472212BBB0D65421F72CF3F1C4C5 -3085DB6D43BD7101985C6AED5F847C95EE7C3BC5F25CED1F90BD73A572CA2870 -3207ECA293318FFDAEB6E62B00BF3BF8A74134819BCF8C7ED7F381B3483D150D -BEB0604C226B03E4DE88D7C58EC8C4DB6BF785E03E0381922D29E6AA35979AC4 -0DEBCACC1748EED7BDC1188F32C833D10544CE363D8BA4C1BAEDCB8533BC3C87 -C13A72E1B196E4FF17E364F4161416D54E3E4C81A9F195D0FD825525D5F9EF69 -723E889D8C82E3E22078A8E430B2940329E917728A91D41D834A0B8A6AB146DE -080B33DD7D54BA206BD577952573EABD08BB0028F76DAFD32E5645A0020A71E2 -3503F599EB37E59502A3D87D16BB530007B7A5A01883BBD7755AE618DBA3AF0E -BDC0013822545D40D40ACC23DF07BDBB0AFFAD46FFAA0082AEC302A2A540A30E -DC3DA64D8681E01F744C06E7BD019711CE1AA9C34D60F8CEE96793C3477131AE -672C0FA34AAD8BC6FF10B2D986506E07E0B93CE8AF15BB6F88C2E0F7525F5275 -6279AB8036BD871B0569E924AB1EF44496ECDA2456258128A8875F9C7379A65B -A6E3B1B1B4F7D839E31E682FB9AF51D0F5E16C8C8DDAE9373AFEAE392FFAB643 -8B779858DCFC4D6C917ACD3B5DA3E3BCB41C5F489925D45398709BB202082527 -2CE1113EE58B9ABBE345E1E0B81326A0B5F6D8673F8D916A10D49E17E6A9EE6B -A49DEE9CE9341D60BDCFE7C5E23F2ACE74E2410C8D7AA08B8C87934B7E25A293 -2C009BCF429D4E5855AC07C8BE039BE1C43D88EFC374C5D1D4DD0897CC12C4D6 -832E832670B3AC8810A742D19F2753E07C3FCD214BFD159E68EC7C70777F2623 -FB5A5A493B76C0557970D7D61776B9B10A62CABBFF26AD4BD31FD8B7C7339509 -6AD519595E5D9453EF513F9C8D081D9CDE9BA95864439DBB51215A3750B4BD6B -8224D95966A2A7DE8643A3A4BB25B6D36C4D13832C3596C141B9687C783B42A5 -53393CDAA387B6E5BBD02F8A0EDC987AB79972AA7459833058891202CCB89B55 -8C02A10B0E4B543BBB0940791E72A75AE7F88F74FF4C4F22B0F130D97E38D815 -9CA982109A3D84B7ECB8704F7C553FB8BC64BC61565E48BCBB6F6A2CCC1F5067 -32217F7610347DF4849B4712E02D06908673117D7CC67598DD3B7EEE5C9028C7 -A6E32BD23E40AC3B5CA11E251BC9BBA74A37B4C6E1140555258C09DF0384F318 -8005E822A6801271634B6682938A4265737359B176A9AC91F38C4CC0BBE42205 -9C7896B48BCCA264B690491FF320917C8435649EDE509019E0D346DE9B241C31 -05D5401B68D63395F453D3EFC344948A37859ECF58BFC6B5834D2AE39DDBCB00 -56F9BE5115B8972A8AE8626234CE7505956BD6BF328F4AA09F2FD5B04A6B9273 -536DD8DE5166569A60ADCF27797C39B19DCCA6C928DC8A27C778D57405D77B57 -79A36660CB92D8E0215225F7D0B46DACF80CCBBD1020245B7C728D7F581C5412 -97191889A4199ABE2A0D261F86E5C1004378153AB6DAF5948D7CC2C0D4356B62 -86BCE32439DFDD30F5BAB2DCAF3855E6BB025737CE3FFEB1B2124AA5BE3084C2 -BCF2BC8C54212B75F5E741B66E49D36E51109007076B446C65A112181B42E721 -FF95011DBA1ED7C3349C889A4F6A55C21878647AE8B3615A87D3619057E14471 -04B5D5552CB886808BBC66B2CC86D7C040104A984F3B4E7B28A85FA0E04D83E6 -16877535A40F14FA5E2661D7209212D57B271F009CBB11F4C5096057A940C68D -A2A5D5F2FFE3ADD8AC4B56D73FDF49A8F8C8E253971B74F5F97C9397B6273D92 -1A684C24845A9988D993D26FDD816463B8DC021381FE041E8B39FE1756FD9ACD -93EAF3BD313EFE4334BAC1D5C0BAC7CD96B54CDAC088761FC4A712693AD9E27C -B80042A35B024508831EF37789426A50F7729887A6136623FC72C79EFF02AF92 -C16EEA04C8BDED4E36F7168A6663943677F201B42C6FEABA4451E656F125A768 -71B87E37395283DA33EFBC32EC3CF594F2855934501511D0407F0927D6AD83EF -EE8ACC2218706BBC1EF73DE12A30012DB5AB7585A1111DF2F806A1454C0E027F -7F8A1A20C11F63D5D819E0880D0E0D5FA865CAA0A6AD24705F484CBBE6112CFC -798587925A0B7A7DF5D0A6040B86EB87AC0D70A5B59A109A3BF7EC528E585CB7 -32403F77C45DA7A4734810421F50C25C72FF0F8414F5335789CB749E4D20D251 -2924278C9D4E3ABF5F266A56BECE755E5318C0B37F7F058CE78573914BCFD5D4 -6B147AE4E632C737C9F399F3415914DD3C57C05C697CA13DEF0696402444382E -42257875079560216373E8D049C53D40CDC962D910F62A1D31AD6BE38675D993 -1CC639034FCCB16F47BC2646F9AB7C9A0EC6A6F8C5CF7C5CE4F48907B3734A94 -66E1538A7CCA5A25962D3718DAD9413D4A83FC1D771ADA62BBA18B61E5C316AC -5A5FD60E465957FB57356D489B75BECAD72BE7D8B00E698C638C8559505052FE -BAAAC08FFC1401C6220BD743C1DE9BDD4394EC43301B1286E309E82064C9109D -86EDD1B9463464DD9802CDF87F2C69BDC36FD716070106836B1F094395A237FD -708CF182D7AA177F8035BF20112A89BFB7C91782794BABA06AE5EAE132A409D5 -5495ACD3CC44115FEE36AC1795E5FFB697D5FFDE200CAE0D9F05AA17C290CEE8 -50D4C49C9D454C5B0478E34594C670D68D07AFC5F43DA79BE491AEA1E9580198 -6D1866D7C18D3724BB1E816138866C7365CEE09A417E22DE299410FA84903F08 -930044BD6190BAF3EAB5E6EAF5B9D1ACCD1E0E815842912B294B0AC8D005A107 -699A8D4EA623166AA426DBBE2C40CC591E079DBC45FFF20601D117CA0A350F63 -BC78A120D41C128945530D42C2EF749883C3398605C2FAADE077185E5C00397E -06C2A11F14652CE4C4EB0D2F2D03574FB8B2ACC245F8A574DD8179ADFDC0E33E -CD6485343FDA2B9B93A78A7E5A66E2F124CF7FDA4E7E1ED950CC26252B75F48A -245E6276D3B2B57846E33BE57F199E5E8F2CC4FFC5C8AC892380A74A34370773 -D5545F0866CCB2ADDFFA0DB418FA6603242743E57A6B3865C91D1D2E58C90368 -1D1FDF0EA982DE83FB982AEBEF6B9C6C892A84E31B8F01E789F13D3897594C50 -3CA25239865731A70449CB6F5FB17E27671156D9B5CDEFF26CACDB53A6FDBDC6 -94D182A742DE0A6BA0A94A97285FABBB33978BCA5CACCDA547B5E2B94CF5888E -F1FE5B08E538E181BEA643F837F2C8ECF2F037AE2E3BC799736B872356ED8540 -08132496E96093F6E54D81C839110668811AD8EB85FCCFE57BDA05B3BB36C49D -493B8FBDEEED0A75EA7725F47C88877D3203463EECA12DD006FB114ED670CC01 -5B833EA5B7A2653F6EDE65BB4E4814462CF57D6DA21FCB31AB047B44AE237520 -A0985C465901BFC451154B1EBEBEA93A52426A431EEB4E5B67F09CFBED73847C -5DF607D9B0F652E99D385AE147EB9A4CBC1BA1F8FC0D9BD0950FBB53A0E125EC -5D309660F53D33CBE34F9A8DAB9B6ACC925FA8D5E44D4A925E832230A2E2AED9 -70BF7D0E5F72FFF045730EE23559EDF57276C359D7F4FEA17169C003D8913B18 -ECAD8580AE3216DA2C272665B7E884F1A324A42C3B7198AEB0CA29CC507F436A -0E2F3C844CDDB13A7F08BC02EECE4654B65EA5260C79E6D765BA727C67A05F2C -E859BFF7257A98E7417C6028C65162050D75BCD3204C134033F1F0238979E3BD -16CC87AC37891FBF6CDFEA5F597C580DF2B97F40B30F1C0C3BE5BFE17F50E9BE -649A7176012DE190C87A9A121E0D6FFF8AF785A9296F870CAC751D6AB615142B -F0906CA484D5C6C5FFAA3AB1172121115DC0D6320050D821E127842FDC76E794 -BD15784EF5BA1F9744A5C7E5F5B1C13C8F6A589CE09E34E84E32BE17E8F0A7DB -0EC8A2DF7B42875183FD7203C3648F71CE2E922A523C4992FCF2B3B006EFD0F0 -80C915358A2840CAC25EE98C63066F544867C5DA5D0B38972A30407040210E1C -6521116F8934A475CFEC2EF86FBC3B6D4E505859FAD7EE1C146ADF6AD5BD4153 -9A74388B6E82534EEF4D974959E1817C79F5ADF22EB9FD06B8FD1F3AA33AF4AB -EA293D18517B8E3BB1B188FA33216D2287C8B3B76BB1E1F0B57CEBBC7BC4A33B -241FDC73F1462AE72C85F106C8DCD6258F98522D7F679770931D8571D1ABE54D -4D7D7769C2DC95F8D76C00E43752C9B9EB6728CC52FAD9F0F970039C806001F1 -1F7B6913ED4DA7DC3354C8AA50396ADF00244F235947497731EEC97B62CEC45A -314626A50BA9A651A2DFB2CCB98E267B4B99C4444BBE65B685AF3F75E3EE1823 -3F342FDA1D96D4436C250B2CEC024297689BA42EC47976147E5249DF44D211D2 -A115101B84AC60D85C6F4E0B0FFE40718828EBE248D3528F576A7B09327BEBF2 -75F1C0CA1493627C8CA4CCC318B4DDDE39D19DDE3A3512F37975D6607D13E890 -46B2FC2C190D6BD0FDD3DB46E0828E6FE14B0D4D05004A39742BB0C739771A79 -30FB99D67E3ED9C6D5945CB68CC07445F2814BFEA35E6EC66503F72BDE2FC89C -5AB15BB82D3621AACFB83229AD75D7BABAE812DA050256DBEA32811132BBD3AE -30705DAD3CC04FB369577D6C6A47234D64FB4B65EFE732507D634C104A6D7ED5 -011925FCED5E9B0209C1A6FC7E2241B5AC0137C9B02958DC49BF1ABEB4510EEF -9CE5F52B8DADDDD7E2DC8239883D8E464E1485CF91F86EBA1F05C63EA0DB7D70 -5845A5CD291C4A7DFCFA0485F322E6F6169370B901BDA83074E03E3A7DEF6A51 -D747A4CA0DA80780E5C7750FAB43DCF65825CAF4F1384E732A82B41B7BC10D1A -4DF2D164ECBB5A412A2F661AA9EA5A830B9B9FFA9BA28F7C77B4B44630582D76 -21729619FBE1855B765AAC1D1FC9F210015761110204A1DD1454BC2083E0C0B5 -302ACC80661F07A4E7A383D4504765F1BBA6453656EF433B057745CD4B3188E7 -80B1D64743A3D8D4C833DFDF1F7BE62DCA2E8F19B2E6B42B5824D9DCE4D25169 -B1ECD48AA770DF10B8CDAF0C052B74FA492C8F1F32B8F6653AB71E89C6AC861A -17FC1C2521C3F13D51C8F3E8A194ECEB65D6E378DF77CA59261D89C22F447ABF -F32B364C3317B10D7D4BB125ED13D2652628BB000C93FC0858927502959A08DA -7D7DED2FB05F67DC4C8FD57FF0557DFB41B3B64B70E6CD4CC2BB1A93A9871C95 -8AECE589604D2728AC560357447712D6122A07A718A120192A05C60ACD76AE12 -A770F2BA949E7AEBDABB82DF856FC1B083D94A4F33E59133FC5852C372B3643C -9C9FBCEC3842BE87407FFBCC197CEED5288EC521F8A9FAFFEE7E621ED6F7C4D2 -018B324E40D9DA379D44EA69CCAC6F6AC4B60496E1516EBEA89C3C71154769D5 -2D2DA6E22735EDAA07836CA0D80C75E746A5E10352C7EE38B7194AA011DE3CE4 -B0413B424160BEA8D036BBABB5F6605AB502A8E025ED1DB50854EB564A7F2EBB -20A7D53E060CA39C4DE5031CB1B559F693F8DBDA03621F8F6082C8A23FC06609 -686E9D71059660B2CDD0D87E76EF4F72868347621992CE997D5BCFFD098369EA -D5D393857D30B13A570FA6C7DC6EC565DB0CA5CF839B7F775D14AD508C52C5BE -68CD329DD680503B8E76153A134414DF249A260C80D420E6F58FE267D10C3075 -5BA504D55FADCB03FB567111B64C5A307047607042D3BE73070A6C41A2D5F430 -A02548F6722C56FD30A0A6D29380AAB46B0A3F0CAFA020D5CA4DAFF00B73A08C -568A14A89BC0DD190355AD8F346A5388EE11B5E814C087DF6BA4F2A2A3857706 -0A5DBE5A2FE2E5EF391238BDD884EDF8DA3161988BAD084968492F750BF85D97 -88901D90F27413763D1902690CA542CAB1A11FD7FC392365B20DECFC51642389 -F2E82AE2B0815F2E6D642AC005F9D919D27FA43164D322F44A1FF72811EA9E91 -CBEC140B38E52320B3C2A3E99E12E10CE5B416CD56AB3602595297FC4CB848B9 -8945B09267554B9810986AB04EE880C31B33DD65241ADFF147AD5FB644E98775 -6CCD3DCF3791960CCF51C263C36BD3CD0DE61A0FA8700F94117F8307FA253427 -E64AB799D6CE27239FE3BED969134A380458D4869F9A3D23DD026B21222ED323 -BF0C653347B5D80A1DB74D36CC658EF7DF7049E43E109E9FA712CAF4BF60B32D -E82833CD3B0A264043E27F8A4BD73658FF982D2B7DC1813732714C8F3E07020D -4D729A492CFE3E9F1F4BBC73F5075B25DA735CDAABB9929DFA59CAF06FB32A6B -0DBE4039E516EAFA6D4211397F55CBA368286AF6533707AE9C7FA9C92B3980F2 -6D535BFD1ABDAD8F05B41280069A5ABC2C10E6071891E433C372F736A4F82DBF -A442724B8CA4D1AB913B61CB402BF3638124FCBEED4775219ED8FFE18F26FA11 -46996E807D8F0878537A5E0B202F483ADDEC049817341890CA0515BA9B50EAC0 -D9CF13366E88F2729552BCE9188866A87E084CCC6BE773EC0DB26EF7C84687EA -CB90DFD88A492C7A8A495018375B4FFE2D8A1D2BCAE6BBB4239EF32990ABD96B -9D1FFE94585FAD705AF2C7C5D09F2410536B7BC0F693D2C90BD10E6D1F21F0EA -61B449C48AF9D8DF6B8C40CF3BF5D7AE960ADEE9031B281745FD7E0F2A1C2067 -8BB23277FE5812392A125282235B1CA921BC6D8626994432EA40224D1BBF90C4 -AF80AE41EFA1F501CF0AE7C8CC1AD3EA097F6512E19B1977313B2132300CE351 -14A1B7CF795537B74D83202ABC1F30E246439CDC6853E0E16AA67DE68F91104D -C857A19FD19266774A862AC4EFC6B8012E3734599BF62A2A10987D8E66A12EB9 -0181C1AA5029214BA6C1CE72932E156297EE549BDFE0E400EEBD5AD3E30FA623 -9BD16275D2C673DD757D458FC58814703E0A310658CB3492BC286E8BCEA52119 -4D2DBF77AD22E9E6653DC9B5ABAE4F1699B0118C9328DED651229B82F9C2E674 -8039384372131D1F9C6D3C552ED0E55E88ECC96BFF158D0E13E5BC5C2B893943 -4EB62EB18C0060496641E9CEE93B02E7E5FC55717912E69C015F689EAF43994C -5564E5A4BA753C26315BB868BFD63D9FDC6366679ED1E867FF3527B9A108C907 -FEB1E5BE95D81A49CB46A927F47AEBAD027D728F4869488F3C2EB32A91BEEEC2 -57C0FC84416812685BC269B819650C63D7E89A7B400655A7B9937D57E1B3D66E -CEBB750F0B0EC52CB33C32672980674F983E8314C49D634C541015D18A602B9E -3716039734F351A43C35486F6AE7E4F5E3EF509359AF01F32CE9992AB4AF5876 -24FC19965F574FDAC74535F0D24D5993DD90BE1B308F4D5C9EBF21A0F094FCB1 -0D583DD7B3C56D9D2A5C620E8B993838E73A85C6783AD86ED94A29AEFA298CDF -633CCFB27D5BF4F84F709B5801051BC0088ECA63E6D02D4EC74C2CDABAE14713 -4E6D6FFE4B4F152D14AA973ECE9B09DF78D4BE6B5FB62B1876B1AE7D7F94F61A -D82296959CE171CDE1F5CEEC8DE98A8DB770C428373202AD265DBC8DA00AF665 -15057EAC78B3CAFCE9409D1675D729EAF2C7200FA1B20B372C223DA8C6ACF2BB -2AF4D61985A52DCA98AB61055DCE71CD5C51A5B7AFC46763FE243F1895F8F915 -CE65F0F6833316F5B8294A9790B8F9DEA0F7B2BEB452CED4662B4CDC816261B3 -FB1FCFB4D6A2336EB40408ACE3514509AE32208BBCD952F54AF37DEAA18F44A2 -77AEFD2E07027EFC96B9A22B30FE1D05AD72A617B2C51BA0B3E37F91548AD129 -0A1674D8F8E36D190690E922D3E5D4A11F4A8C1534281EDF1E8AE1D4E7D3DF52 -9A7D82B0D6E73A6A2204561967132AD8150C71A83889EF70744D19C8D2A50989 -1AA29A536DF571345ACA92F4C0767D0AC410561E401FC8E4586A15BB59EF78C8 -307CAF4461BFCE1E5A42DB8505EC1E6E235CC7286966008FE81D8AD2E426E78E -3E9B87BB29B224148F8425AA1B8EBCAFC7070A950920D5F81E498204B5068AD2 -317F664F717AE214FEF8C91DA5F834E7527362B9691B0939A917CAB856831BA7 -AF3268CB4364E8D2826BA3EAD0718EF3E96ECFCF5DE78DC519547EA0ACE1C2A4 -81CD9E1B5613742DB05BBBFD2ABE366A10FD8D90218D738BB34C83A1E4CFBEC5 -D4F8497FAAB97730B21AFB5830D926F2AD6EC81913418DFCAF52393CCE81D23C -E44A38E63AA13F0B05625BE4D681EFFBCBA426B188D722EEF511F5F710988231 -7C89CA1D041C877951BD3666F39CF1E60AFD70237C94DCE0AD24C9A8E3E0E55C -DEAA44D7A654B0DC255B6D1CCDB66B495705334B509879AB4CCBD9F388DEFEF6 -C135B0875658508E2CEF5AB1B1B67EDD2D9B2D8DAF3279B13D088A1A8E9BD07E -9E3E08CEFA9EC5647AA804D126ABE371F5BFE161A7705A4EAC1F41057D0F2036 -B7001AFE5601544C76385797136B91E24364D630AA76DCE510555A0F2F9C3C1F -21AB51814B579459EF58FA80853642BD9B5C61316A44BBBE61C5924D6E2D5E80 -923558A516092C344820B2FDA303695788847B85F382C9AC7356A19B8645F449 -80B5B0A28B148D3B9FF349A97F43FDB668045D055C6F58C3921A8A3FC3DE40B7 -06EEC36786201502FE29A5C31C926E372D0139D2957C7583CF44D2FABF004DA2 -5B613B628210876D18DCA2A9DE7B391027451052B2A09C4153BA2455467BF428 -0DD26997F39C20F41DB43DEFC5880A9FC2987F6E70614403DAABB926ABEEFCB0 -36E2F7B53B9E0AFD3B17944413D3BF32423D4985E540358EBD3CF30B2258E593 -F4154FDB13A2459F51CF66E30973D066ED04C9A184884AC896224C7E8FECC19C -36F83B76826342A517FCDEF4E311B8677C3C3725B048779A498824D9C59952F9 -5D3C35A9C1F46CA02D096152C3AC5B909EB015AA346B72AF75F1DA75052280A6 -9972EE1E02B403D8FA54E303E2795EE7CF99F47949AC1BA8EC0758431E254BD9 -142AD913FABEFC32B5869812F13768D9DB84A92B5C7FF5E36DA2E75121053294 -A32350523F7B1DFFCF898CBA2C6D5963101F5072FA3A22B4B1DFC952160DF160 -77E432EBE4D3789DCC63C6DD72FD93F676E12E0B21ECB97E2D3017103B98D354 -A7272639DDF42E8260DD82A1FEBC06658575B3AC3CB95C51C7725CC878EE4CFE -2D22057854CB47750ED829F15AA969B129A159188CA695DECA2A7416FD750656 -6E38F5CFE680480C8E35FA71CA8879679C5F257BA9708E48ED5ECB8B7C01FC88 -411E872B7F77DFD7CEE57F08811B89DD7671F76BBFB15573074119CF723359EE -3B1C3B2098F3C096EFDE8DDCD1F216333AD4746D953727FFF976125BD1B4C887 -79D9432C118F5D401B427A3CDE48CC5DA66AD31270AF198330E55F75B6D4144C -EFE163FE0025D5BE51D31C881913DCA8A0E7642A1C052A427CCDB71D0D5026C5 -F0DB66B54EE0281A4EE924FC5C803B8D86969793D0CD6D8E359A7FE2391CBDBE -CA9D350217AE564AEAD14139A46C74A780E45BB11986160B42545247A0205F53 -A4EAE8A5C5C39C4C0EBD18715CA92BF4D9AEAE8870C90B9AD239ED31E291C0D5 -DA1B46F9D15B3D0AD0B83281AC2D9C742824BD66B1435AD7EAD5FECEBB47BC6F -354C4271653238ACFE8C3732C575FD574AE3710BEB0EE8A177AB06E715306A3F -6F3FFE555A2D1FE8832CE1F7E34F2D9D25F6CB04002E382E134D9E2714401A03 -8BA326501CD838F7CB060A568C339131F0239DF4CAF57B0F70FEF6E18B229CB6 -7E6B90D2EFE57C053763CF058D472CFA3480CC83F8754DDD38DB5779E0A10020 -4E1D8DB91FB515A5F62353F35333FE72FF99677B51073A7C62854A1A4F6447F4 -6A3D422DAFBDEA495979480E19744FA0176034AABE57E98540A60990F7CD0B31 -0F49891566AED89BC704950DBE56C594F89607F7189B690AD41E36E8EB3F62D2 -5F4AB75E8B5A4AD772654957C02510A7332DF9E0FEE697BF5D3B0A027FC222C5 -774121ECF991C3B55755AF3F448C1605A75DD7955794BD090490BE50A6628995 -1C2F50B25F50347739AAEE9709D2295B8542008C4C6C7F42EC7F1006E50C42AC -9A6DFEBDFE541798C9FBF291DE1EBC14407349300A1266184D165BA45B1895F4 -B659CF40733DB9C6169085DC61D96BEFF0291572557BB39B205970F98EAD6E8E -F3CC19E1DD13547AD53678815EFDA7977BE7928E28ABECFDB71A762ED37B6D3A -9FCC95659715C47317885001DD00261D3AD0E62AB66BE5879427B578F155BF43 -7FB452A8997B4C032170B4AC96B1503C16877FCD5141F0CD1F2C0A265755C548 -FAB6C2B9AFBB90405781AFEFAAB65A172DDF50EC77DB40BCF2C3499B34C44E07 -8E56763B50FFB88985249DC698CC7A338B297DB6FEBC7016B580BC019E18EE78 -F2243FE7B78722F158AACE4B7CBF3F631CD38A49934FD79862B78882381C2CA7 -B52B19877F148B24E336A1105C26CF30AB1091552C997CF4C58F8E3C784448BE -20CEAE23DF2353DE4126E2A541AACFB51871150ECE62F031CA1F6C62D744AB72 -9374B112537F04B3C8B8836724BE1623F5FB11EB83BFB86CDAC9C2D1A6BA4DDE -5B8A0D52D04FB27A50AEDEC8D2ADE5C92869C1714180021DC255EC9293C553F2 -6D0EBDC24351CC3CA028E632236F5F33E659F8666CF0E991B210985EC7BD45D2 -652A601686699EDE09404A423BA6269580394F8C416D924FE5553EACD0580478 -981D4BA194288402277F5EB318C5607570C1C13D7C05B094E996C6B204532541 -58804F66117E1BAFA3FC190641E5E973685F1199E93BA30B2E21E5E55BA9AA1B -8B23A4EEC8E48F3BF1DB8D2A7D2605C08668B155F7ECAFCEBEBBBAD52BD81D3D -6AA3DA75C1070CE27A115FF4CA9A53AE9BEE0BE1688526D5300A853D8E1BB518 -FD612A88DB8C1373F33E0327A5F96A6A949A1A1057F7D10ECEAA6A30737FD126 -8DA97AD95733503C77DC89565C339410019F51910A7A387D9294933B70F4B995 -2C85427E083438743D4B121E184A294CF8B68F60441E89B2769218F1AB2FE409 -127494C22BA1B86A19617C8BE730B10839A73965EC81EA26410821C88E1AF123 -DF47BE758A311E9DB30713C58EB11CB21228C37F8124BAA72B4A257FC7A3BE2F -5DE92314C63D6C29EF43679AE1A6AA2592A8B8F4D261C3913B28C15860A48C61 -FB6082B4CEAF34D8DD48C5477C9C8FB7BE56223157819D5C4FD194AC7DD12CBA -CF445BDB1CEBA5521A71CC528B8E9A03B6D7E8484B033858C27185EAB563D12D -68E5781E3C32A751A3BDC8AA61E2D12A30EBB63B0E65D0C094EBA423CA4F93E3 -4295EA088659ADFCF8D4C04E1DA8662AC56AFB1DABF0F02A4202FAB2834BE0AA -57C78548AFE9CEB728B466673B8281412C3543A74249CF3BE96290741D34C73F -0C8A0BDDE88A751B6C92EE0727A149C4E4897C32464A04F4A9850034802B5B61 -106771D35A0F38A8CCE154ECC6316765A978DB5FBBC40364ED3019277501B797 -B3A82E1A24D0C93B275F62BB22CB13A0870C63E5C17DA91D72A70AE8D8A9263B -F4B11E811DB061322330995DAE4BE9CC77FB8D52EFC409382786DAE1C5FBD89B -976E2C2B2A7EF03994220A47412072DB4B6744A3AF3C8BB7DA94A302A122D2B9 -69603F4996EA7A90F365DE594E09D54B156B5BC62108199052482EFBA2B9509B -80B98030C8A598DF3DD137A980965B6AD38BB36E90468724D3BEBC97470422DE -62D043A0682D30DF47CA36917EE1166E48C178D9EEFC9E5109B0889B3ED61E36 -8FE08EFE67A24856A8E298DE721AA064F68BF38D8FED193A93950DF9D83CE52A -4C70BADEB5626DCC240C798A57E365897DB847E8A1141D2B4A7B34D726D6D9E4 -D56B5D4312D5AC01293A55362A6A7AE6E3221CDE683ABE93D54C8E0421999CBE -982FFCD77D88A7A54874D9E1B3802295683215A15B34F0E6646EF35698253F92 -C9BD94E6CD758647558A130A7F415C32DE5ACF3E829E432FEF4400C177C96C2A -6E43AB236B9E4EBFE4579B08B02FEBA3660406FD3157E1B61634F066FEB313EE -10567E0E52F0445CE2A072A3D4E083DBD64DA04A1EBB2B0D6D131E85FAEB529B -740879214E838CEE99F5E1368B2DC1938A97D9326758B481FCF4C97BDAB3EF68 -25F79B7C6C5CB408BE2BB366D484B258656E3C070D7880BDC1136303A72E2459 -878E53FFD9BB034A84111A2859FF255244E202F05AC5EBA37F8B352A592E14BD -7913DA80C69A0CA65F25BB70783BC3AE556167556B4C5E382F0B84462EE0A51C -1C25042F6893E1D1EAFA8E71953AC764C7473D906E5CD33BAC2A1D0D594B5B51 -446884767B53AC97229DC035CC5A02FAC222AF9D9D4F2F5B0A5530AA6C5FE06D -999D45751D06754600BEE6A778B77CCFD4E00573A1CF1B8169BE1A281FBADE26 -11EDDE9ADC6E0898235D656E6DD0F8966B43622F6AC7904DF39359EE0F3FF7E6 -BFDCCC2480ED79BB17E43D5BB79D0654AD92A5F3DEB90C8AAF2008F8263EDF33 -FAD8329E487A7F31BA46C3F3DD6220153131B305EFD23C10908728A86FA57F22 -47C7A224F7A0E0776BB8A4FF7E2159E7DC61785970FA25ABEB7B11C100E49175 -2EE8346B59150535375D99588830D943FB79CC7D076246EACA26055990D7C8D6 -BB8928AF10FB92F769F2F85DB4280D8F7B39ECDA06C8E18FDF5B6ED0C1E5299A -0C219BC1118AFA68A020D8514835CE357A090DCD39741CBA75BE62ABDE92E2CF -88CD97318B616EF0D6B11A21502354FC9E69A1D4BADA349A6D3D79798B694B2E -8C44A6C31B8348EE672D092B061529EE178739133BF57C766BC3F49B6AE7C62B -781B240959F3275802518F210685EA431490994BCB0CA2ECAECA38F24EE26AF3 -0A4C54E8270196C452F504F9F9213C5B0224F6A0AE1C690338CF83937300C96C -77D4241CB4C0F852E0ADB5AE3E8A456A5B749652621531E5976DBA5BE091A3D9 -6BA18D0F277086B0D773556F6DF40271C8038B3CEE459794AB12FE3A6037C850 -C9C4F1CD1618B53F7A4976BF426288C7D2A41180EB090C9421E8BED372E8EE3F -C4D4C5ACE2590766FBF42B79ABAEE8AA572820C4 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0 +42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259 +4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457 +689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521 +0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA +610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8 +3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735 +C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933 +995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE +EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723 +2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0 +4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC +B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014 +D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE +510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5 +BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF +93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC +F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385 +45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757 +4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47 +088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8 +9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A +09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988 +E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C +0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A +FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C +94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741 +03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF +409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71 +45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95 +39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971 +58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85 +84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A +0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F +F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD +B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD +D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B +3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B +7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D +8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737 +712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E +C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3 +E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA +A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC +2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467 +757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C +54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981 +DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9 +08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD +6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2 +A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5 +336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D +E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB +3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A +E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627 +1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903 +FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72 +A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6 +465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0 +3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32 +CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF +573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA +9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D +15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D +D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5 +15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1 +64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789 +D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C +D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8 +576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540 +ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135 +EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC +9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099 +3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A +1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD +FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598 +C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA +4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0 +CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7 +3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D +D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9 +BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6 +1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D +4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442 +C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D +80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C +AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6 +59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647 +3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6 +14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59 +B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34 +F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8 +54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588 +34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191 +825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439 +BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54 +4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F +66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E +2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF +F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A +1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416 +37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6 +741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1 +39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC +887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49 +B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD +15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526 +5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1 +80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839 +A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404 +BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048 +2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B +B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598 +F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B +9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483 +CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91 +DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62 +6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B +7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7 +D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B +9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9 +EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12 +0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2 +1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10 +85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0 +EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F +D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518 +E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0 +88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842 +E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8 +01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68 +54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A +97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78 +B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2 +D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9 +18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE +A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13 +1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62 +31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5 +408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF +1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E +29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33 +BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B +AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8 +0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D +99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE +480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC +D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481 +FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB +587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51 +A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C +C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C +AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D +AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4 +48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367 +385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56 +8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38 +4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C +839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C +320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63 +7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E +DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D +DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F +461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A +BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449 +1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A +3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500 +0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77 +EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA +AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8 +F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4 +097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA +53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7 +39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78 +77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0 +1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F +9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D +84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F +737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC572551C934 +9C362FD595A429FDA2D815959461B0CC2A804C1142BD91C7567082699B8E274C +6A22806D6C51B7DA809BE9F612EC537D4FF3122644AE0718BBDC6ADEFE7EDBCB +8C8A76CBB280E70ADFE563C01CB9EB828ECFCD365825941C8B7E1B1401AF773E +0D3E8A6F2D62624F8F5FD1EC3CC76254E4CCB4D8E4DF0D5E6DE10BC1FD8BC325 +05E773E0925B6838E0D7ACF12AE32E572F6642EA587806FD2805C9147B873194 +788B8162F3C20C915E4909B72D0A62D4A2B63B3825F96C42625DA10FC0E9ADCD +77F50821EC585193A56698ABDF8822AD65F853F06E4171E1A1AC06E5C57691D5 +90523A7F03DC50F41C46D72151717149566C2D356C1A75FE76619AE45B9CD605 +D3A0B33690F9431CE242042149A2E42BC6A9356F786ED9B7674C243C8AED9D77 +636564B36A52EAC1EE25999127F925F8755EA21272E3AFC856EA92F1B1E130A6 +9486E1DBE81C78914A157EEF0414901AC8BF313A9F444FB2844405C263105609 +9E302C68BACCE64BB7945535F2F9C2872DBA3A602BFDDC2C6438B302B8D96DE5 +F537A714B7D2BF4C8B6915011D38800C0922B7089E1F58A5A6DF1D426261FFD3 +8496FC59ABEF5653D244E51DC18D750C61F4AFE49961F461F60F05664DF2395B +7CF8112611AD3C6BE0D64AD95CD956DA57C6E641EA2DFB4F84B441D627E68C6A +ED7CD840D1B199AD4B428C6FCC8E0E4CE294433A4C8A4F1E498B5ADC74B75490 +60C206487C101F03F8704FAD6B22DF1BE74DBB61631B2426EAECE3BC8120EABC +A4B87B7D1C47DC03DC1F132E4A4671129F793002C5163D5A341BF2339A0DE9EA +F6CE84D02DFA57BBB021EF5B165E47F01EFD7441F57D5072F4649F2C6A9271EC +6333129DC28B1DF6641E7BDE87E27B19D474DA41A43A6F985CFBABDA93BD0C9E +4552DDE651D58874023F062CEF99CCB280E75E6ACD9170013E67ABCFB7765B63 +8D5778C5B9294A5F9EB8165B534CCF2345373D744D46DCABB2386EACF24FBFDC +945B43021D51381512993D0CCE214FDF11143F608964E2E4458BC307618FB066 +D0A09A1D3986B9B2BEBEF6CCB56B060D92488CED8F8657B779DCD06FAE5DDEA9 +AF3DEE61771BEB0106B8446FFF798BDA4522241ED5A3C2201B859CF99E487A9D +6D09F1F4E15771BD8B827C0C6FAC0C68CA005767EEA79C653D10B357B2F35AB8 +E27E9A9E1647B8B0695D9B3361D5C4DD1C8502307AB8D589E8E7730CF4E79138 +DC663A160F8B48A09E2463A3884F7110DA86DBAC85BCDF0F2FB642D3A32079BF +3EA12A6EC68F1B16886B92C447C6C671D056C625D983A59AFDEDDB11F5CA4607 +849A561FF10F2D8AC4C7A07FE97CD0D40EF2FA3C70CBA1003A32B6F1E6AF34CB +297A8161614ECF7582E57A0C28073664DACE0B1F5975CA309A313954912428F3 +EB1FD70B512C6BA2807E7DE61C4DEA4AF0F975BD0813D74C3E7DC9B0FC48B19F +8AE1D32B736870819CA75057B963C1AFB107309889506B0905CA55B6F3021515 +B0B6A1C0F298421CD24784B89EA18251ECB9E9F76C0A61CB6B61CE4FC18E84D4 +C7ED481808433D1AD785D0E66ACC21F5DD37CFE2DAB64F3D23E0BED8A8E21058 +94802B93AB33E5B66B126C818CCE25F58852380D0A46A10BAFFA90979FE3C5D6 +C1A41AB044D3A12D258AA40B505A7E167FB20697D5607D83C90F512DFBF4B8FB +F0AEA744390E9D06FBED2D1D5708EDE5C4365CADB27F9126DE2D0D91448776A0 +1CB4091C21D62A253B12FE336DF35BD4B322890B0AAAFE6B917E584156632567 +136AB50A591298F50D9B7756AE5B9DC1CA48C08E564BFD1AB5AACA99027E5950 +E12037FA2BB52BC7F430096C7CCC2E6E49036B2EDC04602B42047659ED14B344 +996D0819CB04E198855E16E34FAB061B23CAB292B6A3A33A692ED38128193D37 +C8CC57648A3E641593A39E464E46D260B38391EC6C54A5866E555F46AB175457 +7EF1CF14F518D86A975E0741C75816DEABB25DCD1BF501F3F7FDBE8940DD1256 +8386A7D8FF00994FD669D6377A279C6833A2D4AFA5BA3B02925B1D4C8547268F +408B524D3F9CEEA491A0A7D81843317C001EBF830C369B61205CF76201FCE5A3 +B2A5A6D96F9F22212CEE6D220337B2F0799EA3BC4AE337CB463AAA21C79C57DA +02A2E0A60931AD78E20D5471DA17C2480346818533D131A62C5630ECA98D24FA +03612960B26BEF1FC3A01B45348CF695D4A2C2B69B15EEEEE49B7DB78B03F39D +A6694E0E1CDCF75945810A6388412487107C38BC9632D637FA26ADE3EA61F5D6 +3D48E4873A03C7DA132CCA34530F27504B51DD425A3E74DFCC5BB227F63B82BB +6C854F5447F3517A794A78753775ACC29A61DD380CBA00EB25730E613C11899D +B5542B8F0F4C80FD9ED2073D9A5EFD3D4126F64CCD5B3626B6B8C0014C31C9AF +E638C4E9381415F903DE7B554B1BC135138F12926805CA71A11D6551078FA370 +08AB0C884EB5EDD95994D4D1C5D8DB1412DF91DDBC521339479DD06F5CDC1A20 +0E35304ABAC27079C48B688B3E138026764E6F579503D13E2A87C11903360655 +2E3EE587F8DF681F6514BC853425BE7178778B0B95A9107FEB58A69CFC9CC845 +D13AA5DA512CCD45886411C0809CCDA5B28F54E5C1EF261C280E0B218F6E28BA +2D97F92962D962F48F753A61FA204411DB939E77120B8069155754B663029E00 +D7397C001E098A45D84FC93AA3407F8BE54CF5052FFBD2780E3A78CC0F6292E5 +17A6DDB977B817CD9EE2FF76EB1ECD06A7E36D256BA05DC8E523B63FF807E1C4 +198E61EF3537B05706F8B58286DB806A9F4380AA85982EF8A053F52E26D28D4E +5EE719E725A624A024AD029984C35E6502FF21CFA2EB865D910F667F810F4A19 +855F8051CBBAB71EED5F57ACDF4718EAC86910C8B38FD1EE596E98A0F95BE413 +885D92B2412DB15C27E8A88C7DC20781CB6D9197F6063554777A3E2AB59A3369 +916C3554B025B6EC0792F09D0396F6AE8CBAAF647CBC58FDA759A4AE2BBA8F01 +C9DD5208A58C25210A8F6B8EE44C2E83FB0C5819ACE93D946A822FC5D1A5B329 +8B7883E0DA2555B6905EB07D3EFE3A5F5354B7A6DA5FE2FAF2A8DD8ED3A095C3 +7D7EE87ED1947EFA55EECB85E9944C9B3D9DB1B2B46A88D2B4F0276188C758DB +A7A9B5F9EC59C67A553831CDB326C1C6D38528911BBE5C9CAA2A845B6D34AA1D +4876501B96E9E4515DA1242E6FCA80EDDEA1E3D2DE9C549844D239A9CFB3905E +984FD2AE71E9D356077A261EC502B8D8BAD6C5CE9C1711D65CCECB52D69BBA9C +B2A5BF994B7405D09AD22C54D1A8D4893FC7DAAE7D9CAB00AB3FB61F7F56A88E +A6146C98CDDA05078DC0387E8B35C5D460D21E19372E6056E5E4B23A2F2FB3EF +1DDB4E5312E0B2A4631C546A7CB1CA2A3EE23795BBFD061A44CA4A2F6F5A5E0C +4560FFCD520E8F235D6B768D119B83163CC1B13547DC447575DFCFFE1E06DDE6 +4A0F0AD5C08BBE48432B15FC9D144E6ED679107C81D1117E7A7ADDD5723F4EF5 +235E44730BA14F7AA0737B933590C453162240A1E712FF1436BF8CC9312ADD0C +2825E46187ABD85D9661B7A84F57BD78A35E7684F6F9E6ED1B1552D2DE55119A +0C1CE4CD1712EC5A318CF4B9A389C8120F332043129F24E341BA41D5C1FDFEDB +B3777549F7ED355DCECBB56EE36622E0F2D22B3F37B0DB808920807577ED7230 +35DA36AB230E3D914E653D94859F257149E617D82F5EA6E6D1B6C17C96008260 +3730E3370F9F979A98CF71F9E38D592992251AD5B1DFB03FC466DBC7485D641C +97E5FA71484745A41CD87B4C1AB959A4B7E1404E30E8133E5707258A0236461F +58C7F5FB1F0CBDADC204311590FCE4C7B0165690CC869F221EE486217770B65A +980677F4B80A045587EF3F0C71E90DF404BA8F1BD7A3DCAE406A9EBDB2CC2E8D +E4D25A8ABF1B4F67D5A1DA34C6F67AD574F71E894A52DA063FBDC6A5F35E2385 +14809CDE8D4C549DA24DBD6B41359F474C0ADAB4B17F5FCA1DB304C685687DA8 +510292B17FDBA634EAC57DCEF505025DD1BB9AC7D186AB560A57871840FCBA7B +7FC606D2643015E570A3917F89A7586D71AF8CA24D56E71284C979F37F59C921 +7E7F33B1F62A556CAD6F0F43B0D31BDC3FC92082C3216A3B4960086D578BB797 +0ADDC78CFAE010530E09A86F950BA7DF855D0CF9EEE48E726D32DDBF97469277 +0856D2C19F819DD0086BB19C9A445F76C4745E3EEAEF48A86FC7F62EAFBD0D3E +E5FE58DA688C278CE3C4806230C33DE2E6927D1A0621910C75FB0F6BBF85FEFE +8F6E8B55E2CC59E2E33F1CE139E08C3195F0BB3653A45434BAF26A3D8D150CEF +52C48C478E651A5F413E89DC60A7A16D7B73F7F90B070AF22F560A7CD2EDE5DF +D3136617AA3CBDA07AD5BAE734E54A99C00EA3B4B46511C93D5ECC962E96A35A +EB39D6DEEFB06D6E2E4C027A47E8EA8EC2FF0F4A9C84E5D3CF4273E50DFA722B +5D60C918C6981B8627F1B4F4BCC31426317D3EBC95C25B53255557AF2DF70199 +1974A9F67FA7E7F545081C54F3103E4A45FE2C439368DA42D72FF4ACBFB14B5A +73597AB5E1EDC92A3A0BF4FFC68E9E74D0244573145959130142D903015C8D82 +F0558015D3FD56C45472D1346AD727639D26DD574C9DE0A4FFF51498B78C9653 +05CFC327139DE48316D7790E8CD1A9D0D5606ABFAB745F17C5E90244A209CE56 +298384344A2A216EDFE7D5E7906BA6E7E03EEC80B10E2F3ADD160ED4A21E5E0B +B64BB6FCC7893D6074E8884BAD38B4DFB61F429CE906062D8C37488433BA7FCF +F305D8C59C900C6F36BD72C2F48344C6C8B69DDD304212B539C950B9C40ECDF8 +01134774881EFFC2E7BBB8465311A852099D9379C7522BF903496DEAAD12D7E8 +C662DA12A6DA3E3A99D7DDC0DC81221BFB27F1CF2FC6CC1679F09B89FBF66130 +4CD106B99AAEA0AAB0FB6C3C43C2405FB979459C27CFA6CAC2A453157AA7712C +E4C4EB0D03E6F4DB648CB2FF46A7BCBCCA740AF8D03F4E032BC1F07B58A28C7F +20C67A9F5DB3036769493076258B474F7F2B11F78E1600A1AD228963B37E86A6 +20440597F89F67A08C07AF0CF3E3628C9698B4103B7E296FD5D78491695958CB +4F61366EEBA51C3A7F22D7DFA81FAC74483D6BD1E17718D8608D728D45FFFF41 +AA925D4FB248EBA78A31BC2E4EDA9B4BDECF75E69C1572B02724AE0E88A47C2C +2606B0D5A952E0705AC500DDFDBD9653D4CA984EF9CCC2DB8F0E70853D172D61 +8510F07D0CEB47AF4BC8EEC06D2AABA4125CE96FD28D9CEFCF6201A70C139900 +1AF6D4CF7DC807FD1A8202AB8B0C005067BCD3AEBB482BA2F8B8FA44D3DC7338 +CAAA8D46A5EA05B8B1A868493F8B503393678AB75C5F7649332BEFC624F1693A +3E34ECDE22A60891F423950A854F3BB1F6B4959AB0EABFA8955D67F42734C8C6 +23F6FC71518A86FF0E1804E7CC09CAA830479D9CC01CD03EDE50DADEDB16FAE7 +9CA4ACEC7AAA5E704290A2F7527DEBA2CDC1444F027EC86C81367F54516C1654 +5E11FEE3F10FFCA2D74206F365D53655BD8FA76BAA8F8C78696D47591BCE88DC +B12AB8176EB03BC115F99B7D88C56F2A3400040637386FB86D093CFC38814F2A +F1616AD54EC908AB3AEB11C61E3AE380D99FEA37B1D594559A904278CF2425A6 +012729A40062BB0AB84A0FCB86A3F5D04561B93A77CF011F4DE3ECFF5E0B004B +933084F930F0AF3437D59447EEA731352339492A0685B45101CBFB5B8259E6A6 +3583582DFF0529E4AA5806AC2F6C9C448B0422C8125CF30259325E05B0A85EFF +C20FFAF525F73604DD2CEC421190B3A47875BAD36104DA1D80283DF395B6B87C +961E613CE164B60DC343D3AA6D7065149B412C3CC3FC1BFF415652F99F698B52 +31FE11816B341B2E2BEA3F7D7732B5C9E0C754027486D56B1D2268B981B81C30 +9FE2AC2F949990068F30403E3243CB7E4A448A4CB05CCC59B9C19CCACD03E428 +E423CEAC7B976B59ACEDB3FF08B094AC3E969C99AAF5EA974F3FF61C5C663B53 +8878F3885945B1A3299C219976D2842AA5DEBB5428E1A0864CF48BE957C7BE41 +66861F3B4BA7CBCEF06B80137F83E351D8CA3D5051BBB3D2E1EFCA8905061D14 +643A240BEA6AEFD788B00A807FBCCD4557E191A51D62D9729C98D1FC4BDB776C +781E824E0FB8B5900C41ACCE7831C4F6AB814BC7CB47ED8031DF80F517AA5E44 +45046B25AC5F3474135E429142E5BC33D924CBA166596FAF5D25E732C79C2AE5 +F3095A5D565B855E15A585FE57EC321B7D904BFB9EA2D724A085F298888EF252 +938DFA23FFCFF6A1A1AB9436CC63DA9B560B074BBFD39E552DBB8D174ECDF5A0 +FD92ECCD75EF488732377DBF97C7069851AC0EBFC3AC4226A534FDE26B47527B +0DA64B77BA16385223580B784D1E74DE433186809AFE97A7B51514E4F665D14C +D1968CDCFBD8E50ACE4D76442D68FF726EB83685DD0FC3B14DAFAAE06A894CB2 +D2CDA2C50FFBA709023472951955D39E7467E978DEA8371A935390407C01FD50 +C8B393DDF202F0BB76B7572FCAEE5FD588C6F01AAAD38C99B277C501DF5C25B8 +56F5BBEB4FD1BB379563093D54247A365CC66E04A09EEB1702FF946B2DA1247E +15D82AD0078AE820CB71AE2481C3B23EB86A5295CA58E00BC638EF541D4644A2 +748E7AD3212B1E297F583AC4EEDB93641F2B7C0817245326322B0AF2C2028EBD +6EEA236F8E774B379AA00D7BF9B9AA8D9978649FD1CC8DFD7C145F36E2CAE63D +157480ADE56A69DCA2BA077F8AFCBA252DF716D99442EE7286DC74CEF7F539E4 +11EBE1B2914351CF6D12FBD2658285129176D0566F2104CF95589AF2CEFB1DF7 +CBA05FDAD557F3279007CF49BB3783470BC974F47408BE287877ADDDC30DB1D1 +1ECF880973C5ABEC997DC089A91EC2781B77D4B1BB436C785B9EFDAD04FD6B17 +22B53DE2A271A527E2A4A98875A041F5E1DA7BBB96BB550DD32ADEB761B561C6 +71266E345FE58024F192ED4D918892CF596AA20791D196AF8034F94F8EC9AB76 +625595C86424B94BA9143E035ABB4405A6CD2240CA82A6F38ECFC0629C877482 +AC4DB88AFB832A4659B60CE2F2781BA482C8CD801D55C165055B404F1DC8D6F9 +7748CAD55829445A5985D4DA6F0B2BAD86A6435CBA6D314712C260C4DA58CD29 +BDE901ADAEA60C3AE82F9D52CEB3E29AFDC1E03B4CB387987BE958F3DC449A5C +ABA0F3E720378B1FDD5D4B6F8F96432380A83E0664AFD7C9D8F85A0034403E2F +8CBE7840B219589C7E7D7E20A12684F0D01239D1D41CEA6B48361C390BAED783 +DC6692FE202F3C7146F8C4B799A4ED5D6558DCF34793CFE86D7AAD1B27CDD541 +293E1DFE875F5F397349FFBA48015435855269CE3E82E320EDBF3DBD81243C85 +E7235E75A98EE2F7A8F5B2C90E2C213B13B9CB1776B8AF2D5F4753A812B2EFEA +E9BEB45F4B3CC3C35DB9526E3B2AE4C1AEA573970E588FFD894EEA7F4F29DF14 +61AC620D18337395F04E2F05D2CA8280BFFEC6F56E1862D19E891D753DE8114C +76CB8C88429A0706B68B2FB53D73D80DA80A88519174D0993427FC39CF7CC668 +F2FB56CFB3F26F9E2F35743AA8BC2530930EE7B330314BE7A4AB21882FC84522 +4AAF8A9B58AB8CA2E316B29EDAEE4A140FBBB591398A86BBB933AC07B0931CA2 +086842ED8B3CBA0EA117C5B0FEF0DC8D4293435CF92998916C53346435048556 +A36B15C19BE595C8055959299645BE7B56E3A3353F443E90E0A9540E8F5433B8 +FCA78FBD369DCFCA049E4EA27E890FE125DAB0AB6DEF649E23F34F2FA46BB1EB +CC1A041CF273F94DBAC2ABAD5E225DD6046B03CEDC518E8A13DA56E4AD6E36A4 +BB319081EC89978E4215940DD715795D07A61221705ADC30DD8D6343BB3427D4 +DB7B910D256F65B9BB9202C482B190C7FEB04EDBF80EF23EB3C17DB117B501BA +3CB89B34300BDB9A0B97ECAC87536EC94FE2D74B48CE2A14C0AB0F50F54E6D7A +88DBC59FF9D3C33D8AD4D3F1CD47F3A4E7E181500A4A96EE73A2954DF83F1D64 +9C1257D65FDCD057BFBFC9A18534B5BEE8902ACCA38D313F992FFAAB300FAE74 +5D7FE062C4C1AF0EA71A1F4C2D34313BE0F6DB1CA515A9F10DB27560D24B6D0A +6090E9099E59F59C0AD9FF714967B00A741B691A5D11B6042402C5584E487295 +F4DCE8FACE662E1FCAF88601F9C076AF879790F742B4B1C00A15642E3ECD4661 +995F0151413F513C28A365634A73596D5DFDC010D53C07AE9052A8F9E3C5C557 +D5434ECA23B77A3DAF392919FD782EAADDC4D121F91EF04666444661D94783BB +240252B7C302AD0D5DA1994246D768424B449A3D1B160210C0F3296D34D63290 +D40FC924B1956C2F21EAEFDBCD302C1DF97ADA7748EF8BE4D9C746706DA02399 +04FEB35B54B61AE0131EAFFF5F410E586948EED156937E836A5DEC3204DD8C8E +E556B8EDA52064864FB9776CC1E05E6181C549C10F09296924E6FD7BA07CA23E +783F7EFC19B869E903640009A37AB5A47A3F394FAD97F7EF0A1DBEF5C74BB515 +70016BE28E8FA12F9A10E15C1EE3B31E4CEFEDEB385FD9B5019A5BD57681F9B1 +C05AFD6B83A1FDEF4E4789245BED5F4CBCFC4838A89491FE93FBC5773A89737D +35588EF3CD0C9ECD89FFD27A7FF414A9B7CB89FAD15E692E509C65F3AF36A346 +6C8AEFF5AC7CC50262B24F75CFD7C44A977D9A34F89ABAB25A957B3657C76D31 +0F02B398202E98A8C65742FF5BB296BA192D3FA12B617A0F3EF5FA1502B4D519 +9D2301D2089CB47A16606CA16BED608743AEF37E9DD4BE4B6E90AAD8D12B27CD +DD26A6B8B67277DFCC46855EB23EE26492311CF9A8DC0C39241284284DEEA02F +4F358E3A47A2D5A7B349A22E46BFF61BADBE1C86E111B50E7297459F0F18FA3D +CE461031BAC0D1DA78AC387DE0EA454005598217978529D5089EACB059D99642 +5DF928E23215B6E5DAA35DAEC505AE112EB1F8E127898FBEE7C8A54EDD0C2ED8 +C75AE6DA5BDC0BB86086AB7E64DE8EF6A1495D81ED8DE1A59796769164CD417B +46C45C9A3686C7A8FCCAD6F7BEBBCE514655FFFA6228A8312A5BC50538DC2CCD +3E59DD99D6E4147DE8F3983B031C03D07125107E20604545A43BD7880D3423C3 +5E0261158F004423D18607C2BF0A39BCB65A685BCF2A391FBA8844C3ACC37067 +64B2803C5FDC03D43668E31489BA7004B06E7C4C874834586ECF7B00035DB428 +E4421E6A6651393FCA5057DD05AF837AC75AFA4106B354F3026710B5E101CE9D +830602A5D6704780155DE76792D9A3F2EAEE4734B3E1E87C85801C50834DFBC1 +DB501193CFA6763795F2387BE9218F33072ACF3DDEB08946119F3C9B71AB2F1F +D1FA74C1AABC8668A8770B120DC488F988F68F08FBF4DD6B44104673D927A39F +27E00683A10FA6322F30244431EC032DE80300F6E55414BAF8BE15C308F95A89 +E3665655592F74B91FD7F71B7638CA14E0E1C273FAD0B9F84BE5FCF3533DEE1C +9E8E5A654EC3ED9693A38BF2617C0367229D6FDA89B2288827B98A8917C65D11 +5F47124E457C20FAFABA69E18044169FEFEAF870ABEBBF08BCE5F3C7E1EF8970 +66B5B5AB84F3AC7EB3E55C9546DD38C096F7221AC728ABA58FE76FF090164587 +45C0C6C83A858307703AF33E31ECBD76350C9408454F90C04E9F106B659DD02D +5824BAC124F4547215C3A1CC3D38CCB90765731744736903F24271B9D8D3BE66 +5790DEA93EBF0C8E5EC7F70721C00205BAF4C7BB4B6637F5C4CB0F2858A7E1F8 +93F56B29E08B5CB9185433A3CD281F9AC60576DD1BC993C08D61111347350861 +783244234AB06A2B5F94134721164E3F09296B2CC51D09C1CF55211160A43837 +3210EFC0B9892BFFC4BA6F4B37F9084382E4C8329C564DC321A88A4AEEE84812 +2863DF387D3FD8F5752305598E941412CFC362BD40C1B3F30B42BE007C52DEF6 +0570FAEB855BD314989DA4590AD1D4A89BE78DAF819D776F9ECA616B88FFB866 +7A0E1F09D20849ACAA5D08DF3C31ACCCB086F55B75310685D4E3ACAED8B1A467 +706F72366FE39727DEDC6DBA504D24D9736EAE848E97C61131FABF70740BA88D +50125D6E12D3AF5644475779C0EF186EFC4A63FACA5D8A2A40BBC627FB743DF8 +6B2E912FE4499B9D5FB2A75DD37A900A01FAC066796BDBA13C9E32B86F5C272B +4B0480D4FFF49C5097C7590BEEB0224C91ABBCCCFF307BDEFA90E08446BBCA0D +3AE04D1B6B27D672617C8F9F88083E172CA368109A7C982B5B696F74FC9AA09F +E1C83A6ADF5A458985D9521953259835D0AE78E1E5F46F4A22F4CC5766EC5220 +CD8E11FB08D53D5F37AEB5E88E48D20BF8CC58E870A59B125059639581432D34 +99943D762D20ABC4D1D3DB1E97744753DF3B3C975952D6FBF22C0A2BE79551EB +3F63FB6F3F4D95BE06A9C776E7F1FDCE2318EBAF88D9F39CD438EFF576D905E6 +EB8984AFB3975CBF69A86E7D7585BC830EF5E23E069147106302D1EE530340F8 +347DB627B7A0BA0A446225E964EFE1727EF63CDF7D015C3874D92B642CA3A4C2 +BC20830B3475098718D29588F44504B7BBA9B3114A312EACFFE8087F1CAA7273 +7C85F63CB022B89433E2FD51F24F08F0026CC3718CFB2E80D116EE6F2F970918 +B40D5CD8FAFD1B3521C30FBA07E165F6EFF498A37E458C3C2748F8B76FB6DEC0 +E544DDE2A0EB0E8E13FE9F6BFE93419830E428C5D359470838FB7C28317488B4 +531ADE2C830507F77705AD6891DD9A9FB229D08EF1AD6320CBFD44AEDF48F270 +A5E44BC0FD3AAF090D3AC47AF8E60C24F39E1AA2187387CB1E2E95AFF46D6035 +AF7305F28FF3FF34232E62610F4A042BEA25E6DB4C13311FB2373405683C31EC +AF28B816DC2DE3A755FA83BA05B76F3A9FFC64402CB2B1FD8DDE4503FB0FAA6C +487A0E98B5FA21D2D0E0C08E95D4853C6B94FA64420B4156F604EC2904AF7517 +D37608E12E15E4A0694B6D156D042DCF390D2FBA766FEAC58202134C2D830D5B +6C73AA9ACCEACC970166FFDBCDE630296CD3B2EA3E358F2B664CE2C483157344 +22E31B86E17E87BE0D226E3CAC1E28FCA18E0BDDAAA4911B4B0CFC1611DE0D36 +9476DA0B14A81808160D1AF72B3596CD9D52F422E49ADB32631337F434445CCE +79AC26BEE9593567E6D3EF1C34F0EB319113EB747A222A9BF802502AB151E8D4 +F7D855C4722B69A5C273C55BEBE22C6EFDF368E7A8C96CF52633BFC5D8DFBFB8 +4D1869FCF68D5F12805505EF0AFD01C3363A2761E074C8F1B65CFCC31676E8CF +49DAADA1DC8A4083EDAA612B511D11EBB48C8AA68B46C9BE82F02111BCE83751 +4B898EF55DEB2B08C623F6BE1116532AD67AEFE0AC912B6B6A0CD5DF0AE34305 +3E0A6399F9583688D9A6CC489D3A78C6E91E231AB397870A35772B4B3E2A21B6 +323D8D4C0EA2E90AF4F1733AE639682987390BA69229A5B1250C707D7968C24E +FD0A41618549071E30C3B9D52726B19169E57944B1B308DCC548D33C37112BD7 +F40D3E924A44344EE55DABFDB38BD54527D69F0143F1531CAC341E2F6DD01E1C +2ADF7600DA63A36382CF208CC0A66BAE48C602264F24E531A15167B91BB7AF0E +1C26FFBD08B83BA63CB1AA44C10EFB8BA65C69B6E7D1F9E31E59FA199DE21D04 +214497337A255731A41A1007A9467588B8970A4DBA19A82B5AB3F1A625F41986 +F30D0FF266F1B01E6C7122CFE08644615006345390CDDC83DC092E21BCA8A10C +FC90B8BD2840189AED7E8454F2892A27A5F1EDAF3DCFBBD0B6B70E0D9382005A +453216284D819AE346D6625BBA0649CB036993C81BC8DE47DC0E7A842229D11E +CFCF6B6529AFB2982269BD9749D705DA9C50EEED1E170DCEA5FD8911DFACF3EC +B611B64A8E5F0E6C832442937EEC88C846E5D1FF75F727D46A06985171BB644F +CC176EF60C923F702D7DB188BE640A0576235B348185B1FE7BD4ADCD3672D721 +27D2C69A59DBB5DAE9B8D0D4FF08307C836C96966BC34AB4B86291E5128293C1 +BCEE06A9753BD16B7A46BD446B44A0D13DC6430C035812F0F7DA4AFD0D28F149 +CA679E12FD6B84FADDA55BEE84925D5C31AB08AFC3CB7405AAF3401BAABAA91E +DCF901F1C02D33C3067F2C70A7ACFC4C64D6028079AA8E034EF5A5827DA7BC27 +EFCCC8D9BC327FC1C7A28391DBC107055EB1E72AF7D7C5B2A0FF5FE8B87FC6EE +E8719B150520D46D80A7D04129A78B5D4352885EC2F0F00571842ED025FBCA12 +CECDD3C8872BE5A946C227D13DE562E04B14B0E8662A86E99FD207F7CC7C03A9 +10E7D4BCF20403E31BA872D19D919A2E62878D85A722A7FDF6C9647077560503 +80E15736CC7A15C036E0E393D40EB0869E04875142A7A785270E445ED15A0D31 +79682041D4E06BD186ADA99B1114D20BC49EAAB01165403C71FE0753F1DAF1BB +CCEEE569B7F35D05AD3A350914F18543F58B4217653FC1DC4E11B6B4F551F3C3 +EE7B4E155E96360ECCE1725A52E092247A7122D2CEB207C4515E161C6C7DF458 +4CDB8A7D169013D0B88DEA979C0FC29B0823BC382FE5A0A652ADC92C205B2BE1 +E56E7F8A6C2CA338DAB9207C4B34D6BFA688651F33A4AC17B9E4E233677ACC38 +819100D84A65658C0D534EFA1E4CD6711BF1FD9A3D8ECE96330E30D98D1DCDB6 +9ECB183FC19F36D5557E8CDE45A7DEA5F2DBB7B39FB12655900B54383E159B38 +BA15EE7BDE96EE0FCA3826ECED79205EF09EC5D22B45E9ADFD8BD63A930BD880 +A257596D32D565B22EA79873AFE995AE22D80CFBD17493103EC15203DD451D77 +9E5FF077766122DFA39C19A75F725249C5FD6F6172DAB38104C8D9EF17C59976 +2608766EEA72D15D016A14B61224D3B7E036BAD6DF9303C09D0303F938190A9D +896E2C51DA6F4BAB7E4125FDD6BD7F9E8F53A7B2BF06767D34539156BAD603B8 +0FC62ABC3AE2E2F87FC4A2A02493840EF44EEEE69B4CDBAF94E5F47469A788B2 +7DD2B0F561FEE6AF0B9A3A32B4398EF8385B45D44B093E507054F87483CC7A65 +54DE0F2D372E93AD7767460E35450ADAA100B66A55774D603E80E977F2CBDAFF +48D50247FCD4A9745C549BDEA2A3A484970AB11C148047C070A67766ADDAA645 +A0E69F0A798522A9DBC96C5A3DD2095ADE685AD822A19904F07BC9F124303FDD +2AB94120A04B8451843E2E17D77AB45AA4CC5EB54D656D04EB50408019EB5823 +B09E7E03A1FC293CDCFFE0AE30AE4F10A674FA76B89F1C77E0F1D1BE8D7D6340 +7D2B3B34817F51067AA93013B2807465E774D3684CBE3461EA7077CB7D3098ED +B90F319B4245D49EA0C0E941180CD5DD6E5C7EA09FCEA5BEABCBE65F172EB8CA +FD3ECA8939644924DDFF6563CDE2104B71321DB5621BE2BB04A47C9AE0B4C089 +1CDEA1F22ACA1AC6D51E2BFDE746AC5AAAF50E6EA8AF1A8511F3174561C72D77 +3E31FD25760D29E06BFC439EFD31742A1CA3D80286BEE71D52541FDF1A4562DA +086C6E8FCE2144148757F04199D70F1F5C815167086A7D2425ADF1B847669F22 +70D989E9FF76C9B8A78E83359924C0A0B71C0839D813FCF5AE63F122A4B29460 +354A69963C86F84B2C45271FD4A55D17EC3AAF29CC912F17BAA000B6AC6C1F8C +16F49AD587D291B5FAE5CFA1C14248CF27C26D7041C10BB062153AB19C533A7D +36DD9F4FAEC118D7F6BE81AC93E5DB9D518D363D2EC9CCA6680DE4CAA10E0853 +8AF5620B8126F7CED1C74902DBDD7C57FC66FFC8D9161D81B4D8ED83396CB0B6 +969124F5DEB10BB2CF08941FD99C12730F943A156ABD9474E00CF928EF98A85D +4A54CB66168C6353F8AA45E91E303EA35F9A2F9ED1934F01044E8AFF92F6FC5E +23234178CED72963406AB794EF3EF1CC77065B0C34B61ED9B8FB9E012B932B1E +C571D76EDAAC5F5D1824D33F3B1870ACE8511C58380CB1EC520251FCE68CF0CA +CA867B41EA77DC779335472A31CA940D5AF95226E6DB5CAD012718519743F5CC +953F4C54096155E5208D976A95F949ECD1F60CED24153087E43B5C9852705C63 +48A34256DE0CB89A7D3D8672975F67115106B253ED23F3F047F58B28FFB51C95 +FA8DC5EE05936CE3FA9DA0FCB262B1352559BA47A777CF7FE5203ED95715BB7C +CCAA97D93652BD828F28E0121EEE2636559DBEAC5C1232C9328E59D95F7860D4 +E41D8A0CBF0DACD52496D758AEBFBD49FC98786A65FFB437F8F771A68AC6ED14 +6ECBADA8180624157386803078C0ECB02BB7B932C39F6DC6E8AAC9332564795F +5230E53F828495C18360B7B3EC221247BEB7442A5EDF74227BAE75A00C20FAF8 +573E01A5877EB85DE496E36AB3794AD3515D2AC9E13A955FE19B1F3DEC1E4455 +D5ADC17D98EC3C2A9EB4551DD05C6397F9B929DA17A93CDA0960657C6F86118F +393755BFD5E968BE8D0C2ABA8CFABA4FF46921C939C3FBB3B32E00F768796DA9 +35B2042C3A83A5FC05ADBBC1A9867CC706272F852B26733ED874A8DE1548B87D +9D603FD4CF61EB969433D53A0066F12EC6B931383A848AB71DF468E6A1C34FDF +72321140796702414E04E0ABD984300B9F9D22F16E401892E6184A67B9434AD1 +23C83EDBE48F392B49251F6206E84CE8360F241D651A7F9B62B5DCB8F0DF22F0 +AD6ABD8F2B9E908367FEE467160E89680B9378F57D243DA04C1434FFED253524 +D0F308D1F311F33DCF829E3B5BA0F07C3EB16C2DB9CE9FAA111C0DC01AEEF1CD +FC2A587D9A041DCEEAECB101F1D597CD36FBF647C015B062DE5858F96DC10F74 +1021A06EB06F283820B5C0E62DE4671F72985444AE2C17AC2232E6E49B9BA13E +2DFAB0EB4B2B24EFF70A777E892F5B7B7C44153BA6C7AA19FC1315A857F1E564 +93990DDDC452691ACC8A681EB658AC0B7C823B7D3A8CB995B30CA3C44C352D0D +C4E253B3B694EBB74568E08479B87FDFC05F239297733C494FF8C3BB84558666 +316BB7B1969B523A58AB2FF029F806A05B72F6CE07083F9555D982058E10DA3D +ED21DA3E40F1E9CA9B6428984A7DFACBD366591AABB0DA6E17F401BF99E2829E +C89A71F2AFAD41C3EF856A40473E9C463FD6896C5D2148029F4FAC4C14C92E13 +A8FA2A50EF4C33EE9E1BD5C61083DE92CB45F426BC5A58CEAE29E823A8652F19 +CF88A03CAF9D697FBDBD8CBA47402061EDC788BF7A89521C86128CE4B4CD0D13 +4C7B36766649B401B0D10B686F04711890C1AC5997F2B2D2E0F3D2C8D7DBB266 +BBC730A2502FFB7E922F57CF8F52B3583873440D139B22FAF276FEB94F75D912 +EF6CFAF3C580F26DB6FBEFCF66A1D4016608E387F69B424D841E4A2DFC840FF4 +6497E03BDEE98DB3D397146532B82B54549CDC76D79B8A1CF1B492207AA39B5C +C68A13CBDC69BAFAB217AC5A76CF46F20E2903EBD232639EA413005776B1CDB6 +76EB3E52310A2D99A5CBCEC16209F5218D91DE873B767DF5A35819F00B3CDAD0 +548FBA1EA519D97B3D2A9F09330376D70E07C8FA0E38254EC50DD93473F86E99 +AC7021540D5CDF0AA97F7417B80E238C1AECC55286582FA4388218AB1FDFB4D2 +61B982926FD6CA5E1F3750C7DFCDD5715869092DBDE4DB0164E551567DC87E7B +003A41EAF47463A0F677BBD3ADCF4709E08ACA108BD076CE993068A6431ED97A +4181BEA89CCFD7BDBBFC892C0F4D15A75FE208DDFFFDB1544062658D9A587ED6 +E000F66A1F17080D187A6D8E6527B89E10551AF1F8FEA3AA87384AF4664BE52D +13FCA2C0081613F0CD796CEEB06D03C2BCC2E42C8C1B4D7B23DA0DFA7C84997D +5556977DF44F7224D82CA9DEFFA4A27569C6ACC8AD127D4A39AC6684040E6799 +1EFB7A0F795F7AB18C9702D352A5A9BA8D7FE7CA709DFAB6DB9155D2D1368A12 +90145D1809E05625C37C0D71E23D0561D47195232FAA5970265F588C82A6DA50 +26A66D7CA3ABABA6B937C469583B7B1237AE6DA66DBE7E91B4E80AC1FF8F6945 +4FF694AA6D9C3B25029FBDBE37453274D6BE1A7914C8EB57EFDA0C92559F3FEC +72F8E3CE874AFD49FB15BA8E522D8CFDE1C69A840BF0D7E45784642F6680C1BA +894BFD16D7DF40FBD111DB9DF3AACD08AA4EB01BE973C98F6F3AF457AE31C452 +0008841418CDBCC2C21339EE42E41ADB6C62ECDEA8BEF8A483402CD363454F66 +BBBE0C2DECDC90307A59EF912EC8E4CA6C14993FD67D33954F623BEDDBBFED3F +09C23C55596B72BD878BF68B557A25A25AFEE1A3C605DE39DCA0D586A081E263 +4FE2F07228ACC92DE650259A2DE812D1FA36527BECF5DE7AE586123DFFB29942 +0E931039D95774E0E961732ACCF261193350DC60116E8C469BC5482B51E717B0 +730A03A27EC79ECDD9306DEA21534D2804C745F45CE4B113F20D1CBF8458684A +3462795E7901BCFAD90E2812654EA2966C9064FA05DC20151EB8971CDB9291FE +CB6F8A18F05E30EB7BBCC169205D5FF17DC78FF18324EF97E647F64D73F0263A +69C2D2D49119E36D310749ACCEC23F2F435B967598FB71D4AE7465AE82F9C4BB +F5C980CBB9C08C9E867073726625B84569ACF09E2D4B7A62E3C824631BEFE27D +54C2D8E5B8511F987E96279EC67672ADAC8A55FD95346A89A5E98273E6805C84 +94BAB7BFD758AB05D898EB55947C52B6888D6B16FF3C4F4EBAB8D03BFF4773CE +85A1C9C1FFEA6736CD22E099515496C142D4841450C6493C39308469BB4CD63F +CADD4660AF12E09176818321D89D6250962D0ADD925E6360A12E4459F8A35FAE +4B2E60ACA34F95BC7D9F51EAEF17E005D85ACA444093DF4CB08976421B9D41C9 +0DD437FEF4E85C68CEEE5C0DBEB7BE7750075ADADD6F53A7D44C3E4457AAE62E +C917BD7DFC8E76A0520AC474570DDA5D3B816720DC627DFEE065BF1007129438 +875D9ABD264033847491D43C9A9711714AD90BC5FF3CB9D32D14C143991C090D +0E8430AD22ED7992451FDA1E5179FE72472FEB568C83138A47F0277C81857F8D +F44A93B07ABC2E874AF2E8ECECBDB9FE26164CE6A7A5DE4DF18648447751EA97 +AE6F927FE9090BD42FB13C65ADA216AB7D33C6BCC127F42503E6E90C17653751 +79D3FD5583E815AE0440DE02F41042D91FBAF80F7289E7E4F4959EE4E7C6222B +6D23CD8C79736E8325A50A4C9FE3A35CEE9BAF5F51C02932F8FEC830B38F0240 +B502334C036F4E1BA4367161E7AB3D4E36F4A2BC9C8B5D37F4527AB9BBBDB585 +F8A078 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1837,70 +2871,239 @@ C4D4C5ACE2590766FBF42B79ABAEE8AA572820C4 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSS10 -%!PS-AdobeFont-1.1: CMSS10 1.0 -%%CreationDate: 1991 Aug 20 17:33:34 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSS10 003.002 +%%Title: CMSS10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSS10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup +/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS10 def +/FontBBox {-61 -250 999 759 }readonly def +/UniqueID 5000803 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSS10.) readonly def /FullName (CMSS10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSS10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 40 /parenleft put dup 41 /parenright put readonly def -/FontBBox{-61 -250 999 759}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9 -D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858 -D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723 -3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6 -0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348 -44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8 -46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13 -6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5 -6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3 -16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4 -1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED -286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872 -A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477 -713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C -3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE -3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5 -034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185 -9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A -12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA -901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68 -64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5 -A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0 -1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9 -342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007 -6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F -107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5 -C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102 -65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D -F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B -A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E -8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6 -44748E +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 +63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 +274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F +388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B +E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D +AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 +154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B +4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 +29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 +CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 +C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 +131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 +302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 +F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 +AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 +28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 +121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A +A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D +8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 +69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 +BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 +C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 +B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 +8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 +161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 +F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E +A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 +0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 +D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 +B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 +DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 +261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA +B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 +64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 +F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 +AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 +CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF +5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 +73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 +A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D +EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F +1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 +D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C +13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 +C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 +08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 +B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 +23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA +56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 +2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB +DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE +3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D +5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D +9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 +2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 +F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB +73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 +B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 +11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 +03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE +F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 +5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 +60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 +622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F +BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 +C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 +8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 +1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 +F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F +D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE +257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA +7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 +611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 +246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 +E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 +AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 +EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 +0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A +94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 +73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 +AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 +8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 +5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE +6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 +B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 +129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B +AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB +8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C +B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 +753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD +A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 +93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE +207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 +3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 +7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 +D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 +09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C +5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 +B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 +E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 +C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 +F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 +7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 +99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A +96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 +1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B +48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F +4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A +45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 +D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 +838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 +5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA +ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 +DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF +E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 +5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 +46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D +491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A +DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 +F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B +0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 +EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 +E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 +0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD +ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D +8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C +8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 +A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 +4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 +AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C +2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 +14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A +647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E +6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 +4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 +D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD +60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 +4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 +BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 +1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 +6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE +65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF +D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 +6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 +85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC +7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 +BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 +9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 +6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 +2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A +374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 +39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 +AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F +1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 +E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 +AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD +B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 +CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF +9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 +DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 +670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD +99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B +8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 +E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A +F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 +DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 +99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E +DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF +51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A +40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5 +AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977 +DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093 +8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2 +BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49 +BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E096517A +0CEDD60F43DDB684BC6E4C3F6F3D70BD58AAB5052936EC4ED7140EDE795223D0 +4E3B95161D16B0402EB45FE97ADAFA0433FCAF55E22BD7E4AD2030D9DC86F55A +8D7EA00901EB1351EE8A0F1BFE75CE46DA4165D78043F8F0741D4D9DE0CCA00E +5F7D89A849AD0F0CEBBCB948613028CFC39617FE9184753372C375A9896F5F1C +7E24255FD49D2109CFF9ADD9A118CA47CF58975A9CD3A960A8A08A078B98A50E +4DE619C8B2D3E15938C879D785539445AC468AABD6A6576AF0E8ED368A9350EC +717B7D3BB55AF58941B47FF639CA2946028CDDFDB84FF0060D330DCDEDF13BE1 +FB1F743317C15C7A9F34408F5FF7CD9745217D9B809DACDDF7DAF9D821C06B37 +25738F0D20F4A86A079EDF71583A9640173B3EC529B98899601F0EBDFE45BEF0 + 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1910,25 +3113,41 @@ A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTT10 -%!PS-AdobeFont-1.1: CMTT10 1.00B -%%CreationDate: 1992 Apr 26 10:42:42 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT10.) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 33 /exclam put @@ -1949,6 +3168,7 @@ dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put +dup 51 /three put dup 52 /four put dup 53 /five put dup 55 /seven put @@ -1988,6 +3208,7 @@ dup 90 /Z put dup 91 /bracketleft put dup 92 /backslash put dup 93 /bracketright put +dup 94 /asciicircum put dup 95 /underscore put dup 96 /quoteleft put dup 97 /a put @@ -2021,460 +3242,654 @@ dup 124 /bar put dup 125 /braceright put dup 126 /asciitilde put readonly def -/FontBBox{-4 -235 731 800}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19 -38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF -D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204 -EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727 -A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593 -F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714 -4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA -6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E -A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B -E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F -1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438 -452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF -8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369 -5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA -DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9 -BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19 -741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79 -E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712 -E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7 -D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE -C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA -726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227 -CEBEF0C9440DC034DAD9C19FB27A350233112B0A339366B7373CE058456E0E1F -139936F6CC9B50441C2F5994977426AD7DC8C717E737F8C201EA55AD94908336 -FFE9568C0E6EF3202D8CD7B7A6CC203EC601F9A7E2A4395ABA3406503DECAC56 -B03219CEBD0E465EA0F635F26D984F5942E4FB186AB874F3E74CC2F2E378BD83 -57CD1B63C9DE9963587B7457D56024D95645ADE0D95DEA748A6ECC6809C2A7E8 -6A568F83BFB184B31349A771DD72ED3FFE8D16E3138EC49EC6D7524E611331C6 -DB2E16059C9A12512C7208E3B30F04273E20BAF41EF8C96BA4B17F31572BDD15 -3FB7D15CE31684D721083208D7698A31D07160927C9A7CF8B7EBE81A83C0BD46 -9CA06245FDA37F0F2DF7948A20D121660A73E079F4ABDD8F90367BDBBA323957 -062438FF3B28A3880380CDC76A055096D30FABA4AECAF238ABC2513F089A6C4D -67EA0050A34F5DBE5FE32D9E75E67F4C87AD8115DBFC00124DB4D3F4CB62CA02 -59BFE46E90DE9ED306D6CDC51005C233BD39F41B264E2892AD23E8F93C8C61A0 -B5C5CC1021411DAB515039DCAC06E1FAEFA259E6AB07135CBB345E90E2BD64AE -37B9A46934BEB383D3AB1787A2656FCCEA6467ECC2582807E7DED181C53829A7 -1818C3FB17567D81D1A833E0559798D06163781D7895C31B1D81CC439AD51CA0 -5E33E96253064B684F3261EF86AA8452B32E9C5907153BBD692BF8BD4AC45E3D -7161488C716CEFAA695877B03781F64840D49C9C1BCE9D5E759BF1812712F2EE -054A34F2153AD6C953E795B6F40AFAB115C5FCDD1864A85C1AEF5DAF40337068 -08730BA7AC580213881F8AF1F76FC830EC76BE4CE6E090A1F91618595AB6D1FB -A885D04A4E73C9C7A923D813275810DD2B2A3AB4FAE4BDA24FC170A4BCF46E05 -572529A19B09E5ADEAADD071EAC20C5DA884C7D414F5AC5206E87E53989B7378 -BADCEEC6FCDD4B4EA03EA994FDF6A80A2E232B1A007B7554471FC1DA24901896 -9CA84283A02FA1D9176026BC1529147F19D07521A4997B70258FFC03821EED0C -D44BC9C2E67C3CD9971954C58BF1775D61115B75E26AFCC3B7CE6E5ECB8CCDFB -640DE440334737D63F539385F83BBF603B631AB2F750DBAE707F5D008591A05E -9D532C165FA35B580D690138463047F77F10FD4FDC8F724367545C0F5B6AF978 -B6AFA49624EC2AEBCB2D19E9652CC74B66289E42A8FC4A694F13626C3CA05926 -C1369F80FF1114F0EB03CFA40C37B2327992DD0CC598F10BD9D1483080CF33C1 -02DE0CA7BC38424C3438B4CDBEE66793A2480A15BF47F2FC621E66CC563F5052 -491ECDD9C38BE1966161403BC22BA41CB3FF9E90A70A99205ECC558C928F2FE6 -5EA5203977100FD3ABE953E7E5BA57AE0700E33A0ECB6FC6953C9029B25D61C5 -F57323AEA10B43D5A46C6F248F021E096E02AD7EB00923B0229336369EC82FE1 -F1C198456B9982956549CC441B859501FAA0CE507A8B131F10BC99B060B8113C -2DB536DE8485DF33F1BDF4FCD571098CC6FC6B2A828D8478991B354B2309E31D -0DAE3E8FAA0189B3C1E8208FC4C31FBF64689BF81BE39FFC2E680246BCFE4448 -8FFF4C7522CC12B622EE7982E0F52863B97965AC2CB74444618C691975D758E5 -53878C44180D2BCAC4CDFF06D1F109FF858198CD225C7F9BCE564D861394730B -9A47876CDAA300EBAA793BDD2881D6D0A66D3727C871D97F199FAF1CA45425BF -5B4A161F8C1408A20FFAEAD31141B18ADE6D229F57CE29E92DF9FD553274CDE4 -28E94100A930CD8F41F9BF6285743EC5DFC9BADB196021E045BA231B0DFFC8E7 -3EB7B7BC8F641CF337FE57D17BCD02C4980FF1A649EE62D2445C28033355500F -B460C58BF63DE130BA82909404613348149F01DA396AF06195B4F42D402F22A3 -708DAB87F85EA515B743CB94D464F1C980F0BEC03EC7E34911F288459B59B672 -9474C93CB8A8A016ED52201F4E43830FF8ECFD652924BDA223DA5E2B2D6C057E -C8E558872D762C0EA343657A627FEB5F492114D38ECA96B14AACAA7EDD85B562 -EA087D768A96507C1E814574B08442C49EA2AF4DD67C322C3D8DD4686632067F -01E7E62E8486C163A39C28F7070318FE91167D148265BBAE808916900F0B45FC -C106F3CB047BE800BF442A75BCFEB94E7DC7E317845097A30F1D2686439BE077 -741A968F3D4C5927030192D52CF2536D4F7489323EAB74EFADEAE1FE3F887925 -8E106352FA0ED99EBC97D693D287AD29E57FD1AA6A9EC121041636311364FCDF -045E969FFB7761D0EDED38DB4477DA4CEB05758B314CA631E704AEA1827B3A3B -8CF8B4785147426AC7F85D15760C964305EC631B21F6280E31DED8549F100B89 -918D6A48BCA74FE4EF45A6E4F9B694C2324B1E700256B84B7DDA3C18EF854626 -DC54291003BB1108B99C1E730C8E562830E12A561F1C292B1EBF809EBC2558DB -71F8949C9B435513BF01AB86D7A7989287D028AC882A98B56EEBC95582D054D8 -21BBD6D4AE1483616321E1C148699B82B3343C2D63BAC0BD2910E0EE97ABE442 -0EE6003D124D45E4CE75C995BF7A75AABC96B9617EDD5ED91C69FA3928F93325 -D7E354E81F8F63E25AFBA8044D95FE560D74DF51FD00F8803E5C257D380A3CE9 -6F2824EE3C538B1CCD59B4BE7DA742200FCFAD187722EECDF8FFCB59C8306AA0 -FEE3C0689093FFF1FD393D24F1B1A6F0A5CC523AB1DC5A34C768B6FDE57F756A -DEEFB6ACC7DC990C0EA07872B9364D2D024B2D56DFB4103242184E0DFA8E2A24 -A6C5F4DDFB1A3F86A508DC15AE85B1C5A8416175B5F1FF33B4CB70FFA6701D5D -D3EE3294391DB669C03DAC462C501555E031AA6E7F221DAA99999E87B2C345CB -2350D7F62242635E55D926FECAF4CFD3B55266BC86722AB631771BFDE91AB7D1 -B55C8651BDCA3BBE77D49E26E8A7B56478068613FB132521C4C800CA93A93CC2 -601D4869ABF79EAEC353363F6A8E7005831B925323D7370B1EDA9CB91626E452 -35E961B3DCEFFA27D8D0092DD911951D4EC48F9BCBF4F19E6DFF6831B5755BF3 -A593FA1314455C1923E8A8DEABC87A93CB4CD22E1CACA7C4A4F6172F7DA6B6A6 -D07E45DA2FCF16C67D730EC221E3E3217CB907756C5783DB363E775598FF8342 -70EB36BD2307E359A7A10DB2FDA8BA18264B7C7159FD6B1C568DCBC67FE75AB1 -A1751BDB4246A135AF6646044E7EA3BE868DC2B2643395129034B14DF42F4B77 -D513EDA2E438DBAEB147CA6F41256048DC034680E91CC5B6B800FA42F0857911 -82790F473119BF368D5A49257D66C665563406265A47661D560329BC4CAEC9E0 -775695224BDD347A896E0A41163D548B8DD7018DF368E3E6FE364DDAAC020B88 -20A6C218CF0D40B300B166B3125D81BCF6C04F43EC7F1C1E3522C7D119473F03 -266547389DAAB843F9AD52D94F12BD620763FD8C13B0C43B29E40373CC86E9A7 -D83F222E5B2448BFB419B3BA7ED209B30485C78F7E0C6C48212B8418B14FC2BD -F4C928C7699F67D6CCA3DA7462D3744280578250E7E6728781DFF9CE34B5403B -07030E9C4B2E69D4309823DE0CE13EE758834416F9DD6F90B8DDECA1C7603DBF -62058D4E768DC18AB628815C30F59CADA4D5BDE8B40F1A59C3CAE107D1696823 -C3AE4393AD8BD1C5AE24AEB00D2D2CE88762D31AB2B1A1D462037F2F1B3B48DB -57298490CF0C4EF23C342152265F86E3A0BA147E3700DC3E889475548A24C577 -D11399C971DC4CB8C122066D20B1FD862CCC440C6D9F9C0D91267CEBC252C67B -A6C7E545DDE69BBA4F5407ED30A8EE165E05E78FFD7632AB5641D76A41C6AF36 -1497E6A3A7D86C4C0D3B4916F044CEBEFF2EB0514F4CF9FB967CA2C1E3676A96 -D30B2CADFF05C328B68914FB584EA5F41A66AE4BCC94D9A0E3006F82A9B90EF1 -00D1519240D0A1E0810B0B061841A49143FD0EC4B14BE095EFF5BF06F2BF4226 -0635EE011E3F05E80838EF86B6F1F183F578873813A6AEA87428BED4A3AAC9E3 -5DD0FE857FC76936B979D12973A5823E75E0A8731AD914B666D8DAE2C8199E56 -0E236D47F36549AEAC1A74951D43A453ADD5154A937EC9CDCAF9D3728406596B -6EA7C1AE4CB09854B52523D6788BAB7AB1CE4389A811E4E8451E3695AC9D336D -B51E9E493E65628FBFD51D6DA8227AD05BF2C4A15076A51A3B83D9975018BBF2 -B3CB2EBC72B9E577C740CC64854635C7637DA157F697EE3EE1FB4E5657CA602A -842AC29523B20BFCB1850C5B329DFC307A17498FF4C0D1050E4A0B72B1B7063D -9E651B9C33C732DEEA4B858E8CBD2B7F507A42323F0F625AB5322DC866E06197 -C3F761F22576CD6C228FF69E54BB1D9B054C6B8BE3C60430A69C2609A32EDEB1 -BC2B1AD00BE0D32E32A66D19E590BC8FE6245782387EAB2E2C55660A3DDF63C2 -A18EEBDA448A6CA3E3AFE4E562A7AA0DA87C31DBC83F208E7D8382E64082A4C3 -EEFD83068DE6DA96F90E3553BD664314FAC4A6BCCA6E520A5D0D9BB4511389B4 -E3E3ACA3F51D47B62F11D8B80A7C75299196F525F9582F33B295CCFCEED4A27A -601CD8052C9BAE30A11BCFF10E426498D23A0E0584C0D171DFA3D52696A1B866 -10413FA62745A826988BFFF1D543271A4DF7AE242A7BCFE154FECCB63247E5B0 -12F45E0DABE15654E160747A4882CEDF036AF7F3A69F11904B8D4E7FB7CD5801 -3A407C9281685669EDECCF91BA3B25AB55AC8E7AD12C9D26839DC9F698C1A854 -2CF430F2B625D3E629D865A013369573A36B89D6A76133E667F952923C387660 -E2B8BB1B09CD385A33CE8DE5208A7A9B404B845DCF9B1872AFB734DCB5E72BF6 -655FBE94E54E6994C4D5FA652D7CAFB00DFFC85475DFD7D8CA078581985DB551 -531482FBBED61652E862F84CAC42C4D786F274DEA28CB8058EE64CB3DBA19940 -8E9ADF1306E971AC8ED60F42268548D16339DCCF0FCB2A52D70241D531469CDD -F306E350EEBC4610B237B93E9D4385D1414B30812C41FB899A5D16ADF8DC4081 -1F207C8CAAE4D39B99E9386C5AAADBDE232E8B751811C971126DF8229D802153 -5DB62D286DADFC847D98AAB73B159F61F6F1BBA9D4E18C71D982436294178EDB -9D3E2C3394F824B1A67B381224AC2B126DC07F9D1FB1FEB55E4E1698130584E6 -EC789847090AC359A465C33889FD6770BE79EAB44A489BE86DC210C61167CACF -328BCC50EDED458A10EC0C0EC907A808B902B92ACABE442C8D17503980929F06 -0EF04CEB2828302E9EAEA75B43A142A791508D1C3576B0F0584AF2064BDE04D5 -4B2A98DD648974BB712F4D4FA0C3E3F247355709CA187F2E22808847E5BFC0C5 -A2D2F6B53340A943379D26BF95AD0E771FDEE47E88299FBA70EEEA09B5CAE91F -3920F5E3DF158B31E60971DAED8211FE21CB82609B581A20DD60D738C186A8F2 -AD2F826A9031831BD1B510A11BE5C61D683922957A8D909773AE1EC6CA3E615C -21AC4ACDC6FABCC1DE0007D16F137B2698D92C312D5913D35BB703A678425D42 -E4E4923C3D6B844682219916B33163CE6D87EFD43ECCEF7BEDD597401FA75A70 -A3D902BF4D8716FF47E5D7B1587ADF4EE2F8718BD6EE9A3FA58460E875AD7E78 -45C2F49981B3E4DDAF2A0E5463BD845A2B7F65A4A7F58B78194AE04F58FE53E1 -6F8029DBFF18E1B52BDA098793EF741C1E4A705A158E47FEF0B7F7DEFB9C9C3B -1A0B82DF66E71AD34E0F0A0AEF314E6040902ABA0822A44B2040156EC942A78B -60E26257686A1C15873986DE3BCFED2A5AED392F9470991040D5147951C84D34 -715E767FC6D1BD855C6FFFFC9B8E0F21303AC01D15E21024CD2936D8BB054E54 -11303C2A225999ACE40F838B36DBC92791AD97112408409FDE74D7CE35B206FF -29C9FB23F71D5D65B2E8961A006B04B81836430E0FF3986EF0DFAAF222DEE50D -D39EF1CD8AEDCC1E7BCDE93D0BEADBDA95781F67E5AD523DCD2404B89ADB12C2 -54519D2627D577B7BCCB6E9D8A2DC4AB0C9F2FF27EFC6BF14F0E187860719120 -A9F604B57AB0473B695038883A6138727F1E093C1DC8848EE2B6B7AB3375E2C2 -4F9666D60D376AF5EC01F409FD3EEE13B0C67A31DC55A2C3C0C9E7B6AD07FFBB -1D91E809AA64890EEDBF695D161FC4F51EB72514E575DBDEFEA70867508B1E19 -8DA5D6FA85F0B1E544D4A3A2F430CCCD13077D9E46DF94AED300DC90F196AEFA -212E5D45C17285E2D13A44E524243A668A23A6C97BC7B6F68321CD4837618CA0 -3D1FBF8EC7C61EE2569A16357D23011C2273B7224C03BB5D1D1767D04B11AED4 -9B0F2157E84576AB864EFF097A6171529E0E6ADB1F42139C91C4CEFA543C06BF -C5D1B3DDA23822234BF0E898D46CBD9A316101E411389856CA6504AB7C1DF7A3 -8602E41303C4E967EEB54D56BEAF159BE060557C9DD0116D88D6B2430DFAF48C -DE6868A6D74A2DE94052E1B44F0CAA0B88469B0E4E778250EA1F121ADD0D0899 -7C88B17A3E719643F9E1E18F781DDA306190BC8725156AA13DE6B589C55B4218 -6E03A3E33B7C31156859DA3070035BBD6B7FC2FBE3DCB9E946895B633754FD2E -CB0919F53655C852FC66C25C83511FE4D11BBA1948EC094FE024234B43FA4161 -D6D7B6917C423D80FEEFD12B32C50F45C46643DBEB2756BB3639ADDB4A628FBF -A08381FDA81E9004DE04644BAC33AC06CC46DEA3B61785F3F7AB20EB09AD90BF -5C522512C09AF7B9B64D2FCB88D297C9113302D601778F4A40502208BDFB6237 -0A58517F03F4EB24ACAEBACFED72DB99C6F09B1A9B52C072A5B4573A0A327A90 -98A10BAB75124A00B8CE0AEEF29A6EB6423B02BE542D9CF5C1C2583AB23B949E -E7F60F643EE1DE8F9EF5A4EE1851970565CC391B1849BFD1CD5CC99E949E3C69 -986292D09396DB57FE068AF5E1FB61A7C2B8C6044EDDF17F8C5B2DB9ADAD93FE -38618487018274733019813027AB1C43D778F02EB94B09FCA7F3E21C566CCF63 -3172A02827FA8056D59E26C74EEFB7B651EDE7C74EF43D205941A58DE5F5ABC1 -0DAB2E0AD8617CA26CA9902DF93AFD42C4DF308D8DECEADB384A913358B0F279 -766F18E6F9C94EAF754C74F2180C61417899EE7C01B52E5EE873AA1EFFCC0DD2 -B58D93E68C4AA4111E7964E82FF7D18A67A14FD181AEE2E12C400E6BE3DAD5F1 -33B0DFD95227F3BAB381813D9E76BE7266A13A7B0DF06BEF237B40B5DC81B5D7 -C601FDFD07965FBA6A51D65DEA26CC0652F149BA86BD366AB2A510CD5DE9B163 -7601EB4273B0703D5ADA2126FA5472CD4FCEE99AF2A7AFB79810433DC93D025A -9CDA1E3D431FA18BBEAB333A510083A1F76A718723D43635826B51868CC0C85E -F16A2A7AF39FA6693A605A65DF42851C444F61CA38E073412AC89E7324997AD0 -2B709EFE96F05B0FC60C4A3C804AF6D2A6C0EEF850728CA7DD5419DF8BF1C324 -4DF2DB944A683FECDA2B29AB564FE6F659037FC499F1D6FB7A6374C5C336C8C7 -4591354CB1E6AF135261AA3222FA156E6128F3EADD591030F59B3D1F0619B506 -498CC2EFA72C35E88EF37DCBC6CEDF837C522E88A5652F947C5407D8FBAF2448 -EAA1F4C03A8A0C173946415FC06B4604F77952C5913E4263B741CD9B1512912B -0CF9D89F82133719BF9D48C7127BDFAB0B2801134127C23F84F8AC313E23F91E -2D357B97A35985B1815E50B645B60A837D530E8AC939EFFD5B336659BECA5F2D -F45CAAAF2BFC57BECAA1A80156CBB1D82FE32639981412B4798501A1404F8458 -0FB53F483971A364D4E4390EA18575885E29ED8C391827AFAD7126C1A7A43E9E -2998941601EA863F89ED0CD76DE298D594D167DD4C11C161D54C804E8AFD78A6 -6C5A1AFC0C939DFF1659C4853CEED6F1BBD689465EAFAA059AA41CF4226C7691 -71854745CE754500AEF5C77F1DBA47C84C62DDB4F8FBD127C29483189EE00F67 -19F601A4C0A61BE1ED927F76A8EB787D7EE62E292CD2AFB1D4396A5338AA16A5 -463B0C8CBE73FE4BBCD4517A4385A77971457C554FBD6DEBF75F696DEEA34C2F -92C01471638D82ECAAF13DFB18896EB5E3D52A5F10E22CEE6542F7DA10E58D89 -CEE3ABADE7721C75B83CDF45EBDCDD258154628DFDF883410DDF7792EF5BF4F2 -27F56501B7910D6D39AD509A4F3163D783E941AAE24579B3AEC898F21DDA9016 -FEB7D49022E004AB49558C877C3133754BE99A3C81177D6517B0668189B55581 -49AA091B3D6E3F1933236F546F4652D464447C44309510BABA869E219EE32BD2 -3E40A733C45A71C79B2116A36A71BD75EFFEA12614AF6E4F8B3329D407D951FC -2EAE537C9EE872EEED792D89FB56C5F0840F804DD18C1256434E58FDB0F15735 -B6EB98363E14CE4EFA0AD8A863018B924F4B4A709D2F7ECFD2C2BECCD2775390 -8EF8029AE33676EFFC5E283CC3376051EBF50EAAC53EA76BE589043E6862FC68 -D7367F06955C799FC4FD98FA4318C8B8A3874B84CF03AA2FDF381AE8D0FB2231 -FBCC5A144BE7D4F9A1449F9C2409E712F3DD107DDB167695843FABFE8EC31DD4 -A660AD9E7B05BDC4122034776412FDE112C1858F79994E3D5000513EA9F8BB94 -7E58D1BDBF9CB797585E16D6BED350A5AF0C999E409D20487DFD21D881699C93 -461F925B7930FC6867372B0D6F7BDA3BB19D8455194961D9A888F27B7ED3B1BB -32AC650E3510EB4A563BACB079210D3B787D153EA12400590A01871C5F7A29B3 -036105A1513ED6DBECE39E7A46C9B47968C083A01C1DA428D5966811F5AB756F -96548832B6EFEDA43C534F4CE9A2F3760750C4341C7A4407D69C90ED68932F02 -49DFA7393011EBB581997FE9FB9AA12A43C15DB1C0211D5A4CE3C1FF8E28FA0D -4A5FE81501EF0ED2E1E2E014B613A56DF164E427AC960FF73391B054FCEB8AE3 -94545520941B8257E08286037A7AB7633E6AC7E37645455A7173A51FB9EA9115 -888A5FD0D419CB90A7D0D6F64B57B76FD74179F8A1A162F0B9D543BF53BDFEBA -3B4ABB7BF27FC1030C6D1A188C595BE9D59F9CA8F3C43678762F6B01408471DA -D7AE01D940A59B7A50D9C0143C0744CB90FADC94A7710450BE6437062D48E8F1 -A34326E9C68CDE3B7E6185E793C0AF505DF186BECEB66667EE0CA04B006ACF8A -0CA407EA918AA7FDCC40D851DC56A2701E646695DBE56EA4193200D98126307F -3FA547ABB75EEF2B33EDEF1371D7C068BB1297CD9536BA228C52F85F2372F3F0 -3C80234C9F6871D0B76687312516EFD1731F9748A14DA6978C86219CA674B267 -DFCAD0FD7BCEF477E0EDA4EFC48161C43D557C732052C5E62AED8C0B00D54A11 -FA51CA87415563603D7CAA21E29C84501DA0777B154F5DE943701E02B811366D -05F520C9E4D53865A3060A9739CB6F6B997BD52A705BEA845DE404392F4DDCB0 -783DD19069033E1D3E095C4804202214A7E2D19A134D1307E5A121BFB04715B3 -5B989751F514B6EE5763D3A8FC64BA558C71E26834144E088FFAD3B183600D60 -A5FCEAD02C1418593B8F1E0DE6FBF324BDF262024F7117CA742260942588093D -C08185A90F23B185B5F95767424C537DFDEAD50CC7FE3B8AE3F5108873C9C7B5 -8CA586AEF7B7F6DDE202FC22740954A10F6AE3E8266CEC7002B9F2DDBCF64CCB -33EA716C6E1B7C0FDC9A8B697393C7FBFABA175FAE04618259614B035EE13E7B -471ECB2ADDC4AFD3ED49FADEE0CC434375A0EDF967011361466A900CBED0E761 -5C9E3D79CC8C844D423ECAF271FFA00B43D3887B9C8860593930D17DB4C20D2A -1E23B070B3C902FC1BC1A88D98B4EC513F38CDF7311717790E1B90B411DCFEC7 -6F238FFC87D1DE418640779C6618854E8DE423A48AD87791633A000DF0BDD49E -F664C20CB025F17ABFC8F606754AF229638C6C0D211C0AD3AA8AC3C9DD5D624E -103854DDA2A834C347E6F242947BF06EB5DBF0D3066E24B8F7880238F72D0F0A -88A4B5A4DB11FEDDBA112D89C755B3759B187F4E12DB3D90CAFEFD91DA9A160A -39A7749BD2E7DF4946457260C6D895347D074CEC06CD3E442DF682B32A9C4753 -CBE4E0F6BDCF150945268A7FE5C0BED753FD298381B34EA0829B2B94DC38007B -B72D0FCFCA0CDF5846190A24036EDEC853AC17BC40FB9BA2F62E96581607C1A2 -B68D50F3F186D48887A5E8204DF84D7EDE2E619B66D2D2AFF968F453D8E585AF -2B2FA4FAD81094530172426CDF5CA0F876502287DD1080047E31D18D67704D31 -07F0BA091DD050E4660FD5DE4912AB5D2A530035ADDA20AE61DCB7B30981309C -3B6BB005EF8729AB0452697BEDDA5DE5AD7D54A1D1454DF0134203E618D02A10 -ED115131B03939E01F741A8502B88BAB4D82C670C76E7F4E8592D5D6A74D81D4 -9E8F3EB18622BE1165050D90C8681283D2476D6404E0B7197429D0F81F1C846E -0FF2EBDBBFCC289D692608F4D82DFEE8AB1D2644195AB3E433C264E991F6E1B2 -E2B21DDBEB4E46E03537B4C3595050E65CB525E082D690240E19768AF062F89A -2970A5C9CAEE6955937196192FCE3D42106B20AC488463B28F5B028B809529B7 -0B164044789AB45CE8FB40D70127B1F3867A1ED544CF8C8CF2E24BB6E1A514C3 -E25E327E51972FBF7E0813FEE52010E48944682FA348A67306E0166BB3069925 -C670F6954E85615EA2758DACE93EE89A43FD0BF53DC7E3BC68966B475C00AD65 -73A9778723FBC930452393FDE06823A5933CD35703C9A327AC36644105AF9277 -A0CA9A3DFC4BD348D001680125321712BA71B16C38A5128985927FB23869EECC -893DD2688367980E7F98E8BD83110464E38EA770B88303AA1DD3F2D1D65A41A6 -EC6BCB3290B82486031D3DCBECD1E6A2C428225F56B6DD66668DEA84CE146CFB -9958AFAF934A5FDCCCCE7B99CC8002C27DE55D867F1B9158121D04D763D9A3BC -D0D8D87AECBEDBC250A2ECFC6F42E58A8BF069DDE94A4A162A6F76A6790EDABA -E564B286BF200D33D9FE6774DA9BD91A1AC4E0906CC8EED350A232FB35C084C9 -3C521EACF914383169C274A83F4EB79F5A0D10E63CB8338366E3273FF831B05C -B37840C7BCCD97B54A954C2542B5DFA9688F2735D993F7ED2F369B6BC37F8B78 -519AB0BA4C936C16C41724AB96F5941D4C6CB6431509CEE02073115C00FCD01F -6F4B76C2F997BF2B9F09C53613766A94E1B466F9D434B73B35173DDA365EEB4F -5B48E85C9CC0A50767FB61D7FD3C6CFE2DE088FF06E1A5DFDCA921A09D73013E -8E9087559F081324576ABB53AEE66FBC9D248EA4DC6ED1BB821235C6A1777319 -FDE6FCDEDC54763C3F822E500D0D557E934631AF88E10BCCC06179708E2B3A99 -0172B0AB69E47849BA8067EA14C184F01CD5400964BC603DF20DDBC055936BBD -E6527DAC9B198DCA9C418AD21FDA370D2141D70CBC8D15276C21273F9E1B93FE -812BBEE4B0D72ADB4B593DCE83865CA3F5ECD20EE28225B729A6800E8FACAA6D -3C64CE11492B491D15C068B37DA58360F9A7F9B9B65A508848E12B83F7DB7FD6 -772033A989B34E46955D2F4C0630494302CD9AD4247DCAE3EB91F67D9544E88D -8FE84ECACA113ABA1D8555FFE1ABD0F431FF157C8595F4397FCCCB80D5B2B17A -0C601D43026FB9ED0E9E9C46CB870672C1324D7283BD28E9693842269669F57B -2EA2D0DC1A8757CF6C583A3235311BCD01539AC00ACE6ADA5EDB20306C469ED9 -73A7DC687570AA2837D3877AD51E17E0A649078E73895ED7A5550E1650A34B33 -72C2EF569CDB2242AB91129175F578BA0134635A03C04F684F7982CDA57C9E90 -4B333E4962ACA9E2686FBBCC0FC2606A514E683AD8351D9795326091339DBC1C -D5B547E449096CA2A71D13DE28B967257F1F0731E1A4ADBFBD6DF74D6DFFA5BC -08C4C2AE615ECD20D52BD8EF537DA2E0FEE314F1D60928A87EFC7A42C4B167FD -537F9256E03CD8D2EEB07AC438E55C33FDBE2FE4438F6F8B29ED01D23BE33F0C -465B0FBD1B55041D16BD5ECB92204B4F614024190EF4B87C6D03EAC1EB863005 -D3AFE487D1686A4A356252745101FDFF3F85C162AFF34B2063E6B2DB7749653A -D3EADDE7C1FDA2F246CB3154737E277509925ED8DD86210C94B64BC7B8C4A037 -9F4C147CCFF8C2C1C431E1E8E5EFD8D49AD10E416A2DA4F45092FD499E4025BD -93588050EE9907A530BE3FF8BD9A4BE19526AB3CCA10F70E702E90C72BEAFC15 -C66774473AF87569AF99B516CD67F2F6D26DC6DB5508AF6286AE547BC63F95C9 -DA6190EC85F3D8605DD1A7A42C7C7B60DD3BFB8E84FE0F584D8A986BF0EDFD3B -33B6C953C8E69DA03A5D0C5DCFC66D800388B2E4473F68F52CA474FB8F1E4D1C -F7F5119CFEDE6F45B2C6BA1E0B82DEC953A26F1104EA8C6EED38B065B02EE952 -4D7CD7FAC772D6AF3862D8FDCF7BEEC514795BF37C14D4A502EA7E10699E2B99 -0EC296F769EA6C20078265D25617B1225C7D7EEDA1A10062216EB83EBAAA8CCC -A1C750FAAF6F44246436DB8C2CA7C3010ECF6FE9A66BA6AF6400618D170DD44F -E231343E2368632C89C738DF38F618DD9774B75EE2B146690EE6726E6462613F -2A6F47522F1843F126BE21A8FF4FA0D9E6AB154ECF0FFA138E036C57D49ED1DF -517D36CA6171E5C4A26027787F2DE873B6438C55B7CFA023CBB5360B60C84496 -130968C3DFD4F16608D310458725E904300D304B660F5D6962592C7073B2C9E0 -513F8F6D25AFFD7E743A710302CD5F12AECB08ABC02E650371A5B23C18FE024C -9827FD131A14E622E7E3F1C2DD0531CC6B91AC9E259E78463314ACA0BC7DD2E9 -B2EC250B3BD48075040FABBC5C87F5EE51B5CBE1E167DC4E151E902403A59F12 -C4E4BD1A31E95E430EB6C214EAB8F6825EDB0ECF123AE0B980C4361A2EFD55C4 -74925A2592AE2195B0267E828F7ECF7B9F674D0D3D4D2A9FE7E03AFE8214C82E -B97F69E4ABD689257F3987F84B31AFE10133A6A86610D497EDEB680145F0D62B -647998A8DA295A5EDB43000C63EB9106BD35C280BBDB84D478EB316E506BE0B7 -1823AE8E409652AC05D96ABB02E8815640B33BFF08793D23A2797847C7793573 -BE9A0AE34ABCBB712BA86BC2B3D614D77CDE77DAD8D41A59C29FE2138BE18717 -60F23F275BEAEA736E1237232B4F5C9171E49C5214F841ACE919411FD651D4EE -D0E49C79E175E2AC19B0690D7F7091665EA3DA20DE5A559D1481EC058B5521F5 -D26A8B10966B6EA55E7B23CF0333D7EE20919C9168A50EF7AF4D4E57D9E5C698 -3A0626D67575BE6CBF0618C12A169F9CA62F3273C4E790DECF8590274D7D7C20 -BED651E2C65107CFE57AA16DB17F45F7F178F8B63EA3E9969FB3D6A376A416A4 -14F809F02F8B9A5331A6A1279B19C9D4CA9D9987B8FC1AD3CEF0797F53B70F25 -CBC85BFFD3AD3F1D460DBBB2CC644109668790DD2B5AB7301F37F19FD1AD0A52 -C6920EA73858AB10EF369E5ACCB35A61051ACB6586B3B5435FB7A8CE51C16EE6 -A9DE7CFB1B7C6695DEB484A8D4A723E83B573B0399AB442A1E57793F9D6AC73D -B8DEC23105D56BEA2424E91B9DA5CAB114BDC3636F0CB34C60BF1B0DBC9174A6 -A8EEB5F832D3B44BB7593250A6ED065309DEDFD9A1B3E57E10CD1C651877151D -B086E2D82959C3BB999C11110C2D61CB8278AC65B013F6A48D501417AC494D51 -E75F579246F4449D4D7B83612A4E80F65845B8766E95EA5129F49BD80CDD2E96 -60CE7A6EB6DFF8E9E94A77A0126892D661AD2FA3D587B7260ABF3A8449A43E9D -1582D0D12DE3E35F3AF68BC48935487A6C8AFF614012FFE86E48DA54DD62B510 -BBCD311AAF2472B2882B0E1A8E4A0B37DCFF968A7F293B529EAEBDFF5861E56B -FA1009DF759867512F68CFD8F01A7122CE07AD3F409F809E3B6A6FC0C5244229 -9199342EDB58E0D35B6519443411794978DB0BBD28E736491B0F04EBE14B2C1C -3BF6EC7CBF1411BA50AAB52088B88997355417A7049F389C770F1D33DCB3CED6 -0ACEB141033F237611D473191C1C54467391EF4BEB3A64241583A603F3C79B7C -2F0B75DCE77C4C88A1AC382503FE2F6421A3CC5824DC16AD7537BCBA4DB1EC4B -F336F77352683BE1546356CCC9702F24DCE6D1F84AC55DC7BF562B6605A36115 -6F9D6ABA30A043C99C1A0194879AE635B4AEE1C0F0D515018F45F9EC58DD76A6 -EA0DD8EE108EE353D8CB3AE7A6E4C2391E24F4607A688E283ACF52199E20902D -F8EB7960666C8552BFD487F6BB348DC50189B03F0F959743183B92DABDE7A8BA -E1DE007CDA5802D6B2F00553B927D9B787630441C04593344EE7BD12DD085A64 -8FB62FB4836C5AA2B1AC7400A00C038E55DE2FB9AD92FEF7EBCD8F11378450E2 -83673F87DE599C80786B0E0BA22356CF30E9D2E16E5D27FABD579D71D399AB7D -4485299038F6813CF8C5063CE55172E3989562DB517522BEA73A4FCBEECF85D8 -AE4A4F9CF3324EDCA9EC981DA2264FFF7284A15E3A30DDB7E347072193D0BA4A -08A127B89F591E2702A7D4D6F95556140AA417CF5CC62D69F9457E0215AE019B -1A8970E87074B208719B4DCEF7679D12D771DE2A01E723391D59DF7BD0A7326F -B5695926DC92E40C177389E289200909E425D1CD28D1A19E1B1E4E41682A82C2 -7FDABF1AE57DEAFE7C395886E06524AD96E214725129A3ADF8D515FF3CF78CFA -EF84B53620D5FFD99B1EA3F28DBABCA650B046C320A028426C44D2AE3953A9D9 -46EFD717B838F2E3FD8FAEAB40F2128F46410F1431440F60326A1198889CCDF9 -C2F9DD3D119A9132541FF09116A8C30C6E8CFFD9AA3EE31E00288566F07DC598 -D7234FDFA8F8B068E1062998F8EB6B4751CF1D4FACF98CED6581FFB46990A524 -B382A1D65C66D131BDC936A1A1834E3CE36525D63BED86416B7B7F1D24564D25 -A60990FDD9E9FB1C1BBE5FFF5DAD9D8525AAD7B823B00EECC9373D671FBA7B8A -5166B2B4B72A93373FA9063DE4B22D7A6D1859EEB440634DB57990ACEA84D507 -69409DBF24C5A96ECEC2DFE715643FDB87703A4B42EB6D3ED5D5FC117199E324 -FA36C00AE07A6A772F6DDB48BC19F6255FA3583BF967ACD54991A78A5E3BD803 -C442C3E8438813F8E4D040FF5F287FE9D9D450F5420AFD1BDB7006A1C2965562 -D8B8BB8A8DB9E8016E69C25B6FEB864CBAC9B1635F78E57A0167E4FBC3269286 -A829BABF548377EDD4A7A7809219941BCF62160DE5EB11A6C3F73F22EEEFAD6D -79349CA6E83DE5F014989BA7801172B7DCE74B1CBA05563434352D8CCA8DE220 -3FE92EEE6DBE5D0F15E1E4A4ADEF7BEF05DD0F5A066373B47C98CDA85509F685 -BB0A9EE13E239C34BAFA19DF1253BA3E03FBC1FC85D5387878EF5EE62B77D254 -5D7468FB55B9D5EFE11BE32F7E7FE83A8D60B15480674FEC54CE1DB50D05C58A -3C3DBA96784AFE89468FE881C7D5E569A6387EB96A2E6C0293FCCB29FD5E3022 -6C4DABDB07C4D2B211A6C7AEB61E6151FBA636EF6403BA6C7B8BB793C5F4F7D9 -62AD6160B6705BB536C7C4C6B6049ECAC5DD72814370EF535444C611CAA0DF1C -CE66A641A30EE8B3B8703410E55970FF5DD77E5B3932355EC6269102D7D9CEE7 -D3E78B00DB3C002CCC5A5447A3568669EBA5133D5682AFBF5589AF5E5833F539 -D767B8BADE673D65B88C8297428CB077E68FECDD2387C58D7C3EB9E545CED26E -A1D7370F2F4DADFBD9722031A72FA1D3E8F564378D08D5D9B05DC16D1E2C187B -C5D20ADA34B3FAB982743B3070977EA4A9CEC000C46CB79BD3E84F30D1A2D334 -6B0771A66033FCA6813F22300E643E33B130939236AA4019AF8641D0D5974AF1 -88D18EC8B25EE465FAEF3E7690391E33FA8EBF2B43A7622894356303D6E7CEB6 -FC2FF5050E1A2D21D61AE6D1F5641EC7689846BA4B7EA87A20D309EFE78C9DE8 -A10251FFB6A4E0269F7A37F566A826B1FA2C55A243769546A2BB9D4CDCF4A543 -029BFC4425E79307F1A3EBF4D5B8EA261CC4C0320E2449A381E9D8E4BA7C7F6D -340FBC8B3C50B0E59A61E9782DCCD9BBD23D3FA9C54230C5E1CE3D0A235F33EE -7D8EF251D33EB218D57BCA368487B0B6F7D5792CEF0B885F71DAED5BBB17BEFD -17DEB3C15BE0F452534DD61094C298FA9B5CFA0E96D091A2589D0F69C85F8BDA -59936C67A80AF924CBA0765706672940476C91C76FAEEFE48467FF8198468BF9 -238E2926377C2CC141CFA2B4FEAC7117FF081EF0FD3B2B48028D57EA49B448E7 -902D0690096EE6C83231FD32653432A231943718F6BB9DB10C534730BC8CF192 -02973DBD125618EF21BA17142C8DA4099A6B530F36F9C782436927BB03B9A761 -77D0ABCD53BF2398562C623260043B3E7D041B5C2A244DAAF6B57245C6A977CF -C5A34693D558DFEB02ACC7C08393E21AE88C22E3C228A2FC4B000A14664F586A -FAF41B2DE959CC3F58FFEBDBCB3D8CECC85660F8F6628643AC63EBE17C02A6D5 -BB3965D42559D47EEF9A98A3DDD12193A445D678E53E55A8FC95A96F3FE1F0BB -825A0A4F158F54097880ED2DABBBF7B6DB3FAAFD59E981FAE49B79406B813E91 -DAA2AB3195A5A0CD655516A92157BD59164840B4F4A7D266B9474BA220A48599 -1C2B1DDD7BDFBD99327D677E45698F80353D43A9BADF034824473765F0EA2F10 -44B98499FC974CB913C4B64E1269E6B5BC912B34D0B89FA37879A63B93A91256 -553416F94A8B00EE325F328631787E37C9DF3AA9D7C2041DC58425FAA5DA0CCA -BE2971E437FE146D557ABD238F8CA06C5E2966815CB4B7E1DA75A5AB83617E0A -AA0DD4F5BFB79225F7D083B6380EF342D6AFCE6B18FBB40EEBC845D20632385E -8063551716EDF22F257487DF1904618ADE7487F6708FAB208A911399351F71A1 -FBBE41602512D92CBA6CEE36043093FAAD2688BB0409D71B6B09C61982EDFFC7 -1BAA404D3ED854ECBFED7E9D4FCA1DF74F5BF05A1417E973C308CB805B4336A9 -2ECEB6CC76908C93D627C557B3BD77018F96DEF4145A9DDCDDE08E47F80626C2 -489C7042DF12A37C574FEE56DB542AED908C22600F22D467B8F50F4C4809015E -EBE96D4A6288A07BEF0D73690D7FCB45995F0701D0DF507675F59FDA3DD997ED -C349ADDB576A6F2FE117CD42978CF975246390610DF22AB9BEE4BC8124FDF869 -0D33C973FB6242981DD07E21EA24F0C4656EF450BE15FAF83BC9B5A5C38C2D68 -99412B858E80CE9ED73E513C8A169F9490C94FD74C837D338A2F627E481F09F0 -89B319F6076A70A0AF1ED9E4E8C6C9C0C697374BE102466C5870E7564C692899 -9A0FAC9A82C038FBFEBB2912E8E335FFED0AA2788856144EC2E147714075988B -FBE652847CC46ACA47F77EA672BA21D6B1815071B85ADF862DB0F26928761F55 -92B610D5524839CACFB89A0C1C3A50063710BF3F85E48748352ED45907122625 -3D1270F4548E6893D1B25F6D0C1384DC91F6400B0AEC3BF07F634716844689E4 -EBF65C1BE2A5B31B111BEC0AD90E4D571F67C0F28A57878D2B93AA616FD1E969 -1DCDA4FD3004CEFB0536057B412318E69D9E589B852E41AB1D79C88A214631EF -6F407003F1E303C6492BA95F475F139E9A508134E39FFA501C01F5979A062085 -E07149AAC966E190DF1C10D6C197F7D90F388AE154B401102B7155B48B5E812B -BB035E4BF85504F0F6D73F12F1871B986DB5037FF1A07BFA91010C69F7DE4D04 -5568FD6DC581C20485C58DC87296AE14D94DD4EFCB90FC49D59B3A24FD5134AE -228F9D6B522B9D698D82B01A2598991D427324AD1418811A30039325134A3991 -1900B9F104CCE14A6FE8060192A9BD2272390DA86710FA38968F84A0EEB722BA -647850892C21E446C52CB44D65CE6ABAF963EF7E4373FC84B8C1C024E21D3EA3 -B9EBDD9A7C55A6F759807BFD086C78CF5B522449B1610F3BD0590C97B17B26B5 -4EED5D1395D9BFE60ED37EF4B00CB48BA1A904C4137433067EB2AEAF35030874 -D0C061F2C83B8A4283ADB386201192832E4C3C5A47031D6AF00CC267F7DE8449 -73CE55232992AE3E71131A18B348EA7D0118857000CECC69B80BAC3EF6508999 -27CBFCC211314D256E112BBAFE8BE0063F85764E2FCBA821CAFB9DEE8EEF9B21 -7B7F361B8F817576F09B9A8A33CDDDE20CD30E5D07BF072553CD55FE164112FA -CEE7AF710FB84812E334ACBF603E21A3A1B78AB470B232041D75E041DDAAAF26 -3F3D9267E9DD307AF620E16B50064D8F5C8F1E917C8608405DE1EB8B1AD1FE90 -6EFB0F29A9540F9A0FFDF4810CE7CEF183A6AE3DDF193ED3C6DF3DFCCF989C64 -37248688B532CF9B91750A86768DB6741E2DB3312FED357B174AA9318DD6A78D -25456E6D80B32495FAE60E5AFE0AC1A05D1D8FDAD6288CC6CBD3EF14B3B87058 -454841B2B5D37DE3ED4E5F0FC4E684836EDD69BDBEAF3C4AC483666715FF6075 -98313AF84619C2C9AEDDD0D20EF2CF95C56F5A910C628DC242FF71BEF79732C4 -93B3897BE143B1C74942F124F194EC904BF92B677FAFCB0A85C3900A75B1F0D5 -CEC1F977AC17C7EC394718CDD08AB218211A5C702FD4246E5737959F527847C4 -C1730B0AAC3E28DF726DEF7BA051EAF425E442493C7A616AC70E9658C95D417B -29E655827D9630AF834C87EE85419F4AD1D6F618493D3C610F1409A8FFE3E5C8 -43642A161300E6C90151CD21EE11DA13C7925B7D5B44C59AF3565D89C7D9594A -66C411A848E067424A23B13EC03FCB090A15791CE346376241809E3851388F9E -BB90C488DB50AA60ABAC64CB67DAE8F374F2C90CFD3D8B2F2CCD41740EAE2349 -2167952F63D005C9F1F09E6DAA22077F7998CA1209633A1F719F2EED5FB3122A -52F67D1CF0FDF42324A6C86EECDD300EBFD9494430BE5B462D70349BB64C2508 -F0D7FCA414462DD4F3CDD0C531F385179B316B7B043404DC4067D450F81366F3 -9D3BFDA706859CEB1DEE3E62C453344BB48D69D093B7B15B71FBC503E2414316 -ECEBD9F7E25C20F06F22469902954AF3B2A128F76C0B7CB6357A5D8402EDAB0C -F5D5288D07CB484B69BB687608F51611ED3AC3780D11AC3AFA9E804EF56D8089 -64ED8A5F0589267D8330F17580BA3E35517EC2C692A66965BC089777DAA7C8E8 -9D419BC85C6DEAD167196761928B28C212B4B88A83096ECB68B84EBE98D97C85 -293B8CB1021DD541EAC2DAE1087D6464A74CDC165479940C9425D636619B1BE7 -967F7259D1A536B2D83EDB38E473311E1FD0C02A31EF851F3AD001482AEC0D9F -D507F00DA975A2EC33F5DED8D6DD551257E20930EA0497E40C692CD76EFD6012 -2FBA02244EE7D0C540D98DB6B33AC5472AD9E653C1EA35FB2CA5A7309061E28A -096617B9F6A34A017A42D2A13C7AEE8D875A94CFDAEA73E1EC32B2F4F0 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E +A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 +931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B +CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 +E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 +4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 +2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE +F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B +E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE +E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE +251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 +7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 +46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C +E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 +DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 +F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 +507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025 +46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49 +2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C +C4A879C0C7596E61997B972E8A55E57B17F802C738E5C7A8FBF6424F8B131B23 +CEE3EA3747DB066246C250EAD335A76FA166ABF75120CECB59076AB31A51F176 +57176CBE8C802A97B0542A5CFD6D5E6D7EC848B923012E45D9F065BFFA0D03E6 +788B68BA4DE51DA37994948F859D41C28BA939C3A82BFDB44DA585AE80B8CD7B +A6EEA79B70BFB4864E06F06A9751BD2D2A209D150D7135E0A25D67263EDD2A7C +C63B5B76ADB05A2BF747D5699036377F1A645372E5CF6497D8D4465492780B56 +0D7A64F4AACF00DD611A0D4AA2A1B4ABBCE41B0BF87A7351F26E125166E2E07E +2E64639C4DC21B996EB744C784A145F80D07676331178ECAA4967195803AE02D +1A6A04B38D721323251A1B1F656498F5FF255E4F1632DEE1A8C2B197CD7BD5FE +3819B1998273EA5EF8EE032E0638F6DCE419852021D098A19CBA9A2B675BEDDA +B6513BFA1F239FFC92CEC9ECC612072E87FBEF1ABEDF6804E605AC8979E970E1 +3EB524894E3949BF090C1BB477C45FC0054DFB6B6816C5B0312BB9FA09EA87A0 +9A18B9B5E0DA687BAB199267EC6668094D1FA853632DE7124CEAB78BC994D6BF +FD8BB4B920B89A68DC0D60BB73AFED84D38925B4E8C4D4E239080FB47F44979B +7660A9C57F1CBCE1AD69AE3E7782796EE69BC910251DF8406ACF78CDED5224AA +B13F1E17BB454BD4B5AAAF0143570E5FB2236DD096A2607B8D24EE238110486A +0759B4AA276E3B5AE6BCCD2299EF7EC5C0ADB9E3A838DF0A0541FC56F62684E2 +F165BDE1EEC719A7DD44D7251B0D28C63304BA3758C76B1FACD54A4E73C9B32E +A49366083906EF8927B6463215012B3927CB643C0292688601AF2348D62292CD +5E20110FDD05739D7EC6A3BD1B166DCC421ABA7901FB926025EF88A54B0E695C +38E9C894A2EF7F33E5D0304268849FC3D2F972148ED6C631EA375D67DEA1F8C3 +C44173E5FAD943C81B72D818D7202AB20B77EA0299D4FF7FBCFCD7BDB0C9655A +B02646E5BA32F6A7033BEA306BE69EDF532347B24DC7E6BA226C6005EBF841E4 +16430F8B4405B2ED05003F10080C12CC74EB07708FDBADB821BFE0DE6C8A3278 +C2349EB88B977D15639695B35C35235E00862E70D7E9BF6632E0F2E342FCEE2F +16880A993EA9BF5FE7C0220D844C5920A2C334ED030FE2D062F8549508589F66 +66B2E4F66E249A01BE6CC56E73AB21117213B7502DAE7A2CDC2D8788C24F8F40 +74B96C17464510BE4F2543E536BB32E943522E9113DFBB56096A34BCF507E7A1 +B17451E6AF90ECD2A3E0234FF01F93BF0BF1300FAC48AFAA064419428256019A +A55C94130C7A4AF9ED17AF615FFC9C10517B0D210C464C8C0E2B344B31D33886 +5264577F17CD7137CCED2612E1B01DBC93A98CDCC6C83A858307703AE11DF924 +BABC5FDE240C80CB0B4DE1672AD86C9BC4773E95182C70A6E809D336B71E25E5 +17C60BC4C8182FC222EFE5419EEAAB8CB1C04750631F7B4846D75651244286A3 +3F87AC81C3DE5937D4545937DF166D02B0505EEF1F744A2A955DBA5AE1FD8453 +8E3AC7E38B333C7A741A58472B543C870CD2885E812FC88DC0E3A56D3340144C +B6EF013F04707315145E4B41142BB00A2BE5F6D17EDD30DFCBEA3F099010C431 +E2D5BD261DCE594B5E0FF7F1E836E88494B7489BABC9A230A7324E122F40DA62 +08922179B7EDF55176E4D11F985E6F3CE8B6695BBCCFF8AD96CCE92C0CE3E8D9 +C27F103747346DE482B3A922A19BFC5E18C3556B48BF53EDCE941744C43EF096 +E36866CF42D145087DE6A41F205D04A802E2E26EBA56BE4BE182B460E8A7DF98 +8C160EEF6FFA866EE54AA2541B1595F5B1D0104BCB313E5C886A0519311E2413 +CC40CF96EF3E05CCAF796A3FD36BEE034878238A40C77C6205904A9ABC8CCC9C +7E1AA1FEAE4732BE0FCB9BFF9044486A232D39745885AF66470F281F7CD076F3 +B11CEB70BC1215D944D65357D0967F83E13EBBABB3576B89AB755A14A4A8D292 +5FAE31DDBE3999E4EAE54E5892C6087C4B6436DEE581FAFD1F33A8DB8000B5F0 +F644C655674DEF2BAB3105EA12B5550286FC001F5BA1A63F46E30A2EE663C24C +F5390CF05D72727D7AF09433ED15A112E199447E0C516C8D2E535D38F5EFF96C +763F51F7A8656D90DA6AD7199EC102AFC5D65DFC505E51E7EEA199D39C2CDF80 +B2CE3E35B688B79D566F1737C588D9CBBAD02F9782C7DB3439DD85BEAD21C70C +5628EA55B38F9D2BEFA897974E09C2413E9C51A2400BB2364D650BF71637E7E2 +99DF9E4BC127FB7367DD9F74FEC16E339B19FB70A20A4A2E4874E110880294CA +C90712CF08AD98C8532E3B730962F63C8F8D3DA209A0E23FA25DD02421B4D4B1 +DFAF5D3548FE36B0A1637ADE5CCD1672FBD40A3D1CDBB9499B4C660A27F619AB +C06F37FD8EBE08C838060031735E43E74F649456956B785270C84C96EFA7C5FE +2404D77480F5FEE892AF6534497C7AF401A5C9AD95B4B4D186076AB0A32315E4 +E6D7185675405E6E483571A3CBA6EF76403567F282B2AA8FFE99D988D612DEBF +7ABD96797B6404CB5CD95D39464213DF90944C3ED33778F3EE4FCBB1A5F961E7 +9714553A81472BFF2052561C22720C0C8493D1B2FE75019255AA8014F437FFBF +380BD498D02D7FA6904B4BC147C8D75C4863DCEAD5EA7E6FF41C609583BB7E99 +03ECAE65264FD63E13191FBC5B26E034651B737000E6B894C373B58DF4002F04 +E2F7ED898A9B029B671A19934263D92A0B8E3F7594FC90F62F937842E614689A +238062D2BFB7C44482AF7C1556760125086F34A76C83B27717F322D190D30308 +EBD2A7BAC65B74105193942208DD78056DD569B2BA9FD4066A78DFB0316C1DDF +C1B960A6AE6BFD9F7136870100916A9F8598C1647E1A9F86A26A83111433584C +D0F4804BA5C3754AA9C93A9054C4591D38CC05AD1433EE5318458AEBD77ACA20 +5B1FC97F62B5A90E3B75C7A15FBF4EA4B0A8D1134E117D38C82781A68A3EE04B +80DB2BE38196EFB1CFD47A5DC9874A15F21D156A23DAF2C7D31147D76599F8FD +4A575532AD29F7203964BE4C153AC914516D33A54F97B9BA83562DB89D40DBF3 +4AA7BE547EEF84D1917B9620FCE9E5FC8771BA045C6BA72DC3CEA88BC85FCE2C +BD04E17AE45A9D871930CC49F4F93447F43312888794162962428B915A6DF5EE +0758D1D24AEB9792A9AED3489EA635140874BA43FD7FCD56103FECC4F4306C09 +8F06A031F5C639184AFB5C97A5ED69D6A974D6BA2144B4ADCE8F1285ECE7AA41 +BE46EB5473C5E6327ED45E1BD5D2721856E2751E85112A44A04F54556B41DBBC +224A1C1C434FC53BFE371231544C64E64BEF27AC008BD468B51708C46ADA959D +68C73A16515F09230DEAA0408245960D54D12C1E3AA868E5DDD8ABCAC5363927 +4C6EBFAE8F7B31C89BB7E1196C4C9FC9AF846006E838F7245B134766D83698D0 +85E95121BFAF5669E54B918FB792E8F7EAD1FD1EFAEB2AC98A1144F4A2081500 +2FE1E7CD3E1FFF00BD79CCEBC18EB0552EA5776E6A52E1AA30E3CA1FCBEF057D +EFE38381A5E9A53B3ED386008C162188E393E81EEFCE3D59300CB1E5845150C9 +35D129A662146D504FC1DC23DB26E958D628DD312A2682654356C3F3221269FA +A8725F1D52B5CFD7ED9FCBD8F4D2CF53CD7FF2BF435E75732BD9868155B6A9FD +4511BEB18944423CAF5B2FE4EE6AB1CCE21927537FF3ACFE2D3344A471FEFB32 +D3E944E0DF6115BA76E5FD1C6141FE96C397B59F7D3270A605727DCAF2BC0D4A +AE8D84FDEA284931A6DD9AFF9CA3AF16D21187533B45F77515F6FA432FCF53C7 +DCFE593148D2286D448A5922B774F0200EE756E982B3B4F8050D93E031488398 +8BF46569A6B233A0B2AC6DF78385C9A649DE07BE3CCF13DF7DDFE5F163D523AE +46077B52147BC1C7BA80BA33607004F0B289CAB47DCADC7466F743973A546CEC +939AB3A938BB362C529C4F71232FB9341EFF9A7CDDFB740BEB573F009E19E9AB +79AFECE39A6D28F0A70937175399A045C2C1AB3DCA0ECB1F7167D07440F53910 +B8123E6C1E5EF4F5A1FDDF00D1AADBBA2182D35624A8170D346E40B117781931 +C79988553558F7696EFF44C0A4FBE8058D7A94F0E7C8C8B584E6790D59CDAEBA +5B634EBB57DEF241E9823194818E6DE24985F2AE341E878C9665827155CC918D +7C3CF4E508303382907BAE5DBFF39C75A49103AC5E604FF20C2649C30A70BC1A +63B54D38C541D76E7616B6132C94D9366ABECB27D33CEE252FD573BE533721BB +4311CB5557376E17EC4952692396BA291A5E593396441707B48037A84F515C13 +C58D372418B8DA762B731A8B15BA74837F2A6A1A1446289B247E7A6F05081B32 +E928FA2A972826D39C4A2CBB68274054BD284EC26411D07CE7BC2D06D64E2690 +C724C07CD5BC7F2DE4859F83F548DC0CCA56B9FE4E1DDC62E4B943B9F395508F +F98E980279D2E7C13DE18A22A76CFF59814F2FFCE93978552A0F4E01D78B3C01 +B45A9CF8FDEB42A166A0E7678201526CF4773259EAED7B4099865DB5AB295C98 +FCBB1521D8624B87EE1CAC6B9B460E76D4B4E4D0A4BD69CA06A02D9AE0DC14D5 +55C47B7FA78A0BC299545C89FCD1A5449D45FAC62E38A42319DC318AC386563E +4CFA1E3E137ABEF3EA7D9DCBC7BCE914902EC7D7B1AE6C9E19E739EBF1BCBDB9 +983829702832E22044F9A5B475718374F1A60FA48508D815F6810008C1299759 +EC776C0E70ACE3F719FE1E9DD554CABCE3937F54F38D5CC3C1392070A07964F4 +26B7CB30915F7586B31C04BAA3CA5EF956DA352C6A8A2A1356924727A8EB829A +48C9A8894D29C2C196C0B731B6724BBBD84FBB94AC9B9DC80C435C5387D625AB +6538076BECB3C21D19FAB3551075687E1C43CDD9BE49CC506D3423B5C2A6754D +87CA10D3686A4FCA91AE60466045A328F996EDDD3918E2F56C029D1992A2A1A2 +78B2E95B99C822822F3630378ABECE2C2318010BDD2A492E112602BA2E092693 +54DBFD0367AF9552B11E043BB544644B079ACEA1BA6123CAB40F9E7B2ABF6969 +A8BFED3FA9C3CD76CE6DA595C63956DD27A87F256A7801330F603F21DC8195DE +04BE9EA43F308B2888F5EC1D51DD43C6B44363FD277DB689FA2FED1D4B587210 +3F2B7305713987C9FB5B6992F23646F5AA9DFC71C0B3B411CBF369315255C1DC +BE9357E76156A356902148517DC6EEE64AABAFBF106ECF4E55485756C801AD0E +81961033CFA0B2DE0B96B88B38DB562AC046F65F058682E139C0F882CD795096 +9557336AC81FB537E37CDBBEC64975FF3BFA899236778283770D540257D3524F +8B5ABC38B9DD4A240502ED8AF2A7496295A793CA1D6CBA7C2C50E60880B73E96 +84E0E5C85B07EDA8DD48A8249D6EE25273D3510333287C71DD0ED8032EE04848 +0410C1E0785B071430F4053AEB3042D5B9C3E34E4B854D42EE5044DE5941DFE1 +AB6DE585C02B5FEC52F0C565E6A5635C377AA57607723A9D246639CF06A2F4EC +90CEE93C2EA2C419F3AD9CAFEAA6B2ED3F2D4F9F6330FAC9972903786AC09B7B +DD51932A1378BED9BD5434078442B9C13CF156FCB4060CF81F98D5EB8011DDBC +049806FAEC29F3841CF0BAD050713FF0CA75F4058F86C388E179710300A21312 +72915D0C9DAE32B1D6C092A9E5990178E8A11C6A2B525E0D9E006C135D1BF185 +FC7A58576F23CDE582A0512E54798B634B2E5A06F4A107D2685EC1578583515D +19230589279FB9BA66E6DFE827387C5FB1E491CE19739A4532C5CBE869174A29 +F1E27164210F9D924B835E9CFD9356643C3DFEFDD21D733DEAADE25DDF15EF88 +17A9360BB2281613734FF66126A90DB9AE008F6DAFAF9DCA23A882A38A0F478A +E6465F8391002417637A87303A9168632C68A031EE4DEAB32D7E6FCA721FA484 +3D01D2877B2CE55A8F3665388FD2791200FE69D692EE6C266DCD65014A9BB1E9 +27C1F5E6857D5923F56D3AA916E50802FFBD561FB9894C1A75022818A6CD8EC7 +06DA976DD2609CF7023B0D2258311F321E064D956CB8D55C1A4CEE12254DD6EC +68680A52FCD777EF99456BA60807741E0845C47E4F8A93E11F4CDBA611DC4B50 +3B5F83C5475663090CF0450893E076132C6D25147C260D4D731A03C715BB80DF +727864AEA432A5C95E688313C1C62C95E154E00E5F00713D2B27E2F64F7200F2 +C52B3C95376242DB2233B50B988214FD47A88F3C4F15001EBBF541BE75CDC0E0 +D4087F5DCF70B0814207C43690D2D9A2AF382423515B7277E4D3A990D4CD0F25 +9BDBB2350A8ECDE52D641B901E94E524E9FE6612037EB6EAD9C3A887B45F3B02 +2F60C45F88E147512CD1D4A967AD6FFE126F3C4E92FE3117E38FB2A662D90B1E +12C80B32C9C547C7EB719063E25157F726885481D0B2EC9472A0108693BE337C +2D7EFFD1285B4F507316529357529D3245AE2D18A4DDAE37225D682D8D20574B +0DAA73817D1B70CD37B2501CFD087C0DBD704C544DEDFE282788DE15703E9D81 +F5A1AE011E6DDAE53728D2FAF938EAB8ACAC0D07F32CE8E8C8E8C0262A76D9DE +B533DA266E44B2A36DB0E19710EC9B9E99E9C1DB500D0D8A293EEC71628E9842 +A8CA8C99F9CC5B6B26E4C96F7D840C84D827299489D0F9C7E952A91F78EDFFDB +83554679AD863C2C64DC49A33E74AA4F58DDEBC9807A92372E227EC0CACCA61C +629C34C083A21F278CBD8747BBD7D00AFC2BB546FEE02DE9892EF88FAC0EADD0 +4EE10387D6386E77C462864180AC2F655ACA5903C751F060835DBC1F72AACF0B +F4F48B83FC85E9A3EC662222907A796938C8CBB946801696FFD8630E897170A4 +759BC269834173D8EBDC70CB16EC918CC68DBC61D8A53EC5F6F63732FD4D7EC6 +234CFC1408CEE045CD2739C71BBD175368731CDF9CC19DB87B7B974FEE39BC9A +80948277A9676968840537A4DAA22EA9D970FC096ADB6172577DC54FD7B57BA8 +7925FADBA77E5707C51B8EC45FE227B13966B45C39DCF0F315EB7A6149134803 +E18FB6CB61F252E09A7720804C6941615CD2B01FC5F8B8E12D3DD1D4984D0E16 +0E4E3342253C6CCF6EF407DF245C19FB550CAABF4A4F6B0E251D2EF04F18BFAB +A10FFF86ED39BDDC366595AA6D4B1DABA39FBAD8620E7638FBF54E34A26487D6 +2EA281D9D2251055C510A401023A14F3B97193C2B038FFD1C728AD75A186721D +23CE5865389B0E47DB6F3DCA265B878950B567895A10EDB5A6B3F3FCD30FAB63 +C6D09D90D2FB1C05D8839D0B4EC950006F996447840C8DC888EA71794A23C27D +D77453DD43121B9B78FE67913896A0B65033060072CBE1992DCA145C1C88A88B +B516B239797B9B709045266E742BF9907803FD36953C9299BF788D3BF01E9134 +9FEAE5F30EE1A8E7449093FDB9992D74493DAB0BA265D3974992F5D4ED79D6BF +99EAAA95DFC89ECB4799BAEFC10012A5610194CA9DDDCDB009BD6436BF30B1B4 +401B2E4B6FC0EDF60FB188878A822073165F0E0399ACBC7E72770F960AC46061 +F89852A0205A8A7813450A60A16014AD433C45388A3166C15D900597B37DB638 +9DB6D76BFC3395CE83ABE084B5DF3E616D5E13CA29C7BC6C19737C4CFA04B514 +7727C2383D4DC36CFF04142A1425D1A420DAD27EC6A779FE4FA9E8E44B0A71AA +2DB0DD4C5A4AD2EA39F0FCDBC0CFA81644CD6F86683FDB5D97E7FB3B4C5C9BF0 +C3F0E49BB2031EFCC6770FF520FC24631DF7DB8D2B5A7E672F6352ED95C3EF41 +80B53CB4780B779A2C870E935E1F774C2B83299A9FDD5447EE674A157B7B51A9 +DB721193CA4545B4EF0D312DF015F1491AAF251B16872B689C2938053BD3843C +9E4B4DA7B1A9ED3DE85A2D848C5DD26F4B3D6CD96835915EE86169803C6ABA5D +BC878F9502190EED465E574E5730EDCCA3B4D5FE7B1BFE3F5AF5FBB466475A0D +E6D2724FB9C11AC63B3424F422DFFD3B72A168522CD943D7EF214A36B19F3C1F +8FCD50591ACD2E4525078561EA379982D47A010D6B7C325E8566BB370E6188F9 +40F7934B2DCA11D58A5EA2A42FA79F8F5A69E4C8313E2ED201C6AA5E7FD5BA87 +3F819A807799AC8084E2FAE69516236284A571A5A3CEB8CD0A73AB1D67EDE888 +1A69184D68842D02BACC239C898DC171A8EA05B8D2811A865BFE2AFB428AB6FD +012B295903DE73A0D3A393E0D9D766FF470401C335AD8623A5EDB7B0F35332AF +CAD6E222B741973EB894361A862317BE692CD4B855E4042F7228A83C14CA28DB +926EC8CC9BFFE3BF98AE8923E6B6BCB248663774FC2DA52C5FDD448A5B85BD76 +6493998AE13C84B4D8C1CA3FF66982244E7197928E8CB91C71D60CCF1F6BFF74 +1FBE8FC9E0285ED3AB5610393B7D11301D8945C71B3AD01F1E7F97E9BB9D8737 +C4D113FF9B84E8D84CF3D04C01AD7E9F586FCF5B20FC9662A5D6440478134FAC +BC580FF2FDBCF7A494AD744A9289B8358D2A14F6DC4ADC0A343D857D2EDB65F3 +4D97B49CC92601B90D63C5650F895A2485A18617B7BC02EA2A9FF1E0D777F393 +D7A6DD6AE36E73BFCB74560E398583E0B716650B24FF5F54AA73346A01D76967 +97E8E1C8B6DB6B4BCB511EFF3237A40960F3EE230EA142EAED3F73CD0B13F23D +A1D51F490DB90D37ECCEE52B9EC135E26F36E509535752FF6F9135A1DAC1AC81 +3701EE34956ED7BAD6C8CF1D70B9CAEE2644F94B10935F9DD1B03C5D356AC0AD +0B6F327DA139D31FF65498675D193540EAEFC3FB8A119ADC74536C152DA82D2C +0B523263DDC88E048ACC64DB32B259989488476CB0D351243A09A2BA6697D0B0 +6C8D52A51C0F631E9EEFEF3A2042A2EEBE5046FB670C75B4157F7B5AB507FD34 +6F52BCBA13FCDF4C923DDF9908ABBB26521FE2A7F9A0BAEB7EF7E82830E596BD +6CB249A0F61C0FAAECEEBCF556846411E352F468F7F6B404B3BD3B92712D362C +4A84545661FEE4B5FA52A7A7C461B9F7ACC3E8321B30068F609DA42857078152 +1A00EC0B51CDC27C8B505B00E49BD1439EF1C861173182EA5BC4CBEE7CF73255 +57E6AD9AEE58B43D54F6E22DB3B8F5F9D58EEB756B672547B521CB7D82E78B26 +32C27B3F93E5122482F87852C2F357E666AEEDDC369BB5DEA3E02EF8CC69DC4E +31F677ADE63DE168D6A500055E06FF746F5FE59864319FB3E49DE62F5E2D7005 +596F22D88796164AD412D3B254E8D5F7E7CAE3EF1D35D67733BA291BADDE92CF +70BADEBB6169228447DB4A99473D865A7E105DC43421491AB8563C62C215EBF1 +564E27BB8C008B2617DB934E0665D7208C441321AB5EFE9FF1743C357A9C2E5C +4AF4039F16367C6B9837A08924300E6ABD2AB033C146DE6B2821DD9172E5D7F1 +53785578BB227092E8ED1BBB8E0CB70C2E23E640AF20828C09FDC2421ADA6DC8 +2D117F0E3DF208E70F00C9C410E8F77FB1221D1C07F6C25C1930D0F2DC601025 +EE0B877941CC9F82621D4712CB9DE0BAFFCCA38DB1CE1896D6A5FB876CE944CE +97A297BF3468B264B32B7C8BDF5777F197F64EE9BD2C6676BA50752CFB9F5051 +3C14D6D0658F7D4841B9F3C47B9522E1696F32838ADB3E877FDF5339F6721A8C +7F39D070D9912AAE0A69B6E1E27F4727513D78AD9F1128079E3100D0B559B179 +FBF88885A0681A7847F26D70D8F7A3286E4958DD615CED53147A5A50D06D55F6 +45808222273C6F6A972D49873290654057517F1E067197C5A863324BAE696A25 +F250DC419B5428EA0655E118F77B1545494C94EFA32D34434C0916BD6C62F9C1 +2506EC7CEE3456B012DEF7C87D19DCD3F197047F3C57B2391A238839884A3F19 +CC0B1814255F4DD8977E61513F7FADF4BB98315C72F84B4792243022B827DDA7 +FEF9E1434C631FBBD0CE34CCCF4CFC655D0F9BF1E22B91FA21D95C6AD6B0C098 +E987D92C862954B2CFD8E8CC0132432A40ADC155F8A0F97FC03B38B9738B4317 +CBDBB8E7B4BB929F6D39338AA69A5A11BE27316BE370800C82706772CE33E367 +29A80B24D41F520D993098C4B04F0F62F9C74679BC076706F0969545AD65D6B0 +44900379A36E940359B6BCDD0F3F5FB0A8F30BD5456EED4DF5CE72F7A7B93858 +14BE51729E4F8AA97DD6D134279E88C3EF28D61D7937837DF831BC8A314F2D3C +1353E96806AE841A57EFAD644C8D884758880415F91E7683A88CA150493EC28D +6C7272E3465DFC48645B2F722ABFC1943CEA4B5ABCF8D76C3D032F1B3264E7E5 +06690EFDEBE83EBF967085035A199297BBF94EB3D884AD4C0DFB476B85E6BFBF +F69BCB9E57ED6753285C36AB62CB8C98E676D4D23C44416DFDA957CB93EF7E78 +8379C6328FD6711EB9B45D10681B56591EA22DB43DDEAFA65FFCFDA65075C6F1 +FF96A492130ECBCF265425FABDE849C62767F6B36895CCB19CF177B8BA4C7163 +D9DF847A42072F60B3911D8DA23A30D63C7FEE986F939CB35F7C47298D6596F8 +9BD7354FC35915C0CA8CF2A60F2DE21F355C74E605DBECE35A70FA12BDD3D915 +729B3D75FC8CEB2BF67DAC531BFD24A2E975375F85D7AC7CACCFBC62FE51F11F +F877377CAA80F8FD8DEB1B1FA7C1ABC73B88D4ADEF4D045708657864418FB434 +7DAEE52F2E2AD61680B4E5E229C12EEAFCEF8184B3B03D16BCCFF6E0EACDE3D8 +CDC8D9185DC2672784EABC5E55C8F45AE77BD18C9FDC3189D24E3C93CA20A916 +1750AFEEB67F95016FCEE6BF60016FE2097AB01CA18B0EE0CEB254976858635D +13D51A80F202A59A66B54E81972AB98BF9BC188EB653F43FD0EE5E7740487B5A +6102C31D939943905FCCB91C95F54E69CEBB4F4A66027B2D03AE23F09D91B676 +4EAF654BBCB61F084EB153BFB0839D882ECDA35D1AC2C1863A3C5F0523FFB7A1 +A707C2D48E8B2F421A192E898960D888212D488816628740CD9F9FB6EE1DC21B +82725168913244FE38347B234317F127026147CDB4BBF8BA9274C987193DBA07 +0DE6596DE26FAB1618D77E552AC34F71D0B77AD262314963C69EC171C1EA0706 +905BD2BAE70C9806CC263DC44FEFD2E7742538B2C62D782D6FE9AFB6464BD9F7 +7C537D1CB46E93F998D0AC153BFF65D71F72DD0FBC30E427C94BEA08A51FEDD0 +E9BC9C656715B761EED9E0DF6F1430BBC2F5FD6F2D5A31FEA89F7D3B8ACB3524 +56D36998729CB9EB6C464A709387869BB5D9062A5798B9C3F6906CA8E9C1A53C +BAB4CFB6D6CBAFB766754CA2D15E927872427EDD9E73BD16C3BF4DCC479B7550 +1623FB8E04B11986EF4A3916248BA3328BBC2DF30E994B20ACD597FF14B91032 +274884EFFF7E94BDE8963D41E9CE9F192C84AA7B2FD2F6242B9828F54759ADBA +352CECEE86152B06D785DF2781CB339BB1B1571FB31D18C3CC831B15736FB91B +3C95834BF98DC3B42C9D32804F0E1B0418C30E944E103B1B381FA9B54CC41994 +78B4BFFE0445D1499C19B4577513B2324B7A3A752047C36449C2EAB3506DD87A +A5A7FAE639C0A70E71A32DB71FF4D8C741A8FCA4A26C886DBB89AB5ED74F7B53 +025F00F3E5832CAD54696CEA99BF7D37950143F74A1A31B139374778438D0DCB +75D125317E14B837147FAE2B7DC6BBDE62AEA6D74C7D8B2EACDEFFB5A61763E8 +5CD01EAB644B4FE0CE573B681C201BE621EF353ACB26BBC14DB249CFB079F488 +1ADF1C4E19CF04159792E40A5E63EB9DCFECFF901DE04D02604C195C315AC187 +34DB4F6C850E9BD424D3971CC3091A41D5B8F5020B3C79E72B99A1CAE66C959F +55E4C6C1C1C34DCEB68E8806967C638D01E8103A6E886609E5276FC013ADB053 +AE2806AFD0E6CDAFF0D97E75AFF72A027F2817FEB32964ACD45FEA9534996A50 +53ABD80249F5890C69BA0D650BB7F0AEC076CC809EDA4BCD8265F334DB581361 +329C2530144ED7073D99EE1959AB477C6149B3A6547F024AF983BE69BDB9BF4D +827728F2423F648185B1FC0AC9C7ACC727AD43FDB6B0D433C8172EB74B8B8AB1 +8C0C2C0357458E197A842358705883EC22E7162967172C0519820D5994DF9D7F +D50B52AAE696F603985E3504742D31C0B69D77552E9396F18C71DEDA17BFFE67 +E1415DD4BD373819A33CBE990992973DA11CEFBE7B81DC910273B315B82B8861 +63B2E66BFC29A213D5526427B723B4856DFCF3559FD701F77857812B0C6C0FDC +4AFFAC54B1CDF29E882BC2E2E9BA0319BB084DA04A82539AEABE7FB793B7AB28 +E755B8B1CB2F0EA0329B29816B127EEAB2E16B99B9FB1BCDC5ED2A5322F3A271 +99A1981B3212711FE1DCB32D0638EF932D00B3C04F896BF7DC7F67EF8F3DB82B +0536D186F24BF7ED544AE148F24F6CD5D81059F55AB8E24128F755991F89CBFE +75DB53CAD6129E392EDF60FAB2C90396568683A0C996C46358975676C6A8E3CE +131C90FA98570DB4E576B4F669CDE352F19DF7652C97F2357C4C8F0716E5C290 +1354DBE5105A874C105F541DBFD7E6A63B1231BDB998EDC392678D1EF93183FB +0815568798BDF68665F37205546A6528225B3B91B3A80C0F433C8888B45BFF9E +A972D7C29B2647DF29806C4113613512C117061E7DE70F763D097A7CF236F371 +4BB3BFDE60B73EC884BDAD2E7864F24BED01210DA9F229F7A87D3CC0B3AEF75D +D8B763EF2B7591B8D2CC201A635C82B771BFDB42FA533E321B587735AECDB3DB +071FAEBC9ECB06F06A0EB364ED723D12EB6E7BB479AB013624ABD11060CFFFF3 +5FE5CC50E86F9224466913EC8167158FDFD81438BC1522685CDE8A038F0C8A35 +8AA1FA8E38ACEB99E18B55075D594DF39FF874DE7E7E6C95C677F35B2DF0F203 +B78369144DD99484A35F26414874463458FE0F6D2C63481260398F5FD319DED2 +19C9DE91CE63155DF12CE842E67B8DF8E61149FC4563C4ADC280E564505F0F80 +2B6CD6BCDEC7AC194C372BE1A4FBB457739A8AFC4A7727E37E2D3E5AA30E7461 +FD43AA99CF8EC08CF47CD67B820899D75935C6DFD775619CA2D52E4FE3A5B0E5 +3D1231BC641544611EB461A1991FC02E040C574272D428419F6D0AEF4285DD7E +4731CBF498243B66ED76F66CE3F33DC996BD10334741D351DE2294D268EF045E +CB360B89A5E9690FF21C91E396E686C67B5570A1FE2182A5E78DA735C70162F8 +E978C1E449853FA9B6494F2C38F5FF2A27F8E9DA96EFC069145C844402B0223C +CAC1AAF9E74C8576E524A2E5F072DA0297AF5AE4F1B0F1E3BF24989DD836C057 +D18E755B8296E8402CEDD8F34A258ACC0D34D341ECA9889F4B2A06FB778D591B +157DDC8D7F54A289F918E980C367E46575F05CB8C847000C6CFCC939867C78AF +8A0980B0352250C063F3960D06E88A86694879A6DB159C2C5CF831ABD393A174 +C9BAB470B7EF87F10A5C3EBA5716279D525D51323BA98E262B1EAEC96A61163A +44F84EEBD3CDE74822FC6ED53FA7C30A4167B1BF8BB9D3347665A33DCA967641 +E4739C8A7ADC90369E7C236D812BD03144A282176D5E906B55D1274AD6B5ED2D +CBC01CAC7B92D8D919D25D80F0E0CD744B33F303C43E0D9F1F0E778056C43E1B +5A300D823B0070C69DDC9CEF534DA19FFEA924A6D20D50D3CEAB46949288EA59 +8428450CE0960400BA1EF843C4D538C6A2087D3E1DB7AD847898602ED66F9366 +3F8E07233BE8331D36C159E8602B8193A5534030BEB136E24B24886D063694C6 +4A86C6F0B74CBAD19B83C2637AE35A07221F79860B87754A8042CB7489B0648F +50BD0B93ABE34188C91AE0846406F063DE6FC2FF17D3E39B758A9182F258E2F2 +8FAD163152FFDBBC23B122523A2BC4421B025B0D8E876F80F12977AD02F2C393 +F8DBA9B7DE3D98B21C2FD1BFC42AFB3A6B0C303E94EDEE21B704737CA349ED48 +8332A075AB14489FBA412E4950BAC4F79BA0DC7EB6AFD1D43311E04F7047C851 +02612F1BDF9549A1C5A4E096C7946749A9E6FD356FAEEEE03C196042B6689913 +2912AF6EAE06BDA5E9F7A85CC503E22008CDFDB0F51DAB9C7821BDB79D1E7477 +16E244E95AAA34AD1B2084506F7C22CE2EC64C2EA5E2E2424E265173B01CAC83 +5A14B1FA3CA554535FB71CFD640E6F04917771589AFD81CDF19B80F2338A462C +A7931133B7609357EBBCD05DC82B6909139C5D9ECC63511CC7FF28601260C7E9 +B3253E2B8655135DF5AC5EA5F037233C61495895D1499C5A00B13A90B8B3A886 +42F3F12F7A902F5520AE4F8E5AD9380EB5063BB93D98476969FA47F2BF6EB1A3 +94D15CB620277C1D586661CE897F3526DC5B52C447FAEB44FD3377DCD023293C +CD7A75809CE202165BBDD0311E1E793B9E44C747FBCF9AB319C9F3BCA0F65881 +D85A2549005C27CD2A477C5DEBE1BCA541DFD153BD6357215CB195A53CB1AA0A +636FA25E28420EDCB036BDC3AE3D522E912C00EA6061E8EFC7176DB1D106BCC9 +F7420AA98E67899D2AB3B63A14B966D06BB785067DE6EDFAEA7567367DF1B9AB +24C2194360006894B979EC31B09E92440945036AFB89155DA483FD44C1F9515B +4B576CD51A079C22C668B72EA35E21930B701E7AEC08100BFCE2891AEC0CAFD4 +A71401645287CE15CE5C4A94409B207D1A8B13DC9D1CE2CF6E09696E7793BC1D +8766A4FEFD11FB4A3B13B32A5E994D010370A0890D85A500FAB60F60D8EC607D +CD3B7657B32A4B99C89BCDB0162BDAEE9CCEF0B52C54C8EB5CF320DCD9803405 +10B060667538413E9BB43F15C72510A68AB688C9512FE05E87AF5CD4C2717FBF +F0B5E605CE4360D89C7BA422C2A867710CF0668BB684E83FCD47888C92216068 +B03655C718AB989492A6D432275B1F64005849A85ED0D167C121134A59996BB3 +8029B44938C401192B96DFECFC6C7EA90EEC009AE79F2D94926581B2073B81F1 +E995224D452AA32115134F7C8B0AFCBAFAD316F2DED91212E5E2715A9A0F59BA +787C811A7CE37859B9BFD4B6648010C449AB624401ABBAD5D22623A05B127FD5 +F6C3FDE7966A3AFEB0BB98B38E8DAA05643EF7A9242F48837F2552AA6E449594 +9BE7E93EAA719FEB29077A5B86C14B5F47B1B86D9F1EE50A9BEF6F6FB2DCC4C7 +D3EDA4FA1744310A2C5BD39E8EFF9831D2E91698BCE0D2E9769525F934D7F08A +FB4DF1732A46D4CD48BF73322E25BDDA632CBCD9F0571779CA52A60775ECAAF0 +04A6ED054E9527CC85F67D2C480D6BA074A3D73D5386C7D3B06AFA386C931512 +AA015585BFE18F6B5B79140570B655295A0C56F6D3FFB790185D4F1A10F0AD18 +C143DE30A7FAAF80239CAFA2DF1CEB743341B05E8FE1D90FE3C0F75398B6FB76 +28FDF55AF051AAD341AF59A6FDAE8B1BC878A52E5FC2B504D4C113979D7E7524 +F44C86A5C12F5546024D792A0E4FF98AC19EC3850D88DBE34B4C2BBBBDD77E62 +67219B59243B4DDDBB88AB7AFEEE234F08DCA63F51508BEB43BDC3B00A3A6F9A +B4EB5EBB12D928D2E1901A0D9799F82676F6E158A6E521D11EADC606176809CB +82687208E6F491C6B92901015A67A67508A68FD8F910A41FCE333AC61A17F772 +13FBB7DDCA5C17263946D38738E019B016BBC294F89083A2E8AA6A9433272CEA +42C8A243DF05FE3AB837F0793AE36FB9B1378B7DF1D50CB48DAE3F9CECEFEE6B +7E372802B2A19C7C1BBB14D3B061C5DC6FB29EAAC558386C58D87E1CBBA07AE8 +B66DE0AC1AAD4D714C00B528E0A10D54AD7D99A3F5459BCBD196C0A86DA69508 +C4C780D2000407BCF22ECA07C1FA37DA0E05CD0D1A78AA64AA9F4682F2F2F05F +0D219E2D4A1B55D836B36397586C46E54F7E7B56B969EEF401B7BA9AB3B71491 +0B33E2694C3B10AE3702DFA3EBA9A42888E2FA495B521FB5B860EBECD878EE73 +720ACF8DB674DB5C4A3418E5C4B1B93E8BD5FD6FCB334BF3C93D6825201A02F8 +A8BD1F64CEF4D6E8BC96948226D8E0C34A7C65978BC66563B39BB41098EA4DBD +DA6D7CB34A411B9A789775C2559A9F90B7F643551156FDA8B8C3B368E666A546 +0D9458F1BF0649BBAFCB8A2B0B35633A873D5F9B0E55A1A1EBA070DB4636B725 +BAD1250138E0A08B59DDC3BAC64DBA14313B8937275F8E8A506F6D6EA691FA5A +D37453B2619C027CC5E6DEDF6C6EB248F182A7349A21CE744152BED4F91508AF +AEC8563F1894734EC9BEEE05A1CA429BA1A134CFB7D7D533595CEBEA887EFE8E +8D41BB1711FD033A6D6707CDCD2F1F3D02DDAAB98311AD5BA5DA9EDF971FBDD4 +BB4EF7EB3641CDEF6CC694948ADB8D94D39106C7D4E8E788627991A6AE33D7DA +81FF3259C745D3C3F53FF8CC0FDE715D61801FE115F534FF3FB04CF5324979D7 +2AE393F01B9B84992F16390825059AE1560CA637AE72CA56D3CA686CE9514E1F +CE1859CFCEABB3DF9FBD8F0E3A1E8B1ECF291081A63A86128BDF2DB251287810 +DEE008FD4F5ED49D0BAB3E7638B975CF6C8528B9B8BBF490F9632F83A060AF42 +1469997731E304C44B80503B391B9632C15D209556CD5FB94EC7CF4C98B51C7F +284ABF771FB70ED5F1CCBF4AA789AA9CF8C9EAF42F9C9725D87820C10282679C +DA104A08E1AE5F01DD4399211C62C5F3370C9D159923447D15C2056A0F840203 +62903BE8B5B1994C9D7C6052077E5446D54444628AE19229209F815677ECC5D6 +45E6E1CDC2FF1AC81EFB1D73ABAEEFE54E185E3A817C0506CD754393CAA3D30A +B2F401490D83B72BD07B4BF1D1ACE8AE0AF145A3CEA0E05439EA8EDE1C4597AE +B5E866BFC94E30C9E8D8884DC900862E23767B9F8781F5623B4F5F74592F11E2 +DD253253D176019798665BE833997D2ED432380DDB144EAB37C7756C6F729B0B +D13D8D02951BF2C016DA02873E4B589EDA8021397BDE47000E0BBDD2AD8D5160 +C7E9F69831FAEF84C27C7342C8CE4092278F767ABD3C7220870D40EF9AC505AC +FB5F3E1BD3F0905F71AE8751C4E6BE02B392874356C7F25B37B16D7E8848A9C5 +08FDC51948C71D3031BA695B44891D7C56F5A06113C1DF9E7A5B2306053AB76C +18B3BFED61C8E196494FCB0408DCA9389D6DE9611CB19B793D286011E9AD6E78 +CFD74396029C4ABF7075143A71D14EF93B2053A0E8C8789E176D500DA7945DD4 +B7F805169681F4033DA8A2941F8BAB7E4A1A0971E017FECCD8738DA3186B0DB8 +8C63476272C63364DF6C3CA5D9847A6D81736F0BE388AF95A7F9B5663F55E3DF +1C740E4358B349DE17A63CA2282B03065A66D9FE3D6BDCEF932193E5F2E2D150 +47984A57B31A7AEB54A101DF328A74040317529842B4A5A20E3448077C331626 +9A5EA78E5EBFB81778BD4C9B392186E3C811EE82CFDD6A57E050DA15478791A9 +65CAAEE28B55362594BB58EDC4D01FD54CA7EC5C4D2A3FBC6F399D5F35EC2256 +EA0B1472A99F3349DD62F3931F193C322608E6452472E00EC22BC13E2E17949F +9F00E979D5D5E38CE6C6EB9CFD7B05E724CB49EFCBB211953A36EBB3A3E18498 +8CC2B96F8FDE18C678282C0A707ACF03CC41F735E5A4173B45A9312944D69B2D +4D448C4914D987DE531C6D3EADE9C94F9E6F978AF50F6C25CF8586185FB7CAA8 +5C428C606709C5FA5ED63CE6C0456664A552BD6B6AC8A321A97807279CCDD27A +EA484CFEAE6FC10413A373A9E041D3CC05B48BDDE5DC89F1B9D140F95C9370F7 +1126CAF6256DDC8081BB304F294398A5B5994800684B097444BB35D4D293E782 +F61C8EA1AB2886CB6911B260127D8A2D116C3AB62F07920E37E0405F516F47D4 +C4E865E9606301B86A9013E5244E1C145D515251089F62C780C17B1C2A605DA6 +4E8F113081631041C38512469AAFFBA750A16A4921C2B809CAFD80F17DEE5BBC +6A00C67E59A4C3B1C34DA41EF7D4CC836CBA67ACD86822FBCD160ADC54D10A5C +CD5A1C1D01AABBB900776AFF0BE76CCC484037C34D348A7BE0B15109BB114DD6 +F0EACCA18800AEA8692D875F761C574B90F586ECB60183D3DD81C3B1C0EF1822 +3FA0688E244FAD05F5AA4490DC6E0F515E174DFC2F26821E9C4B189830EE8D14 +56BD9EE6BE690E62E2688D180B231704148F643873BAEF2466099D01E98D0A22 +8CAD70DF0140C21585651CF257F62248FE2418DE3087907355F88886BE1DAD3F +043C30DF1CAA28F327A71B8EDFB5470F64298B899596DD2236B23058E3339E8B +82A8B27BD3ED46D1B5F2CBC333B4AB6C8314B26320134D8B8479F2824DD9AF44 +D5F10F431F64B832D1881F59E8832C8935765E9C1ED9768EB864E3847F4F4928 +71D2CBB138BCA7085D5E619C17BD6513F53293A9F419A74077EE0F97BDFFE479 +CD960D5603C2CF26A3B4B3A6372F954041FEB600A528FEC76BF86420CB8FE902 +C978E8D7A3D317683FAA98F299611F900FC0C38E267B9D2295AB317A0C65CDEE +214DE4298121B7385D9AC35D23ED48BC980D8BDF0ED1B3DF469E74B2FEB07B5C +F26F8C6A61D4B1EF1F95EC93F618CACF0674C625BD9E960299A92E12BA082080 +7DDB8D06817185AE7FB28174B530DD2EE84660606AABF27A171C33BD15173A09 +69DDAAAE380C89FBB4FDDF271D3FB5CD0A2D62A1F1BF8EEF00A9FE22FDEA08B5 +32E6995008D17A9B885BFCBB80E9AE1E3A4E75A8820AE2A7845D366F29CAE72A +9D41A40B32DB7F477E218C646A28FFDA6E58EA290AF7E19DCB764FFFFF8248E5 +179AED3D8F1B91480B3729C79B3C96B3AEF105E11E370AC65F47F58917FC5EEF +68C5F518D1079ED2182CA6B149F76312133A4BAABC1E1862CBAE7AF59AADF2C8 +FE748103948695737AD7BEBC52DF8C4BEE11C346D0E9B07338A1E82B86B8AF42 +88A49CA23BA88579F911319AA8B7DEA4CCA6387BA33B217D02D121FD38FBD51B +C100B95B21D41606B40B9A11CC731F10A8F4B86C572FD9AADCAB4CAF8F27353A +C05EE5A9F372B1FD74B71522A6F9248F838630A8DE2429CFC5B34161E83B0B38 +9713AFB911C246E5ECC6AB86CFC463B46D0358841EC85787E055ED7C5513B0E7 +960D05F0BDCD5DEF56CDB808B755396E2F16F43B6D58BD13DB0A6B9FCA646521 +5B114C3DE7253500A6D89A0DAC7F9EBD1E14D7EEBF8EAC1ADC5EA574781EC870 +7C820F1ACBA1986CC55F78DB10F9F76E9392FC9265F3B370988CC56BAA379B46 +E5DBF4FC5C1A5EBFC1DEE04AD79977B8B9213DB98649B6F9AC0F99F53A449CA9 +FA33BED4F5EDE8D1B53EEDCACB0A883976C98DD719BE5C2A0A948535BE0B324D +4CD123FD9E346FB8E5C5AB593049CD5330D34DEB46C4AD0D21BF6E5D715B8A62 +40E0BDA591D2727E4245B29089FCE0A2238B7AB0798FED91B6F8CDD6C2FCA085 +3993743912D66BC8049C30643F9362D510575CE4926D53858A1BD2B8309CA46F +F93B3941D0822B182AE4DCDAAEF090AB4DCDBF403E4BED69B62ED62530AC3A6C +EDCCE216FFD057C8A388145720BED9D31A89D149E9A26AA4DDFE8EE93924FEB7 +97A0DCDEFC84F9266A86D2B88495F4A9B1D33248BB0861BC4D38825D1EE3C930 +11077737AC6E307B12ECEE27F82B554F40053CA24D2520DDAC7F547407A77196 +41E85341D1D1C10411003E66708BC4FF4F31AF6E689321788C59D63DF263FE23 +71FF6C27BA99A5D9C16E08CECE622CDB8517D14644BD03A5E7DFA8DF8AED725B +F6AB8971EC1AD359AA0290B31A2DC818DD2BF80EDB07EB81F7787965ACBDEEFC +05337DFFABD0786D1C71B192B04618A00E90E0BB3BB704D1AA86E1FE5AE09B9B +256B82ABFCE181CC45745A0B2E51B1B780A91FB2387EFF75ACDAA8AC13B1F44B +81AB96DF1D9CF587DC8B9F926D02F81C8BABA56DFC79E25883453E84E22CADAA +ADB64593275CCFFF770B53ED4F4F1B0A76DF0D5AD96FEA25AC42B8C350061A2D +1C97513C9F7F921ED913F321CFF95EF57FA1E19A9D3F3C927568888E1E7DFAA2 +D12525815F2C65B72737B4AD9BD64F922526C3527693B552ADFA10C281F99A79 +26513709301215BEEA51BAB631ADD6DB698BD96006913FBE8AAF394A051ABA45 +D4C7F093DAC9707CF64509D64A39EFA0207910A575932F928CE105E6A2745088 +4D23F6EBEBDD583037106433728693D9D24462F3E75DAB68059ABCB05B2B5633 +D46ECEB9E1A9CD67317F5D1197DED31050A102F739792CE307D6928681542F39 +954589A5187E9FF713B1D0A3E5515C5C0F935B7921E4B37E12F0638352EA1447 +7C5BB21D4CB3181B1C056A3B4D98396DF351BA384FF61A170C1FABB51B025E1A +206FB57FCA26D929BB232A9CC3249C1A0400FC039D3EBB543812C5918D6219D0 +882DD96CFA770A03BE1D0494C090D5F5EECEB305435FFD740824EB85E59CCCB4 +AA411710DC67EA2489430D8C08423F00C499323ED1BAA4EB1B5089424F898D86 +BDF5CE56C028B107B8972433EDA77EE397A193B1793BE61F8DCC0273A0FCED9F +8A98FE8D1A49469C3A4ADEF38888A1199DBAB63DE30E56B82E55C6B31D70FB4C +5F9514DF02B648CD3FD6860E426DB1D853910F1F96EA328759229347ABF6C503 +A7B6A63D729001711890C1AC5997F2F352F3130C760F49D0510DEC22B51A7FB9 +F2A7EC4939171B82F24440AA058C5522681A0A97BDE06B15B88DB1F1246A095A +E89230E74BB7B404806FD2FE9F698C167954184129B40CFCD711D69D7C1B4F8A +7D2A8D496A7EA0FDA901AD9D79D067614D868290F804649280671903D1085A1C +E2E3C0ECEC635D975D66CDC5312568AC5C85F87804BE7E60EF787F5B97DB71C9 +4DB5F1AB7069B1B411319D3D70E1554D56120E2E5C9D474DAA7C93D5371A9DF6 +10A823F3105FF629CB8A2D564545638B9203283F6D70E4CD 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2484,25 +3899,41 @@ D507F00DA975A2EC33F5DED8D6DD551257E20930EA0497E40C692CD76EFD6012 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMBX12 -%!PS-AdobeFont-1.1: CMBX12 1.0 -%%CreationDate: 1991 Aug 20 16:34:54 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMBX12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 44 /comma put @@ -2565,321 +3996,529 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-53 -251 1139 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 -B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 -AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26 -7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF -20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390 -B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D -68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809 -D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E -26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D -F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26 -77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299 -BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E -C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8 -30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5 -148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C -E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D -E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23 -337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598 -0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6 -472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E -A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26 -30F19E1BCE69BC499D860F9B17E6A78469F652E469E22DF3BBBCC803F7483463 -96F1C811AF62FC36891457BD3A5B988F62177864939C23E86BEB50B9FD0D186A -1C14795945646D82AA97F66F6050F81D9279AC6CBB908C7E1F96E082B31DC1CE -66777F3D7C18637E94FFFD28171E19E178CF932B38A8C1681877DCA0CC4BBA17 -250D9C00BCA8F753A4D3CCF503528B0CA11871F2F0E1F400FA9AA5894128D07F -CC739AA7B0A8A3B872647E1BCC9F015E007F208CECB08EE15C91ADF0F06094CF -A1A6ECDF5BAB53B67395C422F009C511570CE39F739F4C5187386037AEC9BAF3 -434368015408A4317115A1A8D296CF477E67C0A49614602F4B9C9007B2C78024 -E33584D32B6A1D226044CA57336FAA01585F3BA39D9616780FD6C124B63F19E2 -F20EBCFD23222358D8229B701B2703280E0B86E4771AE2C5017A3BF22A545246 -8D6BC985C2220034A34E0CA85BACDA735A9ADB3D3981E04B9AAB9E11A959AFF7 -0AC9B7C54AB816E2CF48178CCAC839D1216AF26D93547F242069F877ABA93E19 -45B75BC79A45D12E23B40D1D28074AB7D20597B517E0AC38860D1D0048661999 -4A424F6983DA23E0E6DC06D6F7EFFA87C88EAD1AAE2BC85574596B913279BCAE -B535042306ADE5EE2AEB1FA1B833D56EE907B1FD6838369000023CA728DB364F -6C2012E4C2614E0C662F88E2FD02B32499CAF6918DC050BAD957D7B727927B10 -24F98C9B780E6FBED86B63795719FF60F0EB582D4A5E9CDA6FE05D7FFB0625E1 -FB94151065C607914FFC72D372399283A48B6AA96421974F5AFC60E28BD25D48 -B28BCF78428B21EB03A00C878246EF8BA2A2EE7DB6AFCA47EC9A02EDBC55D2B7 -929A0B178491A4C483699AF945ACB840525647C9E7F55E11BDB76E2A6E3C2828 -FFBB5DB375F4E15293B494868FF31B07860BEADFF66311130A0BD51D976287DC -201EB34FD81BA3274938CE0A3C68324BC9FB70C00910D7C34D507B529EAFC6CD -24CA11385CBAC30928F4E088960C773020720312A7CCD60EA5F822E12855BEE3 -7A734C12C8956A373AA7658C809E4FDC280E3936D422FC50ACE01A66C73A4636 -BFBA5F940E08F3CA382B540FC795D6ED2D57190BFAB1430CE08F39020B29BF2E -B1399B2D3292AA99F892520F88C5A0FF9B479ED45721EB772BC18D4DA9CB02EA -54BDDECF4249FBA0184EEE9990EA902613B5F6D55D5B010D19188B0B36DAEB75 -922A7AE22ED53A34AC47FAD7E72374D47F349943FBDA4731D2E1CF30BC103F4F -575A03E46F37EBAFE903C74D81D8D3F241516021862D9E203CFC1280572E0C50 -359D4E87B2976C7F35334F4744FC78E15DD7979F29308148494C2A42A2FEE1CE -FBF756BA8683B7AB065FB07F666896832A5C83A2B85EE546FCAC2DD870FFDDCD -19890A5FD9D88FBA6AE267FC8F1664270F3BA6B990BE056AC79E55762990CBCB -D8D60EF5A747623D719C6A76414BDBBE4549D31C15EE2DD02D452ADDD22E64F8 -CD13525C274456A216AA919EB8B6CC3692D9128A76B03566CA33C1B0C5E3158A -0722E8236156F1B51302BD02C97D4C00DC60B298E2731485F3EAEEB50A4D7135 -72DB3DE87ACFCE1E40C8602A6C2E00D6F3C7CD712D214A53BB8EA0B445BBCF1A -412AFDA97AD44DA2DFD293420DE95B0B88584B2CC79AEA82685006BE5C6C783F -9957D4B1F77E2932741E056F3FA78033BCB92FDBA00B2E498FBF1000DE6D9DAE -299CD854743A82032DD62F04F4BFA9C5CD84D22F2CF7013C2CB6AC249D67AB12 -3396C3B333A5CBE9A97E4F07BE0DB2C71AE4EF79DF3DE952D7E473C5AB2EE898 -4968FF37D409DADF2432B774B5A0BA55AADA100D27C96102BCEDF0440CFABE41 -19D49D6BA5A8A887EE02068CB1788FA378CB0BCA436847E0925C2F883A980158 -694D66927C117212493015BCAE200249B7758DC98D849B7AEB32C78B2F1577D1 -1D91912C0522AF14F75DA48A197229C2BE08B6F8F52A839AB507C8CA524FCF24 -C91DCE6C53D784D15E691CDA18EB40BE0A7C3B24BCB99F36F7E8F77C45EF87A1 -A0932AB194A0D5E8DE4C567C6E86EB3E734F89EC1E4C485D81B90D505FDEE463 -B4EB9DCE53CDCDC19F4F99033DB2ABF9698FD153FB68576A25FD188B98CE1BB5 -B7FD420849C0835A54391C28A169F57EFB53AB29B0E9DBE776E37C04A6D6BD91 -20FCD689532059A98B4477107E868A123B273128F7E747C0F0724811DF029AA5 -22C2082D557EB8CE9DF349450C4446B4B1DEA70CC1B146AFECA06A1859D212F2 -BDAF41ED546BD1057F6F6AFF46FEE60FE8380E8899F71735D2C8D7EB9653B027 -68321432B37050229B6815A8C4A1EBFE19A76109EE29800B88E6C528054A17B7 -395CF482AE62445478D6F41C0E7B8F78313DF1DBED339E389875A8E883867921 -1AB53CA0A3980594830B13200073F966F005D1B1402877CA4A46485318A1B863 -24464445E264EBDD3567E9273FF01016EC1CDC142FD9DBF980F099509F330305 -3B138C51170BCE3D59072ABA6C241048612434271419A80DFDD1BA156A8AD54B -39E45FE64F1B558A712D93C46D729A1F8B364CBECA67A618FA1337247C08D0CB -9B0A418C729668147DEA47BBDE342C2E0E29A83631077DF34C861EDC9E80EFEA -75BE3040125BCC60D4FB69CDB78C25ADA72F2D104CAB8D3FBAAB5E8931A7B8FB -6EB41252542F302C11D3DCBA66345EFD816D9623BE2019AC332577E1CE8E6A8B -3DA487BC54B82EA9876961A4968E772603F37936C5ECB4C14625DC3E36E4BE99 -E692EFD3AD7B0814DA32B13D6C64FCE750F80E5985E708E54C7A545429496894 -6451BB8608F12DEFBD585ED62A2452377DD91AE560D14E54C9A449FABBD16F26 -AAD76026066CD8F5677BC18FE9F9BF89344D90B454B7A7FF20A3EF058816ECAC -D49486263BB4AC87ABBDF43D8BE4A09F0DEF416C95AD8DA91E187A5528390F9F -FE96D0CEC53022F1DD7C565ADCCBAD63B1105CF11DAEA2D2A9D827171CDE1B90 -0A71D9C2C782B74884C9605DAF063F99759079E3A821196781C756614E400149 -A6199699F5F2AA97859FC36699F86504D58BA77D14810424C2A3FD79247F3DE2 -1EE6CE0011250433EC504A3146827949468227E75687BB81EE40F4EDC2803F71 -CCE3BB5F60FB0E121253C3385543B6AF741BFD67158D2F38227A29C3ABA429A3 -33BC564E8867C1FBB058ED6EEC8FD0D835AAF442103348751C7AD941D1B16566 -761ED69AFCEB4B213CC9A75A1C01260B545654EFDE7042C8E7ABD0508F43D4E8 -B50E6E799A5CC8507E814EBA958EC2DD9655CBD18B018F284658C4C8299532AA -48EA747019D9DB74DAF848CB76192C0125C7A51695E8DCB73C4BAD826A83FC9D -AB177685DDF5CE3A7DCA21B02FBC6DD7B52B6C086B0C06AA24919A38845FB295 -1EA169C8D17210C14E712CD90099334C9EF449FCE214CF640FF39CA1DA2120FF -CF5A9F387B3E0C7EE4904DBA33444A668316DCAC18B85C98826F5FCA5CAB12A5 -9F75424521CAF417B326F8975E6574E5C9E55EE2772FE20AEC65C4CB692A2425 -9A29F75EDF9B31C2503C6A7E79A17B957EB19D4E5E666C83AEA92A8DBDB033EF -1628486E2BFCAC1C9E32676488BA13B3001F6AA2EA03747A3EA5D220A5F33B29 -4AC5AD623B0C9A4D0C4C6D41F89E3FC325747170BCB0803A7D988627CDACDEEB -0D9DFE8AC357C07F6B60E90C5DA3ACF868F145237D1710895C4859A319FEE038 -D7FCC9D56620607F5392D1998C6BB1B2ED2BF4F9B5BB6F80AB0CC5A535D52BE3 -A996A70D581CE43C365EEE168ADAD963D0B2892F56FDECFA8664737A5CC0595D -3D135410CE5CB4B094746D5CD8C3355C4BF77F9D5375334A119833995EBF757F -EAEC6ECAD4A62B90917006A1AE4632D758D437DB443D6D7661434C9A8813BB1A -80C5389D2210F4BFA057DA7900FDF6B60212B5747E586FB865E2FF4260B2E3D8 -0C78E003F3FD527925BCA22DFB87EC7DB2188309D8DF6C6424048D99C0CD7F18 -478740413A816B92D6A38AF0025FC79B4A8D35E2B3FF5BED4523B21E9CE49350 -AB42D25A5B42B1A49D5A468C38635E91AA1B6C835C18D5B2506533B4E77EC0D1 -CEEE1D66569498F6482BEAC3FD818EA2B3191A3A67212EB41D8C725F52937F99 -06D33486272E82A3C9B5A5457D0219A3CFFCA0F18D246AE6506915E055F2E1BE -8678389745B28EDC2DB006A0AA5A4C6483B24DDC0F3A38EED7CF30FA00B81CD5 -56757EA8C44164F2BDE071226598D6246C8A0CF972AF52331D0D2A192C98A320 -01435C77CA0B61256EE98D373A3A8F2B41622A6BCD5AEFEB9004B90F8A9558C5 -D4EF6B36912E854014AB35841B99F6E1AC11F09F536134DE90865F721DF86DA0 -D13B6BA2146D75696B2C2DE21F4ABAC37B3C0CA96BDBAE8334E2FA6E38F75866 -FF7ED0F64D5896CC294032AB86E5C328A6B06C2225A617F39CCE8B69AFD5B041 -9B1F9FF00401D7F0C9189B79B0C2B700945EEEBCAA38A9E202CD5B68469542DE -E9EA782D7C494CC6B411D614867B498B2C2729D65D6087C3D17956227B02345A -FD3E8653A3D4A9CE1FBC46C7E8690C803B4556A80F05674CE27069D24563DA46 -7D2C4219D242453D06650A9522A3184246937CBF4EA2A188C6B2A71E29E0CFB2 -934B93550B451AE9847F96AE18647C09C927C4AC12846180DBABF3F145FE073E -45C129D663E21A1F1F1F6755F6FECD1C1F7061939722D403BC2F2E856BBC25DA -F069F39A441C837FDDD2563B3A370EF73F0835D34DA86CE65162917E84C76201 -0A5F2854830822FAA545FC0A0F77E62A79545FDCAE728FCCDF2B720C0AF9A9C1 -2FB5878E9831D42FC9A56D41904B1551DB2E7410EE055948CDB8B9625C6DC618 -F8282896C1C258608234A372CF031E5660949250072025B7EC4E535899EA8BD8 -D1CE98A870C159964CEBC0ECEA5DEBBAC1CAF86A398D9C84A076ED630991501C -141AE2DED1688C1F1389ADC40B025407BAE7EF3AA847EEBC61DF58A6C3FC8F2A -D9FC820DCF1DB3CD2FD32A46BE1B98D87F3D291C8229DD9169E370BB10706B0A -606D45D65E3F9A4D5CA23DBF23972668A0D0FAD4D485AFF44AE284B91EA6BB13 -108B9E0AA5C0CE5EE80D9A6D10114ADAF14AC05569B7CA7F7A8444D75D504700 -89E7DE515BB66E320816BB61DF65D9B6DBCDF5BFEB475EB6BC93661D39BFABF2 -B542CB9E5F38AB3271CAEC60AFDE8FF533DAD806B61C17A985FA5CD8E537D941 -020D2CF7CAD6389AD73578558B49795CA5D2831FDEA1BB0BC181AC848EDD5FBF -E9A052FCD5BCFB883C704D80D9CA06C7D147645742EC0A601F66A5D198A7B6D1 -7851CF5D65E96E4D801D87FD271D079A59AA5E96E345053FA3CF427A80D78A5A -D5007F12ACEAA2F21E612AC2ADD7B35941EAEC728CE7BF64809270D09D469BC0 -422C3760D1D6FFAA75B0F36A1961278A5E63406E4AAED935320C68A3E5515C5C -226488F98CAC3B04F016A03E343A9835EE8E373A6B49C685F1B02798436BB098 -DF854825EA14526B337630DFC27914F374DE9A915D77369DDD88FEAC626B0183 -EECE378BD9B0FF448EAA2B656A20102641B181433CAEB6D6A0A30A8346E710B6 -B9E2C6103103CD25CBC8195C02DDB8A6E4216F24FEC5E0F8092D9B74F7945F58 -C8BBEDE1F6993592E723AD0F343B2B118098F64D52BC5726B253BCC4EE3526C2 -49D22E2AE02CC44F11C2DF0F3AB0AE48BA03795C1ED3D5E10B1158690D402C43 -FF3DB585DBF3EB9EAA8083DE62B198E2D81D9CCF4CFD13D5F5DCCC1A07F6D94A -E3E11DB551CC1124229C84F311EAD1EA54B30918A44CE0CB565C29C099ABCED3 -25EE19B9B1775C25E2BCC0D580275F4E526571B074CD8531C66A6302FED3EFE6 -C516427341082633AF21777A02140C90779B33CA0D31FB4D8A79474454AF949E -855C5E1D1D9510B2759A9DF9626A2DA26B6DCF05E68ABB11B5321D9299F3D8C3 -91588707B63CDFD33FE34BECACA899612072830172F1481702541322416E3F55 -BFD2BBFDD9A4322E27576748EA043E4092603BC4B79019674A29378AE9A35A82 -42405650D62A13DBDE6BDD55A831685DE31F9C20AB76AE2337E1E7CC6B0FB44C -FC396190083575E186BACB52932AA11624D830A58AFBB2670E39242F8609BA50 -BCB062991C4A193C09466F4FF2AC09F1E7C094F502E664F129500F2B93ACC2CE -B916D080C6DE142E496526F0C9A5804688896D31895D0C0ABB7A0AE4918D3481 -5360C8CD618960A8F014B0AD55575C50B901C5A57AEF996230642A5C8DA0944A -76ECDEC0730E6EFC7FADD09D9095FB540F377D460D159CCFD7059B0A34F738DF -012B7CD8BA63A47263423A9A70C14BF72386746772CA8954C5BD1F1FC4C77115 -FD47E72638FFA322F399D7123BA9DB28022589735875F058DC05521309DE8B01 -27387F330C5489B1752B789561FAB8C92ADF7778068BC27E25C245539AD11B15 -017A7AFD7BFAD63D0DC400B369194B8D9E4D298D548FC1968A0063A7EB8FE1EF -71AE77F99B78F6529CF9415E886C565EC305BEADEC0AB65DEABAC40DCD5E2430 -36315F52C005A9802DC49944A423F1828513EB381F24B0FEFFB99FB53FB86A4D -DBFD7B5994FE736820AEB30AB5832ED56048A846A1388D3BA69C68180E017170 -CD6EDF246A127BD8D8D24664171024ED9E1A99279DB6B5FC91E4248EDB7EF45D -5A9A851EDED58F11D586EA07F9D32D80BFF6112B4395916FBB5DC06BA0896492 -D9C770F973522E6CB5CCC92A08CA1F9067F7ED0A35CE4103EF73C3BEEE22F2EF -B3445433295AFC30D464929C0607FCD7495F9A6C0F5727CD8844BC3EAE436046 -B8D484DE4B8BCE607904DBE5D01924A86E18F73C5D530BBDFE7DEEA30ECF1C80 -D10614F7713CEA36DCA8AB9DD488C57E4D0E846B48433DE35205B57506175570 -F8A0740F6B654B7C3B744C5D030827DD29952CD579BAC27E25AD67D946F707F1 -EC44D9AA1FA6F99BBC9F473FE5191C7A918951F66AB09A9AE6980DBE3CB1742A -9D95175D440778A3F9CB5B5C9A0AFDA59EFB9EFA6883C836D562E2629C9202A1 -0C12FB0B7CD4313B89FC47202D9A9131BAA40082CBD9F3B0757853D79FBB63DC -4230097FD151C9620F5238C8A3900D3F4D0A4E9DFACBE9CEAA5042A8DA1C9838 -554C754D1F947DA0F13861F71919A886935409EABDE5BDF80AB586AD80FDFAC3 -259A58CA5B2164FE4E8BB441C76DFAE412F9D8F6A0791D654C8846415B8F50EE -2B51DDE94C594C35B200F6394727F6AACAB7BCA7089728C4D43D08D92085E899 -4D49B867A20D4D988269E5BE9075B8598815B98A33F71EF1DC57A16F1F8A6A21 -5EFCFCB8D5D6EA63BD71AA812A06B65178BA861B49D228B0562CB643CC272FD5 -5B75D91C52B23F5119AE56700D9316162537A4B11004DD2B36CD5BEEF7CF5007 -1321A5A8FE603B12EB3AA6874E2ACB44FF89228BED8B457E1E671DB262FB3999 -F21754172CD06E250734DD0B037D39BC7F95B59F706D96B3438FBD36F8096AE1 -CEF0C6B206FD1FC09A267F05C2FCAD9D48B7ED79C5274ABB901EBC710C56CB51 -29314F4FBEEA48BF0C63582C5071627BE63F1A8997D45DDF0777F983629FDF43 -1C88D91790B1ADD40007131D9EBFD2775CCC7DB5F43E6549E6DEA92FD93A6E62 -5F19742A969B6DF6835E58FDBA0ACA7561DDA911B8872C5F7649CC798CAE3BAB -D34BE5B8FBC192CD49DBDF869865C89CD13D5E1DEEB078CA83B54115E398B027 -F02F20A2FA1598CE55D6261D71F91B8250C8C2F2774E21C623AB8558E6BE220F -5CF0D43E6F48ABB5E7AE213266ECAB04810CE30BF85EE98D8145427EC8CFF5E9 -86E1BF142EB41D8C7276DE545605BF8104806355303409CAF619EAF139DF67A0 -7F768B867066C95F429DFDF448465B94979CAB16A0DA2B116A4F42968EEFAC43 -C89E9A4B2C9C4EAFFDD84FA4C3A997D042389392AD291133A42152ECEB35D361 -7FEDF25957674492074C77EE5DFBF544DEBCC883C292390C9DDF991B0287D8F6 -D3D070EC59023AEC64BEEF14F870339B83AE10DFFC49AE74AEB45ECAE8AC2E34 -243D7520D4845D89FFA6B594D8AB95DAEA65868E4C6FA56616233269F4DD0A94 -FBCDE3B1BE6D7A98F62E6E58208CF6B524B9B826757A5E443A07FDDB057C550F -D3992B9E464E6EE833CC53086F03F990C82B36E9A1810B24560DB09814C855DC -2CDCE238364E42B9382BEE77D9C29BC8606E9A514C0EA0C83884764F6E034E20 -9BC152C2F10F0C867CA4CC98D0D0769FC254D8DBA38215F6CC85F3767104126B -2CE70A4D40C8F8CE5895FACAF369FD9BCD27441EAB29EA0427FB06F42F8DD689 -11533849A08759376E87AC341AEE5FB95CB3152B2BDFE9CB046E012AA3389B15 -EAFBADF9C8869E53B009964B02239BB7B9DB3AE01D0F5B33DF315520A733745F -904BB8B003624B3B8511D67BECD37DED77F0237C0D51B72A7F7F92EEE9A04BFA -9EFC02EF4699C2EC0F4699CA60381C4F2A39351AEE2772AFEDACC90D92333F89 -54D65F161351FB24368068A78C527BCF188204033CB08065A892828F43C05A2C -2648F9A979733190786A03D47A727FDFE8EDBA3F49255BC3795E373CE2A933B5 -2A72E2F670977F4986156487B4974BDB948E452E2DB429D3D2FB8266F7B36626 -1CC210760CFEC9D23C9621ABE14FC18AD7C9FDAD031D56CE72EB7982B653B8F0 -D991F9B5A0946AD308355EDFBB2A3F62FC8B57B4FF2F66FB35647381E545972B -8099A7DB9CED093055CE1A414062458D701ACA675362598AD0ED73944EA9DAFD -6E3043B91DC39077C7758439BE71CABC2C16B59303B49FA4C02B5A5844A01367 -0B8068FA9B4CB58C5F24FF462AF013F8EEED386DC5E5C0CE30E5908E722E40FF -860C02C080E14282980C09C5307B63806D01E6A61A37D39DC2446470D7D90E45 -2E3CBF1847BF4BF8D7845AEE4AF1CE34978577FAE2A71D501F97C85BE49C1583 -A07B590256324105AC3601D061149ECFD87E1FA726089A2C19D1A4B2B273FC8B -0FBA9E23F63E1766E5FB216877FFEAB2473D023BD1F793F6D7561850BA060C43 -7342682C622E0203BE175097AC69CF9324A87BABCE6FDB4AF08E27C3D8E7D65F -DB19F68B3335B3EC2F5E8EE1462C52AACCB0A9898205855ED815A42830675F9D -457479A33BA6A034F3BBAF66799EAD3A152624C3F50279264C8CF38A66DF5FD9 -97F9EAB52B7A280667B42983D65DFE44144BA34FB1BEEC5FE1B7E3D201038C47 -88A5DAE0E719C8E4B3D2988BF536F2C94962BCACB12A8A28CA12487B709585CE -A36F7C289BDAFC52E9374B05989D2B409ADAD6F18149BEC1DDD16C8FF5B18BB5 -4AEBD7FBF9C62174979665D2BA7914ECBE3D0DFDE3FC2AA6FF7F88A37240A353 -D3EBD858B0D1FF939F40449BA58D592B85F2C6217279FB62B484C2C4EB0B6B5A -D35FD070653A16443D51D291C4A9200AAB185A28EED382C91E307A3B4AA1AF26 -EF0E6837730BA40038B336863431D30525DF8AAFB6FDC92C0E98E5528956D4CB -330DE95CB79542670A8C89A813C356255A263FDDDBBC543AC5D7B2CFD1AE25F0 -D6A01465EACF69BA84AEDB6F0154AA25AEBD7927D636CEF416494AC8E5340424 -4CD0AC43C5C03598CB6BD8049B34B2641060DBB0E3FCB5AC60BE229F355D94C4 -225FEA17641AA23AEE655FF569F90E24C8CF27082E4E7AAD634F281612F87705 -A15B7C05BE8330AA970EB82B01DB4AF18B3117BFB53860B40B370A98EE513E4F -2E6108BA508172CEB8BCD22CE4FE5188D2C7DE76862A3F78747DDEE3A617336C -BB7D3EE52D46ECB52DC057E82B6704A2F1A0C3115AE8E7D2D8B31517DE586AD7 -DB72A4BEDF2D22F883F70DF03593CAC92EBABC5AFCCDE1A78509E024C6AAF558 -C45C7F1A4AAA246778F967ADAAC21699B3C2F7F53CCD424642892C3173F61703 -BCA47E653C62458309689785EF8EE2922E80634449F0D5F7A8D70FF8561E30DD -CC464AA3F3760E7ACD1988BB44770F258EC07172DFEFC95AFE45B7143F61BA47 -EFE05472C43A1240E4ECA51664614FB9E46C08CB00B3BEB9A1979E7CCD6E198B -40D5D6FF8435ED0234FDBC6786B0EED8646EB3F49B68D2F4E238A3A5FB509FFD -0C18D7370C768192A66770F77F254F3D6CE99865EE852437775E2ECF6A070D06 -629D8CD6349D0E40738DFE2B2322F8E9B53A40B6FF442230071FE3C8F1CB165B -5AC61446AF6DDCBAF235AF8C3E5897B295F5C898871FC7676EE5536F23D948CD -730F67D658DCE8BA321DE88BFC5B2D5AFB76D04CB7BDF3142E1CDBE22218DB9D -A2187DB6C2BA28F8B1E56E4FBDA64A73CC93FD301DE2ED8661D61D21A54B258D -664D91305B62BC03F9FBAD1C9B09643DBEB374950E8BDECD2840E3B48A2B0045 -85FF594BB6AFCFB94BC4F82AA8B81073E9A991AFE6A39709606967EA58F6B498 -12B336A139F1C8398B10C43468E4D54F8DF36F74B9A34271759CF249F6987E16 -9A119CB6BA19300AA1602D2A1A68E7859E0BED5ADE943681014B83E4098A9724 -E7BFD908CF6E90A25EFD148CAC2017C71D84D8EF214FF9417B0FC8E475513D3A -39530CD26C08004CFFDCDA05A7858684F5AEC1CCC131ADD910A51A93A4F1E288 -8486BFA3CB3ED0015D8527731C53D273F5C51DF3768C1FA7C004537457D0EC86 -45F2484A76FE59C55523C21EA566D7E75A6A825001173F6A34AED8537C0D312D -9E5AF5BBB8C19BEA4071BE9B14E75EED39BEB37A6E78CCC9C58FC9BD74E93A16 -BA479DAD22BF879F7F76D7CE0A39478190787C410D4E7BAB6CA813CC2AEE1A7F -E1F35431FF07AD1A5DAFAA1853385E96022553EC5B1B625118FCB6C1B30051CA -E231DE09B98D9D99E821F50D435BE18DF0621F60D9D5D37A55CECE00EEC5711E -3DA7A696E412EC22B7B0A48B56FB2FCC5CAB6BCCA80F73AB9E77536E03AEBB21 -AA2E7F5FB2687E7A726B1F24FE9ABD388C2DBFFB8C7645ECA1C3192007EDD223 -6B79D161F94F838C53E1D994A9D89409D998427A4CCA56580F5CEFCD3163F90E -F4DFFFDDAD963264CFD034C40C11B5A425C1A51D2DE781E03EB2648A409819AC -1D6C73F4EA08031B6ADCE61F80323FEAF3C049ED4F7A6008F4EC04193CF051AD -96F15C6A47771B4CB267DF45255EFF5D7BEA21C4B8F06598E0FC2F3E7CBC2B1E -2DDA078D01D9B55D8A20AF61666493B74A369F7B64C2D7B7E3109B033026EC7E -C2A01BE7C8EA7AAD1F533008F6CCDD3AA0898238BE055BAE80E15D3ED7778C1C -0AD9E39ECC67FD9B9910011F980EF3618F8E91ECED76263D0A13B1917A86AE3D -D800879EE7D742328B0B1448AF3540732D52C9D6530CE36032586D5EE643BF51 -17492A3BF5CB62C9EEA019F77026B13581541A06A1098D6F0E330196E0B929E3 -D923C0B43C28D0BDACB639F7D0474B84A43A3CB8A2C61FFF0C07479EF58825F1 -133487DE8B2A382B58538855165F466A3F066BF3BB90F3E49B8F92D69A02D0B1 -F79BF014DF7946D0E492E936837C9102240302E26726943BE70C0BC64BB08D4A -9C0ABF2E1444980CD359553D67B178B52797BD03F64C69BBC4737C654DC2FFA5 -29F64C35D7CDF2EE29DA97A7BA4D32E475702767290E984BF9EE85EBCFDBDA24 -C984826C7564AD82249AD05DD17BCDDFDE646E822492CB3E6648C414F9DB4A20 -A76F6DA8EFA046A0A50A2834671B66852CEEBBBB57F1C162F6C5BCE7A3962A2B -D08D49B3D8A66882132B494FD028BF40161BD24B07F3E851B372D8883BA6B955 -51F5A535D8D44E9F5141420798770F368079954549B505F94541B3988BB1716E -C4336D6FF12EC282597DA8DA87EB66BFE134885A7A1E27DCAC28B228A50CB41B -5AEA034FACBE35433B0764F451A51DDCAA3480A07910501080A94EDE59D95CFA -94C8EF5FA0E86E751A1DB653D6C9022B94CEF77EE80455FE513F17F07E3B6366 -B14032684004763E72298DCDF3A57222D64DEE2E49D8FBFA309FA6F4B78F7414 -CB30A2C8F4168B9DC02C4D489CA1305DB50D1F2F02AD88680285C85DE712D2AC -673C235672CD6B428766575C7032971930AE264A768D40474C275E1CA9D8E690 -E592C565FFA7EA1CBC7F7FA586ED8E2987217F871642F677A588DF3C10F2A855 -78B74CEEA437FC6328DA6E1FF942CE6FA971381FA6440490C0DB60644E1E4237 -E2431B475D7AD678E6A72AD0A3ED0EB7E026ADD2666D99EBD4F05C2E1C25FD19 -86641C1AE15DFA7489AB7B26393A8F77F1410507520ECECECEE8CF5D6CA41F7B -85EEC1DFBE32CF43514CE691289A06286A46AC0FD23A23F7CB60293685ABCA88 -2996BBDE3D98F57EEF708B22007F920EEF74A55BEA404F6B7DCEE10DDBC99241 -E003FFCE303F78C5EBE1E4A60F33C1FE91877806F225712D2095141E1E43BF0A -23B42A2C3BA99F1F3C46127211F4B9D8BEC8563B24D3EA2F1D3C37C59EED8E60 -EBC4A7466E963667BCBA206DDC700B1F99D5BB54B1ADB843797DEADA6DFF0D58 -43E1EBEBAFEB9706857712EDD1F21D0DD1102A95950223A36BD84BA78E7085C4 -ABC2B9852D1BDF205905948B35F85A553FA3719B0E6D5CE2D2167EA238ED03E6 -C83B2909079CF9D0AC89E8ADF899FFEF1A951158C8257C256AD7F00819F29F37 -A3C4D48A6C7D1FD0D212107F462406BE4C74C7D241CA0BA93FE225A31190505B -B47F435974F65228B39D69A2CD94D2E64EC17A0AE11FBD7F88BA89868CAB6B45 -06C9F7C0788A6758594796186EF6561723D9E3D540A0E4C3F4681285E3E53BB6 -0DA52F4A2BDD414D1748586BCC68BB408775EA9A38B02C1D30A12E6EF56D702A -4B2A443854D9F13DAD905587E879497455F80FAF60D5E03F0951A5F57D6B0B87 -FE19E867C3EA3CB445527EFAA4110770828CCF0E013C102C2B1DB02AB939D46A -8EB43B028A10E6C7EC3E616FB498DBD170333013A4008635B23F7CCDCD8A0879 -34D2FF449D6F2B90C31AAD0EF5F5AFB312E0FD496FBF5177999EBA15A448E6BB -A45F5460FA0E +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C +5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 +62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D +6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E +1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5 +648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1 +FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6 +754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A +E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE +E75FE714FFF3D54D09C9747ACA01CEFD260985C6E87477C9C7843343C7E9E3F4 +0537D461EF019E046DB8B5BA258462B2FAEA1826B3410BA3333480CFE0DECE61 +CE2731FDDF7FCF2AEF7CC2B1EE7095F480B3B27932ADC486BD9CC130D94BBD05 +43872FEBA04FB8866ABCB4D379696E73B84BBE98FBC4A16CFF22F8A7AF754624 +2912C228030FF7EF23D51DD61BEB5171AD31E2B630475E16B6E0F3C78D44AC30 +712D165DB5ADED89056FBDA355CE0DE5DDF2A52DB851879E39085EE9D44EF757 +9B4BEE1ACDB865002ED4C5A98683AC13D9E1F818EE88E0A0408E13888A023B87 +31F35E750C4DE7EE68DFCC0211A2860C0988F6E682EF84373DB982BA28162A69 +64E9CFC6ACE0A25114F95EB7FAA7E99A68533FC4888AE57C5C104B219CFCB938 +DA518553B57BB2D9E462A5A68F1E8E0044F1FBC52560D53A6C2EB0393AF5CBB1 +55D81F9DC2C643F2E2DD0129C306FA3A787149550BF32119399076BC885D150C +B3584CB2DD79AA0B27FF0D59D7CBC477D5A29F789E37CF19F32D9D3F6914961E +AADE5423667209A686D8BB6F2293659E91D09CFE321C53B34D830CF72F00D3E5 +FCD3B6479BD4C862429A52E964B3BF8B81906F32517E927023C2AB14AAE1BC5B +6B0B906F420772505D76FFF558C9D3BC3E980A1FCC61E9AF4B9A9843EC4787D7 +C41C6DEC165A5299444976F34F301F2950FAF95C529BF7A74514AF883C50B4AB +C21227588FF0A57D1CCD8A91EED659F63BCE43D5ADD1F3CEDD661CA2B68654B7 +01E17109377F92C75135E060CD805F98FF47DE13FEB6C7FEAC15DBF630016448 +6C7F12BBDDF1C248C3B8FCDB8DF5F93357AF164A7114606087697E5021AFED3C +0F775E02982C4599496B71E4B6F3271396CB9B581F70DCBB0435F111D2216D73 +0C78C0A5C2AA5D2A40758BC181BAEAF2641B439D4FA6EB46D03338BD95820ED2 +D57CB7AEE41EEDD77FA59FFD1DD7B805B567A1164AE77D8DB5F49E8779938D9C +875AABA87925BBA4B374E59AE9780D231EC4D1B192E7CCFC31D87F5378200532 +F64EFA6055C148898D5E67ACE7363D8AC3CA2050EE8C47DD1EE29FDB882A31B5 +E8116DCBA78D5B9329DF559EE4F7855222AA01E676A7CEE978D9881121BBB96E +DEA72B73FDB70E170B93BE01C4159319F4FAE38ACA41966CCF60A8F9424C098E +69210A0ADB89D2CECD169D5448BB34DEE20D9905BAE45DE37F41259185F8B175 +B8EB2AAC102E05940B494BCB1F3B79458F0086AF241B063D7EDDE676BEA3055D +E3D18A35A848A22F9B4B79DEBAF97466F8158D8E782331B673D4FF9C12177DD0 +CD62BCF177DDD0F950A8652AEF529AEE43BD52DD513F8D6585B85F4896B45B58 +6F0FC7FFD12BAE6B0E477C9D6510F6E87E3B4D75C9DED5592CE95B6E8ED406AD +D71F59197A116377319BA68A214FF237B591757AE362289F2782350C12666847 +91F72F0A88E56827097522C55B3F44D76ED3EAB90B7ED0ECC3FEF34DC3C0D391 +6E06E03715926E3AA986E3C5DC076EF9CC0F5B71FFD3F02ED339B1CAFBCB04B3 +D7B17B617003BE14730CA3341A003EFBCDC8A176BF4467440389BFDB7D331823 +CB278DBE285E6732477E017A2A9B1AEC5C113A491EEC6141D7B9C435091FAC4B +6C393AC995DC79F0046B3CB03CC01F714A30BFA08052C0BC7C888B1E615AF648 +256AB8F551EFB544240131B54C3415265C6716F9E852DC4973525332CD5B181B +A4DE4E041BFCD79E978E572C2A53A7395F23977E60B61057111B47AD35A580A8 +769AF52AA9067CBE946298D77FACCF06BCEF0514943EE8AABD1C54B9378F0BDC +CFE0D81EB1BF9D0082FBF97648C763009B41E8610D6904DBDD4F1C5D82E6A663 +2F6F7C4F99B83C0A327A90E16092E7963848B243A7E718E078A209B1A830D978 +73588ACBD3E1F872900D4C3879524F139FFCA71066C96424771C19E5FFA0285A +D0E051214F11F4D7557C8B376B7E6DABD206AE08307F20F12755B39306B35011 +E5EEF050AF9118DCE00ACA6B266E66C0C63D579D7D90134D82268773D570B7CC +5E4C183ABB09646D3B9E70D06E2CDCB9EA0B108A6DA4E3AEC5733CCC0A14EB34 +1D39DC8EF3308FF55CCF1F736B2DCBCC90207D6D484216A28C5BC32775C91D2E +78A63A01BB22EC15E69860AF1EBA0D74EA154F044CA403E210291D18489EB661 +40786D375568D52BE04A49C51F2E294329192552E084BE826B25EC6A254D891F +6C34A8B08ADD1BFB2FEE17B28CEA54E4FD352E2A01C649D05BA5E72722D42F5F +A2C90C27FECEA6E5C21B0DF46E6571358C04287147DB535DC397A958A90F9A64 +6A60053642B8607ABC3EBD65B1A46F4B22017F945D059975D7A2A465E13651D1 +96D111DCA6B3AEFD4F3B5C0B51E968F9C6E1C365A390850BBEE64AF381E7929C +9EE72908432B77B9D58B0DEADA36802520B699766400B2B04AC92014D99C669F +FFC0E2127416F71925E7579213FA266F9803C197F2F0722B37C78C03A505C76A +D86B400C039466E4D2E2DC5CEE614932A0B8600811EE809E21446D12A4A30D8D +32C6AB1BDD383C05897CB4A08F719102D38ECD71359273F623865600455A040E +EBE2FE4D6D031A0F96FBD7CD0EDF88C6D092755EE07DBDD793FFF279D1C5BFC5 +4DB4D3E4BFA1A8850A608BD6F635A7AD717C45407607FEF9E14576EAFFCB5EFB +2B8C1B12CB88CD3D70FDD0458443046F85CE4DAA12FA4BAF6FB1673A1D3C48CF +2F891D1BF832037885457B4E46A2D2418AEE1B46C30EE4E524723B7842C9DFD2 +60A72B6AA65B88031BD577A546CB320EF9E2B980DB8E85BA6652FD2BF20BB637 +2753016E7800E540154727C01E6ADEB5422B91D5C20F9E8B2B2AB9109EF13F05 +15DA2ED05ACAF566A51BED58221EB434CBB6EC3CC34C083DCFA54694A1E9FD7D +2FA520B3DA37095B92844CCB2958E86484759AF1657B5B6966E70E21F720B0DB +51F4C3D14EF63A60A5383CD166AC41860949F52A9EDEEBE352C64DE286D9FA70 +7030FA4357196B56E8FF52E2264DD8DB2AC5057E448DAB1B828DAA153393C805 +A57328D0583339DD7AFBD7A9A5B0D67FA92C62046F8F9B2FD8FB424EC1165936 +486A469AAB12FF9490BA39D4AF4EB41D682F278423016AA6C173A2ADA81AB2A6 +919412F56463799ABD6DBCC68A96C67C18E793A4B84027DD9CC233310E84E4A3 +1941DA5DBBBD462F7C7605ECBB28F46E6089E9B911CBE04C207C579BD999ACDA +F9A39FFA4C396166DBA3A7286D8A6830B975CFBB9CB99DCF36A3057015218BC9 +C05CCB01B514AF78D5E3F6DCEDE6816E64719DB53CBDADDC52C3E05E2075813A +9238E39CE61E0C17DBCC3D5A321950FDFA8F7DA670821C1F37032E6C52EC0BD5 +81F698295732C4248C634449F3F8DD016D07583818161066DA6D1F8F97F09423 +E887B17579B2B6AF2F4D18DA593C0A0E7DCD4A21AB3D7E657D12E07FD63F5B23 +2F362D1664E293E7D85957D450C025C5B9B2E8889283D8C8D395B135AA50942B +AE668712615EDC2100EB5EA761360E565F06A23BFD436DBFFAAFAF6E583E84B1 +AB02C5418E41B8CDEEF026EE19139441F33DA61F28E6218B0F2C7FC79D2A3AAE +5C7270F0032E465BAB57AD5323F4851D4C231A66D4038562DCE696F2DCFB0F7C +B85AA1DF6068D85C017C5C95064FD4F0C3EA966E1E94CA3C9C9A76AF0B5E981F +4CC71CC9C686EA4ED348CE57AA6BD30A16F7111E092D81B6675F7EFDB30E4411 +C0CC449A53D60F13BB248ABFE7DEDD56A03A675707AF1B1F13829E41C9226504 +FBF20B944E575731B7FD1D1D16B18275E7AC756800BEA08B3DB6F505127B6BB1 +2E49246603B265FEC2DCF02330C86FBCF9C9F83D335E363744CD49AA4CADCC4C +EA2D570C6B130166F100436E50118D56630E2B596F44D37275D61DCC9C9D365C +DD280B1E3C50F7CA3CF3A7AE08FD2451ECAC08092472D660BF787D04D3C3B936 +7292F46A57441B15E7398C7A2E139DE61729D049484B9E9E29632795AF3C198E +E450BD4E843FFC0B8EB45D3F0BCD408A33F6B9E6B83E19317183654B196D9FC2 +BF327E50BF4F5CC83989D88683FAA8851FD91BCC64C797370809623DEA519BC0 +0F6637F304BE66317FBF98F8C700D28D74B643FCE8517454412D0F56D4DA901A +8C8890F98BDCC83B836F806A4BE2349868E7722D6D8A260FC3FCFD39AA2DE620 +E8F5EB6FD9466F7135C436F9E86937631BA472EA77E9FD4BB9E5772AF4E19232 +712783E10A83A065E1DBE7F3DC45CE16D1BB35113470C88FD7BACCCEE874208A +43D915B0B6D0A497D55D5D4ECA65FBBE334EA902D71766F00B1D950FE2F1EC77 +E4ED0E969DCC78C7F04BFE7D03F1113DD85A47FDD921E4714A59EFD829D62F1C +98876969C68FBA644BFF55B3FEF54D99E081FB6CBDA470A2952E29F52FBB59FF +778B2A9327D0E12964F34E1537E81251B2C910E6F75497A01EF0F24A3C85B421 +AAEB193514A26869B53A9C7974CCAD5FA2CD9E3598353D755B04597048C5F740 +81CB4F80AF5EC07078B84458A0EDFD58301CF24967ABDC5CE8B6A9737748C494 +0F16EFF7D430328DC9B04E0770C70E68BA005506E86737776B763EB88E64C5A6 +F5EAD4C4356F4A196900B9D3878A0DFB898496EB0C85EE207C50C868909D0847 +87E9D16DB5DDA440CAE1D609EDAC8D96E0E83BB67C74AD1271559593CB4733C3 +58D54577B35CB1CF9B954A9C422482682732835019D1FE22D6A0A6EA8950D25C +E30AD2985C44267209498029F8FE133A435BD5009CB0A8A1099E95B34BBAD9E1 +8FB64C79F6E1D8C09553B35A952ECEE66360621077435F8E6E64C1C6D7713BC0 +91DB1434B9CF86CBF48B2FEAA908AED5691CC81C09D87EFC6FBFFC2D1F79EE9A +836F333D6B473375BC8F6E8102B0C24700FF38BFD7025963C86218DC1E077559 +D4B80B68208E317E47E4B6816F04775C64DFBF621883955BF81D0DD586B4AD09 +CC10EDCB8A82C0B6D4A7056BA14A113DF3B35C7300D43772EEC5C0309A741CD1 +1A26C2C80D520DBD1EF1256B746BDA0D34DEBA442BCD33FFB6F103EABC60C585 +D885AAC3E1B6452B48A66C83F918E918EFA6034829C898440E436AF1A3D81AE6 +E74AF9E8F505D5DBD7BB58432C5AFF73C5406D78C8BD85181E5345803B2D1F98 +0C81540F82A04C357AC31E9AED37BD4E8D5FDD95B058AF5AAC0E1D35A7D11095 +31D1F8AFD1DA22506B8E1B9D72D91BC9F19D308C7FE6B85C2B8D5109276092FC +718C3892052A890B3F785E57F91E83FDCCF702117E5E81A123C53218F4B74355 +65BD683FB87D87527BEFCAEFDC83C019E7FF741486E3CC1597B6A2E493D35603 +92B57EF508876C54193887DAEED97A41B66FB83412239066EA2E1C0617FF7B10 +8BDA62531DA6C6F8F06B7F150DFB3F6905A2B7076442F7C4780A41F6628E3207 +1D1FB86627C40A84D9894B73FFF000CDBBE088CFBBB241FF16C982353936EB17 +743EE092F93894D92E9BFD73E382FA5E618B21AFE8E593B35EDC97D82D5FF8BF +485605DBEF4C1C533AF217EB31852B6D05ABE12BB50F307C0F59500B5F89CA28 +D7FAB89BBFE04B93474B3E6E863F5BD37222A6EDFE81FC5AEDDFD128DBDC1ABC +EDF98F9D5AC4888493B4208D2B7C937BED3A271F4C0DAF78D3F5809B3697E28F +8C8C00C6AE930844D3B54C6C52E0F48DD76BF562C67D4B035AF36201AB990445 +6DDEE6DF82A8E4242787B565E8DCEF69D54DE590019CD5189053A04342E2515A +CCD0D4F3DBC7ED1FFC82F35407DB1D4D5A322B7957A40C30B3DAF4CF44CD096B +B8C19BE6005DB525A0462BB49665589DBBDB111CD21AC2F7B6AF3F61D6A97FEE +5103DBE08AF0826660BCCA78410A361CA68950DD6A0AE6408C5964CC8C73741E +4ABABF4EB49D61BE53561577CCF022347C3DFE48F5913E45F1C7E39A1747A0FD +E41B5800AD5FFCC50DA109F2B38743A9566FE6098A85D27C1E3C069FACD059A4 +7E4A706761CEDADAE28FAFD44A8C3F9CAD93CA94FAB838D8053CE56E0B0A4AF8 +CEC76D72955D888BAB4ED03271BFEB2A41EBD7F7CE463286D25F49894E8E6BEC +18346F4AAE8B7C2524D586C937020B6FEA4A69562275E28C1CCC37987E6CB9E4 +27F47C1B45D60889D8C40A5E3CAF5E67DDDFB2EC9C87142074CDBE0FB508EE5D +7F9ED4996F009B94E0FCBC38938DA56EF7E86ACF4ADC049CB2CFC6B9E2B4CA10 +699D52B2ECA9AB025A104109637D50744B218924373D1D0CD1138D516408B64A +DF3E3A16F462AF6BE00DCA51EC0DFBB796313B65D01E6CE4160E071B17979990 +D6337DB92F3F112025DFB0DDD1E1EC1108F55EAE8F96788A1894F59B525F9935 +CE8818B66542CD18D019EF18D77DB8FA541BB47445DCDDA30156033BC031C191 +5039096D293D1A34FA2EF1551E243E1D88A55EE6E2736DD1A725A06F6A78A520 +BCAD87F68AFC45540ADA3D8DE97841178A7FCC969C159FD2B6F5153F4912198A +A555B9250AA73454E9DED6FE1060661BEA6283FFDACABCB0207B3A48E036C39F +731833C66AE165844344678A3D9A70AA3910473EE01100585DC37E364C3DCE0C +E81306C3DF3C6EFAA67A8DA1F07B0D7B0E919F4C6E7897A4B3AE49A29ED10788 +83FAE69A32A97E36A29BF854831F84534C1F36D962AB49551028505A5FB3B84F +6F0D66A06D333596DFA8F3384D6C74022523B58F1E96BA619278F79B6D24C63E +138E241ED8ABB23DFEEE6B7B2B7E16568AAD039DFD22E5B42AB5B458FB8E7239 +57282147B69E6E3A3C5C70BCA065826FAACC8552FC0DEE5560FBC1084255DAA7 +2E8D48ACFB4C3AA1C28F0A6F7D0A6AC1293AFA503A96B664169944D0F31B4618 +C09B8D108D0F77B9485D1ED26C487FBB8B47F83F782A0206B625A4A81A350D75 +A1DDB921F0610A4DEFB93C2288CEAEBE0AC68F757D11D49F3052946BBF4B11CA +2B9171A4A18D8C5C095703ED5F10D93C6EA3B4E46E0C9E9BFF3AC1CBDEB4E019 +123CF2099D469FEFD70066B214C0C76C0B2E0F4110DCF2FC8E8619707E025927 +8D5E5CD3C4950A055ED20CF299DC3127B7FA0AD747533CE11921DC4F110B6ED9 +21B9BA08CC207FE021DE4CC5285829F47A92636B0DB68ABFE8E26A50E36BFD2D +C2641EFD86B588DF3AA72309788AE3ECFE10347F41F051BF51F54F05007C21B2 +8B4F64329200E21994516DF419BB3E10224A92D7E5B7682D0FB7097EC5672780 +77DE4BC4B1A343611F79CCF778793766CC0E01795A83B3171421F40A144966CD +41A188F56F3D54E6578732D53E21156993E78B903572BC184C87DB3FAE64D5E8 +597D06D882D5C0DA5F8F8AB03014C5886E836F601A0C4ACFF9EF81B986E9D053 +55BA66A303FDD1AEC853A9E30DC0C1F42E850C02FE9216A86E9527C1BED627D1 +6554C85BA07015A2A7A7F00FB51C14CC19DDB920C41DBF56DA249930D58C034C +BDBF98F17F143EE5C635BBFDD3BC81E4A1805085AE6CC28FE3EB47C2818C35BC +ADF57AC82D142E1AFB16106AB08A3DFE989519E5C5903F2D8C42B13FB114857D +35B75B239DEDC70163B181AA43D7F9B964EEF1E43CCC9959AADE728DA6D08463 +854EC66A8F2114A2200EAD92D5003C357C0B42C113A0CF1095D6375B613FD68A +ED6048680853B5621B55CA62EECF5C4F77F909D7BF361C53F8B90D853930267C +A79CC67A446B0087B2B4FE074C242C8F3D8F203E73B1FFDB2433010E00AE80B5 +27709B16EEF0EF42DDD56B46D1C0BFEB89B5194A2285C9C2F9B62541C0F86BE7 +ED1903968B13FDDE177F877EC6B9ED63DFB5DC4D26385BD85E27B86B5AAF00C4 +427FF5CCD7D539D7912CB8E0FEDFCD4641CFE9922C4A3A67A72C363A18E2BAF1 +15B2C145CA6A6C07461E113517D6383A03120286883493139D48E18DCBA93714 +A936C2232F79E6482E870BCC7E1C22355316A34D521EF8405E91BDC56C0F6DDD +FC53DD99D9837771A89B5B8CC3F176A2A9815AC1B6D2E43C394C43ADC530C84A +763886ED0DFB2AC863D8EAA55572732446A31953620D920AFF34E2590F1B29C8 +EF50348330B6C718E8C23165CD739392185CFB2970BC2148CDE2D7D3C1A244BF +AAD43899E41254AB30FEB10016E5F11AC0185761F73ED6285E041132B9F094D5 +FFCFB4C932DE1CB65666A1B7BCF0A610BBA9578B8414B90FE0F6D5E83C8B9335 +D487A8380FBE1570A01B995284559454E89DB607E434BEA9582AF8900C1CAFA5 +9411C8BD17F37969432F7CA0E7C676D77511DC2037FA3461C763809022E1A8D8 +6646FC08A21541654A5735BFEA2FA68D9995AE458C11C41D563418A13D5FEFE8 +E7E3E3A601A362CA2422A749AA1B226D35110B03270B6C620F851A3F50D34707 +08FB5DCDB10D33AAD6728B0E76AAA7E98767D997F144ACAE9884F8DE2B3FBCEF +DE7463CED6C95DBCEA9AE9EA9E666B366C5FE334D03B0097EE7148A3DF2978B6 +FED5E4C262DB969A775F941AA6653FFDB7066A24FC6E19EA0868AC065D5863DA +0BACA600CA715BC1A23AB469530F4D7730131556FA1B3CF3C78F2B37EBBB801E +F108203B858D2CE1E432E9319BF6CF57137216505A8DF7F307E70DE9A2387853 +7C028D25FEA6C83C2558AACA0B903E4DE917B872C8226FA349F587E482ACC697 +2F8726CAD12A19032AB62E3814AC6D2C3B36C09DD4E4D8B518DFE2C21306FCDE +0F030AB52B41116486DB9E5BECACCCF97C0CE60CA33F5E81E2B1E118F79F07F8 +51F02CB58E8F9C63A81D61D6AE819C82E5F473C9AB135AFA3495C8363A3555B8 +7EF46153D5D277B5759558BB7FA70D96D2B0F26EC3C984DF063A14463DF7BEA6 +398F4CC4E105522C359F8352D6A858A7AABA0FBB87168C7D00D96E1B3F15AA2F +19F1838AA08018509DF7443DF50AF59511119F193D4F5B3EE8AC9B2FB7D19240 +CE2F356E4BD77087232CD182E5ABAE8F6E5C47B5F26F4EB75052CBB82F3A9AC8 +FCC913DABB75A51F49247BBE4369FC52A6A24344DF6926F3DEF4D4A2847A583D +FCEFA3EEFDB13FF245D6A0B0D1B17BB4A1C4D6E94D577F9936B1079766C46960 +29B365FA82CAD68EC00CA7A4B89B4F06BD1B0790B22C5067B2D26AA3F178C749 +A146A1651DD02F0397673C670E06E6BF5EA920FCE3FD23BE3DC25D9BE67A168F +07B8D5EE0A2A97DDEDED6A2707CC2BBB455A07FC27258E85A640C51802B19ED9 +E9F43E95A190486D28B70FFDF5D89E3326F9F8E223470849C3070250A94F854D +871A511960C2B4C857AB6B83C6F56E99146C9B1A4FC2D3D192EE0AD1B448F573 +7BDE711B9E3C47EA284063F1F8490A6DAEBF52677F8C20EB7D6A9086084296E2 +AC144156509A91CCA3DE861398DEFF7E74C844A3ACAA79B860579AB910E5E1A3 +4C5A81109B1BBF9DA1C2C81928353A443031AF58B5E1A545EDC5613CB726B3E4 +169FCE4503C5FF09A1F402F99D4EBF27B3D8DCB127D6BD615584C311E3C1FE4E +B288205B3E9281BDBC52A949E8DAAFF4FE860943E7810B65B4B000A5D42A6F01 +10626E1596DF0C854CE2F3407FE0E864EF4138422F16CFE2C65525E3972E42C9 +A27BA1895C8F2C386FB300CD73EC7DC03EA0846E3DC5B843C1FFAC25BA59F47E +AC3787E294EF256061CB16EE09FC5295F5803BD3F24F6C4188E206EEFFD2580D +94BCE1E6F9C606698BDB3218301D3765973C2B75AA913443CE6B1D7438F805E2 +5D5ACC016A8DD0B71E5D7EE45E019C0B7BA0C149B9158021B6F472426C655275 +C645CF768BAB03DC70A9488A06BF62BA784F44A74CAA79E4332DD8BC1FDD95DC +3736404A100258673E4895B8E22B1A123E0919D5CC599CDFCE0BD96C10BFE421 +0CB3A7F194A2442E2AE8153C0B531D05F1704C4C63F8CA19990EE5A7D08176B2 +38839E6BBE2CA42F629F7EF5163B64DE09462BE9C202455EB083C529F48AA41B +7E0342F4C28AD3DBDDBA75880CD30B272A212B5C3987D27EA1726956CBA39A5E +4C83EC82BBDE3103C0BC11B5E03D951DD80D863D6AB24F1412B31EB47A1C92E0 +038E8796D09C6F32FE27EF73BAA5718CC8D84178C53313D4FA7720E706AB0B16 +8D264C86CE1CEA0DA942FBC8DF04241F2F84BD46A97FA6CA390A8A791FA8CA47 +085D532C8B72D9AC204A8F2711CECC595AB286C4608FBD36C82A2FF545602010 +41B69445CEA932843CD24B22261E1532E848148BEA74579989C0F3450468BDB2 +11E0247514C2C2ADC66820A65FB9C7683D50D5961C2122CAFCAB27AE613DBA6C +911BCBEEA62D981B55615D47FF6E49C7348A680BFFE06EF9DE6E19DAD5424965 +DCDA1B655D803CE8581BA0AB7EAD32B7EC4C9CBE0BCC74DF132F5EDC9D50B438 +D87A96B3FF181058A150FBA16390766BFC98CE986C3875D8C6F15F78D88268E2 +42ADD540D06525B10F6E80F114E8DAF907F31B639FC62E1B824F3B245083F708 +C50D9CBD333CD4BB33F0AD549BC51BB611DDA9CB4520ABA377847C5F4C7644DE +A3AAE8A48CFA03011ECA539AE646F47988982E09DFCDDB5E25DDC32772885AAB +BF9555F6FF946A53E9656D625DF441C32CC63137FE4AFF164836EFC6718A8DB7 +B4D81E86F3D4D1A0DF6DD22ACBC23A2ED878B9BD43617DF539EB4431E7E49CED +22EB650937C1188C750CA36E20C8F374DE68B7C79007729BE085772F7A3A8DBC +9BF36220846630924F317CA350E9173D618F81DADACFFDE09E710299BF6001FE +B5CF89F66F623A5F7CED70EE024B8ACEAD657F63F7CAA773B59B5620E72FC26B +4678042E0BA4F75F5596600CCDFD7972806E1F3CF64C7EF3D88240C4A2A8E81B +07B93F8060719905C7F7E877C4FCA35F46ACF97F7128EA1FDAB570ACC9B8CA88 +957A8F91D301336210FD59D3C5F365E822B90076231477F49C3CB4EC2792024D +6864AD523326123254C7AE2D9C11D30A4ADD2CB8D8CA14CCFEE0FEDC8C49D2F4 +99C69EA518C7EE58E94403C4C20DB99DE800588BBF79C27C3A6F03D653F3C15C +8238B0E8E607D425028405BE81042E33EC2B5595677AB24EBD08BF1858CBC0B0 +154D1E3CAFD2780D6A73BF7D8DBC5B800D4328E4F14955F6D86A2F5934A4EC50 +B2D7ADF53A532D6484677807839039F9BD047FDB0680C50BF89D3924716F80DD +0B421DFBCD32F4A7C454B4B91C6C8639BAB5598951DAC178E2320BE563AE0F14 +B96CCB98F51AEE99B83098EF77FAC10D8B88FB29B839C094785F46A377BD655A +68787E5A6DBFE78ED1F304AFCFBDBD481348A65D004646E03B5AAB0EDA67A779 +B9014D14750AA488D8DF9C9DD347AE5B68DCB3C28986D9F09C48612B8795BA3B +702415A816258790947FBEFBE2B85BA0913BFF1C4F35C7464DCD0EAF8397A769 +8677C8DA5F89253B1C3AB2F41C3C5448F17C5DCCB18DE110CB9020B9E26F0BD5 +E0806485FDA93F3B54AA9B9D445090A23123BB399318B4771EC426CDDBAB6BEF +8E24B165DEFDAEAB660649754283A4A3BEA95522F058D118C7892EAACF376CAC +877028063F1C0429B5AACC47CA6874B8A83C75B78A64D21CD14214EEAB0F4FB4 +D26FBEEB479ACBF5740230C9943EF7B6983AFB683855A877CDB8238CCECD8156 +DF9271A64D6148560A81EB5DE5F20564E2EA814A974DAA436AC36F107B289E90 +111B28D488CDED75CF61C3FAC18581D21E7B517271FE4284CFD0865A6FCEFA3D +E26B649A2F392FF3A6A0A781E090FF5A98594BF0341D065E8E68B0A0969DF7A5 +71356D718C2933003D218218BDB35BF0AC541180635FC8CA3C777008B09FBCF8 +8BAAE9D764AC5A8CA2E88E11247E8512B6FED52E7C2339CED4E4F82BE578E342 +6DE6129998C520F77AA5032191A68F101D9451651C003B33D9A0DA25E241ABA3 +A29AAAF4B3C81DEF8C36A52C0D8A42999B63199295BB479F171599CC952C7F59 +B18BDA62685B45AE1CE46CCE2311789C46E155ACD5A8838C6E392F5CC2551401 +399F83BCBD4DB6BD9DF2EF4676D900EE843BD07D9CACDBAA05855AE2F7993A7A +2FB0937F06186306D7C788FB26B536C1915E570863E5FB2D91C63E6FDEBA34D6 +A2D27DE682224614ACB3A799B3604026FF9F9EE56ED3A9380E1BA58057A036C5 +5550170FFA61924C47BED31688796BEB3927C3CBDC9CBCAA0BE5D685D7DE241B +24C6EABDAA52B245BBA14D214CB61FF044B0EC7CB8731958F61D65D7268C7FAA +B5BEAE3192ED338920EBDE9B6F625E10CA87520C72223FDE13C7BD49FFE99DC8 +5DB87EA56CD6C06C8C7AC6C193340E9F913C83B62CD5BD580F5CC6B6D8C1470E +BD09AE843D9EF28CDEA143B7206DBAC3B896CA9D6169DD634B30C41D73310BE2 +DABB707A86A5FFE942BCC7A75FB92EAE77EBCDF26DA07B07D8ACE98C3277995D +B7B1198233DC78136FBE39D3DE9B6F1F62BBB311D451B46D7AE0FB28A3EE7AD9 +323547D3399AA95E95811CBB50C5EF6680363FC8F7C7E5230B9DB9815F8697FD +047161AC68896D17821504A87A73775544F932495C55174EF14A8350BC2C055F +E095F53B4955170A06721543827E3F1C90CF48866685B359147BDDF8FC42C423 +3A6ECC23FB9353B3B6B90C3E8CA4E4E930AB97B2A5B8E348F9242F479FB85CF6 +C67ABD6A09ECF1CFB93CAB1960FDBFDFE108570395385765077565E82107CCF4 +95612493959FEA678C601C03115D6947A0B14492B04053FBC7CCDBC058DA2D32 +44E1CB3FF3B4F3582002245707F20494E04D681627A2D084AFC1B8144F5A21A5 +088FDCA63E160ED588C28FCFC523623415D2632F2104245379D9BC5E067E63DA +3A320036E60A2A65F56997572166E8E6DD4AFDB39F1F84AFF1D5E05366F0E2D9 +0FF1BDD6A98C9405CFB576E4C96F747E4BBE12569018B5123CD9EB8A5C0CABF4 +63833B489B792596B97231202AE359E0D9648F7A350EA0304B7AEF575212C851 +788EFD372B9A3220E6C647A317FD31663D1F6E6B0F14F7A8EC8E7A7C291792C8 +A9EFD4191C8381B62E8BCC7B14C8755FE1613758E94FBA6EE7F9DEAB356EFFFA +20D359112A8CF8AA6EB2990DBD57020993A4C0D3BACD910A25F318009C253F49 +CF460E81F4B942F009BE7909AC9EF593E7050DA6F7E0588F7D70B7E5E3982855 +29752C3FED27CC39C420E8A1A27CC22335798C214CFF18359B85F84CAB375769 +035A617724D498437B8AC8E7C3DB12389DA206D271D4406913F37EB48C820E07 +245E5E87E4F2CF38FA332B539A8FC1F5A2162A1353DC27C2064FBDDFE12FF7E3 +9A6A7690B8E0730C0F9B78F275DF43F5F5FEB0360C0DF657152846DD8AF2186E +FF6E19B7E53E8F992451E1CD7E888417D3168D1299CA31BA75DC2EEC6DD751FC +FFF946411A8C48E3A5C98535A58FA490DE9F0C5ACBB228A5255C48BA98736095 +7CE11E73BF3C403915FA14A4A8144BD6AD1D79843688BD5BAC427FF96B6C17E6 +82266F1204D00801F0274E8C05587957458527D7EADE10A03C301578C8BC4111 +334DE9BB4B78FEFB8154CE0ACBB95316CF7B5A1BB4547722DDF513E013A23B3B +3899293091E25619C0ADB9B66E3C54DE2A257A5BE8CFCAA337DB1D7A01383F99 +F5457952EDA9C68E89BDF8E7B3F557DD20834C428A4DFA5B957A0BE481889125 +02751A25A687F5CC5E679329CF50F644BDDF436E1E3178CE27E0B87115FB5A98 +23065CEE85BE84BD37DBC82D94ECFD6FF88284F98848C73E5155D425609CA6D6 +ECC71922CAC6F81B37D3A0BED469A5A879673F4D7E623D77F2C9533417FFCBD2 +BB09CEDA826AD2945904619620E7A759BD3BB2E799ECF66FF19194510973CABD +46EE7FF5B8609B79469720FC8F934AB53A4A39E583EE43E1E3568CCB96A7877A +923F66B2F7EBA572ADB047DD9D9F25E01F7681A4B06C05FDB062FD346DC244FA +B3A054BD47B48626907A7CF81674F3535DAB490E275E776154471A5F8BBC9F8D +D811CCD6B26E085A660AB44533C4A3FE8B1511595399832368D022623D945C09 +B65F2E7B404E11A0BB3AE589BA84520F06EED018D09245CE627E358E24FB4690 +A617620ACBBEC71D374AC3C96D7ED04DC0893C1034226AC9D70FFA094491B64A +2EE7DACACD7B4712B218AED6786E85A97A0662C261E99FDD6322998B1F95E08E +D035A977C2DB94793DA2D90F3A14D4EC9A879CD3DDE7B874872E117ABB74A699 +16BE210CE77A1F4BA087E7E5E6F0666CA396FA06E9D7582105FA8E9B702B5654 +7323554BEC4DC645EF7259FAD81D36725394F94C1F1B0DDCB992F4F6692C879D +D8DF61F743B5BFAECCCDC1C7A16925D8E99D7D1BCA04A6ABA8E8327063B97FC3 +095EC36F6062A93AA99E39DEECFCB507BD677899A2F170F612785DE13B89C7FA +B32BAE429661C35EC5CA6F6916F6FAE1B03BCD6D1EB88DC99656BBC40DACBBEA +C5CBEA244B3A44EAD417B65554C8CCFD173CB9ADA94F5D55E802E032BE53F6AE +4C024EB9D647CBCD0D05F4CB0E49C7D1E9F573129B46E1168DA84DF1F7E9E657 +A1C37AD37489AA8509AE5B71C4183A5BC9726687C167702EAA26DC959B3553D0 +FEF8B04A46FEA60A7B66F83246725DB510C0D7F9A4C274BDF5BCB8EB9EB0A5A4 +52D7E328AE40F0E80F7C388EE93E434F2B6ECE185FE729F5C25F4169043CEC9A +42B0D432D25F97A3F4F2849F5E11B0F2D7AE49F4FE5C59C4181664F8938F9B7C +6DDF4EF92EA98AE49948AC5A70AAE737835C9DC33973AB817E1AD6C5DDF42BDD +5F5CE7EB9570DCBA106D45D2B31876F1C5BC94D2733E603D7DDC1AB7332E66BB +EA9A3A8E95B7372BCA6F841B22C2B6C914710373CC20009E07E417F709A540AC +78D58511DFB85F629AF125DB14480979C68AE774184EE8759064288C0E794D76 +E6F80729725D0A6ADC875D58D6657F0ABFCA16FD200C48A45028B4283E3008D2 +244706006EE511A84882C5CA0E307ED3A9A4F50450900684A655918269F1D146 +86656A3600C0391A4C6857F24B3ACCEE4E782FBDC0EB487A85A2B575364C905A +40E70F0866ACF299D231D624949692ABA887D56A0D94065A3FD6FB30E9EBC027 +755DC262C0912EAE5D330614DFC41F66B3B00461682C16EE71FFB95AC0670259 +8C58380A0ABB59BD43798091F979D6800E92EFE12F50B499589267198C9E6602 +5B4B6EBD6461F78D7F24E647F4FE4E4844460ADF4CFB5CF60B1FA0D42D02B836 +3615E35FD7E0E6866206485BE7C4BC920431799F14C89C17D4F82E7ACF1C012F +40BA05E3337D56EB9B56CF8444402109A9E3DF297369C6B9CFBBC781E17DEA3B +68886370468B45066C6D6158E16924079282177EF599F66ECA50BBC316E9935C +7C8047EB708F831FCD7EC7BAC3CFF9DF196CA7CD583F9F69A65676A69D957C31 +B98C1512D62AD24A9A860C34B9B5699BDBCFF4FAF504F3A6EE72F75F0AD14BEA +716C41BDC36A7B8213E98A57D120D5CD3E1009BC546EFFF690D73E026E7F32FD +D60ABD6DC5057B11 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2889,25 +4528,41 @@ A45F5460FA0E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSL10 -%!PS-AdobeFont-1.1: CMSL10 1.0 -%%CreationDate: 1991 Aug 20 16:40:20 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSL10 003.002 +%%Title: CMSL10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSL10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup +/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSL10 def +/FontBBox {-62 -250 1123 750 }readonly def +/UniqueID 5000798 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSL10.) readonly def /FullName (CMSL10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSL10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put @@ -2962,338 +4617,541 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-62 -250 1123 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142 -08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C -30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF -C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A -BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78 -5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D -43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1 -374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23 -DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4 -B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83 -63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B -89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A -5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2 -C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5 -7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B -EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850 -4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5 -7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40 -30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9 -2E080C10DE923C1959C82C55551BEAECA9B83CB5E9364252CFCC406A27FC43B9 -69C5BB80A41C85D80EDDCD5029E57D77EF4128B40B131799B4DE0EBAE17C595D -A450B79703CFDBFF2D455DA910FE978A84F7ED3852BD7E3969F36C3F1BA3BE81 -9B299A46CE155CDD0BB9584D8278BC323B43C6DC278E2AD1D77733116900D045 -22458514359B1EF0E9CFA4516B201C65031C002AA05514C2318959530C2EB73F -439703EB108208492CE953091DB2E5C76FF7E7005FEBCB01A6C62BC823004287 -105EA9213BF4C9D647629BEAE0F304A369E81C6D9A1F24B98E78D0EDE100A874 -E3063FAC51AC5972896DD151B0780613872DA4FEED668C04FB312B7C5186AFF7 -70655B9658FEDFF154B9A13D1B5836F9AF14D66F46D1C45AC7D463648AF9EEF6 -0C17A66F7E9073A202EC00779327F491B51DF6C55D13251D23431B796B2E59AF -3931607D3F1A2A045B89891E7591B2B12D8EF65F473E1247400C6B659B75E8BF -E440E150F2E99A1B10747489BB813DFB1D4E7AA795E2214D3BD602CBA6E8573E -1F4CEB6A1838B9DA209396DD3B91614A4A385198D49FBC655525E2B06F030E3C -49283EEC4478DE3AF41861F4735D3ECE7D33C691A166035F8673FDB0B531F898 -C4E7072358144B59BACA5023AAE3E8036DD031AC6FEBE425DB5F90D39A79E7CE -CA99E6F917EEE7DF2D08126F9136AA95E8E41B478D989C03F4F878F997FBFE04 -2B95720FDA3337E5BED32E070BAC56AF0E355B069E1E6889C9D6F6937BAAC791 -5AED48536D08CA46BB78B23C68BFDC6DE47EEAAB93F2BBC77108230F1EB87F73 -DAF46561BB346ABAFBDB677554C9BC17A2E51C9A9E8B2E34209066D68F00D78A -AF29130FA85DD757793C9F5A530571F5CD66A5F4C5E9FE9E169DE23B884BE1E0 -B2615D294132B328FFEB8F0442ABA50E426A56EFE98BEECC32AC74A7F0F8FDF3 -73DAFB11640FB3E56630463621162219B9724EBEE31091FCF2D8EB2804DE56A1 -6324D717C155FF07E5018CEECCD323F0BA1069107C9622347DF889F4B160FF6A -ABD50968D9FA47DCD238F1C9604776700F419D41838368BF226CB8C55C205FDD -56B5A3F323249337E20A596FB953D84C0985722F0F9C839535DCD876CFD1DB11 -EAD95F81FCBEAC415D2805AA0942008AA3D7AC928A05DC19783FCEC5E01160C9 -63C211AC8E01A6462D900E53B4D1F0D8C10D84F1237324688A08CBBA419E59B0 -6AC55D092D154BBA8DC0B55333776A50F2913818BE2140ED1812AB499E2E38CF -67542F031FD267289A7AB060FAD335561BD52289D97D2AD51A0873EDC8949C19 -AE7B8FB4D296509D9D995FD051EAB8BE66C6659408FAB7BDAD50C31A61523B78 -709A9D262FD5EA01F59268209B4B35D760A539EC69AEEF23DAA56C23B4ECB893 -5AC1FEDE4B478AB5F547D49F2E44018D01E64BE5F36837916F7D19BF15D9D4DB -BCCC32DB9A28EB375D1E4325C7C693D9BD88A70C3620D0599C3342DF779716F9 -E18A42D3E13C9609DAC603A84799610FFBDA4B853A0426106394FA8E42FF8FB9 -1AE904388AFC7F2FBC1150993F5351EC17F8BCC86F41C51D51AA8845294511BC -32AA2479F0141B465FA0ECF4D8761EFD23AFD85420C626C5C35407091A2D214B -30A45EE381C9B898A083354F7CDBDC0CFFEDBFFF455237B54E0ECAF8309E6D8C -FF27D347253E8BB7B417F5B44B01081377EAE2C7436B3FE3D01E464DA600827B -079B0A2254B9F88D1C61C7F6D5617CA305D4F4238C073AE29B6D1983CF94C62E -F0CCA0404BEBD074F11483399E45146BCCF17E6365822B7B51019FD473AEEF2A -695D94232796C71A2C50278FDEA1C0424E58B9CEBE77B5BAB0796CBE1A784766 -A0E839511930F9CD6C8A59B0FCA8CE2EC2664F6E87ACB790C0CA1013B226EBDF -3FADF8FBA0DDBCC7DA37FC5021921FA98F08E9288B21451BC06FD1420C069A53 -CAD2DCC57C2A66F76421D1EC65E5519A11BE065CFD614BE5990EAB0EB683A122 -1C70415F20AAE49258EEC654051C25EDFA0FB0FF0336867F7B18D76F257A8BD5 -D0F082105AA8DD426ACB8CCB1A5079CD845B99FCC4B1240E12A01BB9117CE119 -42FBAE841A1F85902BAD49E631D3AA217AEBBB2DE5B67F7DB47E06ED9FCA76B4 -C738165E8381868EA9185007FD72ECEE398152CABEDA2B0F5A978F3B49917379 -75786B51AEF3178A29DD9B16A223C84561A64E0F9B30D4C3BBF919E50F240AF4 -ABA9ABF1C1D9500DFF5651FBB53B5EEAC51A9A3B27A24BF7541345521949B30C -39F519C040606C747FAFE8E046A98A45D02CCE57CD74A48FC33D9FF36381289C -468139415984B5671790C38DCE919671DB1A8C0EEE1A7F54431A3C59378E829E -F668815796359C54C7EF7305FF3FB0B0CF3E9553C1CB27FE768FE3E098BA4520 -16690A5B3F2D002113F48A8946B6898EAC1C517AF424F915CD5E5B632004B323 -F89D471BE0C1AB5934E73C355C6A72794DE07E6072D1768C25B4B8B4546847A8 -D1A0E21898CAF30F9E298B541AD0E346D4B74512D54B035AC2FA7474C06F6810 -E200C2D10C53EA5F0CAF74A7B0EEA4B9D4401EFEB642AAB30324DA2A5B89D0FF -923616E4555CEEE924E62159EFC62B83009BBF4EDFF78BFF0465D8CFB5804C64 -3085CEB43A7D402E7E52DEA25088FFD361D3CEDBDCF1C18285C15EA1EEFE2EBB -01AC677391DCA6DE005306F81E22BC2C8E24C4652A8CAF251EDB5E0B528A08A4 -809675DCD887033951C59F342AC595AED7A320D18BE2EC00A4FD1D7080A67FE4 -9ACA25B493EFAC70B6C0B432250D2934D05E059BBAF6B3DE86CE33F8BA70BABC -B28E0710F87D08F06FFC885608E9168A379A2F3EB249E62B4B2A0D09D51A13AB -4168398E09F793099C4C5EFADE04027C4E107D31E9919C08AD69AFCFBBA3C3F6 -39552C8DC60752F7FA2BAAA1CA89B8A79F0510B5054C71634CFD2D2401EB5AD3 -C71CE94410DE7AC64315BB52C82FF2E87DAE8DEB0231AC7C95FFF330576AC7E7 -709316BB5FCA67A3FA7B740E9D94E725D12289ED95E379529AD26D950E995616 -9BF5D40DEFFE7320318A6FB359F9D895F7AC454A94DACE6DCAB13103C87654D3 -8641A4029703981BA8EAB3BDF3759704E3297077853BDA0DC32DAA45BAD52B8D -B0B3DFE4CD99E92493937D1FAE4FEF8BFD83034B14119B4E1E81192795ABCC54 -60EA53E59E388B2462579EECAE76E9D7538AE1F030A7C2EDBABFC2EF39264B25 -1AB664E8FB4FD3AFE50C5C789FE09F17047FAB6423F0B8F7245C055961A68A3E -E52EFE2D95FF3D5D4B59926DEE73BD53760C5670825376DE0FE488EACACA1088 -BB49CC951C5123672C77452DD0141E35A4F7A519B781FB7993DB9803EEE0749A -196ECC81583E6F6E6EA5C2483834DFC23DBC6B19073F19753B4694705DFA6498 -72E9DD7B53A123DBFEB26F2E3574160F538A4095C31739EFFB6EBFD95DF1D2D0 -484ED99692BD62E3024684F3ECC3F8F053F7316DC95E87C7FBCF72396025E3DC -211B200C7A0B07DF73DE5C3E54AC0ED5351E730CD35E4FCE7516B4F250B63510 -1B8091E85FDA67E8CB8610FC8C3BA6102FE173418B846AD1F9497B819FDA5B78 -1BF8E370BF18B95E7B26A29B8751E63F38FC78FB882B7B69C25A7F266D958D36 -0D4C7DB1B8DA32D333B50BBDD6AE691EA480AB3DE7A5C6F818EA1E1EFA0AD197 -F03EDCC93A7CE7193DF3E9E583CDEB97D11756DAB3A8E565AFBD7929F8C71A55 -377BA9522684CFB184C8E6F6516FB73E59EE46132FCBEB878D2340FAA2BF051C -64A0F7A398F30EF2C2A7346659CDAEDE932E5579E44EAC17EB31BED2113212E3 -1AEB2DBB63124E60ACB1C853612A1304A15059905F769C6EFD2B2E0FE93EE3E7 -A342131EF659788EAC53FDBBA84D320A6A995ADC6DA03DE53BBFD13533EE7D06 -3C43FE41104DECD6885E397B67B16FF1E1779B5FFA18B8779BB9A99521BB27B8 -9E95CB638EE5A4A41573D6B65A9AB48E20AFAB5373C75C3AA928A828FFD5B8DC -D406C8155F94CC10260E4A2ED282C3D60B0D10E63D97893BF559979F31EA574B -5EF21BCD88136C381C29CE35E2D3F4D63A70F979BEFF8C009AC80C759A03D559 -FE8ACE97B6BB2A713043F853AE57E5783F449B2884A3551A3CD2EF85F485684A -6F9C0493B5F628298F49065BB1E85ABE09A5B8A97779DB4E478FA0567F76BF44 -674429A44BB35EA03D0AE4C0C92C6E674FBFBF39A9090D4E5F9A040B4339EF49 -2B1CF8DA2DD76FC000CB175245F2B4A2135CF04BDF04E9F29BC5749A790379C0 -96C57E8FFE17D61A2833D7E164E1AA1BFE817D5BEE037D4B741BFDB90646A8DB -6C9EFF527EAFAB6FF2A8018C20298B700358229A3435EA4EDBD6B59F4C934520 -9111571018CAE0C6429027C2FF53144AA4FE93AD2AB352EAF0104FD1E5B3DFB4 -1C9627903B2BEF2B3997C8C4A158096AFCEE97DC0A74AAE2563D1922A3C5AE7E -A99ED5BCE2A6E9B775E3986872A9F638625E0CBCD65A80565B3D559147A506FF -81AE38AC03BD4A600E98DD856A8611C6E163088DD4807862F794CD4D324C0FE8 -0D96CB0F9052B4F2835B840DA6783020EC367270EA1E184FC9FEF9D22FCDBC8B -192699B51FBE05B9A80170035929D859F29C44130990ABE674D9ED6C69177580 -9676EEAF9C053F4C514756F3481ED1F6609AA2FB5C6D97F548E4524A423F4B00 -2E4DE423FD134FDF417F74EA4CC17F5E96D153C9D10BB4993123AB835A6B62E2 -CCD4E356062EAB83F019B6FFC689E66D87D4D7F9C95DB7B5CA6614E196552D9D -CABB6B6E0AC3890579CA7F20DEBF377DACD6C0697499110E1B10F2C58641E105 -8B47211E6EDFBE63E38EB023B4904D7459030BA1C4E37F393C8BBF0D3FADA478 -29BFB4436B69238810FAB19C66FEE3DE6DFB43D55F2DFD07A9064DEA5E552104 -4950740A18F1F0B6A7AF574EA71D4BE3714164D362F138868BC698CC4465F675 -AB8EC379E75934696B8E5CB849454F5AACD2C658694DCFDB8A5E9D06D5EA13F9 -A46AD15FD3049207DFB2B51EACC552254C4D4D495CF457FF81990C0A07E56245 -C1CF05311B52547C599817B72E81162540578B35E5296E416F3F0F3BF8A55DBE -22559D5D8352DC7952F6FF1849FD4E257C6F0A063884CDE3F5AAB1893CAC5475 -E78F71D55D1EFEFE2150AFB45066565828CB2B9D672823E669F9DA47E2B5BE5C -8EB31A2FA16CC6D342BA046DFC32AF799476E80C36D87FE89BEAC2455E0757AB -F0AA69CE84B9955EE420973A9FCD16C89032F34EDF41BF044A123F41BDDF71CA -BA5BA6B46E798EAEC9219AECBAA99BC417D7F5C5CD1589D5F84C2F19D7F9A913 -11A7D6C47005514705C9C617E4BD55D92D1528608F72346DDE5DDB47F5C59CE9 -0B27F41EBA097FDB67C335031B5AF893E9BBF4DFE945229E2C4272115A69B65D -025A58098AD6B366207A2065E865EF8F8EA1363A4D5FB0F62A556CC885110B98 -2FF55126EAB50DEC2F28415C27588470601B1FBB9E8FECD8A9C55E213BED6E88 -3CA6CA6A3FFFDCAF09E748EA047CA109960F92ABAAAF99602F5B13E4D998516B -B459808807B52949589A22166076A28EBD49DA713802B7731E047104630C89AF -C99FF96B9B16E0901696AB8E665CB94C39C0957F08423AB6188B3F505B37A3EC -A449345CD1208BE2845C13E9FA2B8D03300928FA5424A7F8F27E9D6716EAEB29 -E2BFC6C41648B9F13FA4A4D8D8B81972C32FE45F1817B3182D270AC9F6B5B001 -4574EFA7EDDD8E4BC7BE6BFDE7CB04FED64E104920892B9E98AC63F16C0366AA -D317A19C71AF274EA7AC9F3409CBC042A1D7875459ED89887497A9152E212915 -B83B7721D57B169B1F201C3B0605ED07D5997EC79D9F367ED4F455DD7DCAE65A -2B9057B3E6B2A719956BBFD189372FB8D3B60B075F15D91F5E3A2DF51430C000 -038E71AE7AE040E1A0CF0A3BDB8F21D6C0FDB1339B2821F7542A782A43B70DCA -6A46832981BC5DB43B5D0CF208F38E642727AB79E710DA022D47D39884A400BD -DB5F80A39CD46558BE7915FD7AFFACF243AF5A3762E76D33D6B6AAE666F67BB6 -B78BD2D2BFF6F7CC10B3B66F3241BF6F8518EA32E020A26905E6AFBFBDBDBA17 -244BCC8D6A127D1A8690DDDF509E06532D3F28D9235E965F4D9E5D8664F0BD12 -11FC9D1A8C7C2A4CE4FBC9EB95611D9581C3FFE6991EF04073803DAE1B5D717F -D65437213F3E1A3CBFC1AE66746FDF8FD949F7D72F73B11A01C0FECC9B51D203 -617750CD5DA57AF8E793594397AA33A1A3205C5D0838EEECD209A67EA5249A56 -7B727F6B22798508D2CB2D5E2460BCA4826B82A3BC1BB6CD709ABC64E2977973 -82B520C7EE77AFF1F940E95E4AC7776D40E6FA636A2BEFF673A61C81BC958BDC -F7EE7BC246DB2474A6761B5B18BEEFD57BDC13688FDCE862356FEAEFE42B8083 -8D388566CFFCAF64F5B494973B56E311D795EC29D9F215012A571AD28903B0AA -C3C46929133385A99EE73B05A603481067E6E813E2C80518835EC64C65DFB130 -2B69257C3814989A9C2C1E49EB02D3A93502871A121EB6A7D07C1F243344AAD8 -6EB61BA565BA9EC0B28909A15FE82E425190A8C1AC8B1DBB92E6289794F24E4F -3A25CDDFC30277669DDA68269500D610254E2E67981B361B919960EC286120FA -6954B91A94341A5EEE52AD61BD71486207463D4A412E45D802D89D3CAC436C6A -EE5C9E06FA42222E004771D58FFC2EE277B720DAD3DE5B505077D0240C4CF3AA -A54A971FADF7C3CEFBBEEEC093E294BDF4D3B21BDBF13B7FBF5DB4D2528B2EC6 -A03FCA688ABDE692AFFBDFA8DE5E80882C1FE4640C7A3A3EFBB49DD31564624B -C5656606CD565B84976820101994B26F41B7AD49A969D93A8CE62212EDBD1E9F -C97B3E26DC29A6540AD72C0504F374B2A4AC955158D4DEB3DD544C8A404753E9 -4D44733D2AB083F6B49286D5BF71BC746E23DAFE40F95E4CD33D026CF949B7E8 -B7955BBC6588914204F8BD1916BC28CE626DE554FFA95BE341EE51536AC10742 -A5FCA8F5F76A417C9DA3D803330A1A6901A26D0278107BEF1301C46BB081D355 -3725DA2B5ABFBD795200B2BD231657FC28B6228BE8A18B00A540A49D69477A6A -538D1F3548270295BFFED29777CE491BBE6D367FF5393D736837823022711475 -1D03EA22D6D4C380F351D3159AC9407C7F1D948B34FEBDCF6AFE7FE0F816F84B -C3682C5BFEDCF6B1332DBF0032BF88F9229AEF4858A3D935B855B5C738A05631 -2A77CACDFD2144E2FA60784AF2166830340A0AED0302F50D0EBA673B1F450F51 -DA9E3C9DF5136EA4167E008E2E2AD0BABDB9E144FFB9D39B54D80BE7F347F4CD -FB2B1C98DA84E855EFD44A169788EE5E08754FCD8C0154F2D601020D918071E3 -C10FC2BB6446437527E237B336D5D04D43530D6F5AED60F2248E7A08F3F17514 -D21B09FE0BF5CE4E23DDEACB81EA87EB649559FF29590B2569CF8C07898D7034 -07B70776F93C0F943F1489F0262C44AF4E300A30A583B6A0030AA64D07E28B65 -2AE7668596D8A7C51C315BAACF5B907F6361E86B2DE484FDE057141204C98F77 -64A8C9B68EC184F7A17FAED61B022161A662DB4569AEF8F04E6B887A0C63AE9D -0284B943B53EF9C247A595887A612B90694876643C35D46FCFCA331E7B3D8646 -F9826CBD0D4F691C2CD9542DFAB7BB3789D9990BA426F9A8F161CB4AF752C023 -46CF0E9AAB48FD24931BDF51B58CFB9C548E93BAE1038D6966A2B997DFA012AF -F4B2FC4C56179DDF4B40D51E7C6A4929EE7CDF2A985DA06EB93D91235BB66BD7 -854A6A6BFE3E8C8578CBF3723339E95AFF4CDDB9DC00AFF87436E1789C3F3CD1 -EC77D8B6C106242C16E35E6DDB58BF9A96FF7CB9C5522E76D76DBE6AF29CC54E -F32A928E53EC588CA74219FAA9B37BF26FFA3954B5C7A3246E47968493FE1BD7 -A7146F58F403018491276DA918180B6C95BB2C4D93A654782E7D7780D1176A0F -CCE14041A005AA613C103D5F47F82327CD646C14A81A9FAE771E944CF70A602B -1E93976C4C6800CC1A9DF0077BB83FFE5186C107C8FDB2D70AAFB230A1F53BC4 -6E930636155C34315FA191AE48DCAFBE12F934283BB7C9E4433F8DA8E5BA24C9 -F47EC01DDA3C61A7327612136249FB3D14596B966F48FE1E1F95E780E8D10EF8 -09CA34C7988B0D6004902D72C03C9343C00DF128648C68A78DBFE16D829342EF -72861BA47C9ECE6DC444B8E03263FDA416F396D90EC4C83E2F55907B963B3793 -AD8AC58A04180EB504F093A069397CBA0E496C8D9B31F7FFE925949910C429C0 -E514429F6F46E467057803CC0603E39F90662C951CE9FFD4525E76D4D29115E7 -2C39128A44C44D4B0E208B6ECDEE73B753F05C7883B1345C3C8CB40EEC35DE4A -2EB8F1A6167B180A8C18C95FBDD462C4BA2A23E884F5FEABB0012C3567F7DF54 -5786B6BA32B5D331A1BA7E819D2E3EA92E288D509FE70DB067D351EA53AD858A -F88F250CD0933421FCFB23B77CC305749FCAAFD49A2BC4BBD7087F04D85DF0C2 -7DF68ED3A0CEA4374123D54C538D05765A482B023EE4BC2519636346AF825D67 -80F78FC3EFF8E9D198E3DD67397F9AC965B1A9D99AF8C96C17CEEF8346007D05 -16E880B8716FF385C0CD679FC7A770E02E06CEA67160D2AE407C64B5E84F2591 -88371FD832A05D190472A74139860FC897C0A93C1ED82766534ED9415D4D7102 -DA832B566A44C52125620ECD7FC4B3147A571156547770E83A08CA935CA16AAA -1201E7B759BDA9A9C35BFB9398651504D3B97440DC2E1B83FD9C68838EB29EB0 -0CAF700CF11FEAAE098F62B3A5A67E9DE2B20FEE44A31C740139859158EEC81C -0F905187C722AE412502B526D03EF5CD45EE125A4DFAF40B51EC4275994A424F -699F61ACD1A09F68895718E56B66CC8F4C59E71158DBB33FA2E35CC2845F516E -96BBF28C8073CCDB88B459BEFA4FF251E3181C563D98EF87A4648D67C31E3FAD -770578BFCA0FFFCD9F6A746DF448B8594A68B81C28536E9E393A8E6241A63450 -54ECAEDE256F21E5D0A2E1A100FB843F6A7B0C97A3B2942DD137C4E7FBE2BBEE -F252E9BAA695EE6C0B21E44623D35F0B11E232E626F292892C8D5F099E216418 -E08420BEBC1EFB03E4D154A2B35E776CD84C8C9EAB0FE10D38DC323851405E17 -4660DE87A1C42298F40F33861FCD9E68FDFE7EEC68FE4EF9341D5B539179CBDD -DB15416397B2E67D937327FB707ED93DD02BEF04EC195D7A901631DB45EB68C3 -F4E38459DE458B6793A157FECA9895EE150DD71216887FBB73279E0FEA743A39 -1F8468931FE798D8196C96E9BBABCB19D2AD97BFE5A776E6626C9F83D745BF14 -E9C10375A3561FA3585BC4E86FBA6513E5AB20C4BABC0761A9A897DB95A1498D -48E4246313758DB16803789B29ED9B04013A8DA79BEAB0E0CD901EE32E241BE1 -BA0C64F93FF30DBF15DB9266C872DFF210DB36E3C71FD096D03DECE673AE73A6 -3A909D7F15807C71729ABE5EC7222DD5C1475FCB9920B8F2B1B5019238C9ACDF -7A2948789A6E5219D964627992618D6AC27D8C898FD50207D6DA833EA2DDC744 -D241C7B7403F8BD4804FC03D89F5A53D80F96E24E8EBD0C5276BC2DD5443A986 -D4FA9262BFBE50D93CEDE92D3741EBC7EBA9DAEB6D3C24F50365D445AD284E3E -88B245CFEC62F0E8A62517E652F2AFD5AC720030AC82768B362E1BE33A3BFBC6 -4862A01E3F70178B3C30C984DE6C14E153AB5663D191599D5DAF55C82C9F045B -243C3FD310FB49C4508F3E71686E6780E96BDC5DE7B93EE02E356155DD12C554 -4723199288C6668D7BC952BFAD9C9AE708AC084EBD43952853864E3195596C52 -1DF754A536EBF9A2B222DFD13DAFDB65AFE622AB231EFFF7643651C3E802ADC2 -65CE15FD0B3AF65285B68CD78055B2012BD4B07C6F44F76594BD8D3571CC2169 -93AFDB2DA8469B4CD9608AA42A70C8C65B18D0BAFFCA685983B114C9C36407FB -9B0CEC6D678DF677B2960DF600EB7A0D8BFC3DE30B779E0E87B4C8756CC8F1E8 -DC0389D9874FF275101681917F62A3BE7F031C3CB45BCAFC4B75ABAC37E472FE -320CA222FF0D93F2952C9DA2CD57B3C976DD6380A21A2A014EB65F634179F992 -6B6DE6E668DD114127152C847FDEE9A9E0DC031D779C273B9822452C0E3E37A4 -EA8A0B836F6FF43A6FE2514926903E92A04A511616AE373E8B65D2ECE3B61CC1 -828478FC9B4934B748644472E615988344F5D54CD785B53B3EADA902D6C1DF47 -2C186FC0427158C014AE68ECDABA015E4E99602350D82DD760BC82DB0FE41A3C -18B6D86F76D56E5E6916FB0B4B0ACE1709766A5131E89A24EC44DBFE292F1A71 -36E71C382051CA99C7DECDF461FCA13EDF3AA06210ED2406EB79C65BF6B4FF64 -98DE9D823F1003DDCF89304D1B3278B3B262A9FF9E13C8B5D16F6587A727456C -C8F72C28F76CAFB9849DD15B6D2450AA91B2EE2D013C702E7BA39CB3C46F9D0B -B31680D89BDD9D06A9319D9EFAC175CEC30A952DC5C87A9E4594AB85173E9E03 -522D9061CDB335A59E4E8B97516AFC7E4EFCABF1D931C80E4D031B3B191AD517 -A5E2F2AA4C23A392FE09906226F1B846D1CCF3D799341EC2C83E6A3E9ED4F35A -66506EEC7C22640E42DCB7D8959ABF8F1EFB45791545AEC4526CDA41CCF07B82 -884D2048CEF6A49E0267579C030E4CD228F6AC78EA3EC6A3D9E35F2F1A690A28 -9060B0F3785EBA06C57F52C5C13FEC575A2D3A2C2FB809C6A3FC3A4E4F11093B -6B03E139505DE7F41FCF765C5427F45243A766FC486E7BCD5B466809432311F1 -0B83A44B03D9B5A65D1F4E385A6FD02BC0A4B3204CE852E1721F6F0E1C2EEBA8 -3D4911A981547FBA5ACA6AACBFF16382A1C980E292DC66D399ECFCC42F078ED2 -A05C06AA792345D157A2D6E59337CA6FD7F951DA2FB02D6F2B80AFDF36B6148F -B6AAE89FE177D9AC92DEE51774059863F58A551352241B9434F383BBA4D61A8A -901283B9D08AC993B49E2CF4B27E8BD2475C02603F5B4A2EC98E21F306DEFBAD -0BB4C0DB806729B61E2839C8345D62C46EA1826B4E7CCD5EB69DD7BD899ED2A0 -B4992CCE2C5FCE9415371001840BFAE846784BD81F2915DF8792C923E37D6823 -A5427949C219D9C8CA716AF631485CD72934B3E8E2F077FF2EDC8E6A0B742FBC -946A608F7FEE8CFEA0583FB6D9BFC68A2A01E379A6AD0DEDCAF66C7900A2F967 -C21804DFE2B5ADD2A334E7208778FEA247BF012D1790C0B796D2C5AD7C0C26AB -311864254A3F88895197C36D5C236D6FD3F58C1B4A7CE43E317B14D488F5B20B -DA16C269B9DCBCD197A72B980C6A443C22EC0741B6680B8D2CB4FF597709EC92 -63BBB449B884B516B50D5003815B2978C5933A6C80D572DB08433B373C7375C4 -EDAE583976BB729F93F57212B521E5046FB5E755AF208BE5987EA8D9CBA315D9 -6E0DECEE1E2469B3C0326A809929B5049766A14DC81923CC25D17AC4A203878B -AC6C2CAD5D7D5D1E9CEEAB73FF195D5EDD81947D6FD078927318C19D382DE6FC -6C44294B400C207DD83270C1E53313CA05735EE194C80F266E2CC34E041F1B66 -E2847E682E22BCC536982D6D6A96250EABC30D5EA344FC019292ADBF477795E7 -CD89D9D47D67214D08DAC6A8E8AE2192F195DA7D41AB0ED40510631C36701CE9 -4670F48AC472D1BE219F48EBF9977A03DA7DE787FBA5CC59C6FEF6A5F76C4865 -8A7F2A267B8CEF6B4CB736BE4C6ED226A57C092BC83E4522D19BF8999244125D -23C36CD772E7ABCB48C7D1A27D482F6D444B910CB957835F78473238D3421CC6 -AEA1399BB2533B2818D77FE394481DBD8CB3C10D931589B0959D217FACADA757 -0DADBF579386DB95A6F12F61D10C465633245E05A100961844CC9A5527B6D7AD -C632910D4ED6D71AFB2B34D975C4A32631FE66BC051728D50C63F481AD641D2B -4E2F7E72F66FD22D424B8C6C93ADD447DCE87C2608E884D36EBE21D97DB9C82E -14417EC97C835FBA7F020B6CB06A0CD989F9D9E5CB5C8F662357B365A581610C -9165823D6BC005B510C60EC4BB3A7FEDE70410355D8E58A1725E4BFD93BCB75D -01988E0F9E4F4F7F007F153C76A450A24FE139A8B7D2C9825A2370664263F1E0 -411A4A0FCBCC1B8F5EBFE15C4143E4E48FA39B5CC68A116E8A96645AD578FCC3 -9475DF1FF6EA1C3F203CFA3952482B6D380C25B80084F849224296B2193CA434 -B4850EF0BD04FB56F1BEB4B465E5193BA62D8D6B6920749ACB685D09E026E12F -1E23C68EB275542E53C855CBE19E400B7DC47046F72AF881EEB1372B5C7B90AE -F3654A9DC8436043A6278B375ACD4F81017FFDC478226EF57CC1C3730E302601 -777AD0E09E9E2CE8D0270DD6F19A6DA3741F25727EB307C7F8AF73CA4CFED885 -0C148D4A2444DDA2C22EDAC2356788B90ACB3428DB71DFC65380959FAFD573EA -9B5793D05C40E2AC8059D024EB873CAFE1711FACCB17E6CA35F5F6B55C4539BA -0F66A1EA6D16A26D4CA8C07765F76C68638FEC66CFF951DD13E0F48CD839AC23 -0E183844C5DDC94AC5ACB56C532960E0C24ACD0C7F29530E9DB888C260F651D4 -A063B9489961BE9D68F3138CC2006D0EEC618B1165C22CA07802840DD8562BC8 -04FEFB8300B01DA3A5D25CEEB5115AEF6EE197EB88B4CE3FA5092867044274F0 -B2C49E7604FE33554BFC8BC782019F0342806089BF8BF7FE6F9779D61702015E -1D8CDE9B2F199ECA9F5AE69E4E286DB30A02B9FA44A53081E015B5FFD2DE7D6F -9932903EF3FF0259BE2D491DB2F15B9170AD9C3BEEC5818B65D58C2EAEA21EB7 -874960E7F46D8D76856926345542E021148D95559520FB876D13B2B18D9C5EE6 -6FF720F22F1EDB66E0216D20C46153B1CFB096105DCCB04DD7F4F606566EEF62 -C638DAA0044D2DBCC6B460682F0FD9973F4396F4CA99D56F28C0105DF0110714 -906A9EBA29B9AB375F250C065CC0329DCE53577386E005EDC452BAC822CE7E69 -F9973AE14490E9FE6C033BC6A77391052BCB476AFD901DB71DC2BD5BEAF51C99 -609D01BF2696558515B6FCF825217DA206C87C894133D0B49E8944ABADC9FF3C -E8BF10B2CB5D5AC9CAAE9AFFF7779A48DAE362E4F97EEBA75144F4610DEF1F4F -F89E6DCAA88CB1910B0AA98BB53DFAE78611B28DF5C42D6253218E48187D65E1 -C093CE0CC8A137F6D9C268203B483F153928415EB96784E993F4B13E598348B4 -0ED07D148B74B5FBEE7BCBB298F4E3E364DC6AE166C0D91C4FB69AF8B7A47C9D -03692EEACD8E700B9E79807311E320CEB913BAEC5E305A96DEA1456145E2113E -871A649B7D143E05FB3E1242782F2CE15CDDCC9ED74F12D02FB74D23F2103979 -DD5CC27040B20F0324A3367DEABE17FA6069C1645F801E9ED5C9E653F9207C6B -C03622E1F65E3280AB84ED97BD555DA13AA3AD7DA97C4772185F63F009D4EE5A -9A8898A99A4CE1AB51B60F872D337233BA7E0BBF6C4F7302F0F9CAB90022ABC9 -AEE327C1A866BAA2F2CEF71E9B71A7070649E1C25EF91AA389B2C56B53B2DDC1 -CCEB2DF6571E19F71ECD136B0370C6417D484C4FC1DA9C200F3406D26377C807 -FF79460F38019130498C0F8E283D3A6416A51A2099F78D4B66DCD2FE873C2B4E -B9DCDE7F8DFD42EF767F381C034C8106F5AEE118B209952FB6BDF693611433A3 -CA8814367719F0CEC27352AF826A1455EF8A5DDDBA6853932A1B1212A3FD8B93 -2E83EBBC72F2CCCE97CF5EE3A85CDA4805A5D4663D66015A9E92F670BA5FD46F -B5735192AE1B0630B6857B070B43A8E602DA6127EDCDD3550A17FBC52BC26229 -399DBDFA557C94ABD7409495921931C68D1372BB0AF7F5F1414735 +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D +DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384 +7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0 +C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814 +25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5 +7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581 +299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8 +80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB +5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584 +8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894 +5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F +F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B +966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E +A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5 +9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4 +A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD +94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A +DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669 +E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929 +5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23 +8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5 +155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E +4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038 +44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D +8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0 +04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC +A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F +F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07 +111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344 +8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C +567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728 +C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214 +C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094 +51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01 +66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58 +9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6 +2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4 +4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7 +5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256 +0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9 +233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D +BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF +62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086 +B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88 +DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0 +C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA +CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC +38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D +FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24 +303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2 +8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1 +8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2 +C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53 +9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363 +4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29 +03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212 +93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8 +91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0 +FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27 +06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179 +95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954 +9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2 +7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972 +6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31 +5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262 +3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91 +CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1 +797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0 +DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112 +CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19 +8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51 +04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757 +78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE +730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F +021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79 +CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57 +90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD +97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0 +F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9 +4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394 +40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7 +3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B +362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7 +DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136 +7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233 +04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8 +DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B +C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049 +B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F +9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229 +3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE +D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2 +B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571 +74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A +44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5 +A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8 +3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1 +BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64 +01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4 +6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD +DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A +CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C +683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D +87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF +550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6 +2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB +17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB +3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E +F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F +B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B +1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514 +61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7 +124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2 +ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746 +0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246 +D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933 +F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2 +BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003 +75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A +8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3 +B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E +7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD +F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F +F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7 +322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E +523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017 +6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77 +66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633 +B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182 +5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1 +093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838 +B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72 +6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394 +EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF +A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966 +8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE +144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0 +7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F +172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9 +254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6 +5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71 +011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460 +B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC +0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E +3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB +E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E +993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E +0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9 +18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0 +ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F +CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228 +1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3 +A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A +6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B +BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20 +DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323 +1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761 +93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082 +E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62 +4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB +F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526 +4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1 +361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36 +95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C +AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0 +50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81 +88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932 +AB7916D44EC2210CB941B1422DEB13896DD78CB7B7F400EA5A6CD639D9CC828F +52311A11F2A84E566DE98826F1E28D55FB08ED70950205DE52C207CF14238446 +084FB4DCE04C781858BB4E0744C023EB0B563769751AF1D807EED20E4AFFDC46 +3C1510C782FD92902761F7557FEF701AA67B20A9B019C760B2BBA8A048BA3681 +35DB440925CABA05B8A13B2D30D14FA875D3E200A018C78BE2E930457BC33AD2 +FE3610314A268E9A30EB41F7C771758410E7D1179567B22CFEB5163F7CADBC40 +4D40860E83BD5DF2BAB4822B55B863D0793D3B60F0DDDB6DB993711C4C7C2F39 +31D02C7D8EE36FFF8FF2179534EE4F2DF388C96C9AF6978D929610EBAA615EE2 +FA163D8C52E5810E94456BE63570A6878E791DF4958E60C057FAE0FFA4C2B7F6 +192AF8786E14A6C6379C6E13A9C528A198B8EC8654AD69CCB5C209964A2B26E4 +E636DDD749286B80A5C22474B49FC5C093A8215D49B30ADA383485030AEE93AF +BABB827D996E563D1681528F54353D1245ED78D1915CFBB5595E3B9272ACF503 +8FEE0B65C4CD9D5783F948ECAB51BA25F77DFA440C1D8B636FF6A15E6BB0800B +AD6C7A22C4F0BF6C9A19F0E696B103D8150AAA337C303ABE10C87D87549D150C +2D9665F99AADD64A1B526D040C348128ACF21D2A5D1899C792CD26066E790D69 +0A373E2593B4F664CD294B5D50067184BD254567C7E039257B015A8035A9BF1D +A3F89E96EEA10C232662807A2DD6879D4FE3B18BACD337B4CDDEC7087DEC661F +AC34BEF100A17D5655BF009AE2567AA2BA92CA36BBD484C0EAD74D4FE21FA8B8 +5491388DA8672F56F41E7C30F3F197EAF49964FE2AF95552535CCC10AC5C97D1 +AB5261EC411D9DAB8E026F2D94BB0B79E658B6BEC5B6B9E25FC7480E3F6D56A6 +B9F108C12EED6C256D83F44963B5A238A2DF31D8DBCC094FD7E418A5FE9A7F0E +B109CC36C470721D58E734978E0FAB9EC8F41861C3F4B3BBFB6C8F84A5EE765D +DD4C22AB092309BCF1CDEFCA32AC3388BA7BBED00FD861FD4EF03149E02BBBD3 +1C8018D21A106F904C843DA6DBAEE2BF7CD7B8D86847AC43F604FF64DF793204 +FE06EA0B0C7ACD4CCC3065B8727D44E1D74D4DD6F6CB53063B7191A67366931E +0D23AA2723BDC2EF7D50C3A6F64C9B976F05DBC76408D53F62A405FE327B5B25 +BCE72C26BC228ECADB62A519E63CF8A3B04C4D062450B2574E0229E06A9A7462 +408BC437C205190531A6F12E5A6D4DA06FC9EF4DA672068EAA35774FD3FA080D +55FDE55CCDEB252BC73D67A3144134F9D69249F6D17E016EFDFE4AA09E5E046B +F11E637EA411DE91500B463BCC7B19F950BAAE92EEC173269351CBE593A1A5AE +C925C401F920FA1F0F83D852A52DCB027B5D3E57D9E8088CE19356FB19AC86BF +CD2A136D406ADE7A5FE0CD8DCAF7F2FC3E8B4544CE2E95D3FAA8F989FC165615 +7C6D210FFC9F0DF1C08D1B45D43A5EF2F93CDAE23FC90EF4E466EEAA3A4A3697 +ABCD9C5A5BE58B59C0204408FDE6E4FB41344144B26DEEA6EA4F457FF8A5D2EE +8767F2D06A4B67F5A0EE498E1B41ED786DCE79EF41A944180B08B21E8FFAA9CC +FB91BFBC9003CE1715236930AB6CD3CE157C0C58DB2CE030C67A50758FC70AA6 +1B3C0216FBD233650A71AD9984998025F432635BC2E324C1B71DD7076E8F6198 +D22F064B062B8BA565FE5691F3E012834B107C7122A77EE958B7E5CA7ADABCDF +5571F16E9DC6BFB0250ADFAB806C525BDF196FCA4FECFDDC0872C36F2554F408 +87BA9EA3A28FA8DC3A9732C839C6C3E084658607A7BCDC6F41EFED4E2728D1E2 +225C58B7CDAF34323B03FB947B5408A52569913C7C4161819310D93F10490D67 +7D0EE1CDF4E87F168375AABC22FB587A8C5F6CB9A859350AA1DD4358DE9C6B20 +EF559F152B300F2E64636F77F4A0CE640AF8A7AE8360D6212A5498CC8C3BEB12 +F53AAA78FEEF32B34EC6843BF23B8E5D4CFFF9ECC814325EE583BFFEB41C23F6 +BAABAE49BCE4B79189F29FDCA6C2D75038F3C6E4FBF49A91616E5D117BBDE868 +689601C05D7B1E59897739A10A0A67B016276FAC9211F2DB649CE848A280722F +3DEC1E57A1FC9AED529C9149D2947CA2271511378A5C500E75A0CECAE417E06C +15B12747E262751D0FE4CCCDB3B1D67681A806ED0FB8826A0461AEAC1B7607B7 +589946D0F4F143C6BA44D9D30EE39F819E58DECF85FFF15067F1D4D132026E11 +E92D8982A412650F50E47FB2BE419BC956FFB44DDA87BC624A21A19AF4FF5D89 +3C6677B1FF3A6FD710DEDED18CED4DF2B56795EDAD8A5B294656C004D6D11714 +530C6C5ECB42BA9262DDC017F9557A26D6C9B9C7C22707AC15EFBCCFE44B5900 +C998E96AF0F7D2AAA6C485D43341B61FA18B49DA1F6EE5701F1857C3C86A995E +29DB86FA21968AAE20BCB8688091455FB6A0EF0E9B6392EC7A5D7655D5D16BCB +1DFB0E4558B1004827BF9D4654DDF544C2FE55734033AFD5BE72C3D4C7B65FF2 +20F0DC9D002B39E9907654ADE76C6657344B204313165C5BC8B83FF1491BDA7E +6131F288185DFCBDCA7C1A7FFC657CA8675C74E06E1AA443746A22008DF927AC +5881F10FACCAA1768DC7333028377102BC172C8C6CC9ABDE03E713998B94E754 +3D6E2C6888AE1A2BC97D3889D7029A29024A7E7AD5ABD49AEB017CEC22E3EFBF +6B84D9E1AAFC10BF9C6FF5E48DDC7DEC1D2AA3E792AD3235B2F393B76EEC9A3E +ABEE96053ADA7DA5BB45C95EBEF25DAA88BE8EEC4EF136D897FE64524C0EFE43 +D63CA15B1FCA343EDF23ADDF377996A4E1A53267BC3BAF6B285A4CB005D2BDA2 +5EFD69B3887328607E232028283DEF0044A7A15270769BA9107A4B79B7CFC6B7 +3604CC85349B379376D5008A2B17273B813076C95C10B157BB69667A4824B683 +B632253D2E737619FC6900EDA79B5180CC1DDB88B20635BB3DF6883AE42DF139 +A1F6639DED98535F93ADBA68811EECC99FACE6071F52053B3AFD104F00313A55 +0AD686E2C197E923037F46A827C47BA1C63758E4649CE51B20A4B2CDC8ABE57C +3D6C144DE423FBDCAC75123402DEAD6DE2FD83DC2539BF892049FA5D55DFAA1B +9C3AD6EAEF48405F18001E1B51A1E827C3BDDD90A30ACA4E5EBBC133E838C6BB +0C0C98B4CCDD56E0305FD2B57F8FB83428C7B73F2400F524BA965C41D96479DA +72A24A6F6EC62BA7AB59ECC4F95BDA474DA969AA4504CB6DBF29FFE4FA0970B6 +977BE7FFE0FF0E55F07B54A868B77628D7BF68E94EE9464ED13145BDD22043E2 +78DD0E6D657821E8C369C54B6B299B29185332B866BAFA3962E1624A5FA9057B +2DB20773F149BF122D9DED1698F0ED17B4FCA7DAF88EE05517C6F539DD21440A +77925C9B5CB194DBB9546D655EDF04D82C39B4895F9AF2306D106F1033BD9B30 +11F07A7D57CD5B86EBD84F4EAD872F9814613E12BCC804EEBDAA3CCD8C89AFE4 +33197ED56846C977C7954A258194F3DC4CE9093C895CBC8E827E47C8D34F6A80 +19C0A62076AEEA73A5172717A20D0E524EDCD042BEC8F03D3E84A1A2C97D2BD5 +E506A0DB7B65CD39A24B5247CC08127C60B9ED3B407086CB959D89FC4C2F8A93 +B7AB0ECECD0120E1B5A8ECBD94EC12139D401D1E30231AB3A99BABBE4714FE2C +A0CC0E9365DC01F66B64D4460E01E90AFF3359642AA28426B7CBE41017F8BABE +9235EDAD39964692BCF9CEE94C4F29ED3483640176BF591BF710BA93946A3C95 +C7D4CF5D16357F2E6DE5A4CC7D7EAA546B9510943B9CB9DEC062B475FCBF55C8 +5CCA579CAD0A2FFA8B3901820125D46443F6A353FE05ACFCF3FDA5DEC17CD9C6 +8D6565A29B18C26AE80F5B93227A1A91522A0A93DB41DC5F9CC831735FF97BFF +0DD9C81020E1169AB923D51693C8B11AF7A7234E2F3D7B49A66C80645C2E4059 +B7F15327A4A4D807460570438BCCAEB863C520DEE2DB628BFEEBDA37EFE63FF1 +0D6EC66E7EE5F314E2A62E37752D0B8EEE6AE77E4255456CADA7EBB4EAC07122 +CA742E1AAED581A1CE3158C790882134ACF3EBAC983A876C218643183E2E9129 +98F8B54F1AB36F057416DA1D6438607B8AE7043F1EE1D25CBC0D68718AFEDCF1 +9E0645079AF0B4FBA0F8B40720BF428CD87225C7FF285AEE6F048B5983F458DE +15FBD918F9198FEC7F9DBC08B1CAD5890684579E540E5A22D79CCAD378CA3185 +2337C8006CB37CA031B719E61DC45138C87B47C880D00CB789127D4F31FEFE7B +CB100BFC256ABEECA695D0DF90DD780F6BA088B74BF09AE7EF73141E7337C89B +69DCD842F5AD3881613EA235FD37DB2817E33427AECF0ED55BEEA7EF410C1376 +7350BAF850481AC0635A9220EE2485DB9A35CA9544B79D067D4C82C8CE937AA4 +5CE2860777D75888A90FB9603E2B4FDCBE41C011B45320054362A143ACE9383B +65ED71622EDA39FF82D8E88FD7F5E9D947663296ED93FC16A95F04961938B836 +FB1267C5A512B0AB28B32292449EC3F03825409CD01007B7B28349B7B7EE496B +EA4CC3B9A877BF627C35908FAA85D10AC7D9B9BB65C201E7E4B4C671236B3C60 +B1CCE5C51BE24C2FA060EF9539CEAB6A640744CEAACB9AFAEFEA785AFF8473AF +0D0A134031F4A38FA62C154CC4FA4DF334DB857DA6774395F59CCE2915EB2F94 +C3D803C2467C862FD10F6A7685A5FECBAAB4B15C12C7AF04029755FAF352F76C +DE91D1EC35C345E0CDF3E808735A5A63C8BA55914099750C737C6ECA4F80AD57 +02343BC5417C62B5DC9AAF73B5B6435744A983B8E3FF3F1305CC8A32C2301DE9 +1BD2903185BC29CC5E1D79F5733D1D011A8015D03C7246601DB2EF01F0E3EAB8 +CA11EA8A0A5C254FD12398089580CD9E6C53274D97ECE50370719E5CB0483EFE +210FAC6FA0FCD278369828B62A7EDE838CFEACF2A60177FDBA6E41CB5FB0D23A +57D8A8D455B1153F49064CDB898E93FA620735F3448F827055B8EB37074295FF +1C4B609EFADEA7CB1D8A6C3D57FD6D3DDDA663FE44736CCCA8E1E92B49A06E92 +7616DFEBBD028713B618CAC526534B7E8D2275659E56B0BA20489EFB7B376D5D +72EDCFFA2C9C4EB029B53989F064537D7DC4A656B32B8BE82337930238D5C796 +09DE101C6546A7E33CA597E4E8F609D22401239C22DBECF530874E7EEF014807 +AB37D0882E4569B95D07E1AC3A7C37D75C1C6060DAD38CB8F6628004FB410A81 +81F3D6F9D375B3A01C76E9A5A816A3BC4DF9FFFA5DBC469879D63BDCD499EA88 +9053B0FC67214D53852D53F072A65098D5F4D21353CCF45A7C72B87FAB90F0D1 +7A0A7C2785610C8A01EBCA23C8DF59A6056CEB54C7CED7ED2F6C35A65C9AB4C8 +EF3E4753136F2ECA5D5093B70C4A70045DFAC28A854F0B96790849EA3E276C62 +25B21178758B5769350F9A6380ACFC3726B4655AA6CF9EED9582B88706E6EC7D +E82DFBB3EA1C9D3E39C64E1632AD04A6AFCE6DEADC7473C2E57FDC36C52DD63F +31EFD2F1645AC7C004D572655616FA55B74489CD7BC7B94B49D6690A6D6E29D9 +6D39014FED4A381C1424BB4EFB306790942709635DB330D4DC506AC34E9E6375 +2D54D9731506DED192E59F4BD5826DA59B907875C8ADF5402A969D3A1ECE6DD7 +2C8F3F13B291F3E32DBF307F0A9A2F1486D7F72AB88D4D10C0B2058438D328B4 +7F10A539111C51C8247CC6DA45F29DA7A70E981EC9C44531A748FC9DED39C4E3 +B0A65D6DAC8423208B20B06371AAE8396BC29C9C3A49A49488F50517C0BCB217 +566EFBF97F0EF490D3E0F3AFFB17C8BD4297A36B63700EA93C52365B0E88155B +9525FBFB909A649A9846A16F77E19225F9DDE5C2835D7426AFAD563CB7BFB410 +5935CFC756CE19D2989A84F22CA3E9AA90621749AECA3C8A81702C418846AD87 +CBA63197A06EC59179E27ECD7CC714E7F69EB20422E28F9B3CC032389950DFA7 +27B63A98B7AD8EA93D178092061DA799F93A67E5B32199DEFF93910E0B9D4E23 +E5C2C11E51CB75884081C918386B7639D79F82BB55DEFF63EDF40A04CA551F16 +19F0974E82C34CF257776C9A6F694E5850B5C5BE3C5E61AA23AD12A03A4030E7 +6A1F40695A02AB9CFCFD19B9CF3606B8F84F2C0327436F2C79E6A6DC9399E5B1 +27D646FA17BA49440B8FC385FCC45EC0A5F6731ECA5645538D909C4E3733E6A1 +41D02CB5C7072D729144CA7C1B009862F18EDF7053E10185CBB8F6E0891BDBF8 +26396E41C63F0DDE5D7A24501EAAB8245C50D0492220ACFF27025746D11872B5 +00B93A493B39E118D666C221812B6BEC53DF9B5A04AA992774D03B0CF6DBEFF2 +838113D0195ADFEBC6010CA8F578F0984A5DD3C857500DF8C6C77A1136092B72 +FF85EE75214628BC2513DC49FDA1B418724BA32FD67CADE1C5FEFB1F3248365A +DC1E5275B7A9E243BBD0E595CFCFA2900CD2F53B72B6CF3D489C410E00F3A105 +E38E714498930C5D0F57AA3388B0A71BF3B003B54BFA359955E433247B0463B0 +5D19E7D67C38263E366844533EFBA2EB840FC31D0DE664753FB3927D9C914683 +A1FF0CD308D9A07AAB051BA6681A316389F9AB00C41C7CEA170A79DC52D605F4 +965F8CABD2D68C7795055DD0E391386ACD1D0E532671082D805DB80C8A461673 +3CC4AF55C1ED96E3B5B7C708470E487C1E2ABE73B8BD55B7FC7E39CBD3AC38A3 +1B3CFB02BEB17D460A1FDFA29A6EFE4371B996D2E4CA5DE19DF3912309095775 +C792112C84BE3765FAF21BEBFA04CDE0CEDB38BD6192E23F81F496895D7393FF +1073BA5C3A8C865206A3CB68A98A3BE586565EEF92786C99ACE1FDD50D60C103 +A936D1946B216300939904B4AF2B8F4D63B4F7255535291109D55D8C39152DFD +0BBBE256FD2F892362D90AE9CBDDA6F729427848FCF97424122452F4F15664EA +C7FEE09C6B19995BFA5E5F57714F01C892DE78E3EBF82824E38C53B8877D515F +A126028A78DC60D1F7866540EEE5DC1077F72A4A04C4053FE19A686955D91D11 +0513CF5F50081F3A267BCC6D30F1B0D543C392B4008E56C59CB0E7AF7ADC59E4 +16EA70B6F6FDFAAD57999AF5D192CE1C71C398D5A8D62A821422A9EB79224FFC +9403BE1E9B39E87E81AFD3E08942BD0EFA615E921CC865C7E13968EEFFBB96DF +58502A5E3A6B80EED40FA7EEE9DF32B60CE70154B5F9DC4265B4AAC0F8B872CA +659FC2162A0BFF85F55C45152964EF354A49B743CB88CA1C0550CA213F523B5F +F8CA3E0E111A18C61850454D8B5CAB4BB9FF96F0E10A1C92DEF460ECDF06F71B +E09EB607B2980A08187C6DF5BD91F63DD006AD0C2F8A3DBB5C9BA0897E711DFF +3B4BCAF937785A3CAE7A554013A71E7D0E7A2DB6A652A9859C6C475D9F9D41C0 +25CA2595350B3F013FC3C152D3B3C511508A4E16452ACFCB4DDFF29DDFD01D3D +09F7624AE4A50813D70229FA5B012E2689254EA3BFDECCD3DB9D43B2B77FAD26 +007A632D14845C7B2656242F0D78AF4883F632150367A685D6045C0AB7EC32BC +77E0BD7E208E2887B211E2100756CED3C8FEBFBF37D5DB921C7A1AAA536A746F +640EB7808987F463F71BF35A0EDC8CD2DB64C0854AA3CA221B73627A48FD7E6D +B64F7967B0153C1BBBBE45A4073864F143223F946672181D1A8A97D3EE4DF997 +633E5348F62EF49BD8DB1111584E38F7735A6B205DA659ADBA809842DA07A86D +15AC9439CB432BCB8AA975A0CEA982F27F7AFA17BDBC07BB5A66AC79CBB2BB4F +7FF4E5494D71319122CAFF0DD7C139AE2FD469DEFD76AF10A93CFE5C32A41C21 +BC116AD3E2F8416FEA532BEB14033D93E1F188FCBB649B21389A38EDD20E039A +D0491C711C671B2303D541A1CFB4724EF133964BB1EBAE34C0735755D8457393 +6F0D6F0DACAB0DC46AFA06FF37A42080737F8AB7829BA634C43A47C538CAD587 +0449F1AB88F5B1BB56FEB516E8B43C15E0FB4DE1225A21A1698FFDE9FFB22124 +228165B5115679E215876B0B29DA91B21747D304262ECF1D9394F2DEDD8D6A4E +3D3FEDE27E41B64A179A226A806263972A3EE59F21BCB40E4B332EA7FBB2A138 +E34F68A0DBDC6F4562F9E3D2FADC975BC0A8EE8D8780CBCD3873A49911A5ECB3 +A3E081BF3ADF691C08E04B6316845C5BC2E42DCD519D71D032163E32D48A16D2 +D5223CFA7CB6525C13A28217246F1578A5403F509EDC3309140F7BAB188FB97B +9C35B6B3B10EEE8A5C8048CCA9A4BEB397A4F57817B4EE4CA387F4ECE353A1B2 +F0C00CB0D563C4C664561D817D4F7261145425622D09818C7019A12E191FE6D0 +F4647FECE6A520C96FDFED6A365B668D335CFD199FE9549171DF5199AB83A3EC +83C7B8C00DE6BF293287AC50E5D0A81284647881C083A7879BBDBF68452EADB4 +149ED27C084F2E7ED50D556FE790372F4629073C7634062868C0F01954043259 +3C98E2F40C4A2B277B9BEE035DE673FBC8B3FE5542FAACF076C5F875F3AF5ECA +501ED2AC96892754A4DC0845E847756EFD5407AFFE0AEEFE8941B22F8B3C2C85 +DE6CA54594767E0B8596FAD54C90AE3C4EFA793120D0F308032D0E7DC3206EF1 +0C681D9DBC0FBC26330D5B44C0BEAF71F1DCE7E69EF10B18A01A29EB8D83FC2A +73B4FB230A3036D527D7F6DA5903420C7A6283FFC85E51083EEE085B21B94468 +BE4AF9BC00636ECB2B75B686EE93ED5E1C42A7B00FC2F845C531EFC55EDBB672 +0C26C9D446BE286149B7A63CACDE7D20015D21CF191A2A9F42218E31A82679CD +F9255900BE3AC0D2D33398E0F70D1B3486E541A0B6169FE7A94BE41B2593F639 +2CFB3489ED6C46B9C81D564D0E92FF2F28FCF99D1D4738316FA44232D8291A84 +EA761C63655548D1A892F281F839085554D4D3E98884458B3C183EEB6B19B234 +D887657FA7F09D6918930207EC00EB91FA17D8D904D9C577606880609F6C86F8 +40D31234EFFBDC53059FCDB658FE10A1E1167E1BEED54BFC71846DBDE91CD695 +75C3572DAC845B5199EF98BEDD79B08500B08012B728502325CDBB8013BFFB1E +088DBD1AE35601F4E9B2A4BD7E8158596A47AB71D66F35EA9575D8321D17503E +F28B0B5B78A99ADCC93CCBD359DA2CBEE7CEE3B087FEDB4667C9F6E8B82BEA09 +9B5A3ECB3A09A03CD6C7E12160CD9D70B18A885ECE9B3E91C1791411893ABD3D +4108F07CF8BEC447895F931F33561256330BF27F73852446045415066A5817DE +CC1BB3C3718A79565127354CD687F5FF1EBA545F286C7870260882F92870BAFB +F3F9C7D44FEB6087260BE7851BBF2779EA23B55C22BB40B610493070139FAA4D +439613BEEECD27538EF4068436BD321725E7C192776C9AEEBC63CC817E9192C3 +3B2F08C429654E590CD321C73699642B678011B2042027E811F18DCED3F04B1B +B71DC8C88EBAFE715BE890E9B418236CFAD3992F118118CEA637EE33D4773B7D +FA50CE749EE655CBD34DE654ED2C599B423AC51BE1C002B7065A80634E514896 +4896E7C6D88BE2B1F77A333F2680BD616C5B511F624F48519A64FF0C6367D012 +006F86BBA304AFC449D8A44B782804B2BFECA070C16443EE01B7D347A00815BE +A877AD0842B71807389860B01837A1667B1CA974C702674B9923F477AA3A3A2E +7C68840F054C33E4C961161EF96BEBD0C22AE027D6C66C1512502C09EE2068D9 +E8DB81F1B3BE98A8D5378773344A8075FD17E6ED95884D1450D841127C94E8C1 +547D7E5EA2B1C7CC0685C7140CC128F24D36AD6E9304490553F57C0BF0254E96 +64E8BE7D5E66A3707F97B62DAF7FFA0AF208B1E048CF8C1C9FBDF47758BEA9EB +8A8746E826B8057B8C2AE11AE60C8BA1857BCA4C910F35D9F10BBC4196AA4B09 +BFD5EA6DD1144D26B7F890E4879C5B5771EFB5430FF2CC75A7338532AA4EBBB6 +99E319B3CCB5558A149C541A15462DE5AEE476682F356C8F22EB0CFA3EEDB735 +00B7AB93075F8B08F0A590279395358AA45B494E6BABA94AFF8FB367C80934F4 +7EF060E35F81F66E223B1414D05EE51AD56033EEDCBFA3148E8DE3D2AD5F9896 +6207C8D9DD991262C989EF4FF4BA86235BFCB7BEC2C730AB6EE2F5771D92FB32 +FDB235CEDD9C638780268C77EB39AF593F5DF2E1F5906F14D53544D54E94905B +2E4096AA8AA145AAE060E76CB6D6097F6D1048A15B38B2C58568C325471CE949 +D7EF40FA6168CFFCDA2EBAFC3BAD6DF806A94C22E58C73C7C181CF0ACD76AE12 +9749989C31BA69C7965DC0D8F82AD88B68C18372C68E1491ADF11156778ADAF8 +5D4F99A31F105F1C3B60E7754F6CD843675D6BEFA92F0D1E5C66227FB44EDE14 +1FC8430DFC4A78DB842D74FD209CB8E31FA51E21237B2FDCFEE3554FDB48899F +44090D381999A8251C873317A95EC0D40ACB3B072F8F08E43E9080F7AD582176 +B65F5A582E30F703F2A0C47D1808FEB30F6E637629471BC3B41B5D31593AF3BF +B828EDAA29AEF1CE8B6591B19F22A9C5C8E2A22B55F0F5DEC7E6B8FEA0674109 +DFA90E882091ACCF93762A05148F8DFDEDB896855D674FBFD692FDF0B8FCA95B +722BE85B32C776B59A13D1A2554F39DB9701E3B3D71A560E05060D0DFDAB6D6F +34FA50CA902AB69D62188D39809A5D724D887AFA0963BA6ABC05ECACA701FA71 +BE8204871B373A02E8B91E110A17DC99FD87CBEDD32E9A4C48A344D157EC3D21 +665CEC66C67B204C9D9FBF164C026F1915D3A766DE2A2DB4CCD990A463A93906 +1EFA2DAFF7A7947F2931B5655E4DC0BA96EB7E5F598D435F5AC39FE5626C25CA +8ACBBD0CAFC62D33B27A350B866241061022A0B446795B9EDF3D7980BE2A1465 +8E4840818466F9CFDFEE203E565B6E6EE9F933884F84EC1E23A8644CE4A79E79 +841662C13FF90FFC75FE328E65D0284C7792BA60E1C1D0E2CB3ADD2DA5AC1EC8 +CE9974A7210B748B60C28F7F655355EDAFBA2DE76E1157950C62800D65263B2D +CD97D6E7836C0EF36E2A2B7B916E8D58B35B32776D24BF4E125EA9DC3C2D9DD5 +2CFED715F7661D61F59A282622FA6C76F044F6501B33FAADE63D747A72D847F8 +F99013B92BA34A89E07C61FFF30CED15B2E616EDA7B0B0D42EFA3916C7095975 +9F2F4450D8144B2D718A3C230A4C2F787D01BC12170DB2CA342B3D1F97217C77 +D8CAA9E4B48515AF06CC97C03F5750A8B41A645FB7EC8D88C460C86CC304FAEB +87421BF12B8EB0C2096B17DFEA3A88F68767D69ADCF4BD64CE1ED3302871E855 +5E12A7E7A04D0D0734DDA06493D557B2FD8BD3A23712AEB746E0DB51CED4388D +55A67F19F85BA6278E4912C7110D855A246A8C540EBE1E4239F19DC97F928552 +F6C126AEB1F11F4E21D96BB525C70927F92A7754992277B53FB85124D0408FBB +9A6FD79F32F972CB5CBF16CC7FA05ABFD4D739FA496BE03A427072DB47918B50 +43ADEEA672A4340F63FE51AEB92BB16AC4AAD2AEADB2A9B604CB00063F235A83 +14C7BC354A2DD6B74F13E82CC1E5B83830F60A0FAE73897B8E12D4FF851366A1 +6C0761E01B7C71F9F7DB08DEBAD2C72705DAB8DA582AA2F0447A3C8AF5671685 +B6372068D64F25DDAAD9D610141569704CD86724839DE2E3BA2847DC3466E69C +851F7764B043FA59A4307A434631DBA05A77D988A6A3E2274CB5A8E6BF71B50A +D3C52395BB8CB53E9007B2F67B98677EBE4F233274414432B8B19F969BDB6D55 +B202EC30D26608A13D1F19E323148EE41F481EC45E38A69D8E6BD54F3CD5A91E +55ABAC1492AAC8641B0173011C5A5DB8847EA2A6F96E01C400F6F138703C14C5 +C6C1501D1EA70AB40D32AB3196A07E940F93F96560B3F0FCCF70409EC14715B0 +42F53DD3238E1237C2A966BB5D32E76C7673C21E2E0501B37FBAEC23AE80793F +9EDB34CB6716DADFAE94AA34D206D38248E541A2A725B951990270B105793603 +6551779DAC75BA668368DD12D1C1064A7E7CB744F81E6F63133427F01A4A2C36 +BFD7080607CA7C4EC983F47977A762546387DF1DB87696F922E19A7C1FA1214A +CC77A031A170A8463CA0F8E5B74522745659E412122CD7F96FA9DB92BBBD5F85 +025FF8C64861237F7ECC20775F36375C7B3C2F93B53D10DB66A4950F8FF9F93A +27F086E7CD3AC08533101F56BD358B042D60522FC8CDA226C8170EF702DCADF3 +AFAB85B8429DCCB9949BB2FC5EC59A4D5BA820803A9D58CB0F27E328A8038090 +426668CEFCFCA4ADDABA1CAB0E0C526E153BBA35A154B4E170C25356A553B5C7 +F924E4088487FFB070100C3C13F3D492BCE5FC75798F3906C8CA0B38B9B52733 +0783E8615695E6F53F72EF10EF84E7B6BA3EAF3832F1AF96CD57A4B13353AF83 +8ADF52C46480220E4CA48D5BB8BBF9EBC9F0DF4149790613DBB0A7E3FC41BBE4 +655D1669645BCC6F6F319C490E8C9344A3A086DAC8AA514B0E4A6002C7564CC8 +119074B5CDE906BD7EBC7C14718F2113D11A28FEFD1C94AFF1B142BA226F6637 +6A0E546E8FC0EF0E6B8DB79553628574E0A7F08AAA6321025F4ABD65472705FD +FD3999052A4D4F8E4584771EACBBE44BDBD9ED9A9123D2A3A15F96C18AC8C7A5 +6C17BDFCAAAC60BF88D651888DA06F227F567037E2A55DC24C6131A94C89012C +A91F160A0F7DAFA03B15E502B51C0DED7FDF093DF4DABAE5705E5823DBDA1C11 +380972EFC4789A590C34CE915B30E27604991017A95E18D07AA8E52428F5EAD5 +560F43B0326D715CB7A486201E38FEE71D15E19F23493374AEC3051DA6EF471D +B6F70E319095E0D74B6D5284F4C02BEBB4659D35F6854E225CC85B252BB2E3BC +1FD3CE07B39200BF9E5072C05B7CBCA2834CB5C07AE54305B96458A59E9CCE4A +BCA04748F660DA3BF17D2B915CE0E5B1D327C65FF8B645DDD1FA9D0D48F9BCAB +243C1603E9423004FE6A55440300178BD9C433780B453684E6E159FBA89A1A7F +4C55BEA025B9DA02BAD177E925E3848DD56684D6D7A306D8580F9B454DD394B9 +766F6E623F1E233E658E0DF75D9666238B166292663B770EDD964B910CF01426 +5E296C3533AA94DE3C7C7A5A7C66650CE904429640C38937F4AD35E29CA2CC34 +CD2B4F23B41EC48501CC6695B7A592572C7805950F21014BB34F07785EFB9B46 +87F6C196EB98BC0488BCF83D0E35E74DC5D28F631FBAE2AF84ED00F9478ADD41 +E55E6478709D133C00E9736A5B1244B3F7E1AEE4144E1C12962F841DBB2EC103 +8D6B21DEE565927696C30B32786B0BE9EF519CF5CD028D1D9DB8D8DC69182DA0 +9CE848EF34B3AE757213641E0A5DA73D0851E1B78A34D13DC88FEDAE88E6A36F +F093E4F8C24EBC3C9E49BF6A4E73F4626D854D9EEE82472F7CAF7C70E6233374 +7261842E3CC9ECAD676580F4FA0FCF333D00EFD80A775578480CAD913E6DE76F +EA34E2D59E5C313DC36206FB843658462800DCF5AFFB5B569907F9614D993852 +20DAF6F9EE86C6DE02C734EF4C399023865AC14A79A02FAC18C6DB6224C7D525 +A16240E267FA34BF98285B923C1FF866E21C9CAC949A55C53A54A0CB0BBE0F00 +41D3B45490BD44FD8ADDA5B83EF45F74D68ECF3406DCB2E212DC93801D571DDF +A39518F7FAEC9B48DFAE47AFCCFB1E1C6FF0F88EF736D17F7A786E1904816C09 +02CFF0AB99C67AF35A7373ACD5AD404770FB25EB4492996EE31F9E015E0D1D35 +91BEF50A2808002231F85CFE55EFB82E25355E4747007AB4F8E13CC859F692A4 +6274A88508498CF85A6407B9D604C0EC3E82E28D8EBCD654EF88286164800DF6 +5DE8617392C671942DB149AF1CA200B16BD11C9A08DB458F0F5FFB345EA6404C +498E9D5F9974F14118463D5A43A7E882B272A6215560F7F09FD7B2041C08006E +B9154AE60BBD9293909621E8085F24C506B1381858B9F23AEBC2F5B3FE9E8B46 +B0D1F94A8E3DB22B42135731CB33B8BBED9B0717A0E9D46800F1E38D9DEA3C0D +BCF7C39527556C9C8DC7385180249E6FC4F4D7C0FF0D6E8B441ABF5F3E630782 +097EEF387F129D44D7B228F9B1406C6CC2096215CA07454B341DFAE7EF513DA9 +476F91A4FF009F4AB1DA8F0B1D9A1AFF2609A37B709525EA79897EB7AE543E9E +A6ECC2C09C4B50F2C05ACF7A115E6CED8A532908D1F29092C519529145130524 +B57C13B5A58F3AF9F07ACFD03B974534CB7E0AAB902627099C1C2AC04F6BAAFC +F74D21BA432022214F300A1DB1BD681BFB27D63119B0A1CCBE145395C15264C7 +82520AFFF25975EECFB1093766E4D29B233367F842B725F40381439CB20A6172 +75B4BE58EC62C2AAAEAAF52A3FB9383064E38CF69F44D6BCD5938DB6F7160D26 +4537BE55A15193F4DB40937960C186B6BA5258A83B53B40986B72819D85A4C8D +691EB3CA85F1E83E1333EC2F6B46068EB59F89124B6151CB22892B8EB702078C +2924DCBC26F745ACDAAD84FA33254EDD96D6E61609105A65117D49C807F394B2 +014160CF85023EEA048816572EAA27183A02CA9E7F2D6D732F1D0012CED3313C +AA2CC72C658303B22356912EB88A49B0343E9479CE65881E65DF43ED475DD0BF +7EA2B1C2BD686213841019D221A675162D02E78816B9D3659B1BD478EB28FDF2 +D4CFD378F4D6EC98474E3B28177DDEB81889CFBD29F476D674AD4CC74C8DB777 +FB1E175B03F65A59658BBF3A0E0B8039136041DD1ED2A25AE05888DAE3D20FEA +210D2A2EAFDDE2ECAEC1E7F085E47C9AD131B40F1A59C3CC0A7BCEE24E2B18FA +0D5A7BAA52C4054B54B6A9033CC3E346407B69905470AD16E5A74680795E56F2 +8697231A95068D78AAD19297734E09B93B0620F58AF72456BE2C0F7563E578E5 +4D3E03D4891460692127ADA0E0676ED9FC379E1EB2C9A73254D5D4565A9E6E61 +FF5CD7CF907E31A30A2A3D892B73DBA3A42E7FED37EF8BBDE88E3901EF507E8D +C99F6D32DFA4799DF696F9541FEC06CCCF4FF2B2E374FA11F8BEA527D116857F +E904A85EB3B876FFA226C570DBBEE692224782D90827B22FBE62CE501BEB28CD +FA5BAC22843F80B64C01EEAAD90CC2627A90945C9E946F4E6BB1FFFE9F39A806 +052746A36D4E591090D72206620BB8E38C05A088DC2467DE7516C128127508BA +746416EB47E3ADC8A9B77F2FA2E80CFB614481D9F232949CE0E7A746EC6671CF +86DC2FC324E6A97398E72F74F6B730E3998ECF8FC047954E3D0AE023A4536F77 +7E921A53D3A732E80EAB5D9736F131FAEC1A269FDEF4C26996A150ACC14B0723 +72946BC954B9E3A8878DECF71CBCB2C72111F5A9A55614EBC9E2D01D7BAF74FA +3BE2CE3DC63B6A993129A627AC8CC80FD09248A8F8838019F66C99B4271A682F +386C8CF988290B5C07E1133ADD623C6B62F719C128B3D4F33CF34F1A44074768 +5C9205957EF01DD3E4F818E8DEA19B520B9ADA0D62DA4BF4BD36F287EAB92DF7 +664436D8282E9938B47394DE9F4E91ED8A9DD0CA6887F404D90DAC9685C3EF4F +5855DA4329A1BFB3A61F064F61197AFD54AAE2752FC1FA2D233E4952E6F77BDE +FC97A410B543CF4D52A3FE02FCFA5C4CF9A37EEF946E2077BDBABEB28372FF34 +B4F037F4DADED2EACE026F6535CDE726EBF37E5E4456B7548E2CA899A73A4615 +462891A41E81824D4A9C0732C4B02BDB94399F202B7EED6E0F72D81532374173 +D0B6C753CAE68998EA8D869CC05A6F7AEB9CA27AB0044201D596C3265CDA1B79 +023F49245B0757E69EEF30AF41018DE7B3D521EC4E4AE4D304C1A4BD3F01E406 +1AAA7E0062B61E711204A5BF5ADE97885AAFE3F8375FDB8EC3B21FBC1EA92520 +7D0E19BE2CC2FD1282A98791F993A0D96C9141DAB5EE8CB671ABC34B1E9C6435 +1E65E95EEA4DD47E0C1CF9C9C687C623C8EB2916FB86973C2469616B9A0CF8A6 +3D7F2B327DFBEBC63C7058DECD155475D297EBF1445E0D72D03493DA80020845 +BB7E57BC1E7C0A03114EDFD47D95BAE5C58D9168ED879B965F16BCC424DDC51F +4659AA4FF9EC747811E937DE5A7832C1BA3DC99379CA36CECFDDF73697630805 +728EB9E00F5BBA4DA9C1A71BC3588BBD6EFBE78325B38C9FEBBB35FF6AF34B68 +604B713746811458FA69AFB294FC71620732C7C53A8E936F2333565861018476 +390548AAC2C080C642A20B6E4C03F6A50E438A11211E737AD15A0CEC2BDC3C7A +082A90AF6AD020A8AAD22836B7197719A374758305D39EE8ED0A1A28E5981719 +9DE1CF42A2B8093223789402C7DF57D9D85232311A1104063D3CDCC7994AE6E9 +3208AC98DF93B4D0572DDBB1526457292420B85AE4B45EB5D89B9A078FE8DB1C +84A8AFC65D712ACE75770929F58092E9D1FAA8021EB562A83AD3976A4F293B1F +78F622CB4771F383FCB1AB8CC3FBDDBB8BE2F04A4E25395C3123AF12C254F5BC +4DF587C94797236D4D17CC6F94DACCCBDB46F1F5ED3E99728F512D0E51D69346 +9412EBF63747C346962EC8DBFAD170D5251F1F3C93BA929D7FDA7F5C83845F0B +12E294108AD94F87D3157E6024A8F24E935B61D119567ACD5F7E9B 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3303,25 +5161,41 @@ B5735192AE1B0630B6857B070B43A8E602DA6127EDCDD3550A17FBC52BC26229 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTI10 -%!PS-AdobeFont-1.1: CMTI10 1.00B -%%CreationDate: 1992 Feb 19 19:56:16 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI10.) readonly def /FullName (CMTI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTI10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put @@ -3344,167 +5218,342 @@ dup 118 /v put dup 119 /w put dup 121 /y put readonly def -/FontBBox{-163 -250 1146 969}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F -21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6 -06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF -55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5 -B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86 -0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9 -1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961 -7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A -7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402 -356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B -19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2 -C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F -244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B -AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95 -5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC -D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D -993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363 -2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B -E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3 -309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513 -F42EDDCF39AE522A1DC2D80B2772B05DA60F3DC15A815A6BAFEDC399C7956E75 -3851CB3588E22936FBFB63A58300298B11C45D82385C083D07AF133BB1BC941A -FDD9F34D5E0B8087EF2A58C54D8AB7580EE3ED58AEB83B72CB9028F472ADBF11 -05A77651F118824F6CD00209EFB60C1D32D46A78E8C8DCB8B0E742828E3B7D17 -DF5200D68189C91FB8489CDEE8BC223C4281DDCA5F7DA80BD5C2D66A14695EA1 -5F05E03500579ADD440ED2C57F535807560C6FE3873143D792734FEAB93AE8DD -633BA6FC5683083402BF086D23594AAC84A4868AFAA32AFBDF86142B350F8F62 -E2531321E4CCF34293024EF8AB617BAB11A3A5EDA03CAC5AC431C893607DF8E5 -C3DC8646027A7554625A16FD184A70DB5FE6DCEA366B64430A147144CC9839F5 -72829FFA42BC3A8406D680E44A0305C9C9E265E91AE82EDF30F73730DCD4AA20 -8B63D3B568DBA690DFC2103EE47296E0EE2AD4627B84BF062FF54A76E4C48137 -E491AFA711FA8087A3F3FAD6C3BC571655D66A52BFFC2AB09CB9035AA67A50B2 -E938298E2DA5C50C50948BBFB6DAE4613B0C70E5E2E0E7C72621E61E51107C33 -463BC505D3FE9FE04CE5A67B252B8BBA81759F6EADADF1DADEB0B15872130D09 -D48E8AA0633DAF01025F36A0C224A65540E062922F9FAE9DD77BA007CF237ECB -1DBEB5BC617C7B84599EC193456F2959D222DCECE46B26699F71AB1B2640D8D2 -3EC0C04CE0CCD5B6940E36472275ECE2E42ACA7B3E886F9846A6894D1E16A448 -6DE9DCA4F5CAC1DD63172DD7603A082CF812D1427FFB51E155AFDEAF583BE97F -5CE8E4E9FEA15618846B1FAE475C62689784326A95DB1383BEFDFAED6BB9194E -9BBB86476F78F0243B4515002D76AFC202225F62B1F04FF4B69D4B63C16B3063 -711F889BF159978BB6F83E2C090D44195AA4791554F092D82D50D4A3A3B7153D -7078A482E02D272728CBF0A96B85948C31B71028F03B77CB61EF7AECBA66676A -D050B06C53BA2401E3B0AFED364E0864A5B65CF9093F78A84A0DD628730D6F4A -B65C861E42E9466E7D1E477BE5D7035CF30F9675585B52C01924AC437DCE2943 -8B545C90ECFE190144AA8A7A76FA522D98EC1B581C9F5253F704EBE33FF1D1A6 -86CD1F9B706ECA6A1BBF01F0C56FA59C014512C31432A9ABF09AD6C49363AA5D -8E08AA4D0AB995DCD4CCC0400B71055505EBE7D21D2061504E990600C3C04937 -424C2527DADEF40A0C058E76B08BC7B8CDC5BAA13E4E7AC6D3B59F25439BCABC -1A940BB9D4BDCA9DECBF4EC7F4FF3655C89E05A7706613C9BDD0179F8C686333 -C9A876055B3ADB816692BAD1AF575011E30287CC9B65902F2BCB1BB45CD441C2 -1968E8DE4FEA5837AA93CD73FAF6F50B87DD2EEE0C1487149C562864A528EDA5 -A3612AE68D8ACC67C5207735F4AFD19462CB84EEEFBE81DFC66CE8E89311DE83 -6546CFBC19D4A18F4A3725838DE19D7F4DE87F9F1866DC65E155A82FD5555D79 -F799EDF508A4F7BBD16D7C09C035DB51858CFC00DE7CEFA7A8C6ED6C47EC33C1 -0E613E1FAB5B5686B439F467DBE384AEDF8836B2CEFC1B917AE95AEE4329BC16 -EEFE7CFE5B43323E90AC167B1DAC570C3FA61A334427495A5B53C6DE597AC069 -1E56B9CC27C7789AD915F2A33A70F2D194859EFE129A9A6994559A898DC9267A -A1966BB9438FBB2EDD33995A4749416205A3E2F71A30114B161AA043FFCFD30A -1094C56555DA272AAD08228C0AB1FC39BB11D103894FA0A899E0AED597A595A2 -EA8D70AA76BEB04C244BDF4CF94226EED1B01DFBE1F0C3E3AC90DB4AA8BFF2E1 -C718A17B6B69F423E7E44F8D42EB67C0A6369CC1CFA9E9D7F50F09402431B2DC -B5CA0FEF2E24242C5027836C6399D28F384F1236DFD33EC8634997BB78B25DFA -CE75E060D19009A6AF994F883A0908B4AD79FA8D69D1930D9CE40B53D1396553 -9D9A7FA0CF827957BC1244A816576C8B2DAB8BA123A164E717E9BCEA023CAA5F -265D9D24E4EAF58F0B580A351B8AB2BC43E338AF241AFD001A19A984CFC62A59 -8B2013E8824A6827A7FEE516A09485F301AF11D925D18F59A2E907B17646C8AE -586E9168900605CA101CD78C24D3559508F80E844D31BA7E197DEA3A38A82766 -A45E8C41B60DED52B1DF8691737FD7D57C807968D6937B90275F082C692E1C0D -2C767E0C77B192774D37B2BD4E80E214A8E28EDA8926A120C12A4E7901DBFBC0 -B5A72A1CCECF325FFB569231EC8AD0528086D6E94397F8F3ACA26BB976FFBB1C -F49B8B6BF7B3A9E953E9D089FBF8E0B82D156A6C11BA6520F91B8B9ECE690FF6 -324176A8016379348959A20C78F07D82DDF803D38C73BB3E0C0DC1028ACBD6CC -8DF50D96AE276FD243FDC8C8FAE66E146160C966F3F67177436F9F861940AA6D -B5348AEEC6B0E923DCDC589E392C72D0936D958884858E397B8BA8B553333BAC -6022064E4F1D42C3CC143061D377FDD0542BBB5F3CD1A089CE64B60B4B436A14 -6A429D05FAD474C84CD8672364D35543C605EE5FDDCABE2C06B4AE7D4F8490BA -E2CC28E290E5323E4676391739E2EA134105BBC58B3A74D940575BB9A919DD7A -C38E05A366F23A0143F4C192316CB7408F5E64028F28840A27FC4DEC8448D593 -9D5468134DAECF543F5697EF5989FFEB34807A1D79DBF2A354A0714B27B97DEB -0D8EEAED69E1F90211E1BB6A6795537BEA950601168458AFE5940E78A5FFAD60 -ED2E04D99E7FC6BC0E5747B56E80805FE24D81A604E867CFA1F9814E048D2DFC -34D04E8884EBDCA85AAC94DA6ECE609228892682EB8C569C974CC0E7362234DE -0B81F683B81ED714DC0F586D903EFD97805FBEB92170C0C25A6A13F76DD60921 -2F1CFD57CC219FE6B91DC1C99C0FF4951027EDE31DC5535DF6612BCD4963F9D8 -E6D01817CBA5A350CA666B64B6A6B45E4AA33694142CC1E150C0CCEDE5168DBA -50938787F91B44CFC3DB90121B49032F0D73F631F16A82D4E19245CB94BF688A -213A56D62D546ABC818C730AD4F40E4C622276BB12C090C9ED9C1B8A9FFF2DBB -AC82A80CA2406A842AC497F5EC0B227194714BC6D47312177616C638CAB94C31 -42ABC4FAD725A3DB1B83A590B4E05A984EF6492C68BD2E13FAEE77DEAA2CA56D -B8F6CF2800B15BE370179ACA404C87E7D9A6C7F70ABECDA8AE07DD3AA14808F8 -219CC49DCC2828AC72966710D1506B400640CF80090F5BB400EEEC11851E630E -23F01BBBBD9D2B84246FC644567C45C2324998679A7EB28ADBD2C4FC20CD3F5B -E712E38F87EBC6621769C99ED42789505EB5135A47DE4F6D15B536586D7F2382 -9514C2528E4E9BC0CC8BA6828AB7ECF3D87A0CF5B7A26F52AA89B5A1B5980AB4 -399F408B0A1AC21AD1C6A40F1B489BC8051B8D3C537C765AFC909D5C62A2F5D7 -C30C349576D36B1FD4EBBEC9F3FA3466FE03C885FDFBB308929CDEF89BF35E00 -DE9A5EE59B1730528FC4A653397FFBB2833073CC792AAFDF9421E5DBE494BDEF -70243094C61678C79CAFD7DA8363FBAB45202455F72241CD4037225FBDAE983C -22F1CE3831BECA0F99B1BE8C239563B2BDA6B32246B213DDB45F2CA748E43769 -A49AC5042B18CB894E9A108A1062B0D8E72AB0A81B866AEF65B1B993DFB12ACB -68265B8408568516415E4C1900204B0617110C98E9EABC34712BC3306B595761 -79F96C39D826C959536B2F2F9320EC9FAAF97427E07EEFC64523CAED57C2D6D7 -DA9AC41E4F589F223C214E80140D2F65E062685D333B44C39365C1721DF60B77 -990E6B0E3EA4AB7354905C402416BC67356D485798C00DDEE17A812091590520 -FC2845FE24345017180408BB143B6B6054B947961A307A3CDD9CCD858ADFF2F3 -D3430EDB2254DCA877BA18A46D48FA1979B434DBF737ABE3AA240DFF74A2994D -B8D53B6A2A85B81E815B22BC7A61190D8A56DCDA40DABA6F0EB7C1A5549A5516 -FE816ADBEC811EA881A820BA1816E2D42C45AD4FE575551D3EB4976D5E975479 -D0A32D47D874E94A4A5AEE8BBCAD973053749AA70D03105828DF417813E61169 -BB5F6ABA5CFE500AA78582E4BE8074FEFB29EB32A8BEF9FB6FE4CBA2A6D72BE5 -05F8B488FABC424FB00EA88C43712BAEE1AC2FE75D93C2E759963962AAF81A4F -F802636AA0B493B93C2D6D39F070CB0B36776950CB2E60C437F7E32809C25F66 -CC7424AB194B88C30EADFC68E83F856A0293DB2C4749A0098EF5CF33D07DB18D -13EEA54031B24D2D5D131183F8DEA7C98417C985EF148F64A48D95DC8C1D7F8F -F0536B1B0C00A8C3BFC67E558DB07A2A9C8BF6F462E3531B6E7E3BBCEE830E9A -12A7F85D1E7EABC09221C4BF383AC8ED6BF538640B25426E59CF9060A6D40B71 -BE73C09C847786462AB9B2A5AE60F99E628DC5E83CB4F44786457C85DCC76D6C -816EBDD86013E6EEC0B9305390AC028E99E98C7DD7AFD17548F5EBB7FEC28E31 -9B2EED71BCA9E5A24380E0C4DB993A1B9E93A2DE919EE00257A682CD0F48F38E -686B0AC7F2CE64789AC368DDEF067C79A1F0CB3CFCA3BD7D7CB7A9582C6ED4FA -F3A5EFF59E995E04B6543F3A25CD2FDCD39D2C87E980C175740EF0D6805C154E -B422B9826CF396C64DA951DD3A1449CAE447BDAC920846E0CDB4DC4256B4C832 -87E907C43E933C70D04F84EECE984B7701732592BC81E7AD669E30A32F65DF87 -94AC9AC35C56F3FD5E25F67DBA459F76D2711B621D85EF0034C5F2D16F27AF13 -2CABFFDADFB87AC4FB1BABD2658CAFFBBEB290D9F62619120D0A4FE45B9EEC26 -FC2E285AED3F5FADB85F2B0D64DD278A86FD01FB80E251DFAB40A371F183FB2D -A72C7FA2176128F7A85F01343A3A5BACC7CF7ECF9C5FE98D058201B31E7F3FDB -F9CFCE3A66FA77382A43240FD80E97A933C5FE116C911D14BCCD8947B0C50C34 -799EB0A2391A8B49E29FA94EE7F4563D38C3B9A700FB608DF98D2ECF6841221C -6AC099E8318392F1F28AB7E6E97CDA9196A87B509E67BA93C74DBC84D8B72B78 -D6F5C3CA30CFE25150DA227F9DD260A57FCE041BC8DDE287FD0DBD65EC465B00 -80E564FE2967F1FCB1E072ACA9C168AA746F4F54B4A9F83381DD11EF6F8DAE6D -14077695AA1113EDBDC6B8DF4BEC621FF81A2D505CD5B7D30F90CEF1A477FF01 -BE15B018484169432E922D935E4863C66E8769651A899D5E1A1BA511CF49D211 -446546B71DDA8C2F944E66F76202EB4DC8F6CA54103DBB01CAC20CB08DC77A4D -3973E29C2DE8C858865FBBEAE5D71E81E0CCEF5FD4FFD706D7428EC33D5AF789 -C13C5AE91FD36FB215D4D9A51C96739B0DA033D83BFB812411CE25D49C19819E -533F4EB14FCAC3F746F7FFC7270E4E947AD2C5FB4447B9BA284D788C9AACCF69 -B35CD1EF290B662DD72118B0C475C2DFF997FD62E279BC0C44AE5D2F7290E4AA -E6443141D9CB366CD71374BD411C4E72B09165021AADE20E747E2CC89D8BEA12 -59EDF9CF61FC957C9DB0F1B4B3CA73B2DACF4DA0BF1E08912EB4C23C66C21447 -E22B8B8F93B89D853F6CB728111E6788BF95F969A654C9FE69F0CE3DCF436CFD -8B3B68353ED1DCD6C26DE48817E4B0F46741D0DA7695802A16442F1052C99131 -F8D7D2FC2965B90B9D9675E6F66BF502B4BA495A5899A46760B8E8E2426396FD -2BBABEA05AFFE78DAE98972BB61E07385A8566AAB160BA5E4030F1BC6DDFACAC -850354E3F98294698DA8553D2D4F40DEAFC25DDEE47C5047776AAE8AE49A0E3F -B52F4EC8D68F195AFF4C13FCED0FF91B06F6C9160F6A0BD1518CF4A2F6353357 -846DE266C22B4FCB2550C4E1CC9BF7FBD5ACCF31CF037EC4AFC8D2560D0F5FF7 -3B3F3D1E0399F7ED51C7D194EA17E298C33CFA73133A64C29F834E8684017D26 -4E9FEDE39001667895474D7649C39DAA83BA7EB97A3A5F66E7F07C9C389579E6 -E07C7B8517CFC535DB0D12B6F57A7C292582309C09E89CF4111734BAA78CAB3B -DD6B34C23235968C14851E3760940A38F367A42D48D453 +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510 +6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B +CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E +DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D +098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337 +900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B +41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149 +7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA +2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC +A91885E7410F56F60C29AB8B417E2D6092F8BB70A2DD5DEDD4BA1077D7CC62FD +EA43428C6F79C332342E15F75B08A1ED360B3511F823E75AD49BA7AE63B19238 +2AFE8FAC2715E2FDC895E95036D23127557837506A3B542B0E4651CE2B89C252 +31EE8ADC26E2C04E8E30A9CA12F066CE01953BE7867171FF6C7E834742C36C3B +58E74E4B482CB85FD4D24DB03D753F260A585D552CDC9E1941446F2F5B45FF24 +2DA4932B973139F328E7E92828B900BFD398B6F41DAA0D6861C66AA7F5E3299C +87A5925CE0E0F9E09AAE0792954A1F2C0AAA8288DEEFFE579E38A3CE8A943EB4 +55322A87C1634074EBEC25F724DC1BCC1BC10458CA6C4395659B0DB6B612C151 +557CC669D8DC37769E59A5AC6BF061C79FEE265DBB59520EB8FFEA273601D1E8 +2984B8AE31AE343F37D03E2BF97DC48AFE50BB6138C7B9F9B5E28672A37BD8F5 +8F8C98DC43DB22C6537028798198E2D3B0453ED72487267D653DD50F1BBBDA92 +833A987A95FC1F275B90B581B4BB62B6863A4CFAE37F715EDF3EA5A33679FEB6 +4847ABB4B3D170C275B9F1AC3156D731198DACE0B051674E85B758500AC9FBEE +ECC75EBBD85F8D62AAA328FB09C6526F853077AEF7EFBFC2B6A29D6D508B1E19 +EAFA4C67EEE44045B9F15B9762B3DDF5CE5C18B23A5C2F73A1F6DF7F8679AB78 +843AA41FD2A7DC02B45B729EB76C66A89F5F76E5C4A0C0563B1EC5E75D72EE35 +A7F1FC89216B60D82F6F2B8DBE85E4FF4D63712C689E696F60B52AB622C2A4F9 +37C380775EDB72638D3F81F61D8D74C76D813DDFFF35ABD9A502F2BC7FF65754 +2A8660A5A53E0CDC2E8A95B6E33CA153EB711DC796D313C8183D707D3F0E3EE8 +BA65E0FCE3F1C07F3D93F77056688B5496AE35A6BA0B59619DE78640A8C3F7D9 +7DC5E94894E1E63A7D80600B945B1CCA50F1B85F57673C6CE09EFC4E229D4635 +48AB466118D273BAF7C1B52A067A88C00EBFA7FCB378F1575BC0145F294E6F7F +8007602C6560476FA20BDB91831B22404DB1C4C167594B1216C25226D262FEC6 +F5D0DBAC4B8D743C669CFF2068CB9BCD2DAE8CD6EE1B33BBF7514C4941AFCDD6 +89B75F67339B25AB6E267BCCC5E2118879AACCECB5CC2865802BDB4D7581F5A0 +E81AB0F7AA143FDBE743E16D028E46BDA94AC2CBA77DBEFBFA32E462EBCDBDC5 +B86B63333A0C05C65D4B351948D03668F7A86A8A1388C4604675EA7384F3398E +49404AFCE19832C975A668FBDC29D06268085022982F01A2DA1DA8B8DD5F4584 +75F98D7606BD6A45A403CC026A4BD1AFA63E1BC1034C1F617E14A1EE9543BF7E +1ADB8019F7AFE089150EBFC613C414955363C43E0D82ACBB01251C070E7F1040 +602A58B2BF55094DF2BCD2689320899F987472681D0933A4BE78C2ED69D76E60 +2C437D4D3EA9C8D25588F1689224D92CDC65AC636325718AF7EA47946CFF07C2 +DC0FF0BE3642ABB0CC38BEB60E00B41D45DCEE44A71F11B99CC4CC22C5A0C62C +074F3C2FB093560B7FE9B3AAEAF3B563D1D646046174516991A196A915CE6918 +CEBF16946487E546C6E433A5C5B9FB7D5B97F2B4B202F892CF5121199EB48642 +4448B45EDB617EDB931969D53B9C200E954B4A6DA6617E3A56D72EF332FB941F +4694BAF21CAF8473EE2767CB5434E955C5A08DB04F67508AA1F5CFAE25FBC9B3 +9FA855CBF2DFBD04C656532230B8A2A0B33C7EC74BF3EB2877DA369035C976C2 +F3227355AE2E740152A344AC5E0CB3D04A1D4273A54A35BF8B1F24797246B5E1 +CFD5D260F4D5E5131120AEE3B3BF1308B9E55026C969C5451EDA76E0F06E75F2 +6DCC258952B63FE0B7B99B39D5563AB4F7CDE57AA7490C71E3CD9EB563E0A9C0 +8C54E64E3B537A901395E33847C6FF75C2B6FC3536E8F990C18A6623A00AB558 +272AE4D142503BF0B82A13EB6088D27E0D8B319D6BCF1E0E8EE94C9ADD6D4645 +A5B0FBD17AF7CB1E1ADDD2D822A76F6B9338B6B459D4A67631292AA028A8B976 +8F9771C890FFDF7751F3079E36D8F92AFB62BBB960A45891B5FABC8E5BDA1348 +5AC23D29879FA27A392E3DE732D78EFF7168F2FB7B0841C8B3729FFA2B515885 +C699663626473D04C1421BE24259C91B9FE8F63DC99929D9741F37E67CF70E38 +3C489E823CF0F62B020CF576753734C989AA1A360A21A137DFD644ED2197032C +3DEAB8E7A1306D8DF7E36DDD52A895488E63701D6A69E634EC862DFCDAC01BA2 +56DE73FC77027F65B89BF3188686026D0C2A2F22DA92B8DA0F6476F6252D8066 +D9F0AEAC5E6F09120646EF77CC81FEDB1BC8E3197E9CCA12C941152387E71286 +E00B8ED61DBA85D2EF5550663A1D2C7233D6FDEDBE947241585C4B9580E7A700 +5081C957D863FD2DBDBF56CE8DA67E3D6A8A47C3BF38478D3D4D72A803DEC0D5 +797CC1ED5B005CFE4A46CF549FEE756419351B89B8DDF13BC2EC18939901BA5D +37ED1DBCE8DA072938DFA9585444FA6F09CC32C7098E2ACCEEEDF7D117235385 +BD95CE9C7C997491613FA253743E7D0B03348072F516B7436A78435B19C828FB +1712254A679503CE81FF1761ACA3C3BEC0C1E2736A2908C7A8D6F30D86F7DD00 +1BA2200908FA4180273E50863CA552868F1EE5EC1D8D47AE159B4A42C65F3D7A +73332A618CEA966BFA32B9AEFCE9C7CD4678B2301FC1DB91964486B62E28DD60 +11D123711C6A2D190F6FB97ECE36679247507514606287D049455AB9CCF928CE +CB2C62D55BBC4DFB1F8A033B7D42D8D1119D71F616205A91B48C7C83CB2D0B39 +15824D6F324A9CB64E6C09D65C478F8753905E1A0B094D310123FBB7CBC4CF71 +08D6381228C2B6C393E8055AF7D226FFBD9CF19379B4E7F75938D5A39E3410D5 +4E2BB197AD202DB623844B156AD0FD80AE4CB0E8B7831CECF25E15753FE27E19 +A8CF57C78C6D1CD021C6FED91E81AE1F09F1F9CE7D8CB480EB559729BAFB507D +B99DE23E7D3A9FD04345DDC7E8E498F2229CC33A991418E69A9366ECB375C42E +69E1B73DC94401E5E7AD9CFE8086432F8026224CD42D9A1EFDB1B3B0D5BE74A9 +186F30C774BAF35F25D4B0B1C9C791CAA87015D3A7519184FCE9DB2439A98A49 +0DA01A0A9ED463382DAAA05555106902836A46E3651871D20B65879902C0D93E +C8C3358A8F64CD0CA264614EBE741ABEC13F29CAC4625A1A7301889D9A994416 +24BC8C7816579FB7D7AF946DBB3D911457CB2D0CE74BD645CE388BEDA28CA1F6 +EF4DD197628362D38ED6499657B1E45D1DDE460ABE0EC838DF3BBD2B90FD2245 +6DC211B771E1ECC3E294F1B767BA0F3D041BF4DB159EF01C3AC7C00281A675A7 +BECDF043A5EB64CB6D99FC8E7876EA1216F005A7A63EBA79549D5B6C33FA47BE +38466B6D62D3D00C52D9BB7AB23DD4A4C896D3A5890E8C57B7ED5A627CC7EA4C +0BE63CAA285E1A35808FEE0ADB1FF9EA3B18EC1040560B1FD950D7EF32F7F958 +5ECEFC1C01A98E4DCB69934F9314316D3CBC0AD4A1F68346CD40AE6E3A804EA5 +7286646FB2A7ABFE62B300F72A0484CC51D34D3FA2B292D308D605576D56EFAD +DB68453A08E5B45720C99964B02A5F517A7CA00F6976CF1F6CAEBCDC1772568D +14129CB82DDE0705F45EABE56EA4DC5AC1656105957F509F2E8AA72FE5C2F830 +38F2BB415C413D54F348903AA6B614A3AE99EC4B800D4AA2677BC588B5813A94 +F5C2FC3F8B09E58B00DA92C2946D5B9FD8DECF4E0B49BF16A81A6F19EA1FBA6A +41FA0D679E6CA980C541395DD15AA0C203335ADF3B0D48D519816D46681993D4 +A857426475A068E6C30E75E1201524D6B5EEA7BFCAA429AD5DA4504B245B23D1 +9E5E2498B1F63A7E2B7CC42C3E5B75F075006FC833724FC05AE4157F640E7D1F +48C35EC8DF3DDD461EA211E48B2B3E628BE4A523680BC78FAC41FA1FCBC6FE81 +17AC84A895CB2CC9CAE4D77FE1ADC8C8A4797A3F1D00E090282FE2116D5848BD +1E61B36613A89BECE27188CBE9E0C7ED75385BDC63BBC9C55E2191F1186917F8 +423A10D8326896DF44D7B2A5AC320B1818771EFCC9C20D7E5BD5291ABE762A50 +5148AE49289CF337FE6F2B6A369C557D6AA731ACF3BB97E38306F77A94C6EB2B +B7846ABC4F32E886B0C66A806C27B4EE3CE94297C19714C889943921426433BF +19002E5C083BA89BF31D8F5A2602BF058A8C5C78DA421DA74A4E2DCE034D6510 +C4720403654A84BD4000C074522F9D2D7ED733AC6B46232C69E21496575EFA86 +D24B2A8DC064071F35AA926565BF09130B4F96A8150A2E3EB36355535D866B67 +17B9F62C47A065E28261990D79E64DE2E4C5CA8E3B6D215925200D982510F150 +8B0562589AA66EC47508F0A5AC15B06078A83B911C15232963F6B59BEDF57A57 +1322DB18C44E6CA9154AF9084CC02095987FA65AFB0D896551415EC9D45BE803 +BD428A107A492BBA8AD075A89112B3FE451399E061AFB98FBDDDEC71DA7BCFB5 +2833E5299591FC86BF14F7B324F7F3EBAD36DDFB77313F1ACC40D0E4805D5B04 +FB965C08CEC682A07412118A17C4549C0A96F397C3FB466C6D888F5A407D43B7 +761962E8CBC5C7E27AD0A3605336CA17DB4CC1593C64E66285117EF7CCFE1A17 +203C9F1ED41FB4FADFF14DE66F78E87A9028C853A757204F81CC7F425FC7F8A2 +509611BDE84D0F549F5614C814C3E88851F9FE74506EB52C5BCEE4F21DB52BBF +31940BC2156EF38908869732038D1EA6E39B5417E547DC412CDB0B1F1DA09E65 +07B13C1C9C962D1A9F7A0EE6187B92874964B3C5E20AFAE716E33C3E999A4FC9 +462899118EA9CC961A7D704FE46A872BCF77491F70DEE94E1335196FD787579E +30A01C29CBCA08F301889C27910B03E20B4DA1363F6F5896007F71CA90E1DC57 +9C6BE8898B3E2AC201895AB1223CEC56C003299D9C0947320DA9D9DA474D59F8 +1EF5F4720AE0FCA1A8E55A2B9CD79801FECDABE6E5FDDDA140226714304D6EC0 +AE2BDDDD1A02E3C01D6A46682D801A7BD61C1737358EDAD7D993D9006B56BC43 +2467A2A0B58C33FE4BCFD8DAE939184D45DFC23F5B597D788F14319EB52B1FCE +DF8C405005CEFF39D4167B66082A38209A7A8E1D5E73D87CE049BDA2FFDD49C6 +3DA02E5D6405E2F54C921F6E2CF9F1E18268DCE0D0C960D477C8525CE5FEE998 +82ACB08902CF6FF1E437468C519FDD447A2661C381A999E8724AACE9F461E629 +998539472CC9355A9E55989EB7CE1FEC9D313A160294AA55910F4F8E55BFB917 +BC77A51055CCC1772D0021AFBC1E79B289B539ADC3E99D9632919F8BD17A1B91 +BA25661178C5EE19D4CEC42744B52F04FFC27A2E3C044BAEDCBFE020A896BA3E +79A6451ADECB932F183CD599F694DC8393E1F878737113E3DCBA11F22D46F028 +6FA7CF148F2CFEB03F61D40D6A0D30451723E7C91D4BE58E6976FBDB89D50F4B +6EE65D2DB6465545038E094E333A015E79737CEDA211F913D831E78032B2626B +0FB1E7E20CAD4E01BF398E9C4965BF91136D4AE83029E5F3A6339CE3C8FB64DF +E5925D739FD720AE38EFBA0E32E74317DD35363F19EEC4806EA840F2A77AAE2C +8752B4B786378B134F5A376A1F0BDF8FE6F0B247D4A28248D0693988D696E7B3 +4B937A41277C56A182BC2BE08D57939398C3CC125A74905ABE953028EB2A8A0B +9BEB795D484BC979809506C8FA55AD6135FA66A0FAEC7EF53F5F91B37D8515DB +C93CD4EF0A12CF0F9C3CD06C57FC9646A15810910EACA53BCBAEFF4AC568CD8D +13DE144FF06FB3F1A6CE76ACC351297DE4D7E755561C1EEBBD39F1351D1731C2 +16AAFFB586C680F588B62AEC37650017928769C53E032EEADAE9E5361F28F78E +1841C1419290D1A453C63EBEFD3C99B5F8A72548393E2C6B1C95A43CB19EC099 +4DA22BC088E6E95FC177B3D00DB7B3652D8C5DF1682DE9C3D22796AF78149E7E +A951D0A46EB6EFDA46594BF4D608E3C4BF9406EC7A09D3A8D6623D79FB609222 +C8B1257CAB63C810A5C6983BD16FE6322E5CACDF56B91FDD46AA8B292210D3D4 +B59BE801C1B5A425CF5F5774968D510C017C3EA4D7B86C8555A96D4F0163DD8D +F1FD9DA5D9D15999E626DB68763C5CD22EF18C747BCA003DA4354FD484A56552 +D0A96B7FF1958035AE04025DF7F67EB52B468D63D735CC8EA34484B7E18136F9 +9D4C0966C79990ED629A87C033A52F4C96295E3D3CCD4B476188101B94E214B0 +7B4C4463CEB3C81E8838D0FFC9BA36CB0A39173105C90BF8A6FE12A0B3749045 +7CA9DB29EE500088F3FFD13BAC41782854B25955B23118FF880BF20D66E30C4F +164FD408E5E5636976D9D2686192BE5AE7B2C96A911C290B749344C0B630DF9F +B3FD98F2E62707541A128058A5F22E05922103A39A95C1B7F6F807A5F3A21A25 +50EBF0F5950A45C9B864D2785C24F30108BB15A3E5468902D83B5F3CFBE1E359 +BD129E494D769A371B26967AC8D715BB742EA20B414D5ACBB4B25A5770A80E7F +B315EC73D3AD78C7BEC227661C2EFDCED86C4240D38267BF1EE26C506CF00382 +8E7F86509AFABDA5ABA519C6CDA52703B40DB3502D72E8308725E660F107F4A9 +026DFE14CF4BCFD2F4832F6AD1550CDBDB5644CA52899F4641C5897D4F907931 +185D13C33184D78EAE54BCC164076DB74D99F52C064216C7FAAC977CFB69B150 +A78A2052E4EE7090A7465324648976E1C3F19F146328BA460DADED492AA74BFD +04AE08FD24AC871D21CF7CC808495ECA5E73B26D97EAE5F9BC435D53BF2C1BD9 +0A9004BFC44EBBF6683D52781943814C3C942BDD9BF95F1661761119B49AED7B +D9376B6124A4DC87B9D7DDB2386974A6E02B29AC5A994617F3F988B692EDC47E +6C948C5071CFE0D680E018950F545831B5EBE3C19BF384A51DF56F3CC7757B8D +037FDB95F4D1878C407B8C1DF1CA9E9236C468E9B8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3514,25 +5563,42 @@ DD6B34C23235968C14851E3760940A38F367A42D48D453 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMCSC10 -%!PS-AdobeFont-1.1: CMCSC10 1.0 -%%CreationDate: 1991 Aug 18 17:46:49 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMCSC10 003.002 +%%Title: CMCSC10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMCSC10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMCSC10 known{/CMCSC10 findfont dup/UniqueID known{dup +/UniqueID get 5087402 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMCSC10 def +/FontBBox {14 -250 1077 750 }readonly def +/UniqueID 5087402 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMCSC10.) readonly def /FullName (CMCSC10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMCSC10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 97 /a put @@ -3548,98 +5614,269 @@ dup 115 /s put dup 117 /u put dup 120 /x put readonly def -/FontBBox{14 -250 1077 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337 -900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA -87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98 -076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518 -9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A -FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD -B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9 -CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30 -40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D -C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B -7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5 -FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC -81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D -5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90 -CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2 -24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD -9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3 -933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307 -08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD3 -64512116F2751A1B95D2439E266074DB3B9FC76ED319B2851588B1F38F46C8FE -040793C860F05E26700B72A766D0BF3F6F2EDEE06A26866BF0207CEF2841BCD2 -84F5873A147D5BAD18FD74DF7B77B8CF1913AD882DC1F4A94020B2A8A73237BB -222E6B78BD1C4C0975B9B6683B5DFBFA693970DD53FB5D5CA5805B7728C11D6F -92E6293F82E628C9FDD901010DEC199055B6682D6B2A688E3EE8759F7E592F54 -43E63699F1D60CD915365B85B8713DC4EB3EC4D2860880035348966F004FBE18 -9299E1DD0D491A5D542D450C8945321BFB9E823E18D1F33178BECAADD34378BF -6FDE26691802F24E43CFA4ED1FB81C824F808A049085FA95CA518D9F4EE91D78 -26A8B8B461486419D598E7E341E9D43CED2402BF225B2C75CEE127D8B8633FC3 -6F4F69DBAF7134D4F3D669B35822FA701A441E5FBA3DC1F02A00B25C583EDB52 -4D4D488C6A810128777654B956C3CCE8FFB0D1985AE2A2735BA415941D1CAD5D -62D9DBBF01CC979B8E1509F5DDD3BA6E87B14879955F978209CB398825E40199 -2B1C7D2C55251F321BAC0764D40B80D7AE1B787E5690CB5907719044B2AC832C -C002C181088BA15AEFDA44D2305E6327358D1DC1D9B93AB1802FE9F24CF49739 -9863288D0195F5610441122648F5E38208E1AE5F01D1966DE10B8AAC02EF9F2E -27D2383BC6D5BF9DA8F9018BABA01B70755FCA281588B85BB705FB7016F6D7D6 -8607BD0739433B54DFB87614A76902A3C122F39A21E80CC1970C5A6932C6046A -771484EA9BD04CF0963E1D372B456C50625807B3557384F5368C520E757716F0 -16EF17F3A58F2F7EA42C9BFE2A64AE786F49213CC47B496B8F127696EDD017A2 -A07FD72357F4D847CE1EC8103EECDE35AA194F9CE466E733F66515749B3C36DB -6F7E83B31034687CE18CBD15342723FC21689731B45C72DA278994FF8C5824A0 -EFE9F8D734D75C3C263F9D4BEACDD86406567055B1A8A5EF73ACAB4A09255E39 -BE9AD89DBF4624E686541E2FF03742C99BE71E7CE3B4756A22CA4B0121E1FC6D -D62BB37F46B6EDA0AC3669802D1DF75B0F9F61976B2FA2DFB5AE2274CF08A000 -AB716CF047D7770A76B6577C75D806D878BC185C4117FD7BBE29E767E028633D -257C34395F8988DE13F0F9083823F028E05D16BAB6B3E9002F01AD5039CA62BD -07AE9C5FA71D6F234899382F90EBCC371C5501FE01E38646BC3C734C7E2C1AA2 -11355703BE46724DD85F5DB4051F65E48A3E8DA4CF8845BB4B3F39C47000E871 -AD2FB60C3161437D8C76A10377B98456BC205F3676D02132B174AC046658D059 -5E506F3C4178C400AD4E721AD613199FD1395413EC7AE6960F96849D6A26F695 -B78395941D62A7F7B6E25CD6824E78804A8CFA780E9919BA860C2951EB88DB5B -C2F9E9AF635BD2C95C7D6AD4BA85E4B85483EEA4EF1908E3D5451AF6EE9176C2 -BA3F1622024250AC2A1F8E66811EE9C1608FDE0E91287AFBEFB43800212C90C1 -6D2D8066C742EAC7D611CB9F0590AB2AA66C17340FC81E55C339FE83B68D060B -33A10B037B3370E351168E98E9DC4E8AB2B909879566CC28DD053B6EEB04A3EE -6016A02EBB0E8D0BDB7F0B1B3BEC8C559F48448AFBBFFF5E11051516E9CB5F45 -6F38CEADF429570FB2DEC6E13CFB2A59D5FFBF0A2396FE9F7B3A0836C76B06CF -9B9D99035BFF40EA918DC4A8CBF4576809F49DF330A9F742AB2FB385C9382076 -6FA8BB32BA81FA3E57E91BB6757C6E98047E9537A0595EC0F2A9BB2D3E093294 -023360099DC1D4EBE77960AB4E26211D1A75ADE1C764E5C2E80EC234F678159E -3E64331306FB3E2BE3AE0CFEED0FC3F583E875A98694742C3DEDC35CCD9D45B5 -D4200D69F93C5B730AF952EA0DCC88EE1F6D50B9477E249C6274EA0FD849B537 -BA497FBD6617943E7BE06CAF71A0F6B13CFFBB51AEF3E042F28BFCAD6CBA2DBA -CECBDB7BB399AF5D80487592A820F82A7255B46A0D7C739CCF16B7F60B709651 -0B91A26FF4854483DEF0336B7633C1E053BA889F4306F7398D85C3EBE21A5A41 -B7DB32141ACA892DDD4C0FE0C95328A70F53DD95940017CFA865D15FB0BB281A -13E2CF735AB238D278FE175EB8B72337218B5F66B62FFD912FCCD0E180AA69D4 -23701D46D44EC2E80D3C4275DC7B5848F50682394C4E67ED98A2E6B41C348263 -EABA9705AA74CD35EC6E1D9DD55634102C6633ED9117DD472DA7F41705DC5772 -72A3C2D8BF6B308567D07153BC750C8CE867E40355C3D50747B757E52F7575DF -9B5B913AF7FC3FDBEB317DA46DB498C7C044F83E46BAA00321A84DAE2DF14604 -12031AF813C994414F098824C30FC07E9B5307EFD8D01B56481BBD2EF648A69E -7507FED42C6605B09EA047F09DFA9BE15B59B93395DF192C0FB33F6F31F325E4 -DCC9A5DFAA157D1D5B4E5BF811F6F5B0FD1E69ED7EE1A6FBC2CE14D11D6FA699 -255370376844BFF3C2BE814A1FEDD0B0854647B9B193B4984394C8602820A17C -62704CEEC824C3C745BC615C54EE5DF86EBD79E874CC3522F8B8954C8E4A6FB4 -F715EE641A3D52C06574E8D7DCFCE83F3F8809D08A3C9C70C962D33F5B3D6128 -16EF2DCD4D6DCF0DD055AEA2293E10C1B7C2399C0DE4928F0A47E0BA652943B1 -004568BBA7CE62F12C7B58966BBF7B0327481DCCFC56218E7C4B9F0761063BA3 -BEA01AD1BC99DB3C1FE550DED79B243A7A554F2B1752F18FEE94120B708FE4DB -5948387091DF4198859CF49ECAC3AB49CE2E5F0451EA4EDF9BD49633C9826026 -BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11 -85F01604144C0E694DB7206941933B60651A800DF182E19C3BF2862E72F25F2F -2D9BD71056559C0FE547D0C752640DD4DC6110A849CF9557FCB0643A1EE77855 -512015F57A80140FC06B8CDEABC5580B89F9F30A489696AEF2 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BB89566A9BDEC70EB4F2 +048A6EB631F05C014D372103E37FC3FA317EBC9973565A638403DA02E48B7D31 +CFF6C241DC5CDB470561002FF46437C06EF93BC99352DF04393C661FFFBF4BA2 +0723ABD9B3E9CA9E63BA57EFDBAE684655CBBDBA15ADAE43E1A2C98A3CF060A3 +D16AF8FE3A49B50A24C20EEED716E49AF6013D4D38CD9CC41A91C17E4D04D79D +567E1EF49110AA9C34464E95D81A730ECEB2C9AF38FBA6B45E253288438B4CB3 +DC75B3A906D4357293BA41E59C35223A6C9CBD6FF5FC90C2D07CBB376C7320FF +435A6251822BFCBB612CE630EDF826C37E95F541C21B93FCE127591D5E38165E +2B58A34AAE37712BC58B63FFD70AB80F4F24612CFD2F1466BAAF3CA2BCB45148 +D0DEA0E9B8FBA4C4FF5B8B3CB02E461355051842BD1C94F41066B9B909DB83B1 +DCDCBEF7CD00A43E4C0B8191A29600CA197F0BA227FB8309BB539D2A620BAC70 +8A1AB2DFA51ADC9873B8E5582DCD3ED154E5D727D1665F99BD89883D69E6CC2F +DB3A57AEB612171A88E22F038461DE03FC357F771675E34E90D4D19B4B36891C +9D2333960400E97494F4FC4DBCE6A73C34A0409E433BBDC0AAAEBA7D3555066E +1CFBB4515C8B573C9B9DD12ED5B6ECEBE35AD0DDEA9DB004FC6CB540B5117B49 +59CABE5FD74C6F5B6482B42C20B5FF0467D1DBD7CED2CC651CA57852B6FBB402 +A6764DB342889132C911CAA713A7F2FDD8A5E849345D6C81025E02F5B8B682BA +90CC9B467FBC37362436EA6BF8EB62D784B01D5430147945BC09D1F49EE89F2E +3E2B8E6D439248A56F82F2E03EA5C7A922F2813BE6538A3A423BEBC55B345AFB +3B3C125306749E137C647D78028AE1FBF3E1A82C260132832A9668F454D39C41 +736717DED0A99F6B11F005F0E1D07FE84713AAB4C042FDC166AA146D7B5E9198 +E4F485BE5B135EA281FF1C1E616B5AAF02771F58C5840CB5A427FF9794F93E94 +17FD799C78AED1DC4810BCEF4C6C51D3C1504EA2C6F2B29805B7ECF97B5F637D +FE92E168CB9029E90404CB54FB312FC7AA8A9F2F524C03E61F03B1E31D4F061E +1677B39D5D30C9FD4673E1723F4AE3CCF38593AD6D7F61E9DF3C010E51F25085 +35D51105E1464BA146A78D7297D4D310AD91342A0BB942034A3EC0696B467367 +3E39D202D637E6B14D0EBCA6AD3CF22B07D4CA69C0FCBB6C93782B2F0DFC5AC1 +5D8A16CB5EDB671A0C1BA9D10F63CEAFCD0E06E42C730C8EF769CCFD57937245 +658F486036D37E8BDDE5670A212FB488A8753322A5B170C9662750AA958C0BBD +8E97D8239D2A08B30416504DEEC4E506013E037C91785C674F8A6A44E23FEE6F +CCC00CC5E4D355B0871FDB8ECD64F70EE32449BB5D6F84F8C8AA2D5B1A489BA9 +D7FF2DBAA8D0B84054E93D64D3E77850A3724824914A0F821EEC3D605DD851A7 +606936B8B9E24D6E932E16C448140FE94DD96C75AECB73850035ED9C04A1D93C +64B21E7D4657E030483EC5C3554AEF8BE4D0FE5B9743B875340B09E01273DAE8 +F256C50A1A8F2E0417440A8BB0173F59E11523E1CEF2593A4AC5AF2167627B00 +C5EA97D125EB8A4BD4C372877ABF10F5B7B149D73787E0834BFB3084E9508DF7 +072DD71637019599252059738D4D6BC57A9358E4B14F6AF9C4B31DB8E25C29B3 +7A15F9953BD73ACDE5F0445A5DC406BB4635FAE51C1D8202AE31730E6F355317 +1DC197DB0B6177307C60E5D38F4487363EE051B2E609A52BC4D45B14B6558B6B +5E1618748794B8340752CDBE7756C068975B559615D4CD5A97CE30BAA7B2B1A3 +2FEF2E055232B24FD8A21BECDE1B6A479A28EC80AE2CD16DB50B30B4A6CFCF06 +491C7CD5AC29FB964D4846415233947522676DEABDA0D9535F8507D33693930C +B4E4240A02B0CE7EA288516B8A6EF908D7F8BAF9012D052C6AC96D9F8F6ADB07 +8984F3559C5E7E3022A957982155FC9CD599C74E18328D3AB46F9DD15D1C4C3F +9B93ADB4489BA02CFCF57DE6270F3AD2F8597BE71786510EF08142F430EE5568 +4F9DDB792B7C46B6135E341DBBF062FBC50FABA80CD4A384157BAE57CBEA9781 +AA4416323265168AC097DE7E30A0D4750143A4FCE70A863A31876A8FA5327C3E +36E89589E363AA2B1A6E8B09F5AEB8FFFD0396067173465B6503383DE517A6EA +88C0FC08578398C2A721E5AEB29F4AC9BC990A50CD87BD35A11F9E81F68E7B85 +5E5B95A4F9A5D30379EF90D78E1E466DEF867BAEFC4F5ED2C762BFF099C1C2B3 +5E0DA1C2FB33BE1379413CDDB1EE6BB3A495331F72F2FAEB8152E8AD5FD334A8 +AAB0082A71D5574B618EA8D487B8FAF1B445F3395B1E21224F5492A0E06F5152 +7726835C900E2E52BE3B7B654183AEDEC68053DD0AF19EF6DBC10B6FC08EC7D0 +CC0E2C8FAF8C9A4C21FB7C34E074BBA4EE64226BEC8C928A784C1BEE35B72EC8 +E9295240B29DDC2539CD118BAC38DB3917D14CD33AB45FE47E827F2A2B193AFF +53C5396C52CEA4F43F06AC2D08C74CC85D608CBA267175EC31311EE25AB48DD9 +FE811B411AE426C9FC0B6044D1EBF130231623F1566CEA4D1C06D8032FD9808A +94479C842BC41B675CF6B90113BD681F8D43F51D5016D80EDC11D7640FB950D4 +E709A46184406ED90D0892A4CD9062938A8205697A200DBE1F38EB166EFEA0EC +4FCB45CDAF82EA103DD6FDD03D146F3E42EDA6496064DB3F4FC1C5280C9E604B +D5EBCA08BF2AAC90156C11EF68137DC76502EBF216F3AF3EE30DD2676D218428 +F41C655093F8B530FCA378B5769F262A6FDB4B66B83F18F050E77227E28D71F4 +5F4425CB8D51B3DAE872CD86D7804F870BC564A6DA1CA13EDB00D131CE4F6460 +7021661B99612629DCC20C85CF155EDC5111E015A77B0B82A8FC1EBB374B7EF2 +361419BA93B857D5C9944BB5B4AEDD86ABCC261542077FE09701C96370168579 +5F89D5AAA08D700E2643E88C2FB8D1D56D37AAA9744872E7C050B4CE046B47A7 +83F224FA9FD311C955EFBF173042C8FC66524135F579B1397828870D5C9DC71F +8615FADE2A1CFAEA90F732B6C266E2F3048FC43EDA7A6B6D98E9DB793CF457B3 +F5877E7A055C92B0246FEA8C72B3B3456F93BF36E2651D32CD614C3AECC0B4BC +F824C8363E593A6458D37408FC5B09883B280005DD24123E2D4B1B85F4113327 +EEDD9186A4AF2CD6439B46C5C168C125CA80F9EE9E68906620EE126CFBF26E15 +B269838A54224EDCFE2A373EB750D4829BFA410DE5F1541E428BB1E024AF496D +F5F1C151F5A645C8622F2EF9088D57A2811868A8A8BFCDBFCE3ACB8463AC35B4 +8B6F44E1C1232805842F56FA468F81FF37D5D55B81CA56058558544C142EB3BE +07CFB1F75DECB1E48C14D6AFDD455989AA6FFE8B8DC54F462B3C20E31D270BCE +8E68E2B43A6625AC7E9792704FAAD6CE8BBE0B341DA7189EBB3E9D5375B27FD4 +12506D5BCA50AEDC6955E6C3C7BAA84BACAF7ABDF3A270C7734EC3C6EC22793B +E67B0E288F99699D38DA8B79F2D21DD97945FBDDD132A8F0BF947950D3C0B4AA +EB7B2C435AFE54489E1930610311D718AC610C21A644F34CB2D1959B3066F39B +EADEAB5CFC6AF4D191D86B02402B00D1C5262707861C5308730579795EB53207 +A291A27A8B5C4DAE0A87A0C6A260026CA3CB620E1002E066A515D7990F3DEA29 +0FAC962E0B82B7A6C86B1EDC54007822BAECED673FAAEF88C8109777EB79A53F +AF3C58546974F2F56E70E9B5CB59ACB5C27CB01895557B2D82134D7F02029B24 +3331621F38E68717F5CB68A8892D0B9C0A8ED4F8BB56E80505170D44C6856128 +2DED0254ADA4875CF56B4D97372AAE730D4C77A2940DC8C178274DF88A9EE037 +215C6FE7B9D481EE4DE809B124C0270782411ACCCF89906A8B143D0BA8B2CEDE +E9B90465C3E57A4FD9AD2702323450256ABD09A1F8C26F08480317C08B75B720 +70A161C99715A35A94DD5C9647ED0F8A5337B774C8E54F9653AC859485A1FED5 +37B725A7E4BA58711CBCDA6054E34CBD8E9F9460179DA7DBD243D81A1531FDDE +BF2BD425BD9DBE75EAA333B1F5793669A215549A774597E6ADA16D323FE5601A +EDA41092730009A99BF5B5AAE281844A6BF3292D4D4EDE36B4FD8BCAEB6EB72F +AC5D3CD53D0D621CA9EA8D254FDCB2B5161EE9E80B266563F669805A3A15271A +0753983004A1ECC7FBADF62AFEA4DAB49A178C231759857DB910668BDB07CB3F +7E8EC24901863088B3231EE3FA563924032C91CA9D68DB398F9BD9AC0C651EC8 +9051C9F709CD784F3FF5951DECD7E869ACC34B83AECDB011E6594347855EE7F5 +28811F744A4BD70D4E9077EA7EC19FFCF612689F12B34332857AE41F13E6D16A +962DB9B6AAAC167B9FBDF0068EA13412F318384134B29F3F0C399F1973A3564E +F9C3C39B5BDD4C98D81A6CB476E565860B50704BD65ABD630A5F1372F2D826F3 +3AD47C08B8AD3176A170C369EF3CEEB190134006D6135C5B8CCDBE1C11FFF1EC +3F6D8C46E15C4F5EB9ED9F31A129594D542D40DC3815CD075A0DBB648D868AF5 +15A05C4BDB28BF23653A3AD96CF6AFC065DCCCB23D5D9A945F8CBB539DD3BFA8 +DB8F1FBF9B6F25B41EB4309995CA3D5D6ABD70CBB4A2F0C6364E5439AD1045FF +72F6B45A30BD3A548CFAADDCC6C15D46F6D783D3E520215751DC98335A4ED512 +D7D19235CDF911CC69F3CF4365B678EBF3E87C456A4E77339C74930083445588 +462529C22A96A28C5CE87AFA0C981F26CAED5A1C8DBCDDA612624DBE0373F026 +465185A4D8C73CCD8D71EE97116F8F7D341B87FD78F9CCB9FBDA2A7799711607 +6BBA855AE9D5C505870DC85FDFAAA130A351D56AADBFBD6A7D52055E3200F8B7 +8AE9A00092B55DEA8BDE224B4BA7FD4A191CB1FFC4CB995FEE1AC2883AB69E1A +AFFC09AB5B9AE311A030A5BA05E2213F9BBF016C8FA80689C069314D91274B20 +53FCC65C7D7B3A7504887525BFFA060304931672A078BCD7F269595686310E34 +E1ECA868899BC402D17EC36CE40D5041D7CEDA77F7764C9D98793F5334F574DF +E93CB10A5E8ADAE95CE63D2339557091B4B4911A4987CF21B7F1DBADBC2DD605 +8EB72473C1F2EABCC44E0D0339EECB55DA74085606C3F89D57ACFBF5755A5395 +CA8D4BD47E4EE8D8B882D3AB31A1F0C62E74654C7E041E4FF2693A38A9796064 +46526B0A37E6B5BF8E48E80EDEF81E34DA8F6CC9025936A4D0E6D709D61B7B5C +AB550397117F3F9D2F5A542A64DEA8E1178F7337124D6B56BA92F659AAD694D7 +391028731E01284BFEA635314A8DA8DF7A34EA3B6B2F8803BE6DCB423A9E8015 +55EBD90EBAE8A00298B3B6B1C02BA516AF528122C1F2B07EF69F5466C2C36643 +0D665D6561705509B7582D8301AF3C32E2F3B9433E3E04D62117C7E8A368BDE1 +0D4DAA1C415B2A6573116D2A169AFEF700A83F55D88813585E89C94C07802BA8 +3AE8F9BC3CDBFD9C2E35D062B1FD6E79E1EF104FC70B0AB09D12CA027F33F85A +22F0ECBB4AD55FE8C616B82C46CE69A600E4F767BD7A9C5F9B37A3196B038384 +5DEF76A8884425FE598A63AEB19FA698C2AF7CAA4983CEC789268E22BA051EE0 +20A40633D22D8F707626ED30E8273EAAD1C065F0B2E1718B5AC853ABE09330C3 +B0082A71D557169BC1559B6D285A3499D41C4CCF1F74884EC3917EB9C574371E +AFE8578DDCA459B8D22C0188A8D150437B05FB92022C95EB6FBCC954216B5FED +CBC7C90B9A1F061376A9840FB64390A6BA99CFC8279A86A730C6DBFD14C53C4B +7277D676BD42203677E9ABEEC8C97E13DAA626474513B06F8734DD784F2FBBB9 +B3B448B8E8221E380AB4A86D3A683B86A54129519D50DD4FE63B30954D805CED +A9A5D9A39C58B65B08E1C19555E927C6DBF7FD07252B2B57F62B905D6B488201 +213D106A41033B26FFBAC2E616DA6ADA6D560BADF10E68872806CFD6F6E19D7B +57CF1F7A030A7BAD374F16A977E0ECB8742D034ADAF9C247DA19C8AEA74EF6CE +DAFD6B1DC562FD3B77E4D008BDE4D8C7FCA9895DA1AC9EAA01C32A0DA712B082 +9438E77230D38FC4153E1711417B918BA6CC03203A5FF082AF880F48518D8271 +C1121E4F1386B30A7F1BC6F10EA98443F8A65C867A109336B808BC9A8E2A75AC +F950835AA84B56F59DA4C8A18859C3B68F6B6DE09A6675F639EA9107BDB67B0F +54EBC564BC2D781B61C14363A54956BA78A2BB89C9F966C94EEFC29EE9F4E23E +C0BF750144DC289F0DEE1F8A25BB52E54F656FAFEE4BD2DA57E1306BBE648051 +1D0CFD6A23A3DF082E3CF13197BF1B7FB22B2CD427BB78F455C9634DF989DC90 +7BB2AE247B1C99AB2062855B2948341B0F857ACD750B59E370A6698C6A1F5287 +72A4A9628A592E313956C242DF8277EDD2F1FDFB07CDC104275FFBF796D7518A +DF49FF3CDEC3BDFF1D290C382F244DF18005ECDABF0C5C2C64EEC4383E2E07DC +5C82587C071E59B46B7BEF31D268F39D9B12D534344FBA515E9DE8F166FAD1E2 +7D1558967AAAD3829D3F7EC6938D20E5379F414532976ABA844D97A5E9078901 +EAE4D0ED1F4C7EE7A2D80D891A5013D6409A38ACFA497F5A169EB7F9F4890DC4 +62FA6A89EA48267331F086992B9CA9305E16611E6AEE67DCDD588A25D37F45B1 +0DE75C802EE021E574B64B3969DE2E5061ED9364B646C38D4BBA86802CA6338A +94E135D2256920EBFB1AA22D9E90C7D16853F0DF9F2D942748EE540E4FCE63C6 +5380D7AB4ADD6CB00FE8F7867E4862D8DB432F28331428CC350CDF7F447A65ED +D7683ECA35A22ADD06E9FE6BAF060913AEEE7B2B8EE4798E437698CC9EB2428E +74CE73F84D0D2292DE709D71FFF8901C3505370E6F1D4E28E6B7372492C65A88 +159371B1D60D77CEC93B272B6C5394EE1D2EF9969DB2838B8E128553879A1BA5 +2884B0A596E8FC3D1E648B7E26A4AC57DF09B9CE09B2F91D8CA618CA52AB3DBD +D005A56A420366069B73146A6F58E88BA49671A1AB7C2070C3D42AA770285143 +40AE7D7868C0E1993506B07C086AD7D4F28CE2D15853FC5FBCBF9425D8012B9E +DB6E1E5002517659C8DA69DCEACA94F368537668843D281FC11782F1C5F71977 +CA215349EE6F20565DE3D8D8212A40E1227A4B22965FA64A0B02C62BFDE97E6F +C3C54FED4057EF9D258C42D7440C78C5E0CC58A40DD74ECED4152F70A93CE71A +1B3A57C46F74A6D27BF98C97CCD31A8EA487260F224A3E40F52C65490AB4098A +7B9EEB54A5A415C8C88568F7D9EFE74BBB785FA18AA27D9201F28BBC477A20A5 +D1307AA78EB8C7CAD409AB64B29E4115E45F5FADDCC80CA74B296C4265A40614 +37F2ACD8386AC0202D6FDB6711E8CB06442F209D781E940ADDD6D881D4F8E874 +357C533115923B90138FFE31D3577C6AAE60D768970FAAB682CD0DCA3E9A9A68 +6393E4B772691C1013ADFFC90C508D51B02D2518ADCC7E79F7DE5DF9D18B8435 +6129064DD1A3995E5A6F45D78287CC10A0EAFBF47223494C5EA934B1BC2F7C53 +686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F +D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8 +EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6 +3088F8D19CF2364A329162D39E166AC728B267758341630B00398D64538FCC4D +E3E6CF103794C29AEF7F7E56970F6B1ABA87DC8D23E280EDC77556593D02DFF3 +154883CFE4EF04E07E7539A4750FA1CF1A994E99B656E728D140C83AE1F196AD +9F049188A4184C84556C0476BE46DDA8ED86888DDA3065C5091D99EEEAC43092 +40B97AE327215024ACC0134CBE91FD761C26A48EDFF9028DA28222985FAED7B6 +A1CC891D07185666E34BEFBBF77C6C32B88FF3F1046E4EB2CD942E70746DDCDE +002E74BA03A2B15E0529E61DCAC207A71F61C89D81B3C53C5B458EAC70ADFC54 +810310CB04E1A21FFBC5DE2429EC0989A3F2B6AE4290A005FBE736750956765D +637B7CABF7F9A593D9FF6C322895835C0007A78771D1404671122F9CF898AB24 +1A5648EF8C40B27FD537612C4CBC6E584FBD058DBD4F0A00C63A79077826D3F1 +859589B221F7F82DBE392601B0A89142648EB40BCD943E382FC7758A10F978FF +6DD9C3C1D284C5642C812DBF29A75A50BF63F788CBEA5883DC1544ABB49289EE +2C99CB03C1BA72C7320904C7EC94736825A793D5629EABFCEFAB8D28B6F23858 +89A6967942A943FAB5E5B26B8567CC9606DE60329C6D890843F700FC1F60656A +38164ED7976AD47A8E54940B9E340D61353AAD260C9273D45772AEC8E9F4F045 +9CC576D152757AF3B74DFB9B6962001EA9FF7F62C2E36F71D9B76BB99DA7631F +774795B8CD1E08480153496DE5E08A1F4BEA681D0C1D6336A49A222B0537ABD9 +75A3A9D27D0B71B8913E9355F8E56C5FB3E14B9D5ACC4F87339FF9D9039ADEEC +660B5CEF75E7C1772D4A3A4D0C8976A165766D9DBD0CA8132D17E5149AE716A9 +2E255277FB5294A96194C462C74AAB251A36941768EDB3EC6DC2C481393ABA6C +8BC2F3AB0BF5A6E5619BE16DF43BB099C6CEA5044ABACC419174664232E97B29 +ED32362D219AF109E5D8CA751EB1F9F31BDD08C93AE018E5269AC327FEC67D99 +588CA80F068AEB94A7B943BAD5EC8D89C0B8D153B4345E77A5AD9B4522208A33 +DA92CDF765B44123C6EBAA06D629EB9E8D0FDD29BFD60EB582CB369474767FE4 +C0947F27DCFE0C8BD3CF5131E706E02ED136DBCE6363CB5CA637E08C3D832037 +5AAA88B746B6D915EE72D7B458C55598DA6284F362D2DBF06C51DB50A9FFFB5E +EBFD69D8D06AB0A6DF2D03F6E14FF290B1A1531109E43892B82B29395910021F +A6EA74B8420A14FC189741ECF67F81686BD3C5559DAF75DF9FEF3346CCC35AC5 +37A1E30C2602945974A2359EE3183A1AA568978F7732C35BE2B9224C27161748 +515E5899B0387F0640DE1D712F390A8A026FC5C5A893E98F46B418B7B32BEF07 +AD0EEA87737D929180B2BE697D0DFD46CF307E4FF76BC03492E66633F1357848 +AA5A594EB8CC5913E76602C9CF8B7428F67965D5BAAA29BD6C978EF6B22B0BEF +4203B223443554971EFE558FD2F51D01B35D2194A1F6820293385CF12DC1ED73 +79EA6082A30796D5EB72A67C5DB42A01F18CCBFEBE2F10B091C43C2CBACD8914 +D665B340281C1EBF92249FBDAA577CB7769974B669DA0B74E822EE5DCF3A32D8 +9C6714D8C82CE9BF3F16E6336094BC55381E73A96D45B7A70AE00F9CB8348E08 +2A64E4B40B3BD0A653B423C5D3C1ECB62F5E05393FB8C9B0C44AB26F6BF796BF +5B51601913014ED708B97731A5642351ECD0F6CA9C06832E0BCD0055E9BA51CB +7242CD34AF0B75F3594AF9235C42B974074665C5B6C934B08E5C7F55638E7DB5 +312BC541A8000E69A92ED6C63AA6485A50DFAA1DCF9B0DDAD23C43DF22F3000C +0CBF6F8F64F37BDF8F8DF321FD8F42C3FF774A388F9C033572B177A493814ECC +BE19595AD285F11763857603EAE0D6AED509225CACBC49351E6BF1457BD11490 +EDA1C3DD6DE8C7036464CF80FE562CDA51ED2EB92BBC79252FA79EAFE5E6BD4F +DC16AB83B2C902A9027BA4AE30ABADFF6D513BEA850FF35416E76FE62D8E88DC +69F0C60921B33BA59FA3EDC8F532B47FF2A5E5680BEFCDAEA4474DFA2F8FD68F +74B5837A22984A7534A5321B83459E436AE4C498702EA14A77D3F78DAEA47BA0 +1BE6CFAD95132683BCE0601F3EDDEFF5207FD5FF3CC9093ABD946CC7C1076DB9 +4DAF08C682269CEE980159541D92FFE484B7440E5AC58D7707BAE579605D1EB6 +42C396807AA13B3ACEDBF3A465CBD56F076FA9319E43907B6522904F92483537 +6102700CEAA52EE916B80AA4C5F8C98C9AC9557F97784F075D37A83649D632F5 +82A519507162012A671F3B4DBAC454D920606E9C87CADCAA1172A04E445A28A7 +0FA9545E5FFD15302664B5C2C4F479C8C760C2A015F5F5CB51EC6C0260154D37 +4A65B01E58B458ED0FEBBE74884C9DF7D50770153FB498E94F65475A5EA6A687 +543DEA3156D3E5CEE23923120DF4D561D2C082F1F3BFC5039A1DFC1C9C3A328E +6F879AB979F2C177FBA357FD63F8CC21E8AF632D6B01A3AC3EA7DE91C17B8120 +42E78A1AA2E04581B1C434A8147DBE81A87C73782DAF4BD5F309280FEA22DBAF +586AF386182364E45D7DEAFFA74E338E875B64B13CFC909B30E074D777D347ED +3A58A82D5F6A6E913054F9FABFDD9ABD8BBF54DC3480F3A90965A0081092714B +D77604CC7275050DBCCC800BCD8E2BA540B18CB07AF27D66F8887A571685600F +3FF8C7A4966A8CF8CB25DE0495CD4E048999ECE6579AFA82D1644FE160E2D3F0 +EE7CE89045332B172425D7D1443E8DD9043A12042ADD7EC106CB4DAAEAB310E5 +85F93869A1C519DC0E3CF8F4C05030F0BF7054C5859A74ECE7D6FC5644C5B84A +F3EDF0C4B2DCDD0D193599CB3CA00464A90AB55674F884001EC896726A9B374B +3A73AECDCBE06895E87FCE6267091C6CED0E779DEC36D8CC35184E00247AB90C +37161FFEE7CABFD7499859042093BCAE22D6B811FD16EFBC8AAE6283881C12CA +98E0792640063169F76B18EF543AFE7951E82EDB1DB9597F2F9C959B69943379 +CC7F5BDBD1BAFF7C77AD8D504D5F17E1B7DFFC515AC237748D33FB6B9D7DD903 +2F3E9768290A90A5FC5EA516A94C1885B17676D33CE4124CED1359E473305B02 +03C28731C0FC52B18FC14360C9494FF2A86AEE929E4022ACB78C02ADD6174FD0 +D35105BB00643F6560A9CCBB3E5CE2F79F0EB9BA774D27DC476867C991598380 +F77CC0444500CF43DAB8D729B31EA5A3184F178F82622A8B711A9CA6A770971C +521C44969E814B44D8E1927C283E6A38B78D7C258630730EA463FEEEAB263838 +2A517BA176D1C137AAE7430532FFB0FFCA8BF110DECB42B1A7A9457A9ECCABFA +D6CC11CD925518857AAA8498CEF35377CF92FEA77C09E6AE25DB2D09F1E355BD +7F7F5C72A76315F3C2B6BEA1AF7BA5D0E8000778A0FB2C60FF677ADBA9156A11 +A5B0B7AE92DB368571C040FD7A29C3DF384CCC29A0E9F40FA385630D23AC1E97 +C15C06848761CC7D19D208BC115A6A2933056BCEB3717CE2488E86D0B0D6D276 +22B2FF1E77FA719372BE62A5B6E10D3DFCA57DE70AE16C57718B86C58B6A7F3D +C6DD45D7559F9A0ED8889E707FE7622997F2D573F7688621245E0FB3D34A08C6 +40B72F4BDA0394CBF90735B9E6B3928AD56F50FEF9A5DA8B195008164EC03424 +7F5317FB8157C33F6903FD6D4B4728F82F1B02046DA16F4285DF088E08A136FD +1366494E3F5AEBED4B48B3B9072BC811A700940FF4B2A51C0434ABF225B37BBF +E4AB11F394332D66393420D4B843CAB6AAD9C32418CFE6A2A1260BF430E61176 +4B1762E3C9F1727BA47AAE4C7589E7099A56F5E1CB6BD64C0C8D026ED60EAFBC +BAD1476E98F5F12ED94BDB1E4B0D8FE9E36CF40DA6F5B2E1BC41EF5F7CB49825 +EA5058FF7C49C5FA11F9F9F575AB4D8237FFC2573F94B695CBE9BC44A1BB26DD +C6E55627BA16E5197CADA519CC7302DBE77F1FE4CF68C558D8F6E264 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3649,63 +5886,233 @@ BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMMI10 -%!PS-AdobeFont-1.1: CMMI10 1.100 -%%CreationDate: 1996 Jul 23 07:53:57 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.100) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMMI10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def -/FontBBox{-32 -250 1048 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 -990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E -6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB -DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 -59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 -D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF -8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 -6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 -1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE -03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 -95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 -74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 -3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 -47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 -AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 -42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 -40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 -B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 -9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD -0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE -E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C -7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37 -88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6 -DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1 -AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 +1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C +7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B +0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 +EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 +404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 +78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF +A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE +88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 +C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC +BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 +98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 +E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 +143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 +981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 +88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 +4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 +FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F +347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F +FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB +C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 +B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 +F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA +29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 +36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 +048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 +80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C +9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B +75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E +4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC +74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B +D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 +E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 +EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D +543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 +710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 +EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F +7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 +03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 +01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 +500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F +F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 +AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE +1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 +85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C +4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 +6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F +55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 +085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 +BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 +2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D +CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E +BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E +D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 +991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 +6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 +E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 +E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 +B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 +4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 +1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB +B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 +8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA +FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 +AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E +BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 +E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD +38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 +7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 +2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 +DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D +22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 +8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB +44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 +D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A +42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF +C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E +0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE +66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 +E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 +6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E +1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 +B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B +897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E +EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 +A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 +F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA +A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 +2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 +51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 +598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F +87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE +178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 +4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 +7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 +AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 +3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 +337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 +C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 +DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA +7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD +6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC +98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 +821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 +C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 +7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 +B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 +A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 +23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF +C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 +969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 +3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B +9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 +1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 +B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 +95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 +FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE +44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 +FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 +E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA +633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D +6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F +FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD +375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 +6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 +EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C +E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D +F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 +DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 +D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 +D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 +9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B +9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 +B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 +D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF +8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 +FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 +B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F +00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 +909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 +5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF +7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA +BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 +C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 +BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 +BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D +4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 +94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 +F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 +E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA +92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 +63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A +CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 +B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 +5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E +86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 +AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 +3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC +35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD +155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 +AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 +E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F +226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 +9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B +8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B +919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE +A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 +9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 +523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 +88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D +2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF +AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 +B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22 +CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744 +3B4593CC8944C70F30925FB48A16342CC26D444F54CA15E5A624C4A2DAA2AEF8 +404145BBA339F2A2D6FC2F3ECE54387761CA1213C8D56FF96E37C6147CA44B84 +262EA87E7CC10D931E6B5B80D7F09813498497AA84ACB4AC69BC6C8481ED2953 +084F560D7B1CF90555E69BD2AF7C5D944E8E3506165014652462BE1BC81CA341 +E1B0725159D36DA0FFF3577D1DEBC5D91AE683FB0384 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3715,63 +6122,233 @@ AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMMI12 -%!PS-AdobeFont-1.1: CMMI12 1.100 -%%CreationDate: 1996 Jul 27 08:57:55 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMMI12 003.002 +%%Title: CMMI12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup +/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.100) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI12 def +/FontBBox {-31 -250 1026 750 }readonly def +/UniqueID 5087386 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def /FullName (CMMI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMMI12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def -/FontBBox{-30 -250 1026 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 -5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC -4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 -3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 -EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F -4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 -2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A -323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C -2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 -D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA -5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F -0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D -A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 -2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 -00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 -CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757 -99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA -C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D -5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295 -55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49 -335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146 -BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 -15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10 -0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8 -23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2 -378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE +882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3 +2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A +7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541 +0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69 +987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7 +609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC +182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A +CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A +1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE +C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D +3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6 +D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E +E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200 +761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24 +8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F +68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D +10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4 +262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6 +922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16 +56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26 +32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA +7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460 +7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A +46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD +754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF +88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F +CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A +7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760 +8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0 +BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B +CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25 +8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B +D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300 +135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A +C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812 +1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86 +07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39 +14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D +7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D +2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D +639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3 +D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F +90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948 +10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E +1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E +8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC +D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9 +1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33 +9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875 +EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE +DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3 +60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8 +FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D +203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608 +FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09 +DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F +2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D +244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077 +31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B +724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8 +F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7 +D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA +AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907 +CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF +01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D +CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA +287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605 +8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9 +9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1 +6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5 +7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C +192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA +AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4 +A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9 +50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67 +A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912 +3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF +CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6 +5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96 +8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE +084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7 +92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2 +AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27 +97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF +92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5 +7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824 +5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199 +13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76 +6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1 +5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5 +6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83 +F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E +A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4 +7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A +9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817 +E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962 +AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD +F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8 +0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003 +1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31 +7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E +38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8 +5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F +3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B +B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85 +15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B +AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674 +6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6 +CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322 +EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82 +A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D +806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4 +461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1 +4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361 +9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C +172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6 +69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E +ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690 +356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0 +E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78 +7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C +B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A +31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF +EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7 +98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30 +C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61 +AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208 +E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900 +76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40 +8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573 +CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7 +761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A +2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138 +89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60 +D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF +C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485 +D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8 +B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39 +AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F +D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3 +866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD +207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73 +756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7 +60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD +A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A +1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4 +A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048 +C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3 +03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321 +1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B +97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE +D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8 +4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF +94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97 +201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7 +9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000 +CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7 +29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939 +4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED +66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31 +14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53 +84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74 +6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12 +49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C +224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5 +5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4 +A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498 +1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D +5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6 +40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C +E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B +C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD +CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D +2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE +710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45 +FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8 +FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736 +5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3781,53 +6358,235 @@ BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSY10 -%!PS-AdobeFont-1.1: CMSY10 1.0 -%%CreationDate: 1991 Aug 15 07:20:57 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def -/ItalicAngle -14.035 def +/ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSY10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 13 /circlecopyrt put readonly def -/FontBBox{-29 -960 1116 775}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 -7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 -A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 -E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A -221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A -27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF -5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 -0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 -DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A -71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 -4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C -515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609 -C627A8BFEF75B4DEFAF34B44B356A516B765AFCDD3F5475B1F928731D09D2170 -B97E40F12CCEDF4F6BB3756C4734F6E98D74B7E942A954B1BAAB83D4AD727FF6 -DF6DC50B2223BCB5568A73A112E4860AD490554E64E780073FF3399CB4688D33 -9E8829667CD6EAEF25E0C7D2D44F2BBFA40E999325F9561514844221B50BC8FC -4C7AD68CA7220D69125C2AF06849A3E068D18733276F0C0A6A2936D3C2C87CDE -59CD1AF148C44F85784A5DAD569F5FF53C061056C067CE29AEF1E3BD1FD8B0B8 -71A0A638CDAC6AEEDBD5337D4683C084BB60B1859E600F59CB4E19C5FC5C6327 -EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF -0F62DB +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829 +F1795501020D5FF0AD25584C1D47BE08ED6CE96278050BA67680A3B973613647 +A93FAEC756FC253B3693FA2D6491B276EF45751EFB306961788E7C15297A5822 +AFC5A2DABD0DBBFF0BE135267EA6B9D1B4E4760ED14895FFE1F8C3F564830001 +EFA901B8442BD2D98561BAB9A0FD939E0F856E4D2EB04A9A4496704109B8A84C +EA06AB0999427B3B1BE776004AE906D0F22159C051D88CF573A0255D99B56781 +CF326CD11919AA40B096769CD6D0ADF3ACEC7957621084ACF21AF1F265416628 +86B67FCBDE9370D4F5C6F5CC67EBB0A2727E074090DBCA459AFA1A4778AED4C9 +AE5400775223E684BFCB 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3837,114 +6596,105 @@ EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont TeXDict begin 40258431 52099146 1000 600 600 (readline.dvi) @start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 133[34 41 41 55 41 43 30 30 30 41 43 38 43 64 21 41 1[21 43 38 23 34 43 34 43 38 39[38 38 38 38 38 38 38 38 38 38 2[26 21 30[43 43 12[{}39 74.7198 /CMR9 rf /Fc 134[39 -39 2[39 39 39 39 2[39 39 39 39 2[39 39 2[39 3[39 19[39 -27[39 39 2[39 45[{}18 74.7198 /CMSLTT10 rf /Fd 167[62 -3[60 46 2[57 1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13 -83.022 /CMR10 rf /Fe 129[39 39 39 39 39 39 39 39 39 39 +39 2[39 39 39 39 2[39 39 39 39 2[39 39 1[39 39 39 2[39 +19[39 27[39 39 2[39 45[{}20 74.7198 /CMSLTT10 rf /Fd +167[62 3[60 46 2[57 1[62 76 52 1[43 1[62 65 54 1[63 60 +67[{}13 83.022 /CMR10 rf /Fe 129[39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 -39 39 39 39 1[39 39 39 1[39 39 39 39 39 39 39 39 39 39 -39 39 39 39 1[39 39 39 39 39 39 39 39 39 39 39 39 39 -39 39 39 39 3[39 1[39 39 39 39 39 39 39 39 39 39 39 39 -39 39 39 39 1[39 39 39 33[{}86 74.7198 /CMTT9 rf /Ff -214[35 35 40[{}2 90.9091 /CMSS10 rf /Fg 133[52 52 52 -52 52 52 52 52 52 52 52 52 52 52 52 52 1[52 52 52 52 -52 52 52 52 52 1[52 18[52 52 1[52 2[52 52 26[52 42[{}32 -99.6264 /CMTT10 rf /Fh 134[65 65 89 65 68 48 48 50 1[68 -61 68 102 34 65 1[34 68 61 37 56 68 55 68 60 7[93 1[127 -93 94 85 68 92 3[96 116 74 96 1[46 96 1[77 81 1[89 87 -93 7[61 61 61 61 61 61 61 61 61 61 1[34 46[{}52 109.091 -/CMBX12 rf /Fi 134[48 48 66 48 51 35 36 36 48 51 45 51 -76 25 48 1[25 51 45 28 40 51 40 51 45 9[93 1[68 66 51 -67 1[62 71 68 83 57 71 1[33 68 1[59 62 69 66 64 68 15[45 -45 1[25 30 25 1[45 28[51 51 12[{}51 90.9091 /CMSL10 rf -/Fj 134[44 1[60 42 49 30 37 38 1[46 46 51 74 23 2[28 -1[42 1[42 46 42 1[46 84[51 12[{}19 90.9091 /CMTI10 rf -/Fk 134[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 1[48 48 48 48 48 48 48 1[48 2[48 14[48 48 1[48 -1[48 2[48 48 48 17[48 48 2[48 5[48 39[{}37 90.9091 /CMSLTT10 -rf /Fl 135[56 2[56 1[42 2[51 58 56 4[27 1[58 49 51 1[54 -1[56 97[{}12 90.9091 /CMCSC10 rf /Fm 197[25 58[{}1 90.9091 -/CMMI10 rf /Fn 197[33 58[{}1 119.552 /CMMI12 rf /Fo 135[85 -117 1[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74 -90 72 90 78 10[122 124 112 1[120 1[110 1[126 1[97 2[60 -1[127 101 106 124 117 1[122 14[81 81 49[{}36 143.462 -/CMBX12 rf /Fp 242[91 13[{}1 90.9091 /CMSY10 rf /Fq 134[71 -71 97 71 75 52 53 55 1[75 67 75 112 37 2[37 75 67 41 -61 75 60 75 65 7[102 1[139 102 103 94 75 100 101 92 101 -105 128 81 105 1[50 105 106 85 88 103 97 96 102 6[37 -1[67 67 67 67 67 67 67 67 2[37 1[37 44[{}56 119.552 /CMBX12 -rf /Fr 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 +39 39 39 39 39 39 39 1[39 39 39 1[39 39 39 39 39 39 39 +39 39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39 +39 39 39 39 39 39 39 3[39 1[39 39 39 39 39 39 39 39 39 +39 39 39 39 39 39 39 1[39 39 39 33[{}86 74.7198 /CMTT9 +rf /Ff 214[35 35 40[{}2 90.9091 /CMSS10 rf /Fg 133[52 +52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 1[52 52 +52 52 52 52 52 52 52 1[52 18[52 52 1[52 2[52 52 9[52 +16[52 42[{}33 99.6264 /CMTT10 rf /Fh 134[65 65 89 65 +68 48 48 50 1[68 61 68 102 34 65 1[34 68 61 37 56 68 +55 68 60 7[93 1[127 93 94 85 68 92 3[96 116 74 96 1[46 +96 1[77 81 1[89 87 93 7[61 61 61 61 61 61 61 61 61 61 +1[34 46[{}52 109.091 /CMBX12 rf /Fi 134[48 48 66 48 51 +35 36 36 48 51 45 51 76 25 48 1[25 51 45 28 40 51 40 +51 45 9[93 1[68 66 51 67 1[62 71 68 83 57 71 1[33 68 +1[59 62 69 66 64 68 15[45 45 1[25 30 25 1[45 28[51 51 +12[{}51 90.9091 /CMSL10 rf /Fj 134[44 1[60 42 49 30 37 +38 1[46 46 51 74 23 2[28 1[42 1[42 46 42 1[46 84[51 12[{}19 +90.9091 /CMTI10 rf /Fk 134[48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 1[48 2[48 +14[48 48 1[48 1[48 2[48 48 48 17[48 48 2[48 5[48 39[{}37 +90.9091 /CMSLTT10 rf /Fl 135[56 2[56 1[42 2[51 58 56 +4[27 1[58 49 51 1[54 1[56 97[{}12 90.9091 /CMCSC10 rf +/Fm 197[25 58[{}1 90.9091 /CMMI10 rf /Fn 197[33 58[{}1 +119.552 /CMMI12 rf /Fo 135[85 117 1[90 63 64 66 1[90 +81 90 134 45 2[45 90 81 49 74 90 72 90 78 10[122 124 +112 1[120 1[110 1[126 1[97 2[60 1[127 101 106 124 117 +1[122 14[81 81 49[{}36 143.462 /CMBX12 rf /Fp 242[91 +13[{}1 90.9091 /CMSY10 rf /Fq 134[71 71 97 71 75 52 53 +55 1[75 67 75 112 37 2[37 75 67 41 61 75 60 75 65 7[102 +1[139 102 103 94 75 100 101 92 101 105 128 81 105 1[50 +105 106 85 88 103 97 96 102 6[37 67 1[67 67 67 67 67 +67 67 67 1[37 1[37 44[{}57 119.552 /CMBX12 rf /Fr 129[48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 1[48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 33[{}89 90.9091 /CMTT10 rf /Fs 131[91 -45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 -25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 -68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 -69 66 64 68 5[25 25 45 45 45 45 45 45 45 45 45 45 45 -25 30 25 2[35 35 25 2[45 1[45 19[76 51 51 53 11[{}83 -90.9091 /CMR10 rf /Ft 134[102 6[79 3[108 1[54 2[54 3[88 -108 1[108 94 11[149 2[144 3[151 1[116 4[152 71[{}14 172.154 -/CMBX12 rf end +48 48 33[{}91 90.9091 /CMTT10 rf /Fs 131[91 45 40 48 +48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45 +28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68 66 +51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66 64 +68 71 4[25 25 45 45 45 45 45 45 45 45 45 45 45 25 30 +25 2[35 35 25 2[45 1[45 19[76 51 51 53 11[{}84 90.9091 +/CMR10 rf /Ft 134[102 6[79 3[108 1[54 2[54 3[88 108 1[108 +94 11[149 2[144 3[151 1[116 4[152 71[{}14 172.154 /CMBX12 +rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: Letter -letter +/setpagedevice where +{ pop << /PageSize [612 792] >> setpagedevice } +{ /letter where { pop letter } if } +ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 150 1318 a Ft(GNU)65 b(Readline)g(Library)p -150 1418 3600 34 v 1873 1515 a Fs(Edition)30 b(6.2,)i(for)e -Fr(Readline)e(Library)h Fs(V)-8 b(ersion)31 b(6.2.)3118 -1623 y(Septem)m(b)s(er)f(2010)150 4935 y Fq(Chet)45 b(Ramey)-11 +150 1418 3600 34 v 1873 1515 a Fs(Edition)30 b(6.3,)i(for)e +Fr(Readline)e(Library)h Fs(V)-8 b(ersion)31 b(6.3.)3218 +1623 y(Jan)m(uary)f(2014)150 4935 y Fq(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F) -11 b(oundation)p 150 5141 3600 17 v eop end %%Page: 2 2 -TeXDict begin 2 1 bop 150 3024 a Fs(This)24 b(man)m(ual)h(describ)s(es) -g(the)g(GNU)g(Readline)h(Library)e(\(v)m(ersion)i(6.2,)h(Septem)m(b)s -(er)d(6)i(2010\),)i(a)d(library)150 3133 y(whic)m(h)39 +TeXDict begin 2 1 bop 150 4413 a Fs(This)32 b(man)m(ual)h(describ)s(es) +f(the)h(GNU)g(Readline)g(Library)f(\(v)m(ersion)i(6.3,)g(6)f(Jan)m +(uary)g(2014\),)i(a)e(library)150 4523 y(whic)m(h)39 b(aids)g(in)g(the)g(consistency)h(of)g(user)e(in)m(terface)j(across)f (discrete)g(programs)e(whic)m(h)h(pro)m(vide)h(a)150 -3243 y(command)30 b(line)h(in)m(terface.)150 3377 y(Cop)m(yrigh)m(t)602 -3374 y(c)577 3377 y Fp(\015)f Fs(1988{2011)35 b(F)-8 -b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 -3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d -(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m -(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s -(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 -3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8 -b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g -(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8 -b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39 -b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28 -b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8 -b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28 -b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33 -b(texts)e(b)s(eing)g(\\A)g(GNU)g(Man)m(ual",)h(and)e(with)g(the)h(Bac)m -(k-Co)m(v)m(er)390 4194 y(T)-8 b(exts)33 b(as)g(in)f(\(a\))h(b)s(elo)m -(w.)47 b(A)33 b(cop)m(y)g(of)f(the)h(license)g(is)g(included)e(in)h -(the)h(section)g(en)m(titled)390 4304 y(\\GNU)e(F)-8 -b(ree)32 b(Do)s(cumen)m(tation)g(License".)390 4438 y(\(a\))f(The)f -(FSF's)g(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext)31 b(is:)41 -b(Y)-8 b(ou)31 b(are)f(free)h(to)f(cop)m(y)h(and)f(mo)s(dify)f(this)h -(GNU)390 4548 y(man)m(ual.)41 b(Buying)30 b(copies)h(from)e(GNU)i -(Press)f(supp)s(orts)e(the)i(FSF)g(in)g(dev)m(eloping)h(GNU)390 -4658 y(and)f(promoting)g(soft)m(w)m(are)i(freedom.")150 -4902 y(Published)d(b)m(y)h(the)h(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 -b(oundation)150 5011 y(59)31 b(T)-8 b(emple)31 b(Place,)h(Suite)e(330,) -150 5121 y(Boston,)i(MA)e(02111-1307)150 5230 y(USA)p -eop end +4633 y(command)30 b(line)h(in)m(terface.)150 4767 y(Cop)m(yrigh)m(t)602 +4764 y(c)577 4767 y Fp(\015)f Fs(1988{2014)35 b(F)-8 +b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 +4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 +b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f +(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 +b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26 +b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43 +b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8 +b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46 +b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31 +b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8 +b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390 +5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8 +b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end %%Page: -1 3 TeXDict begin -1 2 bop 3725 -116 a Fs(i)150 299 y Fo(T)-13 b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fq(1)135 b(Command)45 @@ -3982,7 +6732,7 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fs(4)399 1764 y(1.3.2)93 b(Conditional)31 b(Init)f(Constructs)e Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58 -b Fs(10)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14 +b Fs(11)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14 b Fm(:)j(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)44 b Fs(11)275 1983 y(1.4)92 @@ -4040,10 +6790,10 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 b Fs(25)275 3897 y(2.4)92 b(Readline)31 b(Con)m(v)m(enience)g(F)-8 b(unctions)14 b Fm(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -43 b Fs(29)399 4007 y(2.4.1)93 b(Naming)31 b(a)g(F)-8 +43 b Fs(30)399 4007 y(2.4.1)93 b(Naming)31 b(a)g(F)-8 b(unction)13 b Fm(:)j(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fs(29)399 4116 y(2.4.2)93 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fs(30)399 4116 y(2.4.2)93 b(Selecting)32 b(a)e(Keymap)21 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)51 b @@ -4053,70 +6803,73 @@ b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Fs(31)399 4335 y(2.4.4)93 b(Asso)s(ciating)32 b(F)-8 b(unction)31 b(Names)g(and)e(Bindings)18 b Fm(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 -b Fs(32)399 4445 y(2.4.5)93 b(Allo)m(wing)32 b(Undoing)19 +b Fs(33)399 4445 y(2.4.5)93 b(Allo)m(wing)32 b(Undoing)19 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)48 b Fs(33)399 4555 y(2.4.6)93 +h(:)f(:)h(:)f(:)g(:)h(:)48 b Fs(34)399 4555 y(2.4.6)93 b(Redispla)m(y)21 b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h -(:)f(:)51 b Fs(34)399 4664 y(2.4.7)93 b(Mo)s(difying)30 +(:)f(:)51 b Fs(35)399 4664 y(2.4.7)93 b(Mo)s(difying)30 b(T)-8 b(ext)28 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b -Fs(35)399 4774 y(2.4.8)93 b(Character)31 b(Input)13 b +Fs(36)399 4774 y(2.4.8)93 b(Character)31 b(Input)13 b Fm(:)h(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)43 b Fs(36)399 4883 y(2.4.9)93 b(T)-8 b(erminal)30 b(Managemen)m(t)8 b Fm(:)18 b(:)e(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b -Fs(36)399 4993 y(2.4.10)93 b(Utilit)m(y)33 b(F)-8 b(unctions)15 +Fs(37)399 4993 y(2.4.10)93 b(Utilit)m(y)33 b(F)-8 b(unctions)15 b Fm(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)45 b Fs(37)399 5103 y(2.4.11)93 +(:)h(:)f(:)g(:)h(:)f(:)45 b Fs(38)399 5103 y(2.4.11)93 b(Miscellaneous)33 b(F)-8 b(unctions)15 b Fm(:)g(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Fs(38)399 5212 +(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Fs(39)399 5212 y(2.4.12)93 b(Alternate)32 b(In)m(terface)17 b Fm(:)g(:)e(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)47 -b Fs(39)399 5322 y(2.4.13)93 b(A)31 b(Readline)g(Example)24 +b Fs(40)399 5322 y(2.4.13)93 b(A)31 b(Readline)g(Example)24 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)53 b Fs(40)p eop end %%Page: -2 4 -TeXDict begin -2 3 bop 3699 -116 a Fs(ii)275 83 y(2.5)92 -b(Readline)31 b(Signal)f(Handling)10 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)39 -b Fs(41)275 193 y(2.6)92 b(Custom)29 b(Completers)18 +TeXDict begin -2 3 bop 3699 -116 a Fs(ii)399 83 y(2.4.14)93 +b(Alternate)32 b(In)m(terface)g(Example)10 b Fm(:)15 +b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b Fs(42)275 +193 y(2.5)92 b(Readline)31 b(Signal)f(Handling)10 b Fm(:)15 +b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)h(:)39 b Fs(43)275 302 y(2.6)92 b(Custom)29 b(Completers)18 b Fm(:)e(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)48 b Fs(43)399 302 +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)48 b Fs(46)399 412 y(2.6.1)93 b(Ho)m(w)31 b(Completing)g(W)-8 b(orks)24 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -53 b Fs(43)399 412 y(2.6.2)93 b(Completion)31 b(F)-8 +53 b Fs(46)399 521 y(2.6.2)93 b(Completion)31 b(F)-8 b(unctions)19 b Fm(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)49 b Fs(44)399 521 y(2.6.3)93 b(Completion)31 +h(:)f(:)h(:)f(:)g(:)49 b Fs(47)399 631 y(2.6.3)93 b(Completion)31 b(V)-8 b(ariables)9 b Fm(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fs(45)399 631 y(2.6.4)93 +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fs(48)399 741 y(2.6.4)93 b(A)30 b(Short)g(Completion)h(Example)c Fm(:)15 b(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)56 b Fs(49)150 873 y Fq(App)t(endix)44 +h(:)f(:)g(:)h(:)56 b Fs(52)150 983 y Fq(App)t(endix)44 b(A)160 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)446 -1006 y Fn(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) +1116 y Fn(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)72 -b Fq(58)150 1276 y(Concept)45 b(Index)18 b Fn(:)i(:)f(:)g(:)h(:)f(:)h +b Fq(61)150 1386 y(Concept)45 b(Index)18 b Fn(:)i(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63 -b Fq(66)150 1546 y(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)45 +b Fq(69)150 1655 y(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)45 b(Index)29 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fq(67)p eop end +(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fq(70)p eop end %%Page: 1 5 TeXDict begin 1 4 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(Command)29 b(Line)i(Editing)2153 b(1)150 299 y Fo(1)80 @@ -4395,13 +7148,13 @@ g Fi(inputrc)49 b Fs(\014le,)g(con)m(v)m(en)m(tionally)e(in)d(his)g (home)150 1924 y(directory)-8 b(.)39 b(The)23 b(name)h(of)f(this)h (\014le)f(is)g(tak)m(en)i(from)e(the)g(v)-5 b(alue)24 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)25 b -Fr(INPUTRC)p Fs(.)150 2033 y(If)34 b(that)g(v)-5 b(ariable)35 -b(is)g(unset,)g(the)f(default)g(is)g(`)p Fr(~/.inputrc)p -Fs('.)50 b(If)34 b(that)h(\014le)f(do)s(es)g(not)g(exist)h(or)f(cannot) -150 2143 y(b)s(e)c(read,)g(the)h(ultimate)g(default)g(is)f(`)p -Fr(/etc/inputrc)p Fs('.)275 2272 y(When)f(a)h(program)f(whic)m(h)h -(uses)f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f -(is)h(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275 +Fr(INPUTRC)p Fs(.)150 2033 y(If)30 b(that)g(v)-5 b(ariable)31 +b(is)f(unset,)g(the)h(default)f(is)g Fr(~/.inputrc)p +Fs(.)38 b(If)30 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h +(b)s(e)150 2143 y(read,)g(the)f(ultimate)i(default)e(is)h +Fr(/etc/inputrc)p Fs(.)275 2272 y(When)e(a)h(program)f(whic)m(h)h(uses) +f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f(is)h +(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275 2510 y(In)26 b(addition,)i(the)f Fr(C-x)i(C-r)d Fs(command)h(re-reads)g (this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m (hanges)150 2620 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g @@ -4412,7 +7165,7 @@ b(lines)h(are)150 3065 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h (a)g(`)p Fr(#)p Fs(')g(are)h(commen)m(ts.)73 b(Lines)41 b(b)s(eginning)f(with)g(a)i(`)p Fr($)p Fs(')f(indicate)150 3174 y(conditional)i(constructs)e(\(see)i(Section)f(1.3.2)h -([Conditional)f(Init)f(Constructs],)j(page)f(10\).)74 +([Conditional)f(Init)f(Constructs],)j(page)f(11\).)74 b(Other)150 3284 y(lines)31 b(denote)g(v)-5 b(ariable)31 b(settings)g(and)f(k)m(ey)h(bindings.)150 3432 y(V)-8 b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e @@ -4420,17 +7173,17 @@ b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e (the)g(v)-5 b(alues)41 b(of)630 3651 y(v)-5 b(ariables)34 b(in)f(Readline)i(using)e(the)g Fr(set)g Fs(command)g(within)g(the)h (init)g(\014le.)50 b(The)33 b(syn)m(tax)630 3761 y(is)d(simple:)870 -3890 y Fr(set)47 b Fk(variable)56 b(value)630 4019 y -Fs(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f -(the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 -4128 y(use)k Fr(vi)g Fs(line)h(editing)g(commands:)870 -4257 y Fr(set)47 b(editing-mode)d(vi)630 4386 y Fs(V)-8 -b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h -(are)g(recognized)g(without)f(regard)630 4496 y(to)c(case.)42 -b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630 -4624 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f -(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the) -g(v)-5 b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8 +3890 y Fr(set)47 b Fk(variable)e(value)630 4019 y Fs(Here,)29 +b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default) +h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 4128 y(use)k +Fr(vi)g Fs(line)h(editing)g(commands:)870 4257 y Fr(set)47 +b(editing-mode)d(vi)630 4386 y Fs(V)-8 b(ariable)36 b(names)f(and)g(v) +-5 b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f +(regard)630 4496 y(to)c(case.)42 b(Unrecognized)31 b(v)-5 +b(ariable)31 b(names)g(are)f(ignored.)630 4624 y(Bo)s(olean)c(v)-5 +b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g +(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5 +b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27 b Fi(on)d Fs(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v) -5 b(ariable)630 4844 y(b)s(eing)30 b(set)h(to)g(o\013.)630 @@ -4448,415 +7201,458 @@ Fr(visible)p Fs(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g (one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110 408 y(`)p Fr(audible)p Fs(')j(\(the)i(default\),)i(Readline)e(attempts) g(to)h(ring)e(the)g(terminal's)1110 518 y(b)s(ell.)630 -664 y Fr(bind-tty-special-chars)1110 774 y Fs(If)45 b(set)h(to)f(`)p +676 y Fr(bind-tty-special-chars)1110 786 y Fs(If)45 b(set)h(to)f(`)p Fr(on)p Fs(',)50 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m -(trol)g(c)m(haracters)1110 883 y(treated)36 b(sp)s(ecially)h(b)m(y)e +(trol)g(c)m(haracters)1110 896 y(treated)36 b(sp)s(ecially)h(b)m(y)e (the)h(k)m(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110 -993 y(equiv)-5 b(alen)m(ts.)630 1139 y Fr(comment-begin)1110 -1249 y Fs(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of) -g(the)h(line)f(when)f(the)i Fr(insert-)1110 1358 y(comment)e -Fs(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5 -b(alue)31 b(is)f Fr("#")p Fs(.)630 1504 y Fr(completion-display-width) -1110 1614 y Fs(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used) -g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 1724 +1005 y(equiv)-5 b(alen)m(ts.)630 1163 y Fr(colored-stats)1110 +1273 y Fs(If)26 b(set)h(to)g(`)p Fr(on)p Fs(',)h(Readline)f(displa)m +(ys)g(p)s(ossible)f(completions)h(using)f(di\013eren)m(t)1110 +1383 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67 +b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110 +1492 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fr(LS_COLORS)d +Fs(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110 +1602 y(is)30 b(`)p Fr(off)p Fs('.)630 1760 y Fr(comment-begin)1110 +1870 y Fs(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of) +h(the)h(line)f(when)g(the)1110 1979 y Fr(insert-comment)26 +b Fs(command)31 b(is)f(executed.)42 b(The)30 b(default)g(v)-5 +b(alue)31 b(is)f Fr("#")p Fs(.)630 2138 y Fr(completion-display-width) +1110 2247 y Fs(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used) +g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 2357 y(when)28 b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5 b(alue)29 b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110 -1833 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39 +2466 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39 b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110 -1943 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e +2576 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e (line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630 -2089 y Fr(completion-ignore-case)1110 2198 y Fs(If)d(set)h(to)g(`)p +2734 y Fr(completion-ignore-case)1110 2844 y Fs(If)d(set)h(to)g(`)p Fr(on)p Fs(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i -(and)e(completion)1110 2308 y(in)j(a)h(case-insensitiv)m(e)i(fashion.) +(and)e(completion)1110 2953 y(in)j(a)h(case-insensitiv)m(e)i(fashion.) 40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fr(off)p -Fs('.)630 2454 y Fr(completion-map-case)1110 2564 y Fs(If)22 +Fs('.)630 3112 y Fr(completion-map-case)1110 3221 y Fs(If)22 b(set)g(to)h(`)p Fr(on)p Fs(',)h(and)e Fi(completion-ignore-case)31 -b Fs(is)22 b(enabled,)i(Readline)f(treats)1110 2673 y(h)m(yphens)29 +b Fs(is)22 b(enabled,)i(Readline)f(treats)1110 3331 y(h)m(yphens)29 b(\(`)p Fr(-)p Fs('\))j(and)e(underscores)g(\(`)p Fr(_)p Fs('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110 -2783 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e -(completion.)630 2929 y Fr(completion-prefix-displa)o(y-le)o(ngth)1110 -3039 y Fs(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h -(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3148 +3440 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e +(completion.)630 3599 y Fr(completion-prefix-displa)o(y-le)o(ngth)1110 +3708 y Fs(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h +(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3818 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s -(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3258 +(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3927 y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e -(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 3367 +(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 4037 y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible) -f(completions.)630 3513 y Fr(completion-query-items)1110 -3623 y Fs(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h -(that)g(determines)f(when)f(the)i(user)1110 3733 y(is)i(ask)m(ed)h +f(completions.)630 4195 y Fr(completion-query-items)1110 +4305 y Fs(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h +(that)g(determines)f(when)f(the)i(user)1110 4415 y(is)i(ask)m(ed)h (whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h -(displa)m(y)m(ed.)41 b(If)29 b(the)1110 3842 y(n)m(um)m(b)s(er)d(of)h +(displa)m(y)m(ed.)41 b(If)29 b(the)1110 4524 y(n)m(um)m(b)s(er)d(of)h (p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5 -b(alue,)28 b(Readline)1110 3952 y(will)f(ask)g(the)f(user)g(whether)g +b(alue,)28 b(Readline)1110 4634 y(will)f(ask)g(the)f(user)g(whether)g (or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 -4061 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 +4743 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5 -b(alue)1110 4171 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 +b(alue)1110 4853 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110 -4281 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g -Fr(100)p Fs(.)630 4427 y Fr(convert-meta)1110 4536 y +4963 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g +Fr(100)p Fs(.)630 5121 y Fr(convert-meta)1110 5230 y Fs(If)22 b(set)g(to)h(`)p Fr(on)p Fs(',)h(Readline)f(will)f(con)m(v)m (ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110 -4646 y(to)33 b(an)e Fl(asci)r(i)h Fs(k)m(ey)h(sequence)f(b)m(y)g -(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110 -4756 y(an)24 b Fr(ESC)g Fs(c)m(haracter,)j(con)m(v)m(erting)f(them)f -(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 4865 -y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fr(on)p -Fs('.)630 5011 y Fr(disable-completion)1110 5121 y Fs(If)36 -b(set)h(to)h(`)p Fr(On)p Fs(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h -(completion.)60 b(Completion)1110 5230 y(c)m(haracters)28 -b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h -(had)e(b)s(een)g(mapp)s(ed)1110 5340 y(to)31 b Fr(self-insert)p -Fs(.)38 b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)p +5340 y(to)33 b(an)e Fl(asci)r(i)h Fs(k)m(ey)h(sequence)f(b)m(y)g +(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)p eop end %%Page: 6 10 TeXDict begin 6 9 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fr(editing-mode)1110 -408 y Fs(The)28 b Fr(editing-mode)e Fs(v)-5 b(ariable)29 -b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 -518 y(ings)25 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f -(up)f(in)h(Emacs)g(editing)h(mo)s(de,)1110 628 y(where)j(the)g(k)m -(eystrok)m(es)i(are)e(most)h(similar)f(to)h(Emacs.)40 -b(This)29 b(v)-5 b(ariable)30 b(can)1110 737 y(b)s(e)g(set)h(to)g -(either)g(`)p Fr(emacs)p Fs(')e(or)h(`)p Fr(vi)p Fs('.)630 -883 y Fr(echo-control-characters)1110 993 y Fs(When)g(set)h(to)g(`)p +b(Command)29 b(Line)i(Editing)2153 b(6)1110 299 y(an)24 +b Fr(ESC)g Fs(c)m(haracter,)j(con)m(v)m(erting)f(them)f(to)g(a)g +(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 408 y(The)30 +b(default)g(v)-5 b(alue)31 b(is)g(`)p Fr(on)p Fs('.)630 +555 y Fr(disable-completion)1110 664 y Fs(If)36 b(set)h(to)h(`)p +Fr(On)p Fs(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60 +b(Completion)1110 774 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h +(in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110 +883 y(to)31 b Fr(self-insert)p Fs(.)38 b(The)30 b(default)g(is)h(`)p +Fr(off)p Fs('.)630 1029 y Fr(editing-mode)1110 1139 y +Fs(The)d Fr(editing-mode)e Fs(v)-5 b(ariable)29 b(con)m(trols)h(whic)m +(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1249 y(ings)25 +b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h +(Emacs)g(editing)h(mo)s(de,)1110 1358 y(where)j(the)g(k)m(eystrok)m(es) +i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5 +b(ariable)30 b(can)1110 1468 y(b)s(e)g(set)h(to)g(either)g(`)p +Fr(emacs)p Fs(')e(or)h(`)p Fr(vi)p Fs('.)630 1614 y Fr +(echo-control-characters)1110 1724 y Fs(When)g(set)h(to)g(`)p Fr(on)p Fs(',)f(on)g(op)s(erating)h(systems)f(that)h(indicate)g(they)g -(supp)s(ort)1110 1103 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m +(supp)s(ort)1110 1833 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m (haracter)h(corresp)s(onding)d(to)j(a)f(signal)g(generated)1110 -1212 y(from)e(the)g(k)m(eyb)s(oard.)41 b(The)30 b(default)g(is)h(`)p -Fr(on)p Fs('.)630 1358 y Fr(enable-keypad)1110 1468 y +1943 y(from)e(the)g(k)m(eyb)s(oard.)41 b(The)30 b(default)g(is)h(`)p +Fr(on)p Fs('.)630 2089 y Fr(enable-keypad)1110 2198 y Fs(When)23 b(set)h(to)g(`)p Fr(on)p Fs(',)h(Readline)f(will)g(try)f(to) -h(enable)g(the)f(application)i(k)m(eypad)1110 1577 y(when)h(it)h(is)f +h(enable)g(the)f(application)i(k)m(eypad)1110 2308 y(when)h(it)h(is)f (called.)41 b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g -(arro)m(w)g(k)m(eys.)1110 1687 y(The)j(default)g(is)h(`)p -Fr(off)p Fs('.)630 1833 y Fr(enable-meta-key)1110 1943 +(arro)m(w)g(k)m(eys.)1110 2418 y(The)j(default)g(is)h(`)p +Fr(off)p Fs('.)630 2564 y Fr(enable-meta-key)1110 2673 y Fs(When)40 b(set)g(to)g(`)p Fr(on)p Fs(',)j(Readline)d(will)g(try)g -(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2052 +(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2783 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h(is)g -(called.)76 b(On)41 b(man)m(y)1110 2162 y(terminals,)c(the)e(meta)h(k)m +(called.)76 b(On)41 b(man)m(y)1110 2892 y(terminals,)c(the)e(meta)h(k)m (ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56 -b(The)1110 2271 y(default)31 b(is)f(`)p Fr(on)p Fs('.)630 -2418 y Fr(expand-tilde)1110 2527 y Fs(If)d(set)h(to)h(`)p +b(The)1110 3002 y(default)31 b(is)f(`)p Fr(on)p Fs('.)630 +3148 y Fr(expand-tilde)1110 3258 y Fs(If)d(set)h(to)h(`)p Fr(on)p Fs(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h -(Readline)h(attempts)1110 2637 y(w)m(ord)i(completion.)42 -b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)630 2783 -y Fr(history-preserve-point)1110 2892 y Fs(If)41 b(set)h(to)h(`)p +(Readline)h(attempts)1110 3367 y(w)m(ord)i(completion.)42 +b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)630 3513 +y Fr(history-preserve-point)1110 3623 y Fs(If)41 b(set)h(to)h(`)p Fr(on)p Fs(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f -(p)s(oin)m(t)f(\(the)1110 3002 y(curren)m(t)35 b(cursor)g(p)s +(p)s(oin)m(t)f(\(the)1110 3733 y(curren)m(t)35 b(cursor)g(p)s (osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g -(line)1110 3112 y(retriev)m(ed)h(with)f Fr(previous-history)c +(line)1110 3842 y(retriev)m(ed)h(with)f Fr(previous-history)c Fs(or)37 b Fr(next-history)p Fs(.)55 b(The)36 b(default)1110 -3221 y(is)30 b(`)p Fr(off)p Fs('.)630 3367 y Fr(history-size)1110 -3477 y Fs(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g -(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 3587 -y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g -(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110 -3696 y(limited.)630 3842 y Fr(horizontal-scroll-mode)1110 -3952 y Fs(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f -(`)p Fr(on)p Fs(')g(or)g(`)p Fr(off)p Fs('.)57 b(Setting)36 -b(it)g(to)h(`)p Fr(on)p Fs(')1110 4061 y(means)26 b(that)h(the)f(text)h +3952 y(is)30 b(`)p Fr(off)p Fs('.)630 4098 y Fr(history-size)1110 +4208 y Fs(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g +(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 4317 +y(list.)51 b(If)34 b(set)g(to)h(zero,)g(an)m(y)f(existing)h(history)f +(en)m(tries)g(are)g(deleted)h(and)e(no)1110 4427 y(new)e(en)m(tries)i +(are)f(sa)m(v)m(ed.)46 b(If)31 b(set)h(to)h(a)f(v)-5 +b(alue)32 b(less)g(than)f(zero,)i(the)f(n)m(um)m(b)s(er)1110 +4536 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42 +b(By)30 b(default,)h(the)g(n)m(um)m(b)s(er)e(of)i(history)1110 +4646 y(en)m(tries)g(is)g(not)f(limited.)630 4792 y Fr +(horizontal-scroll-mode)1110 4902 y Fs(This)35 b(v)-5 +b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p +Fr(on)p Fs(')g(or)g(`)p Fr(off)p Fs('.)57 b(Setting)36 +b(it)g(to)h(`)p Fr(on)p Fs(')1110 5011 y(means)26 b(that)h(the)f(text)h (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m -(tally)1110 4171 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i -(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 4281 +(tally)1110 5121 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i +(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 5230 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g -(line.)39 b(By)27 b(default,)g(this)1110 4390 y(v)-5 -b(ariable)31 b(is)g(set)f(to)i(`)p Fr(off)p Fs('.)630 -4536 y Fr(input-meta)1110 4646 y Fs(If)f(set)g(to)h(`)p -Fr(on)p Fs(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it) -i(will)f(not)h(clear)1110 4756 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h -(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110 -4865 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68 -b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fr(off)p -Fs('.)69 b(The)1110 4975 y(name)30 b Fr(meta-flag)e Fs(is)j(a)f(synon)m -(ym)g(for)g(this)h(v)-5 b(ariable.)630 5121 y Fr(isearch-terminators) -1110 5230 y Fs(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e -(terminate)j(an)f(incremen)m(tal)1110 5340 y(searc)m(h)25 -b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g -(command)p eop end +(line.)39 b(By)27 b(default,)g(this)1110 5340 y(v)-5 +b(ariable)31 b(is)g(set)f(to)i(`)p Fr(off)p Fs('.)p eop +end %%Page: 7 11 TeXDict begin 7 10 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(7)1110 299 y(\(see)45 -b(Section)h(1.2.5)g([Searc)m(hing],)j(page)d(3\).)84 -b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110 408 +b(Command)29 b(Line)i(Editing)2153 b(7)630 299 y Fr(input-meta)1110 +408 y Fs(If)31 b(set)g(to)h(`)p Fr(on)p Fs(',)g(Readline)g(will)f +(enable)h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110 +518 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f +(reads\),)j(regardless)c(of)h(what)g(the)1110 628 y(terminal)g(claims)h +(it)g(can)f(supp)s(ort.)68 b(The)39 b(default)h(v)-5 +b(alue)40 b(is)g(`)p Fr(off)p Fs('.)69 b(The)1110 737 +y(name)30 b Fr(meta-flag)e Fs(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5 +b(ariable.)630 894 y Fr(isearch-terminators)1110 1003 +y Fs(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j +(an)f(incremen)m(tal)1110 1113 y(searc)m(h)25 b(without)g(subsequen)m +(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110 +1223 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j(page)d(3\).)84 +b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110 1332 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h Fr(ESC)d Fs(and)h Fk(C-J)g Fs(will)h(terminate)g(an)1110 -518 y(incremen)m(tal)c(searc)m(h.)630 689 y Fr(keymap)192 +1442 y(incremen)m(tal)c(searc)m(h.)630 1598 y Fr(keymap)192 b Fs(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h -(for)g(k)m(ey)g(binding)f(com-)1110 798 y(mands.)81 b(Acceptable)47 -b Fr(keymap)42 b Fs(names)i(are)h Fr(emacs)p Fs(,)i Fr(emacs-standard)p -Fs(,)1110 908 y Fr(emacs-meta)p Fs(,)99 b Fr(emacs-ctlx)p -Fs(,)f Fr(vi)p Fs(,)j Fr(vi-move)p Fs(,)f Fr(vi-command)p -Fs(,)f(and)1110 1017 y Fr(vi-insert)p Fs(.)64 b Fr(vi)38 -b Fs(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fr(vi-command)p -Fs(;)i Fr(emacs)c Fs(is)i(equiv)-5 b(alen)m(t)1110 1127 -y(to)33 b Fr(emacs-standard)p Fs(.)41 b(The)31 b(default)h(v)-5 +(for)g(k)m(ey)g(binding)f(com-)1110 1708 y(mands.)81 +b(Acceptable)47 b Fr(keymap)42 b Fs(names)i(are)h Fr(emacs)p +Fs(,)i Fr(emacs-standard)p Fs(,)1110 1817 y Fr(emacs-meta)p +Fs(,)99 b Fr(emacs-ctlx)p Fs(,)f Fr(vi)p Fs(,)j Fr(vi-move)p +Fs(,)f Fr(vi-command)p Fs(,)f(and)1110 1927 y Fr(vi-insert)p +Fs(.)64 b Fr(vi)38 b Fs(is)h(equiv)-5 b(alen)m(t)41 b(to)e +Fr(vi-command)p Fs(;)i Fr(emacs)c Fs(is)i(equiv)-5 b(alen)m(t)1110 +2037 y(to)33 b Fr(emacs-standard)p Fs(.)41 b(The)31 b(default)h(v)-5 b(alue)32 b(is)g Fr(emacs)p Fs(.)44 b(The)31 b(v)-5 b(alue)33 -b(of)f(the)1110 1236 y Fr(editing-mode)27 b Fs(v)-5 b(ariable)31 -b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 1407 -y Fr(mark-directories)1110 1517 y Fs(If)38 b(set)g(to)h(`)p -Fr(on)p Fs(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash) -g(app)s(ended.)1110 1626 y(The)30 b(default)g(is)h(`)p -Fr(on)p Fs('.)630 1797 y Fr(mark-modified-lines)1110 -1906 y Fs(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p -Fr(on)p Fs(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 -2016 y(terisk)f(\(`)p Fr(*)p Fs('\))h(at)f(the)g(start)g(of)g(history)g -(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 -2125 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fr(off)p Fs(')g(b)m(y)g -(default.)630 2296 y Fr(mark-symlinked-directori)o(es)1110 -2405 y Fs(If)44 b(set)h(to)h(`)p Fr(on)p Fs(',)i(completed)e(names)f -(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110 -2515 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5 -b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fr(mark-)1110 -2625 y(directories)p Fs(\).)38 b(The)30 b(default)g(is)h(`)p -Fr(off)p Fs('.)630 2795 y Fr(match-hidden-files)1110 -2905 y Fs(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p -Fr(on)p Fs(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose) -1110 3014 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fr(.)p -Fs(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 -3124 y(completion.)75 b(If)41 b(set)g(to)h(`)p Fr(off)p -Fs(',)i(the)e(leading)g(`)p Fr(.)p Fs(')f(m)m(ust)g(b)s(e)g(supplied)f -(b)m(y)1110 3233 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f -(completed.)53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p -Fr(on)p Fs(')g(b)m(y)1110 3343 y(default.)630 3513 y -Fr(menu-complete-display-pr)o(efix)1110 3623 y Fs(If)f(set)h(to)g(`)p -Fr(on)p Fs(',)h(men)m(u)e(completion)i(displa)m(ys)e(the)h(common)g -(pre\014x)e(of)i(the)1110 3733 y(list)k(of)g(p)s(ossible)f(completions) -i(\(whic)m(h)e(ma)m(y)h(b)s(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 -3842 y(through)30 b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p -Fr(off)p Fs('.)630 4013 y Fr(output-meta)1110 4122 y -Fs(If)35 b(set)h(to)g(`)p Fr(on)p Fs(',)h(Readline)f(will)g(displa)m(y) -f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 4232 -y(set)h(directly)g(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s -(e)h(sequence.)59 b(The)1110 4341 y(default)31 b(is)f(`)p -Fr(off)p Fs('.)630 4512 y Fr(page-completions)1110 4622 -y Fs(If)j(set)i(to)f(`)p Fr(on)p Fs(',)h(Readline)g(uses)e(an)h(in)m -(ternal)h Fr(more)p Fs(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 -4731 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) -47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fr(on)p Fs(')1110 -4841 y(b)m(y)e(default.)630 5011 y Fr(print-completions-horizo)o(ntal)o -(ly)1110 5121 y Fs(If)23 b(set)i(to)g(`)p Fr(on)p Fs(',)g(Readline)g -(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 -5230 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c -(than)g(do)m(wn)g(the)h(screen.)1110 5340 y(The)30 b(default)g(is)h(`)p -Fr(off)p Fs('.)p eop end +b(of)f(the)1110 2146 y Fr(editing-mode)27 b Fs(v)-5 b(ariable)31 +b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 2303 +y Fr(keyseq-timeout)1110 2412 y Fs(Sp)s(eci\014es)25 +b(the)g(duration)g(Readline)h(will)g(w)m(ait)g(for)g(a)f(c)m(haracter)i +(when)e(read-)1110 2522 y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h +(sequence)f(\(one)g(that)h(can)f(form)g(a)g(complete)h(k)m(ey)1110 +2632 y(sequence)j(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f +(tak)m(e)i(additional)f(input)1110 2741 y(to)g(complete)g(a)f(longer)h +(k)m(ey)f(sequence\).)49 b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h +(within)1110 2851 y(the)43 b(timeout,)48 b(Readline)43 +b(will)g(use)g(the)g(shorter)g(but)f(complete)j(k)m(ey)e(se-)1110 +2960 y(quence.)c(Readline)26 b(uses)f(this)h(v)-5 b(alue)26 +b(to)g(determine)g(whether)f(or)g(not)h(input)1110 3070 +y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m(t)f(input)g +(source)h(\()p Fr(rl_instream)d Fs(b)m(y)i(default\).)1110 +3180 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h +(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that) +1110 3289 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g +(additional)i(input.)37 b(If)22 b(this)g(v)-5 b(ariable)23 +b(is)1110 3399 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f +(equal)i(to)f(zero,)i(or)e(to)g(a)h(non-n)m(umeric)e(v)-5 +b(alue,)1110 3508 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h +(k)m(ey)g(is)f(pressed)g(to)h(decide)f(whic)m(h)g(k)m(ey)1110 +3618 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5 +b(alue)31 b(is)g Fr(500)p Fs(.)630 3774 y Fr(mark-directories)1110 +3884 y Fs(If)38 b(set)g(to)h(`)p Fr(on)p Fs(',)i(completed)e(directory) +f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110 +3994 y(The)30 b(default)g(is)h(`)p Fr(on)p Fs('.)630 +4150 y Fr(mark-modified-lines)1110 4260 y Fs(This)k(v)-5 +b(ariable,)38 b(when)d(set)h(to)h(`)p Fr(on)p Fs(',)g(causes)g +(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4369 y(terisk)f(\(`)p +Fr(*)p Fs('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f +(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 4479 y(This)d(v)-5 +b(ariable)31 b(is)f(`)p Fr(off)p Fs(')g(b)m(y)g(default.)630 +4635 y Fr(mark-symlinked-directori)o(es)1110 4745 y Fs(If)59 +b(set)h(to)g(`)p Fr(on)p Fs(',)67 b(completed)60 b(names)f(whic)m(h)g +(are)h(sym)m(b)s(olic)g(links)f(to)1110 4855 y(directories)71 +b(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)f(\(sub)5 b(ject)70 +b(to)g(the)g(v)-5 b(alue)70 b(of)1110 4964 y Fr(mark-directories)p +Fs(\).)37 b(The)30 b(default)g(is)g(`)p Fr(off)p Fs('.)630 +5121 y Fr(match-hidden-files)1110 5230 y Fs(This)21 b(v)-5 +b(ariable,)25 b(when)d(set)g(to)h(`)p Fr(on)p Fs(',)h(causes)f +(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 5340 +y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fr(.)p Fs(')g(\(hidden)f +(\014les\))i(when)e(p)s(erforming)g(\014lename)p eop +end %%Page: 8 12 TeXDict begin 8 11 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fr -(revert-all-at-newline)1110 408 y Fs(If)29 b(set)h(to)g(`)p -Fr(on)p Fs(',)g(Readline)g(will)g(undo)f(all)h(c)m(hanges)h(to)f -(history)g(lines)f(b)s(efore)1110 518 y(returning)f(when)f -Fr(accept-line)f Fs(is)j(executed.)41 b(By)29 b(default,)g(history)g -(lines)1110 628 y(ma)m(y)42 b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i -(individual)e(undo)g(lists)h(across)g(calls)h(to)1110 -737 y Fr(readline)p Fs(.)38 b(The)30 b(default)h(is)f(`)p -Fr(off)p Fs('.)630 902 y Fr(show-all-if-ambiguous)1110 -1011 y Fs(This)f(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h -(completion)g(functions.)40 b(If)29 b(set)1110 1121 y(to)f(`)p -Fr(on)p Fs(',)g(w)m(ords)f(whic)m(h)g(ha)m(v)m(e)i(more)f(than)f(one)h -(p)s(ossible)f(completion)h(cause)1110 1230 y(the)39 -b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i(instead)e(of)g -(ringing)g(the)g(b)s(ell.)1110 1340 y(The)30 b(default)g(v)-5 -b(alue)31 b(is)g(`)p Fr(off)p Fs('.)630 1504 y Fr -(show-all-if-unmodified)1110 1614 y Fs(This)38 b(alters)h(the)g -(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a) -1110 1724 y(fashion)25 b(similar)g(to)h Fi(sho)m(w-all-if-am)m(biguous) -t Fs(.)41 b(If)24 b(set)i(to)f(`)p Fr(on)p Fs(',)i(w)m(ords)d(whic)m(h) -1110 1833 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e -(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110 -1943 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h -(don't)f(share)g(a)h(common)1110 2052 y(pre\014x\))30 -b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i -(instead)e(of)h(ring-)1110 2162 y(ing)g(the)f(b)s(ell.)41 +b(Command)29 b(Line)i(Editing)2153 b(8)1110 299 y(completion.)75 +b(If)41 b(set)g(to)h(`)p Fr(off)p Fs(',)i(the)e(leading)g(`)p +Fr(.)p Fs(')f(m)m(ust)g(b)s(e)g(supplied)f(b)m(y)1110 +408 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f(completed.) +53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p Fr(on)p Fs(')g(b)m(y)1110 +518 y(default.)630 664 y Fr(menu-complete-display-pr)o(efix)1110 +774 y Fs(If)f(set)h(to)g(`)p Fr(on)p Fs(',)h(men)m(u)e(completion)i +(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110 +883 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)s +(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 993 y(through)30 +b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Fr(off)p +Fs('.)630 1139 y Fr(output-meta)1110 1249 y Fs(If)35 +b(set)h(to)g(`)p Fr(on)p Fs(',)h(Readline)f(will)g(displa)m(y)f(c)m +(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1358 y(set)h(directly)g +(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 +b(The)1110 1468 y(default)31 b(is)f(`)p Fr(off)p Fs('.)630 +1614 y Fr(page-completions)1110 1724 y Fs(If)j(set)i(to)f(`)p +Fr(on)p Fs(',)h(Readline)g(uses)e(an)h(in)m(ternal)h +Fr(more)p Fs(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 +1833 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) +47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fr(on)p Fs(')1110 +1943 y(b)m(y)e(default.)630 2089 y Fr(print-completions-horizo)o(ntal)o +(ly)1110 2198 y Fs(If)23 b(set)i(to)g(`)p Fr(on)p Fs(',)g(Readline)g +(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 +2308 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c +(than)g(do)m(wn)g(the)h(screen.)1110 2418 y(The)30 b(default)g(is)h(`)p +Fr(off)p Fs('.)630 2564 y Fr(revert-all-at-newline)1110 +2673 y Fs(If)e(set)h(to)g(`)p Fr(on)p Fs(',)g(Readline)g(will)g(undo)f +(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 +2783 y(returning)f(when)f Fr(accept-line)f Fs(is)j(executed.)41 +b(By)29 b(default,)g(history)g(lines)1110 2892 y(ma)m(y)42 +b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h +(across)g(calls)h(to)1110 3002 y Fr(readline)p Fs(.)38 +b(The)30 b(default)h(is)f(`)p Fr(off)p Fs('.)630 3148 +y Fr(show-all-if-ambiguous)1110 3258 y Fs(This)f(alters)i(the)f +(default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40 +b(If)29 b(set)1110 3367 y(to)f(`)p Fr(on)p Fs(',)g(w)m(ords)f(whic)m(h) +g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause) +1110 3477 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i +(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 3587 y(The)30 +b(default)g(v)-5 b(alue)31 b(is)g(`)p Fr(off)p Fs('.)630 +3733 y Fr(show-all-if-unmodified)1110 3842 y Fs(This)38 +b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h +(functions)e(in)h(a)1110 3952 y(fashion)25 b(similar)h(to)g +Fi(sho)m(w-all-if-am)m(biguous)p Fs(.)41 b(If)25 b(set)h(to)h(`)p +Fr(on)p Fs(',)f(w)m(ords)f(whic)m(h)1110 4061 y(ha)m(v)m(e)32 +b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s +(ossible)f(par-)1110 4171 y(tial)43 b(completion)h(\(the)f(p)s(ossible) +f(completions)h(don't)f(share)g(a)h(common)1110 4281 +y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g +(immediately)i(instead)e(of)h(ring-)1110 4390 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fr(off)p -Fs('.)630 2326 y Fr(skip-completed-text)1110 2436 y Fs(If)i(set)i(to)f -(`)p Fr(on)p Fs(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s -(eha)m(vior)f(when)f(in-)1110 2545 y(serting)d(a)h(single)g(matc)m(h)f -(in)m(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s -(erform-)1110 2655 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f -(w)m(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110 -2765 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h -(that)f(matc)m(h)g(c)m(haracters)1110 2874 y(after)c(p)s(oin)m(t)g(in)g -(the)g(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g -(w)m(ord)1110 2984 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g -(duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 -3093 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g -(after)h(the)g(`)p Fr(e)p Fs(')f(in)1110 3203 y(`)p Fr(Makefile)p +Fs('.)630 4536 y Fr(show-mode-in-prompt)1110 4646 y Fs(If)35 +b(set)i(to)f(`)p Fr(on)p Fs(',)h(add)e(a)h(c)m(haracter)i(to)e(the)g(b) +s(eginning)f(of)h(the)g(prompt)f(in-)1110 4756 y(dicating)43 +b(the)f(editing)h(mo)s(de:)63 b(emacs)43 b(\(`)p Fr(@)p +Fs('\),)i(vi)d(command)g(\(`)p Fr(:)p Fs('\),)k(or)c(vi)1110 +4865 y(insertion)30 b(\(`)p Fr(+)p Fs('\).)42 b(The)30 +b(default)h(v)-5 b(alue)30 b(is)h(`)p Fr(off)p Fs('.)630 +5011 y Fr(skip-completed-text)1110 5121 y Fs(If)h(set)i(to)f(`)p +Fr(on)p Fs(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s(eha)m +(vior)f(when)f(in-)1110 5230 y(serting)d(a)h(single)g(matc)m(h)f(in)m +(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-) +1110 5340 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m +(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)p eop +end +%%Page: 9 13 +TeXDict begin 9 12 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(not)41 +b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g +(c)m(haracters)1110 408 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f(b) +s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110 +518 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45 +b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 +628 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g +(after)h(the)g(`)p Fr(e)p Fs(')f(in)1110 737 y(`)p Fr(Makefile)p Fs(')c(will)i(result)f(in)g(`)p Fr(Makefile)p Fs(')f(rather)h(than)h(`) -p Fr(Makefilefile)p Fs(',)1110 3313 y(assuming)d(there)g(is)h(a)f +p Fr(Makefilefile)p Fs(',)1110 847 y(assuming)d(there)g(is)h(a)f (single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5 -b(alue)1110 3422 y(is)30 b(`)p Fr(off)p Fs('.)630 3587 -y Fr(visible-stats)1110 3696 y Fs(If)h(set)i(to)f(`)p +b(alue)1110 956 y(is)30 b(`)p Fr(off)p Fs('.)630 1113 +y Fr(visible-stats)1110 1223 y Fs(If)h(set)i(to)f(`)p Fr(on)p Fs(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s -(e)g(is)g(app)s(ended)e(to)j(the)1110 3806 y(\014lename)e(when)e +(e)g(is)g(app)s(ended)e(to)j(the)1110 1332 y(\014lename)e(when)e (listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p -Fr(off)p Fs('.)150 3970 y(Key)f(Bindings)630 4080 y(The)41 +Fr(off)p Fs('.)150 1489 y(Key)f(Bindings)630 1598 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g (init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630 -4189 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i +1708 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i (y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630 -4299 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j +1817 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j (the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630 -4408 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h -(do)s(es.)630 4545 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g +1927 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h +(do)s(es.)630 2060 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g (the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g(the)g(init)630 -4655 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h +2170 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h (bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630 -4765 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 +2279 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g -(and)630 4874 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m +(and)630 2389 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m (terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72 -b(The)40 b(name)h(of)630 4984 y(the)35 b(k)m(ey)g(can)g(b)s(e)f +b(The)40 b(name)h(of)630 2498 y(the)35 b(k)m(ey)g(can)g(b)s(e)f (expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h -(what)h(y)m(ou)g(\014nd)e(most)630 5093 y(comfortable.)630 -5230 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h +(what)h(y)m(ou)g(\014nd)e(most)630 2608 y(comfortable.)630 +2741 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h (k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 -5340 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g -(\(a)h Fi(macro)5 b Fs(\).)p eop end -%%Page: 9 13 -TeXDict begin 9 12 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fi(k)m(eyname)5 -b Fs(:)42 b Fi(function-name)35 b Fs(or)c Fi(macro)1110 -408 y(k)m(eyname)k Fs(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s +2851 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g +(\(a)h Fi(macro)5 b Fs(\).)630 3007 y Fi(k)m(eyname)g +Fs(:)42 b Fi(function-name)35 b Fs(or)c Fi(macro)1110 +3117 y(k)m(eyname)k Fs(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s (elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350 -541 y Fr(Control-u:)45 b(universal-argument)1350 651 -y(Meta-Rubout:)f(backward-kill-word)1350 760 y(Control-o:)h(">)i -(output")1110 893 y Fs(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h -Fk(C-u)d Fs(is)h(b)s(ound)d(to)k(the)e(function)h Fr(universal-)1110 -1003 y(argument)p Fs(,)f Fk(M-DEL)e Fs(is)i(b)s(ound)e(to)i(the)g -(function)g Fr(backward-kill-word)p Fs(,)1110 1112 y(and)g -Fk(C-o)g Fs(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f -(the)i(righ)m(t)f(hand)1110 1222 y(side)30 b(\(that)i(is,)e(to)h -(insert)g(the)f(text)i(`)p Fr(>)e(output)p Fs(')f(in)m(to)i(the)g -(line\).)1110 1355 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m -(haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110 -1465 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37 -b Fi(DEL)p Fs(,)22 b Fi(ESC)8 b Fs(,)20 b Fi(ESCAPE)5 -b Fs(,)21 b Fi(LFD)5 b Fs(,)22 b Fi(NEW-)1110 1574 y(LINE)5 -b Fs(,)31 b Fi(RET)7 b Fs(,)29 b Fi(RETURN)10 b Fs(,)30 -b Fi(R)m(UBOUT)7 b Fs(,)31 b Fi(SP)-8 b(A)m(CE)5 b Fs(,)31 -b Fi(SPC)8 b Fs(,)29 b(and)h Fi(T)-8 b(AB)5 b Fs(.)630 -1730 y Fr(")p Fi(k)m(eyseq)r Fr(")p Fs(:)41 b Fi(function-name)36 -b Fs(or)30 b Fi(macro)1110 1840 y(k)m(eyseq)k Fs(di\013ers)d(from)f +3250 y Fr(Control-u:)45 b(universal-argument)1350 3360 +y(Meta-Rubout:)f(backward-kill-word)1350 3469 y(Control-o:)h(">)i +(output")1110 3602 y Fs(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111 +b Fk(C-u)94 b Fs(is)g(b)s(ound)f(to)i(the)f(function)1110 +3712 y Fr(universal-argument)p Fs(,)124 b Fk(M-DEL)107 +b Fs(is)i(b)s(ound)e(to)j(the)f(function)1110 3821 y +Fr(backward-kill-word)p Fs(,)75 b(and)69 b Fk(C-o)g Fs(is)h(b)s(ound)e +(to)j(run)d(the)i(macro)1110 3931 y(expressed)45 b(on)h(the)g(righ)m(t) +g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p +Fr(>)1110 4041 y(output)p Fs(')29 b(in)m(to)i(the)g(line\).)1110 +4174 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m(haracter)g +(names)f(are)g(recognized)h(while)1110 4283 y(pro)s(cessing)40 +b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 b Fi(DEL)p +Fs(,)42 b Fi(ESC)p Fs(,)g Fi(ESCAPE)p Fs(,)f Fi(LFD)p +Fs(,)1110 4393 y Fi(NEWLINE)p Fs(,)31 b Fi(RET)p Fs(,)f +Fi(RETURN)p Fs(,)g Fi(R)m(UBOUT)p Fs(,)h Fi(SP)-8 b(A)m(CE)p +Fs(,)31 b Fi(SPC)p Fs(,)e(and)h Fi(T)-8 b(AB)p Fs(.)630 +4549 y Fr(")p Fi(k)m(eyseq)r Fr(")p Fs(:)41 b Fi(function-name)36 +b Fs(or)30 b Fi(macro)1110 4659 y(k)m(eyseq)k Fs(di\013ers)d(from)f Fi(k)m(eyname)37 b Fs(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f -(denoting)g(an)g(en-)1110 1949 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s +(denoting)g(an)g(en-)1110 4769 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s (e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in) -1110 2059 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h +1110 4878 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h Fs(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as) -1110 2169 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s -(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 2278 y(recognized.)1350 -2411 y Fr("\\C-u":)46 b(universal-argument)1350 2521 -y("\\C-x\\C-r":)f(re-read-init-file)1350 2630 y("\\e[11~":)g("Function) -h(Key)g(1")1110 2763 y Fs(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 -b Fk(C-u)64 b Fs(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110 -2873 y Fr(universal-argument)39 b Fs(\(just)k(as)h(it)g(w)m(as)g(in)g -(the)f(\014rst)g(example\),)49 b(`)p Fk(C-x)1110 2982 -y(C-r)p Fs(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f +1110 4988 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s +(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 5097 y(recognized.)1350 +5230 y Fr("\\C-u":)46 b(universal-argument)1350 5340 +y("\\C-x\\C-r":)f(re-read-init-file)p eop end +%%Page: 10 14 +TeXDict begin 10 13 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(10)1350 299 y Fr("\\e[11~":)45 +b("Function)h(Key)g(1")1110 447 y Fs(In)64 b(the)g(ab)s(o)m(v)m(e)i +(example,)74 b Fk(C-u)64 b Fs(is)g(again)i(b)s(ound)c(to)k(the)e +(function)1110 556 y Fr(universal-argument)39 b Fs(\(just)k(as)h(it)g +(w)m(as)g(in)g(the)f(\014rst)g(example\),)49 b(`)p Fk(C-x)1110 +666 y(C-r)p Fs(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f Fr(re-read-init-file)p Fs(,)c(and)j(`)p Fr(ESC)h([)g(1)g(1)1110 -3092 y(~)p Fs(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p -Fr(Function)e(Key)g(1)p Fs('.)630 3248 y(The)g(follo)m(wing)i +775 y(~)p Fs(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p +Fr(Function)e(Key)g(1)p Fs('.)630 961 y(The)g(follo)m(wing)i Fl(gnu)f Fs(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5 -b(ailable)32 b(when)d(sp)s(ecifying)630 3357 y(k)m(ey)i(sequences:)630 -3513 y Fk(\\C-)336 b Fs(con)m(trol)32 b(pre\014x)630 -3670 y Fk(\\M-)336 b Fs(meta)31 b(pre\014x)630 3826 y +b(ailable)32 b(when)d(sp)s(ecifying)630 1071 y(k)m(ey)i(sequences:)630 +1257 y Fk(\\C-)336 b Fs(con)m(trol)32 b(pre\014x)630 +1443 y Fk(\\M-)336 b Fs(meta)31 b(pre\014x)630 1629 y Fk(\\e)384 b Fs(an)30 b(escap)s(e)h(c)m(haracter)630 -3982 y Fk(\\\\)384 b Fs(bac)m(kslash)630 4138 y Fk(\\)p +1815 y Fk(\\\\)384 b Fs(bac)m(kslash)630 2001 y Fk(\\)p Fr(")g(")p Fs(,)30 b(a)h(double)f(quotation)i(mark)630 -4294 y Fk(\\')384 b Fr(')p Fs(,)30 b(a)h(single)g(quote)g(or)f(ap)s -(ostrophe)630 4450 y(In)d(addition)h(to)g(the)g Fl(gnu)f +2186 y Fk(\\')384 b Fr(')p Fs(,)30 b(a)h(single)g(quote)g(or)f(ap)s +(ostrophe)630 2372 y(In)d(addition)h(to)g(the)g Fl(gnu)f Fs(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g -(bac)m(kslash)630 4560 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 -4716 y Fr(\\a)384 b Fs(alert)31 b(\(b)s(ell\))630 4872 -y Fr(\\b)384 b Fs(bac)m(kspace)630 5028 y Fr(\\d)g Fs(delete)630 -5184 y Fr(\\f)g Fs(form)30 b(feed)630 5340 y Fr(\\n)384 -b Fs(newline)p eop end -%%Page: 10 14 -TeXDict begin 10 13 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(10)630 299 y Fr(\\r)384 -b Fs(carriage)32 b(return)630 451 y Fr(\\t)384 b Fs(horizon)m(tal)32 -b(tab)630 604 y Fr(\\v)384 b Fs(v)m(ertical)32 b(tab)630 -756 y Fr(\\)p Fk(nnn)288 b Fs(the)35 b(eigh)m(t-bit)h(c)m(haracter)g -(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 -b(alue)35 b Fi(nnn)e Fs(\(one)i(to)1110 866 y(three)c(digits\))630 -1018 y Fr(\\x)p Fk(HH)288 b Fs(the)40 b(eigh)m(t-bit)h(c)m(haracter)g -(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 -b(alue)40 b Fi(HH)1110 1128 y Fs(\(one)31 b(or)f(t)m(w)m(o)i(hex)e -(digits\))630 1280 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g -(macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to) -630 1390 y(indicate)23 b(a)e(macro)h(de\014nition.)38 -b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f -(name.)38 b(In)630 1499 y(the)22 b(macro)f(b)s(o)s(dy)-8 -b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m -(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 1609 y(will)j(quote)h(an)m -(y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 +(bac)m(kslash)630 2482 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 +2668 y Fr(\\a)384 b Fs(alert)31 b(\(b)s(ell\))630 2854 +y Fr(\\b)384 b Fs(bac)m(kspace)630 3040 y Fr(\\d)g Fs(delete)630 +3226 y Fr(\\f)g Fs(form)30 b(feed)630 3412 y Fr(\\n)384 +b Fs(newline)630 3597 y Fr(\\r)g Fs(carriage)32 b(return)630 +3783 y Fr(\\t)384 b Fs(horizon)m(tal)32 b(tab)630 3969 +y Fr(\\v)384 b Fs(v)m(ertical)32 b(tab)630 4155 y Fr(\\)p +Fk(nnn)288 b Fs(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 +b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fi(nnn)e +Fs(\(one)i(to)1110 4265 y(three)c(digits\))630 4451 y +Fr(\\x)p Fk(HH)288 b Fs(the)38 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e +(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 b(alue)39 +b Fi(HH)1110 4560 y Fs(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630 +4746 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e +(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630 +4856 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21 +b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38 +b(In)630 4965 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23 +b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j +(are)e(expanded.)37 b(Bac)m(kslash)630 5075 y(will)j(quote)h(an)m(y)f +(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 b(`)p Fr(")p Fs(')h(and)g(`)p Fr(')p Fs('.)69 b(F)-8 -b(or)630 1718 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i +b(or)630 5185 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i (mak)m(e)h(`)p Fk(C-x)j Fr(\\)p Fs(')c(insert)f(a)h(single)h(`)p -Fr(\\)p Fs(')f(in)m(to)g(the)g(line:)870 1849 y Fr("\\C-x\\\\":)45 -b("\\\\")150 2042 y Fh(1.3.2)63 b(Conditional)41 b(Init)g(Constructs) -150 2188 y Fs(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f -(in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150 -2298 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g -(bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s -(erformed)f(as)i(the)150 2408 y(result)f(of)h(tests.)41 -b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150 -2560 y Fr($if)336 b Fs(The)31 b Fr($if)f Fs(construct)i(allo)m(ws)h -(bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g -(the)630 2670 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g -(application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test) -630 2779 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m -(haracters)i(are)f(required)e(to)i(isolate)i(it.)630 -2932 y Fr(mode)288 b Fs(The)20 b Fr(mode=)g Fs(form)g(of)h(the)g -Fr($if)f Fs(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline) -1110 3041 y(is)29 b(in)h Fr(emacs)e Fs(or)h Fr(vi)g Fs(mo)s(de.)40 -b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110 -3151 y(`)p Fr(set)h(keymap)p Fs(')c(command,)i(for)f(instance,)i(to)f -(set)g(bindings)f(in)g(the)h Fr(emacs-)1110 3260 y(standard)23 -b Fs(and)h Fr(emacs-ctlx)f Fs(k)m(eymaps)i(only)g(if)g(Readline)h(is)f -(starting)h(out)1110 3370 y(in)k Fr(emacs)f Fs(mo)s(de.)630 -3522 y Fr(term)288 b Fs(The)26 b Fr(term=)g Fs(form)g(ma)m(y)i(b)s(e)e -(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 -3632 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f -(output)g(b)m(y)g(the)g(terminal's)1110 3742 y(function)24 -b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g -(the)g(`)p Fr(=)p Fs(')g(is)g(tested)h(against)1110 3851 -y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s -(ortion)e(of)h(the)g(terminal)1110 3961 y(name)k(b)s(efore)f(the)g -(\014rst)g(`)p Fr(-)p Fs('.)50 b(This)33 b(allo)m(ws)i -Fr(sun)e Fs(to)h(matc)m(h)g(b)s(oth)f Fr(sun)g Fs(and)1110 -4070 y Fr(sun-cmd)p Fs(,)c(for)h(instance.)630 4223 y -Fr(application)1110 4332 y Fs(The)21 b Fi(application)j -Fs(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h -(set-)1110 4442 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h -(Readline)g(library)g(sets)g(the)g Fi(application)1110 -4551 y(name)5 b Fs(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h -(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to) -1110 4661 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g -(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 -4771 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey) -f(sequence)h(that)f(quotes)1110 4880 y(the)e(curren)m(t)f(or)g -(previous)g(w)m(ord)g(in)g(Bash:)1350 5011 y Fr($if)47 -b(Bash)1350 5121 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word) -1350 5230 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 5340 y($endif)p -eop end +Fr(\\)p Fs(')f(in)m(to)g(the)g(line:)870 5332 y Fr("\\C-x\\\\":)45 +b("\\\\")p eop end %%Page: 11 15 TeXDict begin 11 14 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(11)150 299 y Fr($endif)192 -b Fs(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous)g(example,)h -(terminates)g(an)g Fr($if)e Fs(command.)150 458 y Fr($else)240 -b Fs(Commands)29 b(in)h(this)h(branc)m(h)e(of)i(the)f -Fr($if)g Fs(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g(fails.) -150 618 y Fr($include)96 b Fs(This)43 b(directiv)m(e)i(tak)m(es)g(a)e -(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g(commands) -630 727 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 +b(Command)29 b(Line)i(Editing)2107 b(11)150 299 y Fh(1.3.2)63 +b(Conditional)41 b(Init)g(Constructs)150 446 y Fs(Readline)c(implemen)m +(ts)g(a)h(facilit)m(y)g(similar)f(in)g(spirit)f(to)i(the)f(conditional) +h(compilation)g(features)f(of)150 555 y(the)31 b(C)f(prepro)s(cessor)g +(whic)m(h)g(allo)m(ws)i(k)m(ey)g(bindings)d(and)h(v)-5 +b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s(erformed)f(as)i(the)150 +665 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f +(directiv)m(es)j(used.)150 824 y Fr($if)336 b Fs(The)31 +b Fr($if)f Fs(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i +(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630 934 +y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f +(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 1044 +y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m(haracters)i +(are)f(required)e(to)i(isolate)i(it.)630 1203 y Fr(mode)288 +b Fs(The)30 b Fr(mode=)e Fs(form)i(of)g(the)h Fr($if)e +Fs(directiv)m(e)j(is)e(used)f(to)i(test)g(whether)e(Read-)1110 +1313 y(line)44 b(is)f(in)g Fr(emacs)f Fs(or)h Fr(vi)g +Fs(mo)s(de.)79 b(This)42 b(ma)m(y)i(b)s(e)e(used)h(in)g(conjunction) +1110 1422 y(with)c(the)h(`)p Fr(set)29 b(keymap)p Fs(')38 +b(command,)k(for)d(instance,)j(to)e(set)g(bindings)e(in)1110 +1532 y(the)32 b Fr(emacs-standard)c Fs(and)j Fr(emacs-ctlx)d +Fs(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 1641 y(starting)f(out)g +(in)f Fr(emacs)f Fs(mo)s(de.)630 1801 y Fr(term)288 b +Fs(The)26 b Fr(term=)g Fs(form)g(ma)m(y)i(b)s(e)e(used)g(to)i(include)f +(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 1910 y(ings,)38 +b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f(output)g(b)m(y)g +(the)g(terminal's)1110 2020 y(function)24 b(k)m(eys.)39 +b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g(the)g(`)p +Fr(=)p Fs(')g(is)g(tested)h(against)1110 2130 y(b)s(oth)k(the)h(full)g +(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s(ortion)e(of)h(the)g +(terminal)1110 2239 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p +Fr(-)p Fs('.)50 b(This)33 b(allo)m(ws)i Fr(sun)e Fs(to)h(matc)m(h)g(b)s +(oth)f Fr(sun)g Fs(and)1110 2349 y Fr(sun-cmd)p Fs(,)c(for)h(instance.) +630 2508 y Fr(application)1110 2618 y Fs(The)21 b Fi(application)j +Fs(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h +(set-)1110 2727 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h +(Readline)g(library)g(sets)g(the)g Fi(application)1110 +2837 y(name)p Fs(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h +(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)1110 +2946 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h +(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 3056 +y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f +(sequence)h(that)f(quotes)1110 3166 y(the)e(curren)m(t)f(or)g(previous) +g(w)m(ord)g(in)g(Bash:)1350 3300 y Fr($if)47 b(Bash)1350 +3410 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350 +3519 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3629 y($endif)150 +3788 y($endif)192 b Fs(This)29 b(command,)i(as)f(seen)h(in)f(the)g +(previous)g(example,)h(terminates)g(an)g Fr($if)e Fs(command.)150 +3948 y Fr($else)240 b Fs(Commands)29 b(in)h(this)h(branc)m(h)e(of)i +(the)f Fr($if)g Fs(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g +(fails.)150 4107 y Fr($include)96 b Fs(This)43 b(directiv)m(e)i(tak)m +(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g +(commands)630 4217 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e -(from)630 837 y(`)p Fr(/etc/inputrc)p Fs(':)870 971 y -Fr($include)46 b(/etc/inputrc)150 1171 y Fh(1.3.3)63 -b(Sample)41 b(Init)g(File)150 1318 y Fs(Here)27 b(is)f(an)h(example)g -(of)f(an)h Fi(inputrc)k Fs(\014le.)39 b(This)26 b(illustrates)h(k)m(ey) -h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150 -1427 y(conditional)j(syn)m(tax.)p eop end +(from)630 4326 y Fr(/etc/inputrc)p Fs(:)870 4461 y Fr($include)46 +b(/etc/inputrc)150 4660 y Fh(1.3.3)63 b(Sample)41 b(Init)g(File)150 +4807 y Fs(Here)27 b(is)f(an)h(example)g(of)f(an)h Fi(inputrc)k +Fs(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)h(binding,)e(v)-5 +b(ariable)27 b(assignmen)m(t,)i(and)150 4917 y(conditional)j(syn)m +(tax.)p eop end %%Page: 12 16 TeXDict begin 12 15 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(Command)29 b(Line)i(Editing)2107 b(12)390 408 y Fr(#)47 @@ -4866,13 +7662,13 @@ b(This)g(file)g(controls)e(the)i(behaviour)e(of)j(line)e(input)h g(FTP,)g(Bash,)h(and)g(GDB.)390 737 y(#)390 847 y(#)g(You)g(can)g (re-read)f(the)h(inputrc)f(file)g(with)h(C-x)g(C-r.)390 956 y(#)g(Lines)g(beginning)e(with)i('#')g(are)g(comments.)390 -1066 y(#)390 1176 y(#)g(First,)g(include)e(any)i(systemwide)e(bindings) -h(and)h(variable)390 1285 y(#)g(assignments)e(from)i(/etc/Inputrc)390 -1395 y($include)f(/etc/Inputrc)390 1614 y(#)390 1724 -y(#)h(Set)g(various)f(bindings)g(for)h(emacs)f(mode.)390 -1943 y(set)h(editing-mode)d(emacs)390 2162 y($if)j(mode=emacs)390 +1066 y(#)390 1176 y(#)g(First,)g(include)e(any)i(system-wide)e +(bindings)h(and)g(variable)390 1285 y(#)h(assignments)e(from)i +(/etc/Inputrc)390 1395 y($include)f(/etc/Inputrc)390 +1614 y(#)390 1724 y(#)h(Set)g(various)f(bindings)g(for)h(emacs)f(mode.) +390 1943 y(set)h(editing-mode)d(emacs)390 2162 y($if)j(mode=emacs)390 2381 y(Meta-Control-h:)91 b(backward-kill-word)43 b(Text)k(after)f(the) -h(function)f(name)g(is)h(ignored)p 3971 2401 42 76 v +h(function)f(name)g(is)h(ignored)p 3970 2401 42 76 v 390 2600 a(#)390 2710 y(#)g(Arrow)g(keys)f(in)i(keypad)e(mode)390 2819 y(#)390 2929 y(#"\\M-OD":)379 b(backward-char)390 3039 y(#"\\M-OC":)g(forward-char)390 3148 y(#"\\M-OA":)g @@ -4976,404 +7772,436 @@ TeXDict begin 15 18 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(Command)29 b(Line)i(Editing)2107 b(15)150 299 y Fr(next-history)27 b(\(C-n\))630 408 y Fs(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i (history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150 -573 y Fr(beginning-of-history)25 b(\(M-<\))630 682 y +558 y Fr(beginning-of-history)25 b(\(M-<\))630 667 y Fs(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8 -b(.)150 847 y Fr(end-of-history)26 b(\(M->\))630 956 +b(.)150 817 y Fr(end-of-history)26 b(\(M->\))630 927 y Fs(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150 -1121 y Fr(reverse-search-history)24 b(\(C-r\))630 1230 +1076 y Fr(reverse-search-history)24 b(\(C-r\))630 1186 y Fs(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g (line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630 -1340 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m -(tal)i(searc)m(h.)150 1504 y Fr(forward-search-history)24 -b(\(C-s\))630 1614 y Fs(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g +1295 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m +(tal)i(searc)m(h.)150 1445 y Fr(forward-search-history)24 +b(\(C-s\))630 1554 y Fs(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g (the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')f(through)g(the) -h(the)630 1724 y(history)g(as)h(necessary)-8 b(.)41 b(This)30 -b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1888 y Fr +h(the)630 1664 y(history)g(as)h(necessary)-8 b(.)41 b(This)30 +b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1813 y Fr (non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24 -b(\(M-p\))630 1998 y Fs(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g +b(\(M-p\))630 1923 y Fs(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g (the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g -(his-)630 2107 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m +(his-)630 2032 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m (tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630 -2217 y(user.)150 2381 y Fr(non-incremental-forward-)o(sear)o(ch-h)o -(ist)o(ory)24 b(\(M-n\))630 2491 y Fs(Searc)m(h)30 b(forw)m(ard)f +2142 y(user.)150 2291 y Fr(non-incremental-forward-)o(sear)o(ch-h)o +(ist)o(ory)24 b(\(M-n\))630 2401 y Fs(Searc)m(h)30 b(forw)m(ard)f (starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn') -f(through)g(the)h(the)630 2600 y(history)d(as)f(necessary)i(using)e(a)h +f(through)g(the)h(the)630 2511 y(history)d(as)f(necessary)i(using)e(a)h (non-incremen)m(tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i -(the)630 2710 y(user.)150 2874 y Fr(history-search-forward)d(\(\))630 -2984 y Fs(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g +(the)630 2620 y(user.)150 2770 y Fr(history-search-forward)d(\(\))630 +2879 y Fs(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g (the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630 -3093 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m -(t.)55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56 -b(By)630 3203 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150 -3367 y Fr(history-search-backward)24 b(\(\))630 3477 +2989 y(start)36 b(of)h(the)f(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m +(t.)58 b(The)35 b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the) +630 3098 y(b)s(eginning)32 b(of)g(a)h(history)g(line.)47 +b(This)32 b(is)h(a)f(non-incremen)m(tal)i(searc)m(h.)48 +b(By)33 b(default,)g(this)630 3208 y(command)d(is)h(un)m(b)s(ound.)150 +3357 y Fr(history-search-backward)24 b(\(\))630 3467 y Fs(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g (the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 -3587 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.) -55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56 -b(By)630 3696 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150 -3861 y Fr(yank-nth-arg)c(\(M-C-y\))630 3970 y Fs(Insert)37 -b(the)g(\014rst)f(argumen)m(t)i(to)f(the)h(previous)e(command)h -(\(usually)g(the)g(second)g(w)m(ord)630 4080 y(on)32 -b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 b(With)32 -b(an)g(argumen)m(t)g Fi(n)p Fs(,)g(insert)g(the)g Fi(n)p -Fs(th)f(w)m(ord)g(from)630 4189 y(the)k(previous)f(command)h(\(the)g(w) -m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630 -4299 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f +3577 y(start)g(of)h(the)f(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.) +58 b(The)35 b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630 +3686 y(b)s(eginning)32 b(of)g(a)h(history)g(line.)47 +b(This)32 b(is)h(a)f(non-incremen)m(tal)i(searc)m(h.)48 +b(By)33 b(default,)g(this)630 3796 y(command)d(is)h(un)m(b)s(ound.)150 +3945 y Fr(history-substr-search-fo)o(rwar)o(d)24 b(\(\))630 +4055 y Fs(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g +(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630 +4164 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m +(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere) +630 4274 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h +(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e +(command)630 4384 y(is)e(un)m(b)s(ound.)150 4533 y Fr +(history-substr-search-ba)o(ckwa)o(rd)24 b(\(\))630 4643 +y Fs(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g +(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 +4752 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m +(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere) +630 4862 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h +(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e +(command)630 4971 y(is)e(un)m(b)s(ound.)150 5121 y Fr(yank-nth-arg)d +(\(M-C-y\))630 5230 y Fs(Insert)37 b(the)g(\014rst)f(argumen)m(t)i(to)f +(the)h(previous)e(command)h(\(usually)g(the)g(second)g(w)m(ord)630 +5340 y(on)32 b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 +b(With)32 b(an)g(argumen)m(t)g Fi(n)p Fs(,)g(insert)g(the)g +Fi(n)p Fs(th)f(w)m(ord)g(from)p eop end +%%Page: 16 20 +TeXDict begin 16 19 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(the)35 +b(previous)f(command)h(\(the)g(w)m(ords)g(in)f(the)h(previous)g +(command)f(b)s(egin)h(with)f(w)m(ord)630 408 y(0\).)69 +b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f Fi(n)p Fs(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630 -4408 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fi(n)e +518 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fi(n)e Fs(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e(if)630 -4518 y(the)e(`)p Fr(!)p Fk(n)11 b Fs(')29 b(history)i(expansion)f(had)g -(b)s(een)f(sp)s(eci\014ed.)150 4682 y Fr(yank-last-arg)e(\(M-.)i(or)h -(M-_\))630 4792 y Fs(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous) -f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 -4902 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m +628 y(the)e(`)p Fr(!)p Fk(n)p Fs(')f(history)g(expansion)g(had)g(b)s +(een)g(sp)s(eci\014ed.)150 798 y Fr(yank-last-arg)d(\(M-.)i(or)h(M-_\)) +630 908 y Fs(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)f +(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 +1018 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m (t,)h(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Fr(yank-nth-arg)p -Fs(.)630 5011 y(Successiv)m(e)26 b(calls)g(to)f Fr(yank-last-arg)c +Fs(.)630 1127 y(Successiv)m(e)26 b(calls)g(to)f Fr(yank-last-arg)c Fs(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i -(inserting)630 5121 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp) +(inserting)630 1237 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp) s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i -(of)f(eac)m(h)h(line)630 5230 y(in)36 b(turn.)58 b(An)m(y)36 +(of)f(eac)m(h)h(line)630 1346 y(in)36 b(turn.)58 b(An)m(y)36 b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g -(calls)h(determines)630 5340 y(the)d(direction)g(to)h(mo)m(v)m(e)g +(calls)h(determines)630 1456 y(the)d(direction)g(to)h(mo)m(v)m(e)g (through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e -(switc)m(hes)h(the)p eop end -%%Page: 16 20 -TeXDict begin 16 19 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(direction)23 -b(through)g(the)g(history)f(\(bac)m(k)i(or)f(forw)m(ard\).)38 -b(The)22 b(history)h(expansion)g(facilities)630 408 y(are)28 -b(used)f(to)h(extract)h(the)f(last)g(argumen)m(t,)h(as)e(if)h(the)g(`)p -Fr(!$)p Fs(')f(history)g(expansion)h(had)f(b)s(een)630 -518 y(sp)s(eci\014ed.)150 727 y Fh(1.4.3)63 b(Commands)42 -b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150 904 y Fr(delete-char)27 -b(\(C-d\))630 1014 y Fs(Delete)41 b(the)e(c)m(haracter)i(at)e(p)s(oin)m -(t.)66 b(If)39 b(p)s(oin)m(t)f(is)h(at)h(the)f(b)s(eginning)f(of)h(the) -g(line,)j(there)630 1124 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i -(line,)h(and)d(the)h(last)h(c)m(haracter)h(t)m(yp)s(ed)e(w)m(as)g(not)g -(b)s(ound)e(to)630 1233 y Fr(delete-char)p Fs(,)28 b(then)i(return)f -Fl(eof)p Fs(.)150 1403 y Fr(backward-delete-char)c(\(Rubout\))630 -1512 y Fs(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40 +(switc)m(hes)h(the)630 1565 y(direction)23 b(through)g(the)g(history)f +(\(bac)m(k)i(or)f(forw)m(ard\).)38 b(The)22 b(history)h(expansion)g +(facilities)630 1675 y(are)28 b(used)f(to)h(extract)h(the)f(last)g +(argumen)m(t,)h(as)e(if)h(the)g(`)p Fr(!$)p Fs(')f(history)g(expansion) +h(had)f(b)s(een)630 1785 y(sp)s(eci\014ed.)150 1995 y +Fh(1.4.3)63 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 +b(ext)150 2173 y Fk(end-of-file)27 b Fr(\(usually)h(C-d\))630 +2282 y Fs(The)e(c)m(haracter)h(indicating)h(end-of-\014le)e(as)h(set,)g +(for)f(example,)i(b)m(y)e Fr(stty)p Fs(.)39 b(If)25 b(this)h(c)m +(harac-)630 2392 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m +(haracters)j(on)d(the)h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s +(eginning)630 2501 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g +(it)g(as)f(the)h(end)f(of)g(input)f(and)h(returns)f Fl(eof)p +Fs(.)150 2672 y Fr(delete-char)e(\(C-d\))630 2782 y Fs(Delete)35 +b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g +(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2891 +y(as)e(the)f(tt)m(y)i Fl(eof)d Fs(c)m(haracter,)j(as)f +Fk(C-d)e Fs(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g +(e\013ects.)150 3062 y Fr(backward-delete-char)25 b(\(Rubout\))630 +3172 y Fs(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40 b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630 -1622 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150 -1792 y Fr(forward-backward-delete-)o(char)24 b(\(\))630 -1901 y Fs(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h +3281 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150 +3452 y Fr(forward-backward-delete-)o(char)24 b(\(\))630 +3561 y Fs(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h (unless)d(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 -2011 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s +3671 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s (ehind)d(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630 -2120 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 -2290 y Fr(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2399 +3781 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 +3951 y Fr(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 4061 y Fs(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h (v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630 -2509 y(sequences)d(lik)m(e)g Fk(C-q)p Fs(,)f(for)g(example.)150 -2679 y Fr(tab-insert)e(\(M-TAB\))630 2788 y Fs(Insert)i(a)h(tab)f(c)m -(haracter.)150 2958 y Fr(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o -(\))630 3067 y Fs(Insert)g(y)m(ourself.)150 3237 y Fr(transpose-chars)c -(\(C-t\))630 3347 y Fs(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g +4170 y(sequences)d(lik)m(e)g Fk(C-q)p Fs(,)f(for)g(example.)150 +4341 y Fr(tab-insert)e(\(M-TAB\))630 4451 y Fs(Insert)i(a)h(tab)f(c)m +(haracter.)150 4621 y Fr(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o +(\))630 4731 y Fs(Insert)g(y)m(ourself.)150 4902 y Fr(transpose-chars)c +(\(C-t\))630 5011 y Fs(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g (cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g -(cursor,)630 3456 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m +(cursor,)630 5121 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m (ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end) -g(of)h(the)630 3566 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h +g(of)h(the)630 5230 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h (last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 -b(Negativ)m(e)25 b(argumen)m(ts)630 3675 y(ha)m(v)m(e)32 -b(no)e(e\013ect.)150 3845 y Fr(transpose-words)c(\(M-t\))630 -3955 y Fs(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g -(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past) -g(that)630 4064 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 -b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f -(line,)i(this)e(transp)s(oses)g(the)630 4174 y(last)j(t)m(w)m(o)h(w)m -(ords)e(on)g(the)h(line.)150 4343 y Fr(upcase-word)c(\(M-u\))630 -4453 y Fs(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i +b(Negativ)m(e)25 b(argumen)m(ts)630 5340 y(ha)m(v)m(e)32 +b(no)e(e\013ect.)p eop end +%%Page: 17 21 +TeXDict begin 17 20 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fr(transpose-words)26 +b(\(M-t\))630 408 y Fs(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m +(t)g(past)g(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin) +m(t)f(past)g(that)630 518 y(w)m(ord)c(as)h(w)m(ell.)41 +b(If)27 b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i +(the)f(line,)i(this)e(transp)s(oses)g(the)630 628 y(last)j(t)m(w)m(o)h +(w)m(ords)e(on)g(the)h(line.)150 792 y Fr(upcase-word)c(\(M-u\))630 +902 y Fs(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i (w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630 -4562 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h -(the)e(cursor.)150 4732 y Fr(downcase-word)d(\(M-l\))630 -4842 y Fs(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i +1012 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h +(the)e(cursor.)150 1176 y Fr(downcase-word)d(\(M-l\))630 +1286 y Fs(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i (w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m -(ercase)630 4951 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m -(v)m(e)i(the)f(cursor.)150 5121 y Fr(capitalize-word)26 -b(\(M-c\))630 5230 y Fs(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m +(ercase)630 1396 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m +(v)m(e)i(the)f(cursor.)150 1560 y Fr(capitalize-word)26 +b(\(M-c\))630 1670 y Fs(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m (wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h -(capitalize)630 5340 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f -(mo)m(v)m(e)i(the)f(cursor.)p eop end -%%Page: 17 21 -TeXDict begin 17 20 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fr(overwrite-mode)26 -b(\(\))630 408 y Fs(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48 +(capitalize)630 1780 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f +(mo)m(v)m(e)i(the)f(cursor.)150 1944 y Fr(overwrite-mode)26 +b(\(\))630 2054 y Fs(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48 b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,) -h(switc)m(hes)630 518 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37 +h(switc)m(hes)630 2163 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37 b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m -(t,)i(switc)m(hes)e(to)630 628 y(insert)30 b(mo)s(de.)41 +(t,)i(switc)m(hes)e(to)630 2273 y(insert)30 b(mo)s(de.)41 b(This)30 b(command)h(a\013ects)h(only)e Fr(emacs)f Fs(mo)s(de;)i -Fr(vi)f Fs(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 737 +Fr(vi)f Fs(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 2383 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f Fr(readline\(\))c Fs(starts)k(in)f(insert)g(mo)s(de.)630 -872 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j -Fr(self-insert)c Fs(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630 -982 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75 -b(Characters)42 b(b)s(ound)d(to)j Fr(backward-)630 1092 -y(delete-char)27 b Fs(replace)32 b(the)e(c)m(haracter)i(b)s(efore)e(p)s -(oin)m(t)h(with)f(a)g(space.)630 1227 y(By)h(default,)f(this)h(command) -f(is)g(un)m(b)s(ound.)150 1427 y Fh(1.4.4)63 b(Killing)42 -b(And)e(Y)-10 b(anking)150 1600 y Fr(kill-line)28 b(\(C-k\))630 -1709 y Fs(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of) -i(the)f(line.)150 1870 y Fr(backward-kill-line)25 b(\(C-x)30 -b(Rubout\))630 1980 y Fs(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s -(eginning)g(of)g(the)h(line.)150 2140 y Fr(unix-line-discard)26 -b(\(C-u\))630 2250 y Fs(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor) -f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 -2411 y Fr(kill-whole-line)c(\(\))630 2520 y Fs(Kill)37 -b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g -(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630 -2630 y(this)30 b(is)h(un)m(b)s(ound.)150 2790 y Fr(kill-word)d(\(M-d\)) -630 2900 y Fs(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f +2520 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s +(ound)c(to)j Fr(self-insert)c Fs(replace)k(the)g(text)g(at)630 +2629 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h +(the)f(righ)m(t.)126 b(Characters)59 b(b)s(ound)d(to)630 +2739 y Fr(backward-delete-char)25 b Fs(replace)31 b(the)g(c)m(haracter) +h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 2876 +y(By)g(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)150 +3081 y Fh(1.4.4)63 b(Killing)42 b(And)e(Y)-10 b(anking)150 +3255 y Fr(kill-line)28 b(\(C-k\))630 3365 y Fs(Kill)j(the)f(text)i +(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f(line.)150 +3530 y Fr(backward-kill-line)25 b(\(C-x)30 b(Rubout\))630 +3639 y Fs(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s(eginning)g(of)g(the)h +(line.)150 3804 y Fr(unix-line-discard)26 b(\(C-u\))630 +3914 y Fs(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f +(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 4079 +y Fr(kill-whole-line)c(\(\))630 4188 y Fs(Kill)37 b(all)g(c)m +(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s +(oin)m(t)h(is.)59 b(By)36 b(default,)630 4298 y(this)30 +b(is)h(un)m(b)s(ound.)150 4462 y Fr(kill-word)d(\(M-d\))630 +4572 y Fs(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f (curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h -(the)g(end)630 3010 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8 +(the)g(end)630 4682 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fr(forward-word)p -Fs(.)150 3170 y Fr(backward-kill-word)25 b(\(M-DEL\))630 -3280 y Fs(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40 +Fs(.)150 4846 y Fr(backward-kill-word)25 b(\(M-DEL\))630 +4956 y Fs(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40 b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g -Fr(backward-word)p Fs(.)150 3441 y Fr(unix-word-rubout)d(\(C-w\))630 -3550 y Fs(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f +Fr(backward-word)p Fs(.)150 5121 y Fr(unix-word-rubout)d(\(C-w\))630 +5230 y Fs(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f (white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43 -b(The)31 b(killed)630 3660 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f -(kill-ring.)150 3820 y Fr(unix-filename-rubout)25 b(\(\))630 -3930 y Fs(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e -(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 -4040 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g -(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 4200 y Fr -(delete-horizontal-space)24 b(\(\))630 4310 y Fs(Delete)33 -b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41 -b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 4471 -y Fr(kill-region)d(\(\))630 4580 y Fs(Kill)k(the)f(text)i(in)e(the)g -(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un) -m(b)s(ound.)150 4741 y Fr(copy-region-as-kill)25 b(\(\))630 -4851 y Fs(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f -(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f -(a)m(w)m(a)m(y)-8 b(.)630 4960 y(By)31 b(default,)f(this)h(command)f -(is)g(un)m(b)s(ound.)150 5121 y Fr(copy-backward-word)25 -b(\(\))630 5230 y Fs(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m -(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries) -f(are)i(the)630 5340 y(same)31 b(as)f Fr(backward-word)p -Fs(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)p -eop end +b(The)31 b(killed)630 5340 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f +(kill-ring.)p eop end %%Page: 18 22 TeXDict begin 18 21 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fr(copy-forward-word) -26 b(\(\))630 408 y Fs(Cop)m(y)31 b(the)g(w)m(ord)g(follo)m(wing)h(p)s -(oin)m(t)f(to)h(the)f(kill)h(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s -(oundaries)e(are)j(the)630 518 y(same)f(as)f Fr(forward-word)p -Fs(.)38 b(By)30 b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150 -684 y Fr(yank)f(\(C-y\))630 793 y Fs(Y)-8 b(ank)31 b(the)f(top)h(of)g -(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h(p)s(oin)m(t.)150 -959 y Fr(yank-pop)d(\(M-y\))630 1068 y Fs(Rotate)36 b(the)f(kill-ring,) -i(and)d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 -b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630 1178 -y(command)30 b(is)h Fr(yank)e Fs(or)h Fr(yank-pop)p Fs(.)150 -1383 y Fh(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 -1558 y Fr(digit-argument)26 b(\()p Fk(M-0)p Fr(,)j Fk(M-1)p -Fr(,)h(...)f Fk(M--)p Fr(\))630 1668 y Fs(Add)d(this)h(digit)g(to)h -(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new) -f(argumen)m(t.)630 1777 y Fk(M--)j Fs(starts)i(a)g(negativ)m(e)i -(argumen)m(t.)150 1943 y Fr(universal-argument)25 b(\(\))630 -2052 y Fs(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g +b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fr +(unix-filename-rubout)25 b(\(\))630 408 y Fs(Kill)37 +b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e(white)g(space)h +(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 518 +y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g(sa)m +(v)m(ed)g(on)g(the)f(kill-ring.)150 693 y Fr(delete-horizontal-space)24 +b(\(\))630 803 y Fs(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e(p) +s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 +978 y Fr(kill-region)d(\(\))630 1088 y Fs(Kill)k(the)f(text)i(in)e(the) +g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g +(un)m(b)s(ound.)150 1263 y Fr(copy-region-as-kill)25 +b(\(\))630 1373 y Fs(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h +(the)f(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m +(t)f(a)m(w)m(a)m(y)-8 b(.)630 1482 y(By)31 b(default,)f(this)h(command) +f(is)g(un)m(b)s(ound.)150 1657 y Fr(copy-backward-word)25 +b(\(\))630 1767 y Fs(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m +(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries) +f(are)i(the)630 1877 y(same)31 b(as)f Fr(backward-word)p +Fs(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150 +2052 y Fr(copy-forward-word)26 b(\(\))630 2161 y Fs(Cop)m(y)31 +b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h +(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630 +2271 y(same)f(as)f Fr(forward-word)p Fs(.)38 b(By)30 +b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150 +2446 y Fr(yank)f(\(C-y\))630 2556 y Fs(Y)-8 b(ank)31 +b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h +(p)s(oin)m(t.)150 2731 y Fr(yank-pop)d(\(M-y\))630 2841 +y Fs(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54 +b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630 +2950 y(command)30 b(is)h Fr(yank)e Fs(or)h Fr(yank-pop)p +Fs(.)150 3165 y Fh(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m +(ts)150 3345 y Fr(digit-argument)26 b(\()p Fk(M-0)p Fr(,)j +Fk(M-1)p Fr(,)h(...)f Fk(M--)p Fr(\))630 3455 y Fs(Add)d(this)h(digit)g +(to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f +(new)f(argumen)m(t.)630 3564 y Fk(M--)j Fs(starts)i(a)g(negativ)m(e)i +(argumen)m(t.)150 3740 y Fr(universal-argument)25 b(\(\))630 +3849 y Fs(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g (argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m -(y)f(one)630 2162 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h +(y)f(one)630 3959 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h (leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630 -2271 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b) +4068 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b) m(y)f(digits,)i(executing)f Fr(universal-argument)630 -2381 y Fs(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h +4178 y Fs(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h (otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630 -2491 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y) +4288 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y) d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630 -2600 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e +4397 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e (the)i(next)f(command)f(is)h(m)m(ultiplied)h(b)m(y)e(four.)630 -2710 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f +4507 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f (executing)g(this)f(function)g(the)h(\014rst)e(time)630 -2819 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e +4616 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e (time)i(mak)m(es)f(the)g(argumen)m(t)g(coun)m(t)h(six-)630 -2929 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h -(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 3134 y Fh(1.4.6)63 +4726 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h +(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 4941 y Fh(1.4.6)63 b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42 -b(Y)-10 b(ou)150 3309 y Fr(complete)28 b(\(TAB\))630 -3419 y Fs(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g +b(Y)-10 b(ou)150 5121 y Fr(complete)28 b(\(TAB\))630 +5230 y Fs(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g (b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630 -3528 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42 -b(The)30 b(default)h(is)f(\014lename)h(completion.)150 -3694 y Fr(possible-completions)25 b(\(M-?\))630 3804 -y Fs(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s -(efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630 -3913 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i -(columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 -b(alue)33 b(of)630 4023 y Fr(completion-display-width)o -Fs(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 -b(ariable)38 b Fr(COLUMNS)p Fs(,)630 4132 y(or)30 b(the)h(screen)f -(width,)g(in)g(that)h(order.)150 4298 y Fr(insert-completions)25 -b(\(M-*\))630 4407 y Fs(Insert)30 b(all)h(completions)h(of)f(the)g -(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s -(een)e(generated)630 4517 y(b)m(y)g Fr(possible-completions)p -Fs(.)150 4682 y Fr(menu-complete)d(\(\))630 4792 y Fs(Similar)d(to)g +5340 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42 +b(The)30 b(default)h(is)f(\014lename)h(completion.)p +eop end +%%Page: 19 23 +TeXDict begin 19 22 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fr +(possible-completions)25 b(\(M-?\))630 408 y Fs(List)35 +b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s(efore)e(p)s +(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630 518 +y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i(columns)f +(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 b(alue)33 +b(of)630 628 y Fr(completion-display-width)o Fs(,)g(the)j(v)-5 +b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)38 +b Fr(COLUMNS)p Fs(,)630 737 y(or)30 b(the)h(screen)f(width,)g(in)g +(that)h(order.)150 883 y Fr(insert-completions)25 b(\(M-*\))630 +992 y Fs(Insert)30 b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f +(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630 +1102 y(b)m(y)g Fr(possible-completions)p Fs(.)150 1247 +y Fr(menu-complete)d(\(\))630 1357 y Fs(Similar)d(to)g Fr(complete)p Fs(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f -(completed)i(with)e(a)i(single)f(matc)m(h)630 4902 y(from)37 +(completed)i(with)e(a)i(single)f(matc)m(h)630 1466 y(from)37 b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39 -b(execution)g(of)f Fr(menu-complete)630 5011 y Fs(steps)i(through)g +b(execution)g(of)f Fr(menu-complete)630 1576 y Fs(steps)i(through)g (the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i -(matc)m(h)f(in)f(turn.)630 5121 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g +(matc)m(h)f(in)f(turn.)630 1685 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g (of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5 -b(ject)36 b(to)i(the)f(setting)630 5230 y(of)f Fr(bell-style)p +b(ject)36 b(to)i(the)f(setting)630 1795 y(of)f Fr(bell-style)p Fs(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57 b(An)36 b(argumen)m(t)h(of)f Fi(n)f Fs(mo)m(v)m(es)i -Fi(n)630 5340 y Fs(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e +Fi(n)630 1905 y Fs(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e (matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f -(used)g(to)p eop end -%%Page: 19 23 -TeXDict begin 19 22 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(19)630 299 y(mo)m(v)m(e)40 -b(bac)m(kw)m(ard)e(through)g(the)g(list.)65 b(This)38 -b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s(ound)e(to)630 -408 y Fr(TAB)p Fs(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m(y)i(default.) -150 554 y Fr(menu-complete-backward)24 b(\(\))630 664 -y Fs(Iden)m(tical)36 b(to)g Fr(menu-complete)p Fs(,)d(but)h(mo)m(v)m -(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g(p)s(ossible)630 -773 y(completions,)d(as)e(if)h Fr(menu-complete)26 b -Fs(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150 -919 y Fr(delete-char-or-list)25 b(\(\))630 1028 y Fs(Deletes)k(the)e(c) -m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s(eginning) -g(or)f(end)h(of)g(the)g(line)630 1138 y(\(lik)m(e)k Fr(delete-char)p -Fs(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)h(b)s(eha)m(v)m -(es)g(iden)m(tically)h(to)e Fr(possible-)630 1247 y(completions)p -Fs(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d(b)m(y)i(default.)150 -1433 y Fh(1.4.7)63 b(Keyb)s(oard)41 b(Macros)150 1598 -y Fr(start-kbd-macro)26 b(\(C-x)j(\(\))630 1707 y Fs(Begin)i(sa)m(ving) -h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m -(eyb)s(oard)g(macro.)150 1853 y Fr(end-kbd-macro)d(\(C-x)i(\)\))630 -1962 y Fs(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m -(to)i(the)e(curren)m(t)g(k)m(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i -(the)630 2072 y(de\014nition.)150 2218 y Fr(call-last-kbd-macro)c -(\(C-x)k(e\))630 2327 y Fs(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard) -f(macro)h(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the) -630 2437 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m -(eyb)s(oard.)150 2622 y Fh(1.4.8)63 b(Some)41 b(Miscellaneous)i -(Commands)150 2787 y Fr(re-read-init-file)26 b(\(C-x)j(C-r\))630 -2897 y Fs(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g +(used)g(to)630 2014 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g +(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s +(ound)e(to)630 2124 y Fr(TAB)p Fs(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m +(y)i(default.)150 2269 y Fr(menu-complete-backward)24 +b(\(\))630 2379 y Fs(Iden)m(tical)36 b(to)g Fr(menu-complete)p +Fs(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g +(p)s(ossible)630 2488 y(completions,)d(as)e(if)h Fr(menu-complete)26 +b Fs(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150 +2634 y Fr(delete-char-or-list)25 b(\(\))630 2743 y Fs(Deletes)41 +b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s +(eginning)e(or)h(end)f(of)h(the)630 2853 y(line)50 b(\(lik)m(e)h +Fr(delete-char)p Fs(\).)96 b(If)49 b(at)h(the)g(end)f(of)h(the)f(line,) +55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 2963 +y Fr(possible-completions)p Fs(.)35 b(This)30 b(command)g(is)g(un)m(b)s +(ound)e(b)m(y)i(default.)150 3148 y Fh(1.4.7)63 b(Keyb)s(oard)41 +b(Macros)150 3313 y Fr(start-kbd-macro)26 b(\(C-x)j(\(\))630 +3422 y Fs(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m +(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150 +3568 y Fr(end-kbd-macro)d(\(C-x)i(\)\))630 3677 y Fs(Stop)e(sa)m(ving)h +(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m +(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 3787 +y(de\014nition.)150 3932 y Fr(call-last-kbd-macro)c(\(C-x)k(e\))630 +4042 y Fs(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h +(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630 +4151 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s +(oard.)150 4297 y Fr(print-last-kbd-macro)25 b(\(\))630 +4406 y Fs(Prin)m(t)30 b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned) +e(in)i(a)f(format)h(suitable)g(for)f(the)h Fi(inputrc)k +Fs(\014le.)150 4591 y Fh(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands) +150 4756 y Fr(re-read-init-file)26 b(\(C-x)j(C-r\))630 +4866 y Fs(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g Fi(inputrc)27 b Fs(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d -(or)i(v)-5 b(ariable)630 3006 y(assignmen)m(ts)31 b(found)e(there.)150 -3152 y Fr(abort)g(\(C-g\))630 3261 y Fs(Ab)s(ort)d(the)h(curren)m(t)f +(or)i(v)-5 b(ariable)630 4975 y(assignmen)m(ts)31 b(found)e(there.)150 +5121 y Fr(abort)g(\(C-g\))630 5230 y Fs(Ab)s(ort)d(the)h(curren)m(t)f (editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5 -b(ject)26 b(to)i(the)630 3371 y(setting)j(of)g Fr(bell-style)p -Fs(\).)150 3516 y Fr(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p -Fk(x)11 b Fr(,)29 b(...)o(\))630 3626 y Fs(If)e(the)h(meta\014ed)g(c)m -(haracter)h Fi(x)34 b Fs(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g -(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 3736 y(corresp)s(onding) -g(upp)s(ercase)h(c)m(haracter.)150 3881 y Fr(prefix-meta)d(\(ESC\))630 -3991 y Fs(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 +b(ject)26 b(to)i(the)630 5340 y(setting)j(of)g Fr(bell-style)p +Fs(\).)p eop end +%%Page: 20 24 +TeXDict begin 20 23 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fr +(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p Fk(x)p +Fr(,)g(...)o(\))630 408 y Fs(If)e(the)h(meta\014ed)g(c)m(haracter)h +Fi(x)34 b Fs(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g(command)h(that)g +(is)g(b)s(ound)d(to)k(the)630 518 y(corresp)s(onding)g(upp)s(ercase)h +(c)m(haracter.)150 667 y Fr(prefix-meta)d(\(ESC\))630 +777 y Fs(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8 -b(.)630 4100 y(T)m(yping)30 b(`)p Fr(ESC)g(f)p Fs(')g(is)h(equiv)-5 -b(alen)m(t)31 b(to)g(t)m(yping)g Fk(M-f)p Fs(.)150 4246 -y Fr(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 4355 y Fs(Incremen)m(tal)h +b(.)630 887 y(T)m(yping)30 b(`)p Fr(ESC)g(f)p Fs(')g(is)h(equiv)-5 +b(alen)m(t)31 b(to)g(t)m(yping)g Fk(M-f)p Fs(.)150 1036 +y Fr(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 1146 y Fs(Incremen)m(tal)h (undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150 -4501 y Fr(revert-line)27 b(\(M-r\))630 4611 y Fs(Undo)33 +1295 y Fr(revert-line)27 b(\(M-r\))630 1405 y Fs(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fr(undo)f Fs(command)630 -4720 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.) -150 4866 y Fr(tilde-expand)d(\(M-~\))630 4975 y Fs(P)m(erform)j(tilde)h -(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 5121 -y Fr(set-mark)d(\(C-@\))630 5230 y Fs(Set)33 b(the)g(mark)f(to)i(the)f +1514 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.) +150 1664 y Fr(tilde-expand)d(\(M-~\))630 1773 y Fs(P)m(erform)j(tilde)h +(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 1923 +y Fr(set-mark)d(\(C-@\))630 2032 y Fs(Set)33 b(the)g(mark)f(to)i(the)f (p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g -(supplied,)f(the)h(mark)g(is)f(set)630 5340 y(to)f(that)g(p)s(osition.) -p eop end -%%Page: 20 24 -TeXDict begin 20 23 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fr -(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630 408 -y Fs(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43 +(supplied,)f(the)h(mark)g(is)f(set)630 2142 y(to)f(that)g(p)s(osition.) +150 2291 y Fr(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630 +2401 y Fs(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h -(sa)m(v)m(ed)630 518 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s -(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 711 -y Fr(character-search)26 b(\(C-]\))630 821 y Fs(A)f(c)m(haracter)h(is)f -(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s -(ccurrence)g(of)g(that)g(c)m(haracter.)630 930 y(A)30 +(sa)m(v)m(ed)630 2511 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s +(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 2660 +y Fr(character-search)26 b(\(C-]\))630 2770 y Fs(A)f(c)m(haracter)h(is) +f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s +(ccurrence)g(of)g(that)g(c)m(haracter.)630 2879 y(A)30 b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s -(ccurrences.)150 1123 y Fr(character-search-backwar)o(d)24 -b(\(M-C-]\))630 1233 y Fs(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s +(ccurrences.)150 3029 y Fr(character-search-backwar)o(d)24 +b(\(M-C-]\))630 3138 y Fs(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s (oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of) -g(that)630 1342 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f +g(that)630 3248 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f (searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)150 -1535 y Fr(skip-csi-sequence)d(\(\))630 1645 y Fs(Read)i(enough)f(c)m +3397 y Fr(skip-csi-sequence)d(\(\))630 3507 y Fs(Read)i(enough)f(c)m (haracters)h(to)g(consume)f(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f -(as)g(those)h(de\014ned)630 1754 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g +(as)g(those)h(de\014ned)630 3616 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g (and)f(End.)60 b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m -(trol)g(Sequence)630 1864 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59 +(trol)g(Sequence)630 3726 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fr("\\)p -Fs(e[)p Fr(")p Fs(,)g(k)m(eys)f(pro-)630 1973 y(ducing)31 +Fs(e[)p Fr(")p Fs(,)g(k)m(eys)f(pro-)630 3836 y(ducing)31 b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e -(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 2083 y(command,)f +(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 3945 y(command,)f (instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f -(editing)h(bu\013er.)44 b(This)31 b(is)630 2193 y(un)m(b)s(ound)d(b)m +(editing)h(bu\013er.)44 b(This)31 b(is)630 4055 y(un)m(b)s(ound)d(b)m (y)i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150 -2385 y Fr(insert-comment)26 b(\(M-#\))630 2495 y Fs(Without)36 +4204 y Fr(insert-comment)26 b(\(M-#\))630 4314 y Fs(Without)36 b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36 b(of)g(the)g Fr(comment-begin)c Fs(v)-5 b(ariable)36 -b(is)g(in-)630 2605 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f +b(is)g(in-)630 4423 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f (curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g -(supplied,)630 2714 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55 +(supplied,)630 4533 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55 b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g -(line)630 2824 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5 +(line)630 4643 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5 b(alue)31 b(of)f Fr(comment-begin)p Fs(,)e(the)i(v)-5 -b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 2933 +b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 4752 y(c)m(haracters)42 b(in)d Fr(comment-begin)e Fs(are)j(deleted)h(from)f -(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 3043 +(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 4862 y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h -(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 3236 y Fr(dump-functions)d -(\(\))630 3345 y Fs(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g +(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 5011 y Fr(dump-functions)d +(\(\))630 5121 y Fs(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g (their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630 -3455 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h +5230 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h (output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 -3565 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fi(inputrc)k +5340 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fi(inputrc)k Fs(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k -(default.)150 3757 y Fr(dump-variables)26 b(\(\))630 -3867 y Fs(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5 +(default.)p eop end +%%Page: 21 25 +TeXDict begin 21 24 bop 150 -116 a Fs(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fr(dump-variables)26 +b(\(\))630 408 y Fs(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5 b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h -(output)f(stream.)630 3977 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is) -g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a) -m(y)g(that)630 4086 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h +(output)f(stream.)630 518 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g +(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m +(y)g(that)630 628 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fi(inputrc)k Fs(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c -(b)m(y)k(default.)150 4279 y Fr(dump-macros)c(\(\))630 -4389 y Fs(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences) -f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630 -4498 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e +(b)m(y)k(default.)150 787 y Fr(dump-macros)c(\(\))630 +897 y Fs(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)f +(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630 +1006 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e (supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630 -4608 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e +1116 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e Fi(inputrc)35 b Fs(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound) -d(b)m(y)630 4717 y(default.)150 4910 y Fr(emacs-editing-mode)e(\(C-e\)) -630 5020 y Fs(When)30 b(in)g Fr(vi)g Fs(command)g(mo)s(de,)g(this)h +d(b)m(y)630 1225 y(default.)150 1385 y Fr(emacs-editing-mode)e(\(C-e\)) +630 1494 y Fs(When)30 b(in)g Fr(vi)g Fs(command)g(mo)s(de,)g(this)h (causes)f(a)h(switc)m(h)g(to)g Fr(emacs)e Fs(editing)i(mo)s(de.)150 -5213 y Fr(vi-editing-mode)26 b(\(M-C-j\))630 5322 y Fs(When)k(in)g +1654 y Fr(vi-editing-mode)26 b(\(M-C-j\))630 1763 y Fs(When)k(in)g Fr(emacs)f Fs(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g -Fr(vi)f Fs(editing)h(mo)s(de.)p eop end -%%Page: 21 25 -TeXDict begin 21 24 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fq(1.5)68 -b(Readline)47 b(vi)e(Mo)t(de)150 458 y Fs(While)32 b(the)g(Readline)g -(library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g -Fr(vi)f Fs(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150 -568 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52 +Fr(vi)f Fs(editing)h(mo)s(de.)150 1996 y Fq(1.5)68 b(Readline)47 +b(vi)e(Mo)t(de)150 2155 y Fs(While)32 b(the)g(Readline)g(library)f(do)s +(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fr(vi)f +Fs(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150 +2265 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52 b(The)34 b(Readline)g Fr(vi)g Fs(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s -(eci\014ed)f(in)150 677 y(the)e Fl(posix)e Fs(standard.)275 -812 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m +(eci\014ed)f(in)150 2374 y(the)e Fl(posix)e Fs(standard.)275 +2509 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m (een)d Fr(emacs)f Fs(and)g Fr(vi)h Fs(editing)g(mo)s(des,)g(use)g(the)g -(command)150 922 y Fk(M-C-j)36 b Fs(\(b)s(ound)h(to)h(emacs-editing-mo) -s(de)i(when)d(in)g Fr(vi)h Fs(mo)s(de)f(and)g(to)i(vi-editing-mo)s(de)g -(in)e Fr(emacs)150 1031 y Fs(mo)s(de\).)k(The)30 b(Readline)h(default)f -(is)g Fr(emacs)f Fs(mo)s(de.)275 1166 y(When)g(y)m(ou)i(en)m(ter)f(a)h -(line)f(in)g Fr(vi)f Fs(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f -(in)g(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 1275 -y(had)f(t)m(yp)s(ed)g(an)g(`)p Fr(i)p Fs('.)41 b(Pressing)29 -b Fr(ESC)f Fs(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')e(mo)s(de,)h -(where)e(y)m(ou)i(can)g(edit)g(the)150 1385 y(text)35 -b(of)f(the)g(line)g(with)f(the)h(standard)f Fr(vi)g Fs(mo)m(v)m(emen)m -(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g(history)f(lines)h(with)150 -1494 y(`)p Fr(k)p Fs(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p -Fr(j)p Fs(',)g(and)g(so)h(forth.)p eop end +(command)150 2619 y Fk(M-C-j)36 b Fs(\(b)s(ound)h(to)h +(emacs-editing-mo)s(de)i(when)d(in)g Fr(vi)h Fs(mo)s(de)f(and)g(to)i +(vi-editing-mo)s(de)g(in)e Fr(emacs)150 2728 y Fs(mo)s(de\).)k(The)30 +b(Readline)h(default)f(is)g Fr(emacs)f Fs(mo)s(de.)275 +2863 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fr(vi)f +Fs(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s +(de,)g(as)h(if)f(y)m(ou)150 2972 y(had)f(t)m(yp)s(ed)g(an)g(`)p +Fr(i)p Fs('.)41 b(Pressing)29 b Fr(ESC)f Fs(switc)m(hes)i(y)m(ou)g(in)m +(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150 +3082 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f +Fr(vi)g Fs(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g +(history)f(lines)h(with)150 3191 y(`)p Fr(k)p Fs(')d(and)e(subsequen)m +(t)h(lines)h(with)f(`)p Fr(j)p Fs(',)g(and)g(so)h(forth.)p +eop end %%Page: 22 26 TeXDict begin 22 25 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(22)150 @@ -5404,40 +8232,39 @@ Fr(malloc\(\))p Fs(;)h(the)f(caller)i(should)d Fr(free\(\))f Fs(the)j(line)150 2035 y(when)29 b(it)i(has)f(\014nished)f(with)h(it.) 42 b(The)29 b(declaration)j(for)f Fr(readline)d Fs(in)i(ANSI)g(C)g(is) 390 2169 y Fr(char)47 b(*readline)e(\(const)h(char)h(*)p -Fk(prompt)11 b Fr(\);)150 2302 y Fs(So,)31 b(one)f(migh)m(t)h(sa)m(y) -390 2435 y Fr(char)47 b(*line)f(=)h(readline)f(\("Enter)g(a)h(line:)g -("\);)150 2568 y Fs(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h -(from)e(the)h(user.)38 b(The)22 b(line)h(returned)f(has)g(the)h -(\014nal)g(newline)g(remo)m(v)m(ed,)150 2678 y(so)31 -b(only)f(the)h(text)g(remains.)275 2811 y(If)40 b Fr(readline)e -Fs(encoun)m(ters)j(an)f Fr(EOF)f Fs(while)i(reading)f(the)h(line,)j -(and)39 b(the)i(line)g(is)f(empt)m(y)h(at)g(that)150 -2921 y(p)s(oin)m(t,)30 b(then)f Fr(\(char)g(*\)NULL)e -Fs(is)j(returned.)39 b(Otherwise,)30 b(the)f(line)h(is)f(ended)g(just)g -(as)g(if)h(a)f(newline)h(had)150 3030 y(b)s(een)g(t)m(yp)s(ed.)275 -3163 y(If)c(y)m(ou)h(w)m(an)m(t)h(the)f(user)g(to)g(b)s(e)g(able)g(to)h -(get)g(at)g(the)f(line)g(later,)i(\(with)e Fr(C-p)f Fs(for)h -(example\),)i(y)m(ou)e(m)m(ust)150 3273 y(call)32 b Fr(add_history\(\)) -26 b Fs(to)32 b(sa)m(v)m(e)f(the)g(line)g(a)m(w)m(a)m(y)h(in)e(a)h -Fi(history)38 b Fs(list)31 b(of)g(suc)m(h)f(lines.)390 -3406 y Fr(add_history)45 b(\(line\);)150 3539 y Fs(F)-8 -b(or)31 b(full)f(details)i(on)e(the)g(GNU)h(History)g(Library)-8 -b(,)31 b(see)g(the)f(asso)s(ciated)i(man)m(ual.)275 3673 -y(It)f(is)g(preferable)g(to)i(a)m(v)m(oid)f(sa)m(ving)h(empt)m(y)e -(lines)h(on)f(the)h(history)f(list,)h(since)g(users)e(rarely)i(ha)m(v)m -(e)h(a)150 3782 y(burning)28 b(need)h(to)i(reuse)e(a)h(blank)g(line.)40 -b(Here)31 b(is)e(a)h(function)g(whic)m(h)f(usefully)g(replaces)i(the)f -(standard)150 3892 y Fr(gets\(\))f Fs(library)h(function,)g(and)g(has)g -(the)g(adv)-5 b(an)m(tage)33 b(of)d(no)g(static)i(bu\013er)e(to)h(o)m -(v)m(er\015o)m(w:)390 4025 y Fr(/*)47 b(A)h(static)e(variable)f(for)i -(holding)f(the)h(line.)f(*/)390 4134 y(static)g(char)h(*line_read)e(=)i -(\(char)g(*\)NULL;)390 4354 y(/*)g(Read)g(a)g(string,)f(and)h(return)f -(a)i(pointer)d(to)j(it.)533 4463 y(Returns)e(NULL)h(on)g(EOF.)f(*/)390 -4573 y(char)h(*)390 4682 y(rl_gets)f(\(\))390 4792 y({)485 -4902 y(/*)i(If)f(the)g(buffer)f(has)h(already)f(been)g(allocated,)629 -5011 y(return)g(the)h(memory)f(to)h(the)g(free)f(pool.)h(*/)485 -5121 y(if)h(\(line_read\))581 5230 y({)676 5340 y(free)f -(\(line_read\);)p eop end +Fk(prompt)p Fr(\);)150 2302 y Fs(So,)31 b(one)f(migh)m(t)h(sa)m(y)390 +2435 y Fr(char)47 b(*line)f(=)h(readline)f(\("Enter)g(a)h(line:)g("\);) +150 2568 y Fs(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h(from)e +(the)h(user.)38 b(The)22 b(line)h(returned)f(has)g(the)h(\014nal)g +(newline)g(remo)m(v)m(ed,)150 2678 y(so)31 b(only)f(the)h(text)g +(remains.)275 2811 y(If)40 b Fr(readline)e Fs(encoun)m(ters)j(an)f +Fr(EOF)f Fs(while)i(reading)f(the)h(line,)j(and)39 b(the)i(line)g(is)f +(empt)m(y)h(at)g(that)150 2921 y(p)s(oin)m(t,)30 b(then)f +Fr(\(char)g(*\)NULL)e Fs(is)j(returned.)39 b(Otherwise,)30 +b(the)f(line)h(is)f(ended)g(just)g(as)g(if)h(a)f(newline)h(had)150 +3030 y(b)s(een)g(t)m(yp)s(ed.)275 3163 y(If)c(y)m(ou)h(w)m(an)m(t)h +(the)f(user)g(to)g(b)s(e)g(able)g(to)h(get)g(at)g(the)f(line)g(later,)i +(\(with)e Fr(C-p)f Fs(for)h(example\),)i(y)m(ou)e(m)m(ust)150 +3273 y(call)32 b Fr(add_history\(\))26 b Fs(to)32 b(sa)m(v)m(e)f(the)g +(line)g(a)m(w)m(a)m(y)h(in)e(a)h Fi(history)38 b Fs(list)31 +b(of)g(suc)m(h)f(lines.)390 3406 y Fr(add_history)45 +b(\(line\);)150 3539 y Fs(F)-8 b(or)31 b(full)f(details)i(on)e(the)g +(GNU)h(History)g(Library)-8 b(,)31 b(see)g(the)f(asso)s(ciated)i(man)m +(ual.)275 3673 y(It)f(is)g(preferable)g(to)i(a)m(v)m(oid)f(sa)m(ving)h +(empt)m(y)e(lines)h(on)f(the)h(history)f(list,)h(since)g(users)e +(rarely)i(ha)m(v)m(e)h(a)150 3782 y(burning)28 b(need)h(to)i(reuse)e(a) +h(blank)g(line.)40 b(Here)31 b(is)e(a)h(function)g(whic)m(h)f(usefully) +g(replaces)i(the)f(standard)150 3892 y Fr(gets\(\))f +Fs(library)h(function,)g(and)g(has)g(the)g(adv)-5 b(an)m(tage)33 +b(of)d(no)g(static)i(bu\013er)e(to)h(o)m(v)m(er\015o)m(w:)390 +4025 y Fr(/*)47 b(A)h(static)e(variable)f(for)i(holding)f(the)h(line.)f +(*/)390 4134 y(static)g(char)h(*line_read)e(=)i(\(char)g(*\)NULL;)390 +4354 y(/*)g(Read)g(a)g(string,)f(and)h(return)f(a)i(pointer)d(to)j(it.) +533 4463 y(Returns)e(NULL)h(on)g(EOF.)f(*/)390 4573 y(char)h(*)390 +4682 y(rl_gets)f(\(\))390 4792 y({)485 4902 y(/*)i(If)f(the)g(buffer)f +(has)h(already)f(been)g(allocated,)629 5011 y(return)g(the)h(memory)f +(to)h(the)g(free)f(pool.)h(*/)485 5121 y(if)h(\(line_read\))581 +5230 y({)676 5340 y(free)f(\(line_read\);)p eop end %%Page: 23 27 TeXDict begin 23 26 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(23)676 @@ -5453,20 +8280,20 @@ b(completion)30 b(on)e(\014le)150 1877 y(names.)41 b(If)31 b(y)m(ou)g(do)f(not)h(w)m(an)m(t)g(Readline)h(to)f(complete)h(on)f (\014lenames,)g(y)m(ou)g(can)f(c)m(hange)i(the)f(binding)150 1986 y(of)g(the)f Fr(TAB)g Fs(k)m(ey)h(with)f Fr(rl_bind_key\(\))p -Fs(.)390 2139 y Fr(int)47 b(rl_bind_key)e(\(int)h Fk(key)11 -b Fr(,)46 b(rl_command_func_t)d(*)p Fk(function)11 b -Fr(\);)275 2292 y(rl_bind_key\(\))29 b Fs(tak)m(es)35 -b(t)m(w)m(o)g(argumen)m(ts:)47 b Fi(k)m(ey)c Fs(is)33 -b(the)h(c)m(haracter)h(that)f(y)m(ou)g(w)m(an)m(t)g(to)g(bind,)g(and) -150 2402 y Fi(function)39 b Fs(is)f(the)h(address)f(of)h(the)g -(function)g(to)g(call)i(when)c Fi(k)m(ey)48 b Fs(is)39 -b(pressed.)65 b(Binding)38 b Fr(TAB)g Fs(to)i Fr(rl_)150 -2511 y(insert\(\))c Fs(mak)m(es)k Fr(TAB)e Fs(insert)g(itself.)67 -b Fr(rl_bind_key\(\))35 b Fs(returns)j(non-zero)h(if)g -Fi(k)m(ey)47 b Fs(is)39 b(not)g(a)g(v)-5 b(alid)150 2621 -y(ASCI)s(I)29 b(c)m(haracter)j(co)s(de)e(\(b)s(et)m(w)m(een)i(0)f(and)e -(255\).)275 2774 y(Th)m(us,)g(to)i(disable)g(the)f(default)h -Fr(TAB)e Fs(b)s(eha)m(vior,)i(the)g(follo)m(wing)g(su\016ces:)390 +Fs(.)390 2139 y Fr(int)47 b(rl_bind_key)e(\(int)h Fk(key)p +Fr(,)h(rl_command_func_t)c(*)p Fk(function)p Fr(\);)275 +2292 y(rl_bind_key\(\))29 b Fs(tak)m(es)35 b(t)m(w)m(o)g(argumen)m(ts:) +47 b Fi(k)m(ey)c Fs(is)33 b(the)h(c)m(haracter)h(that)f(y)m(ou)g(w)m +(an)m(t)g(to)g(bind,)g(and)150 2402 y Fi(function)39 +b Fs(is)f(the)h(address)f(of)h(the)g(function)g(to)g(call)i(when)c +Fi(k)m(ey)48 b Fs(is)39 b(pressed.)65 b(Binding)38 b +Fr(TAB)g Fs(to)i Fr(rl_)150 2511 y(insert\(\))c Fs(mak)m(es)k +Fr(TAB)e Fs(insert)g(itself.)67 b Fr(rl_bind_key\(\))35 +b Fs(returns)j(non-zero)h(if)g Fi(k)m(ey)47 b Fs(is)39 +b(not)g(a)g(v)-5 b(alid)150 2621 y(ASCI)s(I)29 b(c)m(haracter)j(co)s +(de)e(\(b)s(et)m(w)m(een)i(0)f(and)e(255\).)275 2774 +y(Th)m(us,)g(to)i(disable)g(the)f(default)h Fr(TAB)e +Fs(b)s(eha)m(vior,)i(the)g(follo)m(wing)g(su\016ces:)390 2927 y Fr(rl_bind_key)45 b(\('\\t',)h(rl_insert\);)275 3080 y Fs(This)25 b(co)s(de)i(should)e(b)s(e)h(executed)h(once)g(at)g (the)g(start)g(of)f(y)m(our)h(program;)g(y)m(ou)g(migh)m(t)g(write)g(a) @@ -5474,7 +8301,7 @@ g(func-)150 3190 y(tion)33 b(called)h Fr(initialize_readline\(\))27 b Fs(whic)m(h)33 b(p)s(erforms)e(this)h(and)h(other)g(desired)f (initializations,)150 3299 y(suc)m(h)e(as)h(installing)g(custom)g (completers)g(\(see)g(Section)h(2.6)f([Custom)f(Completers],)h(page)g -(43\).)150 3559 y Fq(2.2)68 b(Custom)45 b(F)-11 b(unctions)150 +(46\).)150 3559 y Fq(2.2)68 b(Custom)45 b(F)-11 b(unctions)150 3719 y Fs(Readline)28 b(pro)m(vides)f(man)m(y)g(functions)g(for)g (manipulating)h(the)f(text)h(of)g(the)f(line,)i(but)d(it)i(isn't)f(p)s (ossible)150 3828 y(to)37 b(an)m(ticipate)i(the)e(needs)f(of)h(all)g @@ -5511,11 +8338,11 @@ b Fs(w)m(ould)30 b(b)s(e)g Fr(0x0402)p Fs(.)p eop end TeXDict begin 24 27 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(24)150 299 y Fh(2.2.1)63 b(Readline)40 b(T)m(yp)s(edefs)150 -446 y Fs(F)-8 b(or)31 b(readabilt)m(y)-8 b(,)32 b(w)m(e)f(declare)h(a)e -(n)m(um)m(b)s(er)f(of)i(new)f(ob)5 b(ject)31 b(t)m(yp)s(es,)g(all)g(p)s -(oin)m(ters)f(to)h(functions.)275 585 y(The)k(reason)h(for)f(declaring) -h(these)h(new)e(t)m(yp)s(es)g(is)h(to)h(mak)m(e)f(it)g(easier)h(to)f -(write)g(co)s(de)g(describing)150 694 y(p)s(oin)m(ters)30 +446 y Fs(F)-8 b(or)31 b(readabilit)m(y)-8 b(,)33 b(w)m(e)d(declare)i(a) +f(n)m(um)m(b)s(er)e(of)h(new)g(ob)5 b(ject)31 b(t)m(yp)s(es,)g(all)g(p) +s(oin)m(ters)f(to)i(functions.)275 585 y(The)j(reason)h(for)f +(declaring)h(these)h(new)e(t)m(yp)s(es)g(is)h(to)h(mak)m(e)f(it)g +(easier)h(to)f(write)g(co)s(de)g(describing)150 694 y(p)s(oin)m(ters)30 b(to)h(C)f(functions)g(with)g(appropriately)h(protot)m(yp)s(ed)f (argumen)m(ts)h(and)f(return)f(v)-5 b(alues.)275 833 y(F)d(or)37 b(instance,)j(sa)m(y)d(w)m(e)g(w)m(an)m(t)h(to)g(declare)f @@ -5591,7 +8418,7 @@ b(are)g(a)m(v)-5 b(ailable)33 b(to)e(function)f(writers.)3371 1583 y Fs(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43 b(Y)-8 b(ou)32 b(are)f(w)m(elcome)i(to)f(mo)s(dify)f(the)g(con)m(ten)m (ts)i(of)e(the)g(line,)390 1693 y(but)k(see)h(Section)g(2.4.5)h([Allo)m -(wing)h(Undoing],)f(page)f(33.)57 b(The)35 b(function)g +(wing)h(Undoing],)f(page)f(34.)57 b(The)35 b(function)g Fr(rl_extend_line_)390 1802 y(buffer)29 b Fs(is)h(a)m(v)-5 b(ailable)33 b(to)e(increase)g(the)g(memory)f(allo)s(cated)i(to)f Fr(rl_line_buffer)p Fs(.)3371 1998 y([V)-8 b(ariable])-3598 @@ -5644,13 +8471,13 @@ b(Programming)30 b(with)g(GNU)h(Readline)1683 b(26)3371 b(is)g(set)h(from)e(the)i(argumen)m(t)f(to)h Fr(readline\(\))p Fs(,)d(and)i(should)390 518 y(not)h(b)s(e)f(assigned)h(to)h(directly)-8 b(.)41 b(The)26 b Fr(rl_set_prompt\(\))d Fs(function)j(\(see)i(Section) -g(2.4.6)h([Redis-)390 628 y(pla)m(y],)i(page)h(34\))f(ma)m(y)g(b)s(e)f +g(2.4.6)h([Redis-)390 628 y(pla)m(y],)i(page)h(35\))f(ma)m(y)g(b)s(e)f (used)f(to)j(mo)s(dify)d(the)i(prompt)e(string)h(after)h(calling)h Fr(readline\(\))p Fs(.)3371 814 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_display_prompt)390 924 y Fs(The)31 -b(string)h(displa)m(y)m(ed)g(as)g(the)f(prompt.)44 b(This)31 -b(is)g(usually)h(iden)m(tical)h(to)f Fi(rl)p 3029 924 -28 4 v 40 w(prompt)r Fs(,)f(but)g(ma)m(y)390 1033 y(b)s(e)j(c)m(hanged) +b(string)h(displa)m(y)m(ed)g(as)g(the)g(prompt.)44 b(This)31 +b(is)h(usually)f(iden)m(tical)j(to)e Fi(rl)p 3031 924 +28 4 v 40 w(prompt)p Fs(,)f(but)g(ma)m(y)390 1033 y(b)s(e)j(c)m(hanged) g(temp)s(orarily)h(b)m(y)f(functions)g(that)g(use)g(the)h(prompt)e (string)h(as)h(a)f(message)i(area,)390 1143 y(suc)m(h)30 b(as)h(incremen)m(tal)g(searc)m(h.)3371 1329 y([V)-8 @@ -5694,7 +8521,7 @@ b(is)g(set)f(to)h(a)g(unique)e(name)h(b)m(y)g(eac)m(h)i(application)f (using)f(Readline.)44 b(The)30 b(v)-5 b(alue)390 3904 y(allo)m(ws)29 b(conditional)h(parsing)d(of)h(the)h(inputrc)e(\014le)h (\(see)h(Section)g(1.3.2)g([Conditional)g(Init)f(Con-)390 -4014 y(structs],)j(page)g(10\).)3371 4200 y([V)-8 b(ariable])-3598 +4014 y(structs],)j(page)g(11\).)3371 4200 y([V)-8 b(ariable])-3598 b Fg(FILE)54 b(*)e(rl_instream)390 4310 y Fs(The)40 b(stdio)i(stream)f (from)g(whic)m(h)f(Readline)i(reads)f(input.)71 b(If)41 b Fr(NULL)p Fs(,)i(Readline)e(defaults)g(to)390 4419 @@ -5702,7 +8529,7 @@ y Fi(stdin)p Fs(.)3371 4606 y([V)-8 b(ariable])-3598 b Fg(FILE)54 b(*)e(rl_outstream)390 4715 y Fs(The)34 b(stdio)h(stream)f(to)i(whic)m(h)e(Readline)h(p)s(erforms)e(output.)52 b(If)34 b Fr(NULL)p Fs(,)h(Readline)g(defaults)f(to)390 -4825 y Fi(stdout)r Fs(.)3371 5011 y([V)-8 b(ariable])-3598 +4825 y Fi(stdout)p Fs(.)3371 5011 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_prefer_env_winsize)390 5121 y Fs(If)28 b(non-zero,)h(Readline)g(giv)m(es)h(v)-5 b(alues)29 b(found)e(in)h(the) g Fr(LINES)f Fs(and)h Fr(COLUMNS)e Fs(en)m(vironmen)m(t)j(v)-5 @@ -5717,1747 +8544,1921 @@ b(*)c(rl_last_func)390 408 y Fs(The)34 b(address)g(of)h(the)g(last)h (command)e(function)g(Readline)i(executed.)55 b(Ma)m(y)35 b(b)s(e)g(used)f(to)h(test)390 518 y(whether)30 b(or)g(not)h(a)f (function)h(is)f(b)s(eing)g(executed)h(t)m(wice)h(in)e(succession,)h -(for)f(example.)3371 726 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t) -57 b(*)52 b(rl_startup_hook)390 836 y Fs(If)34 b(non-zero,)i(this)e(is) +(for)f(example.)3371 737 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t) +57 b(*)52 b(rl_startup_hook)390 847 y Fs(If)34 b(non-zero,)i(this)e(is) h(the)f(address)f(of)i(a)g(function)f(to)h(call)g(just)f(b)s(efore)g -Fr(readline)e Fs(prin)m(ts)i(the)390 945 y(\014rst)c(prompt.)3371 -1154 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)57 -b(*)52 b(rl_pre_input_hook)390 1263 y Fs(If)35 b(non-zero,)j(this)d(is) +Fr(readline)e Fs(prin)m(ts)i(the)390 956 y(\014rst)c(prompt.)3371 +1176 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)57 +b(*)52 b(rl_pre_input_hook)390 1285 y Fs(If)35 b(non-zero,)j(this)d(is) g(the)h(address)f(of)g(a)h(function)f(to)i(call)f(after)g(the)g -(\014rst)f(prompt)f(has)i(b)s(een)390 1373 y(prin)m(ted)30 +(\014rst)f(prompt)f(has)i(b)s(een)390 1395 y(prin)m(ted)30 b(and)g(just)f(b)s(efore)h Fr(readline)f Fs(starts)h(reading)h(input)e -(c)m(haracters.)3371 1581 y([V)-8 b(ariable])-3598 b -Fg(rl_hook_func_t)57 b(*)52 b(rl_event_hook)390 1691 +(c)m(haracters.)3371 1614 y([V)-8 b(ariable])-3598 b +Fg(rl_hook_func_t)57 b(*)52 b(rl_event_hook)390 1724 y Fs(If)40 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g(function) f(to)h(call)h(p)s(erio)s(dically)f(when)f(Readline)h(is)390 -1800 y(w)m(aiting)30 b(for)f(terminal)h(input.)39 b(By)30 +1833 y(w)m(aiting)30 b(for)f(terminal)h(input.)39 b(By)30 b(default,)g(this)f(will)g(b)s(e)g(called)h(at)g(most)f(ten)h(times)f -(a)h(second)390 1910 y(if)g(there)h(is)f(no)h(k)m(eyb)s(oard)f(input.) -3371 2118 y([V)-8 b(ariable])-3598 b Fg(rl_getc_func_t)57 -b(*)52 b(rl_getc_function)390 2228 y Fs(If)30 b(non-zero,)h(Readline)g +(a)h(second)390 1943 y(if)g(there)h(is)f(no)h(k)m(eyb)s(oard)f(input.) +3371 2162 y([V)-8 b(ariable])-3598 b Fg(rl_getc_func_t)57 +b(*)52 b(rl_getc_function)390 2271 y Fs(If)30 b(non-zero,)h(Readline)g (will)g(call)h(indirectly)e(through)g(this)h(p)s(oin)m(ter)f(to)h(get)h -(a)e(c)m(haracter)i(from)390 2337 y(the)39 b(input)e(stream.)65 -b(By)39 b(default,)i(it)e(is)f(set)h(to)g Fr(rl_getc)p -Fs(,)g(the)g(default)f(Readline)h(c)m(haracter)390 2447 -y(input)29 b(function)h(\(see)i(Section)f(2.4.8)h([Character)f(Input],) -f(page)h(36\).)3371 2655 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)56 -b(*)d(rl_redisplay_function)390 2765 y Fs(If)36 b(non-zero,)i(Readline) -e(will)h(call)g(indirectly)f(through)g(this)g(p)s(oin)m(ter)g(to)g(up)s -(date)g(the)g(displa)m(y)390 2874 y(with)27 b(the)g(curren)m(t)g(con)m +(a)e(c)m(haracter)i(from)390 2381 y(the)21 b(input)g(stream.)38 +b(By)21 b(default,)j(it)e(is)f(set)h(to)g Fr(rl_getc)p +Fs(,)f(the)h(default)f(Readline)h(c)m(haracter)h(input)390 +2491 y(function)f(\(see)i(Section)g(2.4.8)g([Character)g(Input],)f +(page)h(36\).)39 b(In)22 b(general,)k(an)c(application)i(that)390 +2600 y(sets)31 b Fi(rl)p 635 2600 28 4 v 40 w(getc)p +835 2600 V 41 w(function)f Fs(should)g(consider)g(setting)h +Fi(rl)p 2234 2600 V 40 w(input)p 2487 2600 V 39 w(a)m(v)-5 +b(ailable)p 2867 2600 V 43 w(ho)s(ok)36 b Fs(as)30 b(w)m(ell.)3371 +2819 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)57 +b(*)52 b(rl_signal_event_hook)390 2929 y Fs(If)27 b(non-zero,)h(this)f +(is)g(the)g(address)f(of)i(a)f(function)g(to)g(call)i(if)e(a)g(read)g +(system)g(call)h(is)g(in)m(terrupted)390 3039 y(when)h(Readline)i(is)g +(reading)f(terminal)h(input.)3371 3258 y([V)-8 b(ariable])-3598 +b Fg(rl_hook_func_t)57 b(*)52 b(rl_input_available_ho)q(ok)390 +3367 y Fs(If)28 b(non-zero,)j(Readline)e(will)g(use)g(this)g +(function's)g(return)f(v)-5 b(alue)29 b(when)f(it)i(needs)e(to)i +(determine)390 3477 y(whether)42 b(or)g(not)h(there)f(is)h(a)m(v)-5 +b(ailable)45 b(input)c(on)i(the)f(curren)m(t)g(input)g(source.)77 +b(The)42 b(default)390 3587 y(ho)s(ok)25 b(c)m(hec)m(ks)i +Fr(rl_instream)p Fs(;)d(if)i(an)f(application)i(is)e(using)g(a)h +(di\013eren)m(t)g(input)e(source,)j(it)f(should)390 3696 +y(set)34 b(the)f(ho)s(ok)h(appropriately)-8 b(.)50 b(Readline)34 +b(queries)f(for)h(a)m(v)-5 b(ailable)35 b(input)e(when)f(implemen)m +(ting)390 3806 y(in)m(tra-k)m(ey-sequence)f(timeouts)e(during)e(input)g +(and)h(incremen)m(tal)h(searc)m(hes.)41 b(This)27 b(ma)m(y)i(use)f(an) +390 3915 y(application-sp)s(eci\014c)22 b(timeout)g(b)s(efore)f +(returning)f(a)h(v)-5 b(alue;)25 b(Readline)c(uses)f(the)i(v)-5 +b(alue)21 b(passed)f(to)390 4025 y Fr(rl_set_keyboard_input_ti)o(meou)o +(t\(\))e Fs(or)24 b(the)g(v)-5 b(alue)25 b(of)g(the)f(user-settable)i +Fi(k)m(eyseq-timeout)390 4134 y Fs(v)-5 b(ariable.)48 +b(This)31 b(is)i(designed)f(for)g(use)g(b)m(y)g(applications)i(using)e +(Readline's)h(callbac)m(k)h(in)m(terface)390 4244 y(\(see)d(Section)f +(2.4.12)i([Alternate)f(In)m(terface],)h(page)e(40\),)i(whic)m(h)d(ma)m +(y)h(not)g(use)g(the)g(traditional)390 4354 y Fr(read\(2\))39 +b Fs(and)g(\014le)i(descriptor)f(in)m(terface,)45 b(or)c(other)f +(applications)i(using)e(a)h(di\013eren)m(t)g(input)390 +4463 y(mec)m(hanism.)k(If)31 b(an)g(application)i(uses)e(an)h(input)e +(mec)m(hanism)i(or)g(ho)s(ok)f(that)h(can)g(p)s(oten)m(tially)390 +4573 y(exceed)38 b(the)e(v)-5 b(alue)37 b(of)g Fi(k)m(eyseq-timeout)p +Fs(,)k(it)c(should)e(increase)j(the)e(timeout)i(or)f(set)g(this)f(ho)s +(ok)390 4682 y(appropriately)d(ev)m(en)g(when)e(not)h(using)g(the)h +(callbac)m(k)h(in)m(terface.)48 b(In)31 b(general,)j(an)f(application) +390 4792 y(that)e(sets)g Fi(rl)p 832 4792 V 40 w(getc)p +1032 4792 V 41 w(function)f Fs(should)g(consider)g(setting)h +Fi(rl)p 2431 4792 V 40 w(input)p 2684 4792 V 39 w(a)m(v)-5 +b(ailable)p 3064 4792 V 43 w(ho)s(ok)36 b Fs(as)30 b(w)m(ell.)3371 +5011 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)56 b(*)d +(rl_redisplay_function)390 5121 y Fs(If)36 b(non-zero,)i(Readline)e +(will)h(call)g(indirectly)f(through)g(this)g(p)s(oin)m(ter)g(to)g(up)s +(date)g(the)g(displa)m(y)390 5230 y(with)27 b(the)g(curren)m(t)g(con)m (ten)m(ts)h(of)f(the)h(editing)f(bu\013er.)39 b(By)27 b(default,)h(it)g(is)f(set)g(to)h Fr(rl_redisplay)p Fs(,)390 -2984 y(the)j(default)f(Readline)h(redispla)m(y)g(function)f(\(see)h -(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(34\).)3371 -3192 y([V)-8 b(ariable])-3598 b Fg(rl_vintfunc_t)56 b(*)d -(rl_prep_term_function)390 3302 y Fs(If)24 b(non-zero,)i(Readline)e -(will)h(call)g(indirectly)g(through)e(this)h(p)s(oin)m(ter)g(to)h -(initialize)h(the)e(terminal.)390 3411 y(The)37 b(function)f(tak)m(es)j -(a)e(single)h(argumen)m(t,)i(an)d Fr(int)f Fs(\015ag)h(that)h(sa)m(ys)g -(whether)e(or)h(not)g(to)h(use)390 3521 y(eigh)m(t-bit)e(c)m -(haracters.)53 b(By)35 b(default,)g(this)f(is)g(set)h(to)g -Fr(rl_prep_terminal)29 b Fs(\(see)35 b(Section)g(2.4.9)390 -3630 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(36\).)3371 -3839 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)56 b(*)d -(rl_deprep_term_functio)q(n)390 3948 y Fs(If)36 b(non-zero,)j(Readline) -e(will)g(call)h(indirectly)f(through)f(this)g(p)s(oin)m(ter)h(to)g -(reset)g(the)g(terminal.)390 4058 y(This)d(function)h(should)f(undo)g -(the)h(e\013ects)h(of)f Fr(rl_prep_term_function)p Fs(.)49 -b(By)35 b(default,)i(this)390 4167 y(is)30 b(set)h(to)g -Fr(rl_deprep_terminal)26 b Fs(\(see)31 b(Section)g(2.4.9)i([T)-8 -b(erminal)30 b(Managemen)m(t],)j(page)e(36\).)3371 4376 -y([V)-8 b(ariable])-3598 b Fg(Keymap)54 b(rl_executing_keymap)390 -4485 y Fs(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m -(eymap)h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(30\))i(in)d -(whic)m(h)390 4595 y(the)c(curren)m(tly)f(executing)i(readline)e -(function)g(w)m(as)h(found.)3371 4803 y([V)-8 b(ariable])-3598 -b Fg(Keymap)54 b(rl_binding_keymap)390 4913 y Fs(This)35 -b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m(eymap)h(\(see)g -(Section)f(2.4.2)i([Keymaps],)g(page)e(30\))i(in)d(whic)m(h)390 -5022 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371 -5230 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_executing_macro)390 -5340 y Fs(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g -(of)g(an)m(y)f(curren)m(tly-executing)i(macro.)p eop +5340 y(the)j(default)f(Readline)h(redispla)m(y)g(function)f(\(see)h +(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(35\).)p eop end %%Page: 28 32 TeXDict begin 28 31 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(28)3371 -299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_readline_state)390 -408 y Fs(A)35 b(v)-5 b(ariable)35 b(with)f(bit)g(v)-5 -b(alues)35 b(that)g(encapsulate)h(the)e(curren)m(t)h(Readline)g(state.) -54 b(A)34 b(bit)h(is)f(set)390 518 y(with)k(the)g Fr(RL_SETSTATE)c -Fs(macro,)41 b(and)c(unset)h(with)f(the)h Fr(RL_UNSETSTATE)d -Fs(macro.)63 b(Use)39 b(the)390 628 y Fr(RL_ISSTATE)34 -b Fs(macro)k(to)g(test)g(whether)f(a)h(particular)f(state)i(bit)e(is)g -(set.)62 b(Curren)m(t)36 b(state)j(bits)390 737 y(include:)390 -904 y Fr(RL_STATE_NONE)870 1013 y Fs(Readline)31 b(has)f(not)h(y)m(et)g -(b)s(een)f(called,)i(nor)e(has)g(it)h(b)s(egun)e(to)i(in)m(tialize.)390 -1178 y Fr(RL_STATE_INITIALIZING)870 1287 y Fs(Readline)g(is)f -(initializing)j(its)e(in)m(ternal)g(data)g(structures.)390 -1452 y Fr(RL_STATE_INITIALIZED)870 1561 y Fs(Readline)g(has)f -(completed)h(its)g(initialization.)390 1725 y Fr(RL_STATE_TERMPREPPED) -870 1835 y Fs(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s -(des)f(to)i(do)e(its)i(o)m(wn)e(input)g(and)g(redis-)870 -1945 y(pla)m(y)-8 b(.)390 2109 y Fr(RL_STATE_READCMD)870 -2218 y Fs(Readline)31 b(is)f(reading)h(a)g(command)f(from)g(the)g(k)m -(eyb)s(oard.)390 2383 y Fr(RL_STATE_METANEXT)870 2492 -y Fs(Readline)h(is)f(reading)h(more)f(input)g(after)h(reading)f(the)h -(meta-pre\014x)f(c)m(haracter.)390 2656 y Fr(RL_STATE_DISPATCHING)870 -2766 y Fs(Readline)h(is)f(dispatc)m(hing)h(to)g(a)g(command.)390 -2930 y Fr(RL_STATE_MOREINPUT)870 3040 y Fs(Readline)g(is)f(reading)h -(more)f(input)g(while)g(executing)i(an)e(editing)h(command.)390 -3204 y Fr(RL_STATE_ISEARCH)870 3314 y Fs(Readline)g(is)f(p)s(erforming) -g(an)g(incremen)m(tal)i(history)e(searc)m(h.)390 3478 -y Fr(RL_STATE_NSEARCH)870 3587 y Fs(Readline)h(is)f(p)s(erforming)g(a)g -(non-incremen)m(tal)i(history)e(searc)m(h.)390 3752 y -Fr(RL_STATE_SEARCH)870 3861 y Fs(Readline)21 b(is)f(searc)m(hing)i(bac) -m(kw)m(ard)e(or)h(forw)m(ard)e(through)h(the)h(history)f(for)g(a)h -(string.)390 4026 y Fr(RL_STATE_NUMERICARG)870 4135 y -Fs(Readline)31 b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390 -4299 y Fr(RL_STATE_MACROINPUT)870 4409 y Fs(Readline)25 -b(is)f(curren)m(tly)g(getting)i(its)f(input)e(from)h(a)g -(previously-de\014ned)f(k)m(eyb)s(oard)870 4519 y(macro.)390 -4683 y Fr(RL_STATE_MACRODEF)870 4792 y Fs(Readline)31 -b(is)f(curren)m(tly)h(reading)f(c)m(haracters)i(de\014ning)e(a)g(k)m -(eyb)s(oard)h(macro.)390 4957 y Fr(RL_STATE_OVERWRITE)870 -5066 y Fs(Readline)g(is)f(in)g(o)m(v)m(erwrite)i(mo)s(de.)390 -5230 y Fr(RL_STATE_COMPLETING)870 5340 y Fs(Readline)f(is)f(p)s -(erforming)g(w)m(ord)g(completion.)p eop end +299 y([V)-8 b(ariable])-3598 b Fg(rl_vintfunc_t)56 b(*)d +(rl_prep_term_function)390 408 y Fs(If)24 b(non-zero,)i(Readline)e +(will)h(call)g(indirectly)g(through)e(this)h(p)s(oin)m(ter)g(to)h +(initialize)h(the)e(terminal.)390 518 y(The)37 b(function)f(tak)m(es)j +(a)e(single)h(argumen)m(t,)i(an)d Fr(int)f Fs(\015ag)h(that)h(sa)m(ys)g +(whether)e(or)h(not)g(to)h(use)390 628 y(eigh)m(t-bit)e(c)m(haracters.) +53 b(By)35 b(default,)g(this)f(is)g(set)h(to)g Fr(rl_prep_terminal)29 +b Fs(\(see)35 b(Section)g(2.4.9)390 737 y([T)-8 b(erminal)31 +b(Managemen)m(t],)i(page)e(37\).)3371 915 y([V)-8 b(ariable])-3598 +b Fg(rl_voidfunc_t)56 b(*)d(rl_deprep_term_functio)q(n)390 +1024 y Fs(If)36 b(non-zero,)j(Readline)e(will)g(call)h(indirectly)f +(through)f(this)g(p)s(oin)m(ter)h(to)g(reset)g(the)g(terminal.)390 +1134 y(This)d(function)h(should)f(undo)g(the)h(e\013ects)h(of)f +Fr(rl_prep_term_function)p Fs(.)49 b(By)35 b(default,)i(this)390 +1243 y(is)30 b(set)h(to)g Fr(rl_deprep_terminal)26 b +Fs(\(see)31 b(Section)g(2.4.9)i([T)-8 b(erminal)30 b(Managemen)m(t],)j +(page)e(37\).)3371 1421 y([V)-8 b(ariable])-3598 b Fg(Keymap)54 +b(rl_executing_keymap)390 1530 y Fs(This)35 b(v)-5 b(ariable)37 +b(is)f(set)g(to)h(the)f(k)m(eymap)h(\(see)g(Section)f(2.4.2)i +([Keymaps],)g(page)e(30\))i(in)d(whic)m(h)390 1640 y(the)c(curren)m +(tly)f(executing)i(readline)e(function)g(w)m(as)h(found.)3371 +1817 y([V)-8 b(ariable])-3598 b Fg(Keymap)54 b(rl_binding_keymap)390 +1927 y Fs(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m +(eymap)h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(30\))i(in)d +(whic)m(h)390 2036 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371 +2213 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_executing_macro)390 +2323 y Fs(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g +(of)g(an)m(y)f(curren)m(tly-executing)i(macro.)3371 2500 +y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_executing_key)390 +2610 y Fs(The)30 b(k)m(ey)h(that)g(caused)f(the)h(dispatc)m(h)g(to)g +(the)f(curren)m(tly-executing)i(Readline)f(function.)3371 +2787 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_executing_keyseq) +390 2897 y Fs(The)35 b(full)g(k)m(ey)h(sequence)g(that)g(caused)g(the)g +(dispatc)m(h)f(to)i(the)e(curren)m(tly-executing)i(Readline)390 +3006 y(function.)3371 3184 y([V)-8 b(ariable])-3598 b +Fg(int)53 b(rl_key_sequence_lengt)q(h)390 3293 y Fs(The)30 +b(n)m(um)m(b)s(er)f(of)h(c)m(haracters)i(in)e Fi(rl)p +1617 3293 28 4 v 40 w(executing)p 2032 3293 V 41 w(k)m(eyseq)p +Fs(.)3371 3471 y([V)-8 b(ariable])-3598 b Fg(int)53 b +(rl_readline_state)390 3580 y Fs(A)35 b(v)-5 b(ariable)35 +b(with)f(bit)g(v)-5 b(alues)35 b(that)g(encapsulate)h(the)e(curren)m(t) +h(Readline)g(state.)54 b(A)34 b(bit)h(is)f(set)390 3690 +y(with)k(the)g Fr(RL_SETSTATE)c Fs(macro,)41 b(and)c(unset)h(with)f +(the)h Fr(RL_UNSETSTATE)d Fs(macro.)63 b(Use)39 b(the)390 +3799 y Fr(RL_ISSTATE)34 b Fs(macro)k(to)g(test)g(whether)f(a)h +(particular)f(state)i(bit)e(is)g(set.)62 b(Curren)m(t)36 +b(state)j(bits)390 3909 y(include:)390 4064 y Fr(RL_STATE_NONE)870 +4173 y Fs(Readline)31 b(has)f(not)h(y)m(et)g(b)s(een)f(called,)i(nor)e +(has)g(it)h(b)s(egun)e(to)i(initialize.)390 4328 y Fr +(RL_STATE_INITIALIZING)870 4437 y Fs(Readline)g(is)f(initializing)j +(its)e(in)m(ternal)g(data)g(structures.)390 4592 y Fr +(RL_STATE_INITIALIZED)870 4702 y Fs(Readline)g(has)f(completed)h(its)g +(initialization.)390 4856 y Fr(RL_STATE_TERMPREPPED)870 +4966 y Fs(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s(des)f +(to)i(do)e(its)i(o)m(wn)e(input)g(and)g(redis-)870 5076 +y(pla)m(y)-8 b(.)390 5230 y Fr(RL_STATE_READCMD)870 5340 +y Fs(Readline)31 b(is)f(reading)h(a)g(command)f(from)g(the)g(k)m(eyb)s +(oard.)p eop end %%Page: 29 33 TeXDict begin 29 32 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(29)390 -299 y Fr(RL_STATE_SIGHANDLER)870 408 y Fs(Readline)31 -b(is)f(curren)m(tly)h(executing)g(the)g(readline)g(signal)g(handler.) -390 563 y Fr(RL_STATE_UNDOING)870 673 y Fs(Readline)g(is)f(p)s -(erforming)g(an)g(undo.)390 827 y Fr(RL_STATE_INPUTPENDING)870 -937 y Fs(Readline)h(has)f(input)g(p)s(ending)f(due)g(to)i(a)g(call)h -(to)f Fr(rl_execute_next\(\))p Fs(.)390 1092 y Fr(RL_STATE_TTYCSAVED) -870 1201 y Fs(Readline)g(has)f(sa)m(v)m(ed)i(the)e(v)-5 +299 y Fr(RL_STATE_METANEXT)870 408 y Fs(Readline)31 b(is)f(reading)h +(more)f(input)g(after)h(reading)f(the)h(meta-pre\014x)f(c)m(haracter.) +390 576 y Fr(RL_STATE_DISPATCHING)870 686 y Fs(Readline)h(is)f(dispatc) +m(hing)h(to)g(a)g(command.)390 853 y Fr(RL_STATE_MOREINPUT)870 +963 y Fs(Readline)g(is)f(reading)h(more)f(input)g(while)g(executing)i +(an)e(editing)h(command.)390 1130 y Fr(RL_STATE_ISEARCH)870 +1240 y Fs(Readline)g(is)f(p)s(erforming)g(an)g(incremen)m(tal)i +(history)e(searc)m(h.)390 1408 y Fr(RL_STATE_NSEARCH)870 +1517 y Fs(Readline)h(is)f(p)s(erforming)g(a)g(non-incremen)m(tal)i +(history)e(searc)m(h.)390 1685 y Fr(RL_STATE_SEARCH)870 +1794 y Fs(Readline)21 b(is)f(searc)m(hing)i(bac)m(kw)m(ard)e(or)h(forw) +m(ard)e(through)h(the)h(history)f(for)g(a)h(string.)390 +1962 y Fr(RL_STATE_NUMERICARG)870 2072 y Fs(Readline)31 +b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390 2239 +y Fr(RL_STATE_MACROINPUT)870 2349 y Fs(Readline)25 b(is)f(curren)m(tly) +g(getting)i(its)f(input)e(from)h(a)g(previously-de\014ned)f(k)m(eyb)s +(oard)870 2458 y(macro.)390 2626 y Fr(RL_STATE_MACRODEF)870 +2736 y Fs(Readline)31 b(is)f(curren)m(tly)h(reading)f(c)m(haracters)i +(de\014ning)e(a)g(k)m(eyb)s(oard)h(macro.)390 2903 y +Fr(RL_STATE_OVERWRITE)870 3013 y Fs(Readline)g(is)f(in)g(o)m(v)m +(erwrite)i(mo)s(de.)390 3180 y Fr(RL_STATE_COMPLETING)870 +3290 y Fs(Readline)f(is)f(p)s(erforming)g(w)m(ord)g(completion.)390 +3458 y Fr(RL_STATE_SIGHANDLER)870 3567 y Fs(Readline)h(is)f(curren)m +(tly)h(executing)g(the)g(readline)g(signal)g(handler.)390 +3735 y Fr(RL_STATE_UNDOING)870 3844 y Fs(Readline)g(is)f(p)s(erforming) +g(an)g(undo.)390 4012 y Fr(RL_STATE_INPUTPENDING)870 +4122 y Fs(Readline)h(has)f(input)g(p)s(ending)f(due)g(to)i(a)g(call)h +(to)f Fr(rl_execute_next\(\))p Fs(.)390 4289 y Fr(RL_STATE_TTYCSAVED) +870 4399 y Fs(Readline)g(has)f(sa)m(v)m(ed)i(the)e(v)-5 b(alues)31 b(of)f(the)h(terminal's)g(sp)s(ecial)g(c)m(haracters.)390 -1356 y Fr(RL_STATE_CALLBACK)870 1466 y Fs(Readline)44 +4566 y Fr(RL_STATE_CALLBACK)870 4676 y Fs(Readline)44 b(is)f(curren)m(tly)g(using)f(the)h(alternate)i(\(callbac)m(k\))h(in)m -(terface)e(\(see)g(Sec-)870 1575 y(tion)31 b(2.4.12)h([Alternate)h(In)m -(terface],)f(page)f(39\).)390 1730 y Fr(RL_STATE_VIMOTION)870 -1839 y Fs(Readline)g(is)f(reading)h(the)f(argumen)m(t)h(to)g(a)g(vi-mo) -s(de)g Fr(")p Fs(motion)p Fr(")f Fs(command.)390 1994 -y Fr(RL_STATE_MULTIKEY)870 2104 y Fs(Readline)h(is)f(reading)h(a)g(m)m -(ultiple-k)m(eystrok)m(e)i(command.)390 2258 y Fr(RL_STATE_VICMDONCE) -870 2368 y Fs(Readline)40 b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v) -m(emen)m(t\))j(mo)s(de)d(at)h(least)g(one)f(time)870 -2478 y(during)29 b(the)i(curren)m(t)f(call)i(to)f Fr(readline\(\))p -Fs(.)390 2632 y Fr(RL_STATE_DONE)870 2742 y Fs(Readline)d(has)g(read)f -(a)i(k)m(ey)f(sequence)g(b)s(ound)e(to)i Fr(accept-line)d -Fs(and)i(is)h(ab)s(out)f(to)870 2852 y(return)i(the)i(line)g(to)g(the)f -(caller.)3371 3029 y([V)-8 b(ariable])-3598 b Fg(int)53 -b(rl_explicit_arg)390 3138 y Fs(Set)39 b(to)g(a)h(non-zero)f(v)-5 -b(alue)39 b(if)g(an)g(explicit)h(n)m(umeric)e(argumen)m(t)i(w)m(as)f -(sp)s(eci\014ed)f(b)m(y)g(the)h(user.)390 3248 y(Only)30 -b(v)-5 b(alid)30 b(in)h(a)f(bindable)g(command)g(function.)3371 -3425 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_numeric_arg)390 -3535 y Fs(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m +(terface)e(\(see)g(Sec-)870 4786 y(tion)31 b(2.4.12)h([Alternate)h(In)m +(terface],)f(page)f(40\).)390 4953 y Fr(RL_STATE_VIMOTION)870 +5063 y Fs(Readline)g(is)f(reading)h(the)f(argumen)m(t)h(to)g(a)g(vi-mo) +s(de)g Fr(")p Fs(motion)p Fr(")f Fs(command.)390 5230 +y Fr(RL_STATE_MULTIKEY)870 5340 y Fs(Readline)h(is)f(reading)h(a)g(m)m +(ultiple-k)m(eystrok)m(e)i(command.)p eop end +%%Page: 30 34 +TeXDict begin 30 33 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)390 +299 y Fr(RL_STATE_VICMDONCE)870 408 y Fs(Readline)40 +b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v)m(emen)m(t\))j(mo)s(de)d +(at)h(least)g(one)f(time)870 518 y(during)29 b(the)i(curren)m(t)f(call) +i(to)f Fr(readline\(\))p Fs(.)390 672 y Fr(RL_STATE_DONE)870 +782 y Fs(Readline)d(has)g(read)f(a)i(k)m(ey)f(sequence)g(b)s(ound)e(to) +i Fr(accept-line)d Fs(and)i(is)h(ab)s(out)f(to)870 891 +y(return)i(the)i(line)g(to)g(the)f(caller.)3371 1067 +y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_explicit_arg)390 +1177 y Fs(Set)39 b(to)g(a)h(non-zero)f(v)-5 b(alue)39 +b(if)g(an)g(explicit)h(n)m(umeric)e(argumen)m(t)i(w)m(as)f(sp)s +(eci\014ed)f(b)m(y)g(the)h(user.)390 1287 y(Only)30 b(v)-5 +b(alid)30 b(in)h(a)f(bindable)g(command)g(function.)3371 +1463 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_numeric_arg)390 +1572 y Fs(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m (umeric)f(argumen)m(t)h(explicitly)h(sp)s(eci\014ed)d(b)m(y)h(the)h -(user)e(b)s(efore)390 3644 y(executing)27 b(the)f(curren)m(t)g +(user)e(b)s(efore)390 1682 y(executing)27 b(the)f(curren)m(t)g (Readline)h(function.)38 b(Only)26 b(v)-5 b(alid)26 b(in)g(a)g -(bindable)f(command)h(function.)3371 3822 y([V)-8 b(ariable])-3598 -b Fg(int)53 b(rl_editing_mode)390 3931 y Fs(Set)25 b(to)h(a)g(v)-5 +(bindable)f(command)h(function.)3371 1858 y([V)-8 b(ariable])-3598 +b Fg(int)53 b(rl_editing_mode)390 1968 y Fs(Set)25 b(to)h(a)g(v)-5 b(alue)25 b(denoting)h(Readline's)f(curren)m(t)g(editing)h(mo)s(de.)39 b(A)25 b(v)-5 b(alue)25 b(of)h Fi(1)32 b Fs(means)25 -b(Readline)390 4041 y(is)30 b(curren)m(tly)h(in)f(emacs)h(mo)s(de;)f +b(Readline)390 2077 y(is)30 b(curren)m(tly)h(in)f(emacs)h(mo)s(de;)f Fi(0)38 b Fs(means)31 b(that)f(vi)h(mo)s(de)f(is)g(activ)m(e.)150 -4269 y Fq(2.4)68 b(Readline)47 b(Con)l(v)l(enience)f(F)-11 -b(unctions)150 4490 y Fh(2.4.1)63 b(Naming)41 b(a)g(F)-10 -b(unction)150 4637 y Fs(The)24 b(user)h(can)g(dynamically)g(c)m(hange)h +2304 y Fq(2.4)68 b(Readline)47 b(Con)l(v)l(enience)f(F)-11 +b(unctions)150 2526 y Fh(2.4.1)63 b(Naming)41 b(a)g(F)-10 +b(unction)150 2673 y Fs(The)24 b(user)h(can)g(dynamically)g(c)m(hange)h (the)f(bindings)f(of)h(k)m(eys)h(while)e(using)h(Readline.)39 -b(This)24 b(is)h(done)g(b)m(y)150 4747 y(represen)m(ting)30 +b(This)24 b(is)h(done)g(b)m(y)150 2782 y(represen)m(ting)30 b(the)h(function)f(with)g(a)g(descriptiv)m(e)h(name.)41 b(The)30 b(user)f(is)i(able)f(to)h(t)m(yp)s(e)g(the)f(descriptiv)m(e) -150 4857 y(name)g(when)g(referring)g(to)h(the)f(function.)41 +150 2892 y(name)g(when)g(referring)g(to)h(the)f(function.)41 b(Th)m(us,)29 b(in)h(an)h(init)f(\014le,)h(one)g(migh)m(t)g(\014nd)390 -4989 y Fr(Meta-Rubout:)92 b(backward-kill-word)275 5121 -y Fs(This)33 b(binds)f(the)j(k)m(eystrok)m(e)h Fr(Meta-Rubout)31 -b Fs(to)k(the)f(function)g Fj(descriptively)43 b Fs(named)33 -b Fr(backward-)150 5230 y(kill-word)p Fs(.)59 b(Y)-8 -b(ou,)39 b(as)f(the)f(programmer,)i(should)d(bind)g(the)h(functions)g -(y)m(ou)h(write)f(to)h(descriptiv)m(e)150 5340 y(names)30 -b(as)h(w)m(ell.)42 b(Readline)31 b(pro)m(vides)f(a)h(function)f(for)g -(doing)g(that:)p eop end -%%Page: 30 34 -TeXDict begin 30 33 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)3350 -299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_defun)c -Ff(\()p Fi(const)32 b(c)m(har)e(*name,)h(rl)p 1885 299 -28 4 v 40 w(command)p 2309 299 V 40 w(func)p 2519 299 -V 39 w(t)g(*function,)g(in)m(t)565 408 y(k)m(ey)p Ff(\))390 -518 y Fs(Add)j Fi(name)41 b Fs(to)36 b(the)f(list)h(of)g(named)e +3024 y Fr(Meta-Rubout:)92 b(backward-kill-word)275 3156 +y Fs(This)84 b(binds)h(the)g(k)m(eystrok)m(e)j Fr(Meta-Rubout)82 +b Fs(to)87 b(the)e(function)h Fj(descriptively)94 b Fs(named)150 +3265 y Fr(backward-kill-word)p Fs(.)63 b(Y)-8 b(ou,)43 +b(as)d(the)g(programmer,)i(should)c(bind)g(the)i(functions)f(y)m(ou)h +(write)g(to)150 3375 y(descriptiv)m(e)31 b(names)g(as)f(w)m(ell.)42 +b(Readline)31 b(pro)m(vides)f(a)h(function)f(for)g(doing)h(that:)3350 +3551 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_defun)c +Ff(\()p Fi(const)32 b(c)m(har)e(*name,)h(rl)p 1885 3551 +28 4 v 40 w(command)p 2309 3551 V 40 w(func)p 2519 3551 +V 39 w(t)g(*function,)g(in)m(t)565 3661 y(k)m(ey)p Ff(\))390 +3770 y Fs(Add)j Fi(name)41 b Fs(to)36 b(the)f(list)h(of)g(named)e (functions.)55 b(Mak)m(e)37 b Fi(function)e Fs(b)s(e)g(the)g(function)g -(that)h(gets)390 628 y(called.)42 b(If)30 b Fi(k)m(ey)39 +(that)h(gets)390 3880 y(called.)42 b(If)30 b Fi(k)m(ey)39 b Fs(is)30 b(not)h(-1,)g(then)f(bind)f(it)i(to)g Fi(function)f -Fs(using)g Fr(rl_bind_key\(\))p Fs(.)275 813 y(Using)g(this)g(function) -g(alone)h(is)f(su\016cien)m(t)g(for)g(most)h(applications.)42 -b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150 923 +Fs(using)g Fr(rl_bind_key\(\))p Fs(.)275 4056 y(Using)g(this)g +(function)g(alone)h(is)f(su\016cien)m(t)g(for)g(most)h(applications.)42 +b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150 4165 y(to)e(add)e(a)h(few)g(functions)g(to)g(the)g(default)h(functions)e (that)i(Readline)f(has)g(built)g(in.)39 b(If)26 b(y)m(ou)i(need)e(to)i -(do)150 1032 y(something)34 b(other)g(than)f(adding)h(a)g(function)f +(do)150 4275 y(something)34 b(other)g(than)f(adding)h(a)g(function)f (to)h(Readline,)i(y)m(ou)e(ma)m(y)g(need)f(to)i(use)e(the)h(underlying) -150 1142 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150 -1342 y Fh(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 1489 +150 4385 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150 +4578 y Fh(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 4725 y Fs(Key)f(bindings)e(tak)m(e)j(place)g(on)f(a)g Fi(k)m(eymap)p Fs(.)66 b(The)38 b(k)m(eymap)h(is)g(the)g(asso)s(ciation)h(b)s(et)m(w)m -(een)f(the)g(k)m(eys)150 1598 y(that)29 b(the)g(user)e(t)m(yp)s(es)i +(een)f(the)g(k)m(eys)150 4835 y(that)29 b(the)g(user)e(t)m(yp)s(es)i (and)f(the)g(functions)g(that)h(get)h(run.)39 b(Y)-8 b(ou)29 b(can)f(mak)m(e)i(y)m(our)e(o)m(wn)h(k)m(eymaps,)g(cop)m(y)150 -1708 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m -(eymap)h(to)g(use.)3350 1894 y([F)-8 b(unction])-3599 +4945 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m +(eymap)h(to)g(use.)3350 5121 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_make_bare_keymap)d Ff(\()p Fi(v)m(oid)p -Ff(\))390 2003 y Fs(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40 +Ff(\))390 5230 y Fs(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40 b(The)23 b(space)i(for)f(the)g(k)m(eymap)h(is)f(allo)s(cated)i(with)e -Fr(malloc\(\))p Fs(;)390 2113 y(the)31 b(caller)g(should)f(free)g(it)h -(b)m(y)f(calling)i Fr(rl_free_keymap\(\))26 b Fs(when)j(done.)3350 -2298 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_copy_keymap)c -Ff(\()p Fi(Keymap)30 b(map)p Ff(\))390 2408 y Fs(Return)g(a)g(new)g(k)m -(eymap)h(whic)m(h)f(is)h(a)f(cop)m(y)h(of)g Fi(map)s -Fs(.)3350 2594 y([F)-8 b(unction])-3599 b Fg(Keymap)54 -b(rl_make_keymap)c Ff(\()p Fi(v)m(oid)p Ff(\))390 2703 +Fr(malloc\(\))p Fs(;)390 5340 y(the)31 b(caller)g(should)f(free)g(it)h +(b)m(y)f(calling)i Fr(rl_free_keymap\(\))26 b Fs(when)j(done.)p +eop end +%%Page: 31 35 +TeXDict begin 31 34 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)3350 +299 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_copy_keymap)c +Ff(\()p Fi(Keymap)30 b(map)p Ff(\))390 408 y Fs(Return)g(a)g(new)g(k)m +(eymap)h(whic)m(h)f(is)h(a)f(cop)m(y)h(of)g Fi(map)p +Fs(.)3350 579 y([F)-8 b(unction])-3599 b Fg(Keymap)54 +b(rl_make_keymap)c Ff(\()p Fi(v)m(oid)p Ff(\))390 689 y Fs(Return)31 b(a)g(new)g(k)m(eymap)h(with)f(the)h(prin)m(ting)f(c)m -(haracters)i(b)s(ound)c(to)j(rl)p 2909 2703 V 40 w(insert,)g(the)g(lo)m -(w)m(ercase)390 2813 y(Meta)24 b(c)m(haracters)g(b)s(ound)d(to)i(run)e -(their)i(equiv)-5 b(alen)m(ts,)25 b(and)d(the)h(Meta)h(digits)f(b)s -(ound)e(to)i(pro)s(duce)390 2922 y(n)m(umeric)30 b(argumen)m(ts.)3350 -3108 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_discard_keymap)c -Ff(\()p Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 3217 y Fs(F)-8 -b(ree)30 b(the)f(storage)h(asso)s(ciated)h(with)d(the)h(data)h(in)f -Fi(k)m(eymap)s Fs(.)40 b(The)28 b(caller)j(should)c(free)i -Fi(k)m(eymap)s Fs(.)3350 3403 y([F)-8 b(unction])-3599 +(haracters)i(b)s(ound)c(to)j(rl)p 2909 689 28 4 v 40 +w(insert,)g(the)g(lo)m(w)m(ercase)390 798 y(Meta)24 b(c)m(haracters)g +(b)s(ound)d(to)i(run)e(their)i(equiv)-5 b(alen)m(ts,)25 +b(and)d(the)h(Meta)h(digits)f(b)s(ound)e(to)i(pro)s(duce)390 +908 y(n)m(umeric)30 b(argumen)m(ts.)3350 1078 y([F)-8 +b(unction])-3599 b Fg(void)54 b(rl_discard_keymap)c Ff(\()p +Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 1188 y Fs(F)-8 b(ree)30 +b(the)g(storage)h(asso)s(ciated)g(with)e(the)g(data)h(in)f +Fi(k)m(eymap)p Fs(.)41 b(The)29 b(caller)h(should)f(free)g +Fi(k)m(eymap)p Fs(.)3350 1358 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_free_keymap)49 b Ff(\()p Fi(Keymap)31 -b(k)m(eymap)p Ff(\))390 3513 y Fs(F)-8 b(ree)32 b(all)f(storage)h(asso) -s(ciated)g(with)f Fi(k)m(eymap)s Fs(.)41 b(This)30 b(calls)i -Fr(rl_discard_keymap)26 b Fs(to)31 b(free)g(sub-)390 -3622 y(ordindate)f(k)m(eymaps)h(and)f(macros.)275 3808 +b(k)m(eymap)p Ff(\))390 1468 y Fs(F)-8 b(ree)32 b(all)g(storage)g(asso) +s(ciated)g(with)f Fi(k)m(eymap)p Fs(.)42 b(This)30 b(calls)i +Fr(rl_discard_keymap)26 b Fs(to)32 b(free)f(sub-)390 +1577 y(ordindate)f(k)m(eymaps)h(and)f(macros.)275 1748 y(Readline)45 b(has)g(sev)m(eral)i(in)m(ternal)f(k)m(eymaps.)86 b(These)45 b(functions)g(allo)m(w)h(y)m(ou)g(to)g(c)m(hange)g(whic)m(h) -150 3917 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 4103 y([F)-8 +150 1857 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 2028 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_get_keymap)c Ff(\()p -Fi(v)m(oid)p Ff(\))390 4213 y Fs(Returns)29 b(the)i(curren)m(tly)f -(activ)m(e)j(k)m(eymap.)3350 4398 y([F)-8 b(unction])-3599 +Fi(v)m(oid)p Ff(\))390 2137 y Fs(Returns)29 b(the)i(curren)m(tly)f +(activ)m(e)j(k)m(eymap.)3350 2308 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_set_keymap)49 b Ff(\()p Fi(Keymap)30 -b(k)m(eymap)p Ff(\))390 4508 y Fs(Mak)m(es)i Fi(k)m(eymap)h -Fs(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 4693 +b(k)m(eymap)p Ff(\))390 2418 y Fs(Mak)m(es)i Fi(k)m(eymap)h +Fs(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 2588 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_get_keymap_by_name)e -Ff(\()p Fi(const)31 b(c)m(har)g(*name)p Ff(\))390 4803 -y Fs(Return)h(the)h(k)m(eymap)h(matc)m(hing)f Fi(name)5 -b Fs(.)49 b Fi(name)38 b Fs(is)33 b(one)g(whic)m(h)g(w)m(ould)f(b)s(e)g -(supplied)g(in)h(a)g Fr(set)390 4912 y(keymap)c Fs(inputrc)g(line)i +Ff(\()p Fi(const)31 b(c)m(har)g(*name)p Ff(\))390 2698 +y Fs(Return)h(the)i(k)m(eymap)f(matc)m(hing)i Fi(name)p +Fs(.)49 b Fi(name)38 b Fs(is)c(one)f(whic)m(h)g(w)m(ould)g(b)s(e)f +(supplied)g(in)h(a)h Fr(set)390 2807 y(keymap)29 b Fs(inputrc)g(line)i (\(see)g(Section)g(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)3350 -5098 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_keymap_name)f -Ff(\()p Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 5208 y Fs(Return)h(the)h -(name)h(matc)m(hing)g Fi(k)m(eymap)s Fs(.)49 b Fi(name)38 -b Fs(is)33 b(one)g(whic)m(h)g(w)m(ould)g(b)s(e)f(supplied)g(in)g(a)i -Fr(set)390 5317 y(keymap)29 b Fs(inputrc)g(line)i(\(see)g(Section)g -(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)p eop -end -%%Page: 31 35 -TeXDict begin 31 34 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)150 -299 y Fh(2.4.3)63 b(Binding)42 b(Keys)150 446 y Fs(Key)34 +2978 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_keymap_name)f +Ff(\()p Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 3087 y Fs(Return)h(the)i +(name)f(matc)m(hing)h Fi(k)m(eymap)p Fs(.)50 b Fi(name)38 +b Fs(is)c(one)f(whic)m(h)g(w)m(ould)g(b)s(e)f(supplied)g(in)h(a)h +Fr(set)390 3197 y(keymap)29 b Fs(inputrc)g(line)i(\(see)g(Section)g +(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)150 3387 +y Fh(2.4.3)63 b(Binding)42 b(Keys)150 3534 y Fs(Key)34 b(sequences)g(are)h(asso)s(ciate)h(with)e(functions)f(through)h(the)g (k)m(eymap.)52 b(Readline)35 b(has)f(sev)m(eral)h(in-)150 -555 y(ternal)30 b(k)m(eymaps:)40 b Fr(emacs_standard_keymap)p +3643 y(ternal)30 b(k)m(eymaps:)40 b Fr(emacs_standard_keymap)p Fs(,)24 b Fr(emacs_meta_keymap)p Fs(,)h Fr(emacs_ctlx_keymap)p -Fs(,)g Fr(vi_)150 665 y(movement_keymap)p Fs(,)41 b(and)h +Fs(,)g Fr(vi_)150 3753 y(movement_keymap)p Fs(,)41 b(and)h Fr(vi_insertion_keymap)p Fs(.)71 b Fr(emacs_standard_keymap)37 -b Fs(is)42 b(the)g(default,)150 775 y(and)30 b(the)g(examples)h(in)f -(this)h(man)m(ual)f(assume)g(that.)275 920 y(Since)d +b Fs(is)42 b(the)g(default,)150 3863 y(and)30 b(the)g(examples)h(in)f +(this)h(man)m(ual)f(assume)g(that.)275 3992 y(Since)d Fr(readline\(\))e Fs(installs)j(a)g(set)g(of)g(default)g(k)m(ey)g (bindings)f(the)h(\014rst)e(time)j(it)f(is)f(called,)j(there)e(is)150 -1030 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e +4102 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e (installed)j(b)s(efore)e(the)h(\014rst)e(call)j(to)g -Fr(readline\(\))c Fs(will)150 1140 y(b)s(e)25 b(o)m(v)m(erridden.)39 +Fr(readline\(\))c Fs(will)150 4212 y(b)s(e)25 b(o)m(v)m(erridden.)39 b(An)26 b(alternate)h(mec)m(hanism)f(is)g(to)g(install)h(custom)f(k)m -(ey)g(bindings)f(in)g(an)h(initialization)150 1249 y(function)37 +(ey)g(bindings)f(in)g(an)h(initialization)150 4321 y(function)37 b(assigned)g(to)h(the)f Fr(rl_startup_hook)c Fs(v)-5 b(ariable)38 b(\(see)g(Section)g(2.3)g([Readline)g(V)-8 -b(ariables],)150 1359 y(page)31 b(25\).)275 1505 y(These)f(functions)g -(manage)h(k)m(ey)g(bindings.)3350 1712 y([F)-8 b(unction])-3599 +b(ariables],)150 4431 y(page)31 b(25\).)275 4561 y(These)f(functions)g +(manage)h(k)m(ey)g(bindings.)3350 4731 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_key)c Ff(\()p Fi(in)m(t)31 b(k)m(ey)-8 -b(,)32 b(rl)p 1403 1712 28 4 v 40 w(command)p 1827 1712 -V 40 w(func)p 2037 1712 V 39 w(t)f(*function)p Ff(\))390 -1821 y Fs(Binds)h Fi(k)m(ey)42 b Fs(to)34 b Fi(function)e +b(,)32 b(rl)p 1403 4731 V 40 w(command)p 1827 4731 V +40 w(func)p 2037 4731 V 39 w(t)f(*function)p Ff(\))390 +4841 y Fs(Binds)h Fi(k)m(ey)42 b Fs(to)34 b Fi(function)e Fs(in)h(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.)49 -b(Returns)32 b(non-zero)i(in)f(the)g(case)390 1931 y(of)e(an)f(in)m(v) --5 b(alid)31 b Fi(k)m(ey)8 b Fs(.)3350 2138 y([F)-8 b(unction])-3599 +b(Returns)32 b(non-zero)i(in)f(the)g(case)390 4950 y(of)e(an)f(in)m(v) +-5 b(alid)31 b Fi(k)m(ey)p Fs(.)3350 5121 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_key_in_map)e Ff(\()p Fi(in)m(t)31 -b(k)m(ey)-8 b(,)32 b(rl)p 1769 2138 V 40 w(command)p -2193 2138 V 40 w(func)p 2403 2138 V 39 w(t)f(*function,)565 -2247 y(Keymap)f(map)p Ff(\))390 2357 y Fs(Bind)g Fi(k)m(ey)39 -b Fs(to)31 b Fi(function)f Fs(in)g Fi(map)s Fs(.)40 b(Returns)30 -b(non-zero)h(in)f(the)g(case)i(of)e(an)g(in)m(v)-5 b(alid)31 -b Fi(k)m(ey)8 b Fs(.)3350 2564 y([F)-8 b(unction])-3599 -b Fg(int)53 b(rl_bind_key_if_unboun)q(d)e Ff(\()p Fi(in)m(t)32 -b(k)m(ey)-8 b(,)31 b(rl)p 1978 2564 V 40 w(command)p -2402 2564 V 40 w(func)p 2612 2564 V 39 w(t)g(*function)p -Ff(\))390 2673 y Fs(Binds)43 b Fi(k)m(ey)53 b Fs(to)45 -b Fi(function)e Fs(if)h(it)h(is)f(not)g(already)g(b)s(ound)e(in)i(the)g -(curren)m(tly)g(activ)m(e)i(k)m(eymap.)390 2783 y(Returns)29 -b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5 b(alid)31 -b Fi(k)m(ey)39 b Fs(or)30 b(if)h Fi(k)m(ey)39 b Fs(is)30 -b(already)h(b)s(ound.)3350 2990 y([F)-8 b(unction])-3599 +b(k)m(ey)-8 b(,)32 b(rl)p 1769 5121 V 40 w(command)p +2193 5121 V 40 w(func)p 2403 5121 V 39 w(t)f(*function,)565 +5230 y(Keymap)f(map)p Ff(\))390 5340 y Fs(Bind)g Fi(k)m(ey)39 +b Fs(to)31 b Fi(function)f Fs(in)g Fi(map)p Fs(.)40 b(Returns)30 +b(non-zero)h(in)f(the)h(case)g(of)f(an)h(in)m(v)-5 b(alid)31 +b Fi(k)m(ey)p Fs(.)p eop end +%%Page: 32 36 +TeXDict begin 32 35 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(32)3350 +299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_key_if_unboun)q(d)e +Ff(\()p Fi(in)m(t)32 b(k)m(ey)-8 b(,)31 b(rl)p 1978 299 +28 4 v 40 w(command)p 2402 299 V 40 w(func)p 2612 299 +V 39 w(t)g(*function)p Ff(\))390 408 y Fs(Binds)43 b +Fi(k)m(ey)53 b Fs(to)45 b Fi(function)e Fs(if)h(it)h(is)f(not)g +(already)g(b)s(ound)e(in)i(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.) +390 518 y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5 +b(alid)31 b Fi(k)m(ey)39 b Fs(or)30 b(if)h Fi(k)m(ey)39 +b Fs(is)30 b(already)h(b)s(ound.)3350 737 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_key_if_unboun)q(d_in)q(_ma)q(p)e -Ff(\()p Fi(in)m(t)32 b(k)m(ey)-8 b(,)32 b(rl)p 2345 2990 -V 39 w(command)p 2768 2990 V 40 w(func)p 2978 2990 V -39 w(t)565 3100 y(*function,)f(Keymap)f(map)p Ff(\))390 -3209 y Fs(Binds)d Fi(k)m(ey)35 b Fs(to)28 b Fi(function)f -Fs(if)g(it)h(is)f(not)g(already)h(b)s(ound)d(in)i Fi(map)s -Fs(.)39 b(Returns)26 b(non-zero)i(in)f(the)g(case)390 -3319 y(of)k(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(ey)39 b +Ff(\()p Fi(in)m(t)32 b(k)m(ey)-8 b(,)32 b(rl)p 2345 737 +V 39 w(command)p 2768 737 V 40 w(func)p 2978 737 V 39 +w(t)565 847 y(*function,)f(Keymap)f(map)p Ff(\))390 956 +y Fs(Binds)d Fi(k)m(ey)36 b Fs(to)28 b Fi(function)f +Fs(if)g(it)h(is)f(not)h(already)g(b)s(ound)d(in)i Fi(map)p +Fs(.)39 b(Returns)27 b(non-zero)g(in)g(the)h(case)390 +1066 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(ey)39 b Fs(or)30 b(if)g Fi(k)m(ey)39 b Fs(is)31 b(already)g(b)s(ound.)3350 -3526 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key)d -Ff(\()p Fi(in)m(t)31 b(k)m(ey)p Ff(\))390 3635 y Fs(Bind)36 +1285 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key)d +Ff(\()p Fi(in)m(t)31 b(k)m(ey)p Ff(\))390 1395 y Fs(Bind)36 b Fi(k)m(ey)45 b Fs(to)37 b(the)f(n)m(ull)g(function)g(in)g(the)h (curren)m(tly)f(activ)m(e)i(k)m(eymap.)59 b(Returns)35 -b(non-zero)i(in)390 3745 y(case)31 b(of)g(error.)3350 -3952 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key_in_map)f +b(non-zero)i(in)390 1504 y(case)31 b(of)g(error.)3350 +1724 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key_in_map)f Ff(\()p Fi(in)m(t)31 b(k)m(ey)-8 b(,)32 b(Keymap)e(map)p -Ff(\))390 4062 y Fs(Bind)g Fi(k)m(ey)39 b Fs(to)31 b(the)g(n)m(ull)f -(function)g(in)g Fi(map)s Fs(.)40 b(Returns)30 b(non-zero)h(in)f(case)h -(of)g(error.)3350 4268 y([F)-8 b(unction])-3599 b Fg(int)53 +Ff(\))390 1833 y Fs(Bind)g Fi(k)m(ey)39 b Fs(to)31 b(the)g(n)m(ull)f +(function)g(in)g Fi(map)p Fs(.)40 b(Returns)30 b(non-zero)h(in)f(case)h +(of)g(error.)3350 2052 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_function_in)q(_map)f Ff(\()p Fi(rl)p 1814 -4268 V 40 w(command)p 2238 4268 V 40 w(func)p 2448 4268 -V 40 w(t)30 b(*function,)565 4378 y(Keymap)g(map)p Ff(\))390 -4488 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(execute)h -Fi(function)e Fs(in)g Fi(map)s Fs(.)3350 4695 y([F)-8 +2052 V 40 w(command)p 2238 2052 V 40 w(func)p 2448 2052 +V 40 w(t)30 b(*function,)565 2162 y(Keymap)g(map)p Ff(\))390 +2271 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(execute)h +Fi(function)e Fs(in)g Fi(map)p Fs(.)3350 2491 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_command_in_)q(map)f Ff(\()p Fi(const)31 b(c)m(har)g(*command,)g(Keymap)f(map)p -Ff(\))390 4804 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e -(to)i Fi(command)i Fs(in)d Fi(map)s Fs(.)3350 5011 y([F)-8 +Ff(\))390 2600 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e +(to)i Fi(command)i Fs(in)d Fi(map)p Fs(.)3350 2819 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq)d Ff(\()p -Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 2036 5011 -V 40 w(command)p 2460 5011 V 40 w(func)p 2670 5011 V -39 w(t)f(*function)p Ff(\))390 5121 y Fs(Bind)43 b(the)g(k)m(ey)h +Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 2036 2819 +V 40 w(command)p 2460 2819 V 40 w(func)p 2670 2819 V +39 w(t)f(*function)p Ff(\))390 2929 y Fs(Bind)43 b(the)g(k)m(ey)h (sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g Fi(k)m(eyseq)j -Fs(to)e(the)f(function)g Fi(function)p Fs(,)390 5230 +Fs(to)e(the)f(function)g Fi(function)p Fs(,)390 3039 y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f(k)m(eymap.)40 b(This)28 b(mak)m(es)h(new)e(k)m(eymaps)i(as)f(necessary)-8 -b(.)41 b(The)28 b(return)390 5340 y(v)-5 b(alue)31 b(is)f(non-zero)h -(if)g Fi(k)m(eyseq)i Fs(is)d(in)m(v)-5 b(alid.)p eop -end -%%Page: 32 36 -TeXDict begin 32 35 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(32)3350 -299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq_in_map)f +b(.)41 b(The)28 b(return)390 3148 y(v)-5 b(alue)31 b(is)f(non-zero)h +(if)g Fi(k)m(eyseq)i Fs(is)d(in)m(v)-5 b(alid.)3350 3367 +y([F)d(unction])-3599 b Fg(int)53 b(rl_bind_keyseq_in_map)f Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 2402 -299 28 4 v 40 w(command)p 2826 299 V 40 w(func)p 3036 -299 V 39 w(t)565 408 y(*function,)f(Keymap)f(map)p Ff(\))390 -518 y Fs(Bind)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g +3367 V 40 w(command)p 2826 3367 V 40 w(func)p 3036 3367 +V 39 w(t)565 3477 y(*function,)f(Keymap)f(map)p Ff(\))390 +3587 y Fs(Bind)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g (the)g(string)g Fi(k)m(eyseq)j Fs(to)e(the)f(function)g -Fi(function)p Fs(.)39 b(This)390 628 y(mak)m(es)30 b(new)e(k)m(eymaps)h -(as)g(necessary)-8 b(.)41 b(Initial)30 b(bindings)e(are)h(p)s(erformed) -e(in)i Fi(map)s Fs(.)40 b(The)28 b(return)390 737 y(v)-5 -b(alue)31 b(is)f(non-zero)h(if)g Fi(k)m(eyseq)i Fs(is)d(in)m(v)-5 -b(alid.)3350 939 y([F)d(unction])-3599 b Fg(int)53 b(rl_set_key)c -Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 1827 -939 V 40 w(command)p 2251 939 V 39 w(func)p 2460 939 -V 40 w(t)e(*function,)565 1049 y(Keymap)g(map)p Ff(\))390 -1159 y Fs(Equiv)-5 b(alen)m(t)31 b(to)g Fr(rl_bind_keyseq_in_map)p -Fs(.)3350 1361 y([F)-8 b(unction])-3599 b Fg(int)53 b -(rl_bind_keyseq_if_unb)q(ound)f Ff(\()p Fi(const)31 b(c)m(har)g(*k)m -(eyseq,)565 1470 y(rl)p 632 1470 V 40 w(command)p 1056 -1470 V 40 w(func)p 1266 1470 V 39 w(t)g(*function)p Ff(\))390 -1580 y Fs(Binds)k Fi(k)m(eyseq)k Fs(to)d Fi(function)f -Fs(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i(the)h(curren)m(tly)f -(activ)m(e)j(k)m(eymap.)390 1690 y(Returns)29 b(non-zero)i(in)f(the)h -(case)g(of)g(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(eyseq)j -Fs(or)c(if)g Fi(k)m(eyseq)k Fs(is)c(already)h(b)s(ound.)3350 -1892 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq_if_unb)q -(ound)q(_in)q(_ma)q(p)e Ff(\()p Fi(const)32 b(c)m(har)e(*k)m(eyseq,)565 -2001 y(rl)p 632 2001 V 40 w(command)p 1056 2001 V 40 -w(func)p 1266 2001 V 39 w(t)h(*function,)f(Keymap)h(map)p -Ff(\))390 2111 y Fs(Binds)g Fi(k)m(eyseq)k Fs(to)e Fi(function)e -Fs(if)h(it)g(is)g(not)g(already)g(b)s(ound)e(in)i Fi(map)s -Fs(.)44 b(Returns)31 b(non-zero)h(in)g(the)390 2220 y(case)f(of)g(an)f +Fi(function)p Fs(.)39 b(This)390 3696 y(mak)m(es)30 b(new)f(k)m(eymaps) +g(as)g(necessary)-8 b(.)42 b(Initial)30 b(bindings)d(are)j(p)s +(erformed)e(in)g Fi(map)p Fs(.)40 b(The)29 b(return)390 +3806 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)g Fi(k)m(eyseq)i +Fs(is)d(in)m(v)-5 b(alid.)3350 4025 y([F)d(unction])-3599 +b Fg(int)53 b(rl_set_key)c Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,) +h(rl)p 1827 4025 V 40 w(command)p 2251 4025 V 39 w(func)p +2460 4025 V 40 w(t)e(*function,)565 4134 y(Keymap)g(map)p +Ff(\))390 4244 y Fs(Equiv)-5 b(alen)m(t)31 b(to)g Fr +(rl_bind_keyseq_in_map)p Fs(.)3350 4463 y([F)-8 b(unction])-3599 +b Fg(int)53 b(rl_bind_keyseq_if_unb)q(ound)f Ff(\()p +Fi(const)31 b(c)m(har)g(*k)m(eyseq,)565 4573 y(rl)p 632 +4573 V 40 w(command)p 1056 4573 V 40 w(func)p 1266 4573 +V 39 w(t)g(*function)p Ff(\))390 4682 y Fs(Binds)k Fi(k)m(eyseq)k +Fs(to)d Fi(function)f Fs(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i +(the)h(curren)m(tly)f(activ)m(e)j(k)m(eymap.)390 4792 +y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5 +b(alid)31 b Fi(k)m(eyseq)j Fs(or)c(if)g Fi(k)m(eyseq)k +Fs(is)c(already)h(b)s(ound.)3350 5011 y([F)-8 b(unction])-3599 +b Fg(int)53 b(rl_bind_keyseq_if_unb)q(ound)q(_in)q(_ma)q(p)e +Ff(\()p Fi(const)32 b(c)m(har)e(*k)m(eyseq,)565 5121 +y(rl)p 632 5121 V 40 w(command)p 1056 5121 V 40 w(func)p +1266 5121 V 39 w(t)h(*function,)f(Keymap)h(map)p Ff(\))390 +5230 y Fs(Binds)g Fi(k)m(eyseq)k Fs(to)e Fi(function)f +Fs(if)g(it)g(is)g(not)g(already)h(b)s(ound)d(in)h Fi(map)p +Fs(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 5340 y(case)f(of)g(an)f (in)m(v)-5 b(alid)31 b Fi(k)m(eyseq)j Fs(or)c(if)g Fi(k)m(eyseq)k -Fs(is)c(already)h(b)s(ound.)3350 2423 y([F)-8 b(unction])-3599 -b Fg(int)53 b(rl_generic_bind)d Ff(\()p Fi(in)m(t)31 -b(t)m(yp)s(e,)g(const)g(c)m(har)g(*k)m(eyseq,)h(c)m(har)f(*data,)h -(Keymap)565 2532 y(map)p Ff(\))390 2642 y Fs(Bind)27 -b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g -Fi(k)m(eyseq)j Fs(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g -Fi(data)p Fs(.)390 2751 y Fi(t)m(yp)s(e)34 b Fs(sa)m(ys)29 +Fs(is)c(already)h(b)s(ound.)p eop end +%%Page: 33 37 +TeXDict begin 33 36 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)3350 +299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_generic_bind)d +Ff(\()p Fi(in)m(t)31 b(t)m(yp)s(e,)g(const)g(c)m(har)g(*k)m(eyseq,)h(c) +m(har)f(*data,)h(Keymap)565 408 y(map)p Ff(\))390 518 +y Fs(Bind)27 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g(the)g +(string)g Fi(k)m(eyseq)j Fs(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g +Fi(data)p Fs(.)390 628 y Fi(t)m(yp)s(e)34 b Fs(sa)m(ys)29 b(what)f(kind)g(of)g(data)h(is)g(p)s(oin)m(ted)f(to)h(b)m(y)g Fi(data)p Fs(;)h(this)e(can)h(b)s(e)f(a)g(function)g(\()p -Fr(ISFUNC)p Fs(\),)h(a)390 2861 y(macro)h(\()p Fr(ISMACR)p +Fr(ISFUNC)p Fs(\),)h(a)390 737 y(macro)h(\()p Fr(ISMACR)p Fs(\),)f(or)g(a)h(k)m(eymap)g(\()p Fr(ISKMAP)p Fs(\).)40 b(This)28 b(mak)m(es)j(new)e(k)m(eymaps)g(as)h(necessary)-8 -b(.)41 b(The)390 2971 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h -(do)f(bindings)f(is)i Fi(map)s Fs(.)3350 3173 y([F)-8 +b(.)41 b(The)390 847 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h +(do)f(bindings)f(is)i Fi(map)p Fs(.)3350 1028 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_parse_and_bind)e Ff(\()p -Fi(c)m(har)31 b(*line)p Ff(\))390 3282 y Fs(P)m(arse)f +Fi(c)m(har)31 b(*line)p Ff(\))390 1137 y Fs(P)m(arse)f Fi(line)35 b Fs(as)29 b(if)h(it)g(had)e(b)s(een)h(read)g(from)g(the)h Fr(inputrc)d Fs(\014le)j(and)e(p)s(erform)g(an)m(y)i(k)m(ey)g(bindings) -390 3392 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i +390 1247 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i (Section)h(1.3)f([Readline)g(Init)f(File],)j(page)e(4\).)3350 -3594 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_read_init_file)e +1428 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_read_init_file)e Ff(\()p Fi(const)31 b(c)m(har)g(*\014lename)p Ff(\))390 -3704 y Fs(Read)h(k)m(eybindings)f(and)g(v)-5 b(ariable)32 +1538 y Fs(Read)h(k)m(eybindings)f(and)g(v)-5 b(ariable)32 b(assignmen)m(ts)g(from)f Fi(\014lename)37 b Fs(\(see)32 -b(Section)g(1.3)h([Readline)390 3813 y(Init)d(File],)i(page)f(4\).)150 -4022 y Fh(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42 -b(Names)f(and)g(Bindings)150 4168 y Fs(These)30 b(functions)g(allo)m(w) +b(Section)g(1.3)h([Readline)390 1647 y(Init)d(File],)i(page)f(4\).)150 +1844 y Fh(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42 +b(Names)f(and)g(Bindings)150 1991 y Fs(These)30 b(functions)g(allo)m(w) h(y)m(ou)g(to)f(\014nd)f(out)h(what)g(k)m(eys)h(in)m(v)m(ok)m(e)h -(named)e(functions)g(and)f(the)h(functions)150 4278 y(in)m(v)m(ok)m(ed) +(named)e(functions)g(and)f(the)h(functions)150 2101 y(in)m(v)m(ok)m(ed) f(b)m(y)e(a)h(particular)g(k)m(ey)g(sequence.)40 b(Y)-8 b(ou)28 b(ma)m(y)g(also)h(asso)s(ciate)g(a)f(new)f(function)g(name)h -(with)f(an)150 4388 y(arbitrary)j(function.)3350 4590 +(with)f(an)150 2210 y(arbitrary)j(function.)3350 2391 y([F)-8 b(unction])-3599 b Fg(rl_command_func_t)57 b(*)c (rl_named_function)e Ff(\()p Fi(const)31 b(c)m(har)g(*name)p -Ff(\))390 4699 y Fs(Return)f(the)g(function)g(with)g(name)h -Fi(name)5 b Fs(.)3350 4902 y([F)-8 b(unction])-3599 b -Fg(rl_command_func_t)57 b(*)c(rl_function_of_keyseq)f -Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)565 5011 -y(Keymap)f(map,)g(in)m(t)h(*t)m(yp)s(e)p Ff(\))390 5121 -y Fs(Return)h(the)g(function)g(in)m(v)m(ok)m(ed)i(b)m(y)e -Fi(k)m(eyseq)k Fs(in)c(k)m(eymap)h Fi(map)s Fs(.)46 b(If)32 -b Fi(map)i Fs(is)f Fr(NULL)p Fs(,)f(the)g(curren)m(t)390 -5230 y(k)m(eymap)37 b(is)g(used.)60 b(If)37 b Fi(t)m(yp)s(e)42 -b Fs(is)37 b(not)g Fr(NULL)p Fs(,)h(the)f(t)m(yp)s(e)g(of)g(the)g(ob)5 -b(ject)38 b(is)f(returned)f(in)h(the)g Fr(int)390 5340 -y Fs(v)-5 b(ariable)31 b(it)g(p)s(oin)m(ts)f(to)h(\(one)g(of)g -Fr(ISFUNC)p Fs(,)e Fr(ISKMAP)p Fs(,)g(or)h Fr(ISMACR)p -Fs(\).)p eop end -%%Page: 33 37 -TeXDict begin 33 36 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)3350 -299 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_invoking_keyseqs)g -Ff(\()p Fi(rl)p 1710 299 28 4 v 40 w(command)p 2134 299 -V 40 w(func)p 2344 299 V 39 w(t)31 b(*function)p Ff(\))390 -408 y Fs(Return)f(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g(the) -g(k)m(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h -Fi(function)e Fs(in)390 518 y(the)g(curren)m(t)f(k)m(eymap.)3350 -692 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_invoking_keyseqs_i) -q(n_m)q(ap)g Ff(\()p Fi(rl)p 2076 692 V 40 w(command)p -2500 692 V 40 w(func)p 2710 692 V 39 w(t)565 802 y(*function,)31 -b(Keymap)f(map)p Ff(\))390 911 y Fs(Return)g(an)i(arra)m(y)f(of)h +Ff(\))390 2501 y Fs(Return)f(the)g(function)g(with)g(name)h +Fi(name)p Fs(.)3350 2682 y([F)-8 b(unction])-3599 b Fg +(rl_command_func_t)57 b(*)c(rl_function_of_keyseq)f Ff(\()p +Fi(const)31 b(c)m(har)g(*k)m(eyseq,)565 2791 y(Keymap)f(map,)g(in)m(t)h +(*t)m(yp)s(e)p Ff(\))390 2901 y Fs(Return)h(the)g(function)h(in)m(v)m +(ok)m(ed)h(b)m(y)e Fi(k)m(eyseq)k Fs(in)c(k)m(eymap)h +Fi(map)p Fs(.)47 b(If)32 b Fi(map)j Fs(is)d Fr(NULL)p +Fs(,)g(the)h(curren)m(t)390 3011 y(k)m(eymap)k(is)g(used.)60 +b(If)37 b Fi(t)m(yp)s(e)42 b Fs(is)37 b(not)g Fr(NULL)p +Fs(,)h(the)f(t)m(yp)s(e)g(of)g(the)g(ob)5 b(ject)38 b(is)f(returned)f +(in)h(the)g Fr(int)390 3120 y Fs(v)-5 b(ariable)31 b(it)g(p)s(oin)m(ts) +f(to)h(\(one)g(of)g Fr(ISFUNC)p Fs(,)e Fr(ISKMAP)p Fs(,)g(or)h +Fr(ISMACR)p Fs(\).)3350 3301 y([F)-8 b(unction])-3599 +b Fg(char)54 b(**)e(rl_invoking_keyseqs)g Ff(\()p Fi(rl)p +1710 3301 28 4 v 40 w(command)p 2134 3301 V 40 w(func)p +2344 3301 V 39 w(t)31 b(*function)p Ff(\))390 3411 y +Fs(Return)f(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g(the)g(k)m +(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h Fi(function)e +Fs(in)390 3520 y(the)g(curren)m(t)f(k)m(eymap.)3350 3701 +y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_invoking_keyseqs_i)q +(n_m)q(ap)g Ff(\()p Fi(rl)p 2076 3701 V 40 w(command)p +2500 3701 V 40 w(func)p 2710 3701 V 39 w(t)565 3811 y(*function,)31 +b(Keymap)f(map)p Ff(\))390 3920 y Fs(Return)g(an)i(arra)m(y)f(of)h (strings)f(represen)m(ting)g(the)g(k)m(ey)h(sequences)g(used)e(to)i(in) -m(v)m(ok)m(e)h Fi(function)e Fs(in)390 1021 y(the)g(k)m(eymap)f -Fi(map)s Fs(.)3350 1195 y([F)-8 b(unction])-3599 b Fg(void)54 +m(v)m(ok)m(e)h Fi(function)e Fs(in)390 4030 y(the)g(k)m(eymap)f +Fi(map)p Fs(.)3350 4211 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_function_dumper)c Ff(\()p Fi(in)m(t)32 b(readable)p -Ff(\))390 1305 y Fs(Prin)m(t)d(the)h(readline)f(function)g(names)g(and) +Ff(\))390 4321 y Fs(Prin)m(t)d(the)h(readline)f(function)g(names)g(and) g(the)g(k)m(ey)h(sequences)g(curren)m(tly)f(b)s(ound)e(to)j(them)f(to) -390 1414 y Fr(rl_outstream)p Fs(.)36 b(If)27 b Fi(readable)33 +390 4430 y Fr(rl_outstream)p Fs(.)36 b(If)27 b Fi(readable)33 b Fs(is)28 b(non-zero,)h(the)e(list)i(is)e(formatted)h(in)f(suc)m(h)g -(a)h(w)m(a)m(y)h(that)f(it)g(can)390 1524 y(b)s(e)i(made)g(part)g(of)h -(an)f Fr(inputrc)f Fs(\014le)h(and)g(re-read.)3350 1698 +(a)h(w)m(a)m(y)h(that)f(it)g(can)390 4540 y(b)s(e)i(made)g(part)g(of)h +(an)f Fr(inputrc)f Fs(\014le)h(and)g(re-read.)3350 4721 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_list_funmap_names)d -Ff(\()p Fi(v)m(oid)p Ff(\))390 1808 y Fs(Prin)m(t)30 +Ff(\()p Fi(v)m(oid)p Ff(\))390 4830 y Fs(Prin)m(t)30 b(the)h(names)f(of)h(all)g(bindable)f(Readline)h(functions)f(to)h -Fr(rl_outstream)p Fs(.)3350 1982 y([F)-8 b(unction])-3599 +Fr(rl_outstream)p Fs(.)3350 5011 y([F)-8 b(unction])-3599 b Fg(const)54 b(char)f(**)g(rl_funmap_names)d Ff(\()p -Fi(v)m(oid)p Ff(\))390 2091 y Fs(Return)25 b(a)i(NULL)f(terminated)g +Fi(v)m(oid)p Ff(\))390 5121 y Fs(Return)25 b(a)i(NULL)f(terminated)g (arra)m(y)h(of)f(kno)m(wn)f(function)h(names.)39 b(The)26 -b(arra)m(y)g(is)g(sorted.)39 b(The)390 2201 y(arra)m(y)28 +b(arra)m(y)g(is)g(sorted.)39 b(The)390 5230 y(arra)m(y)28 b(itself)h(is)f(allo)s(cated,)j(but)c(not)h(the)h(strings)e(inside.)40 b(Y)-8 b(ou)29 b(should)e(free)h(the)g(arra)m(y)-8 b(,)29 -b(but)f(not)390 2311 y(the)j(p)s(oin)m(ters,)f(using)g -Fr(free)f Fs(or)i Fr(rl_free)d Fs(when)h(y)m(ou)i(are)g(done.)3350 -2485 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_funmap_entry)e -Ff(\()p Fi(const)32 b(c)m(har)e(*name,)i(rl)p 2252 2485 -V 39 w(command)p 2675 2485 V 40 w(func)p 2885 2485 V -39 w(t)565 2594 y(*function)p Ff(\))390 2704 y Fs(Add)g +b(but)f(not)390 5340 y(the)j(p)s(oin)m(ters,)f(using)g +Fr(free)f Fs(or)i Fr(rl_free)d Fs(when)h(y)m(ou)i(are)g(done.)p +eop end +%%Page: 34 38 +TeXDict begin 34 37 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)3350 +299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_funmap_entry)e +Ff(\()p Fi(const)32 b(c)m(har)e(*name,)i(rl)p 2252 299 +28 4 v 39 w(command)p 2675 299 V 40 w(func)p 2885 299 +V 39 w(t)565 408 y(*function)p Ff(\))390 518 y Fs(Add)g Fi(name)38 b Fs(to)33 b(the)g(list)h(of)f(bindable)f(Readline)h (command)g(names,)g(and)f(mak)m(e)i Fi(function)f Fs(the)390 -2814 y(function)d(to)h(b)s(e)f(called)h(when)f Fi(name)35 -b Fs(is)c(in)m(v)m(ok)m(ed.)150 3006 y Fh(2.4.5)63 b(Allo)m(wing)41 -b(Undoing)150 3153 y Fs(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g +628 y(function)d(to)h(b)s(e)f(called)h(when)f Fi(name)35 +b Fs(is)c(in)m(v)m(ok)m(ed.)150 838 y Fh(2.4.5)63 b(Allo)m(wing)41 +b(Undoing)150 985 y Fs(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g (a)g(painless)g(thing,)h(and)e(mak)m(es)i(y)m(our)f(functions)f(m)m(uc) -m(h)h(more)150 3263 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g +m(h)h(more)150 1094 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g (try)g(something)g(if)f(y)m(ou)h(kno)m(w)f(y)m(ou)h(can)f(undo)g(it.) -275 3394 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h +275 1240 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h (once,)i(or)d(deletes)h(text)g(once,)i(and)c(uses)h Fr(rl_insert_)150 -3503 y(text\(\))26 b Fs(or)i Fr(rl_delete_text\(\))23 +1349 y(text\(\))26 b Fs(or)i Fr(rl_delete_text\(\))23 b Fs(to)29 b(do)f(it,)h(then)f(undoing)f(is)g(already)i(done)f(for)f(y) -m(ou)h(automatically)-8 b(.)275 3634 y(If)20 b(y)m(ou)g(do)h(m)m +m(ou)h(automatically)-8 b(.)275 1494 y(If)20 b(y)m(ou)g(do)h(m)m (ultiple)g(insertions)f(or)h(m)m(ultiple)g(deletions,)j(or)c(an)m(y)h -(com)m(bination)h(of)e(these)h(op)s(erations,)150 3744 +(com)m(bination)h(of)e(these)h(op)s(erations,)150 1604 y(y)m(ou)38 b(should)f(group)h(them)g(together)h(in)m(to)g(one)f(op)s (eration.)64 b(This)37 b(is)h(done)g(with)g Fr(rl_begin_undo_)150 -3854 y(group\(\))28 b Fs(and)i Fr(rl_end_undo_group\(\))p -Fs(.)275 3985 y(The)f(t)m(yp)s(es)i(of)f(ev)m(en)m(ts)i(that)f(can)g(b) -s(e)e(undone)h(are:)390 4093 y Fe(enum)40 b(undo_code)h({)f +1714 y(group\(\))28 b Fs(and)i Fr(rl_end_undo_group\(\))p +Fs(.)275 1859 y(The)f(t)m(yp)s(es)i(of)f(ev)m(en)m(ts)i(that)f(can)g(b) +s(e)e(undone)h(are:)390 1982 y Fe(enum)40 b(undo_code)h({)f (UNDO_DELETE,)i(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275 -4225 y Fs(Notice)32 b(that)f Fr(UNDO_DELETE)c Fs(means)j(to)h(insert)f +2127 y Fs(Notice)32 b(that)f Fr(UNDO_DELETE)c Fs(means)j(to)h(insert)f (some)h(text,)h(and)d Fr(UNDO_INSERT)e Fs(means)k(to)g(delete)150 -4334 y(some)d(text.)41 b(That)27 b(is,)i(the)e(undo)g(co)s(de)h(tells)g +2237 y(some)d(text.)41 b(That)27 b(is,)i(the)e(undo)g(co)s(de)h(tells)g (what)g(to)g(undo,)f(not)h(ho)m(w)g(to)g(undo)e(it.)41 -b Fr(UNDO_BEGIN)25 b Fs(and)150 4444 y Fr(UNDO_END)j +b Fr(UNDO_BEGIN)25 b Fs(and)150 2346 y Fr(UNDO_END)j Fs(are)j(tags)g(added)f(b)m(y)g Fr(rl_begin_undo_group\(\))25 -b Fs(and)30 b Fr(rl_end_undo_group\(\))p Fs(.)3350 4618 +b Fs(and)30 b Fr(rl_end_undo_group\(\))p Fs(.)3350 2552 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_begin_undo_group)e -Ff(\()p Fi(v)m(oid)p Ff(\))390 4727 y Fs(Begins)32 b(sa)m(ving)g(undo)d +Ff(\()p Fi(v)m(oid)p Ff(\))390 2662 y Fs(Begins)32 b(sa)m(ving)g(undo)d (information)j(in)e(a)i(group)e(construct.)43 b(The)30 -b(undo)g(information)h(usually)390 4837 y(comes)42 b(from)f(calls)i(to) +b(undo)g(information)h(usually)390 2772 y(comes)42 b(from)f(calls)i(to) f Fr(rl_insert_text\(\))37 b Fs(and)k Fr(rl_delete_text\(\))p -Fs(,)f(but)h(could)h(b)s(e)f(the)390 4947 y(result)30 -b(of)h(calls)g(to)g Fr(rl_add_undo\(\))p Fs(.)3350 5121 +Fs(,)f(but)h(could)h(b)s(e)f(the)390 2881 y(result)30 +b(of)h(calls)g(to)g Fr(rl_add_undo\(\))p Fs(.)3350 3087 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_end_undo_group)e -Ff(\()p Fi(v)m(oid)p Ff(\))390 5230 y Fs(Closes)29 b(the)h(curren)m(t)e +Ff(\()p Fi(v)m(oid)p Ff(\))390 3197 y Fs(Closes)29 b(the)h(curren)m(t)e (undo)g(group)h(started)g(with)g Fr(rl_begin_undo_group)c(\(\))p -Fs(.)39 b(There)29 b(should)390 5340 y(b)s(e)h(one)g(call)i(to)f +Fs(.)39 b(There)29 b(should)390 3306 y(b)s(e)h(one)g(call)i(to)f Fr(rl_end_undo_group\(\))25 b Fs(for)30 b(eac)m(h)i(call)g(to)f -Fr(rl_begin_undo_group\(\))p Fs(.)p eop end -%%Page: 34 38 -TeXDict begin 34 37 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)3350 -299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_add_undo)48 -b Ff(\()p Fi(en)m(um)31 b(undo)p 1517 299 28 4 v 39 w(co)s(de)f(what,)h -(in)m(t)g(start,)g(in)m(t)g(end,)f(c)m(har)g(*text)p -Ff(\))390 408 y Fs(Remem)m(b)s(er)k(ho)m(w)g(to)h(undo)d(an)i(ev)m(en)m -(t)i(\(according)f(to)g Fi(what)r Fs(\).)52 b(The)33 -b(a\013ected)j(text)f(runs)d(from)390 518 y Fi(start)h -Fs(to)e Fi(end)t Fs(,)f(and)f(encompasses)i Fi(text)r -Fs(.)3350 708 y([F)-8 b(unction])-3599 b Fg(void)54 b -(rl_free_undo_list)c Ff(\()p Fi(v)m(oid)p Ff(\))390 818 -y Fs(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350 -1008 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_do_undo)c -Ff(\()p Fi(v)m(oid)p Ff(\))390 1117 y Fs(Undo)22 b(the)h(\014rst)g +Fr(rl_begin_undo_group\(\))p Fs(.)3350 3512 y([F)-8 b(unction])-3599 +b Fg(void)54 b(rl_add_undo)48 b Ff(\()p Fi(en)m(um)31 +b(undo)p 1517 3512 V 39 w(co)s(de)f(what,)h(in)m(t)g(start,)g(in)m(t)g +(end,)f(c)m(har)g(*text)p Ff(\))390 3622 y Fs(Remem)m(b)s(er)k(ho)m(w)g +(to)h(undo)d(an)i(ev)m(en)m(t)i(\(according)f(to)g Fi(what)r +Fs(\).)52 b(The)33 b(a\013ected)j(text)f(runs)d(from)390 +3731 y Fi(start)h Fs(to)e Fi(end)p Fs(,)f(and)g(encompasses)h +Fi(text)p Fs(.)3350 3937 y([F)-8 b(unction])-3599 b Fg(void)54 +b(rl_free_undo_list)c Ff(\()p Fi(v)m(oid)p Ff(\))390 +4047 y Fs(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350 +4253 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_do_undo)c +Ff(\()p Fi(v)m(oid)p Ff(\))390 4362 y Fs(Undo)22 b(the)h(\014rst)g (thing)f(on)h(the)g(undo)f(list.)39 b(Returns)22 b Fr(0)g Fs(if)h(there)g(w)m(as)g(nothing)g(to)h(undo,)f(non-zero)390 -1227 y(if)30 b(something)h(w)m(as)g(undone.)275 1417 +4472 y(if)30 b(something)h(w)m(as)g(undone.)275 4678 y(Finally)-8 b(,)32 b(if)f(y)m(ou)h(neither)f(insert)g(nor)f(delete)j (text,)f(but)f(directly)g(mo)s(dify)g(the)g(existing)h(text)g(\(e.g.,) -150 1526 y(c)m(hange)40 b(its)f(case\),)j(call)e Fr(rl_modifying\(\))35 +150 4788 y(c)m(hange)40 b(its)f(case\),)j(call)e Fr(rl_modifying\(\))35 b Fs(once,)42 b(just)c(b)s(efore)g(y)m(ou)h(mo)s(dify)f(the)h(text.)67 -b(Y)-8 b(ou)39 b(m)m(ust)150 1636 y(supply)29 b(the)h(indices)h(of)f +b(Y)-8 b(ou)39 b(m)m(ust)150 4897 y(supply)29 b(the)h(indices)h(of)f (the)h(text)g(range)g(that)g(y)m(ou)g(are)g(going)g(to)g(mo)s(dify)-8 -b(.)3350 1826 y([F)g(unction])-3599 b Fg(int)53 b(rl_modifying)c +b(.)3350 5103 y([F)g(unction])-3599 b Fg(int)53 b(rl_modifying)c Ff(\()p Fi(in)m(t)32 b(start,)f(in)m(t)g(end)p Ff(\))390 -1935 y Fs(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s +5213 y Fs(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s (et)m(w)m(een)g Fi(start)i Fs(and)c Fi(end)k Fs(as)e(a)f(single)h(undo) -e(unit.)70 b(It)40 b(is)390 2045 y(assumed)30 b(that)h(y)m(ou)f(will)h -(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 2247 -y Fh(2.4.6)63 b(Redispla)m(y)3350 2447 y Fs([F)-8 b(unction])-3599 -b Fg(void)54 b(rl_redisplay)49 b Ff(\()p Fi(v)m(oid)p -Ff(\))390 2556 y Fs(Change)38 b(what's)f(displa)m(y)m(ed)i(on)e(the)h -(screen)g(to)h(re\015ect)f(the)g(curren)m(t)g(con)m(ten)m(ts)h(of)f -Fr(rl_line_)390 2666 y(buffer)p Fs(.)3350 2856 y([F)-8 -b(unction])-3599 b Fg(int)53 b(rl_forced_update_disp)q(lay)f -Ff(\()p Fi(v)m(oid)p Ff(\))390 2965 y Fs(F)-8 b(orce)41 +e(unit.)70 b(It)40 b(is)390 5322 y(assumed)30 b(that)h(y)m(ou)f(will)h +(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)p eop end +%%Page: 35 39 +TeXDict begin 35 38 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)150 +299 y Fh(2.4.6)63 b(Redispla)m(y)3350 508 y Fs([F)-8 +b(unction])-3599 b Fg(void)54 b(rl_redisplay)49 b Ff(\()p +Fi(v)m(oid)p Ff(\))390 617 y Fs(Change)38 b(what's)f(displa)m(y)m(ed)i +(on)e(the)h(screen)g(to)h(re\015ect)f(the)g(curren)m(t)g(con)m(ten)m +(ts)h(of)f Fr(rl_line_)390 727 y(buffer)p Fs(.)3350 935 +y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_forced_update_disp)q(lay)f +Ff(\()p Fi(v)m(oid)p Ff(\))390 1045 y Fs(F)-8 b(orce)41 b(the)f(line)g(to)h(b)s(e)e(up)s(dated)f(and)h(redispla)m(y)m(ed,)k -(whether)c(or)g(not)h(Readline)h(thinks)e(the)390 3075 -y(screen)30 b(displa)m(y)h(is)f(correct.)3350 3265 y([F)-8 +(whether)c(or)g(not)h(Readline)h(thinks)e(the)390 1154 +y(screen)30 b(displa)m(y)h(is)f(correct.)3350 1362 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_on_new_line)d Ff(\()p -Fi(v)m(oid)p Ff(\))390 3375 y Fs(T)-8 b(ell)31 b(the)f(up)s(date)f +Fi(v)m(oid)p Ff(\))390 1472 y Fs(T)-8 b(ell)31 b(the)f(up)s(date)f (functions)g(that)i(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)g(a)f -(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390 3484 -y(ouputting)h(a)h(newline.)3350 3674 y([F)-8 b(unction])-3599 +(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390 1581 +y(outputting)i(a)f(newline.)3350 1790 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_on_new_line_with_p)q(romp)q(t)f Ff(\()p -Fi(v)m(oid)p Ff(\))390 3784 y Fs(T)-8 b(ell)25 b(the)f(up)s(date)f +Fi(v)m(oid)p Ff(\))390 1899 y Fs(T)-8 b(ell)25 b(the)f(up)s(date)f (functions)h(that)h(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)h(a)e -(new)g(line,)i(with)d Fi(rl)p 3106 3784 V 40 w(prompt)i -Fs(already)390 3893 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g +(new)g(line,)i(with)d Fi(rl)p 3106 1899 28 4 v 40 w(prompt)i +Fs(already)390 2009 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g (used)g(b)m(y)g(applications)i(that)f(w)m(an)m(t)h(to)f(output)f(the)h -(prompt)f(string)390 4003 y(themselv)m(es,)h(but)e(still)h(need)g +(prompt)f(string)390 2118 y(themselv)m(es,)h(but)e(still)h(need)g (Readline)g(to)g(kno)m(w)f(the)h(prompt)e(string)h(length)h(for)f -(redispla)m(y)-8 b(.)41 b(It)390 4113 y(should)29 b(b)s(e)h(used)g -(after)h(setting)g Fi(rl)p 1590 4113 V 40 w(already)p -1920 4113 V 41 w(prompted)t Fs(.)3350 4303 y([F)-8 b(unction])-3599 +(redispla)m(y)-8 b(.)41 b(It)390 2228 y(should)29 b(b)s(e)h(used)g +(after)h(setting)g Fi(rl)p 1590 2228 V 40 w(already)p +1920 2228 V 41 w(prompted)p Fs(.)3350 2436 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_reset_line_state)e Ff(\()p Fi(v)m(oid)p -Ff(\))390 4412 y Fs(Reset)36 b(the)e(displa)m(y)h(state)h(to)g(a)f +Ff(\))390 2546 y Fs(Reset)36 b(the)e(displa)m(y)h(state)h(to)g(a)f (clean)g(state)h(and)e(redispla)m(y)h(the)g(curren)m(t)g(line)g -(starting)g(on)g(a)390 4522 y(new)30 b(line.)3350 4712 +(starting)g(on)g(a)390 2655 y(new)30 b(line.)3350 2863 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_crlf)48 b Ff(\()p -Fi(v)m(oid)p Ff(\))390 4821 y Fs(Mo)m(v)m(e)32 b(the)f(cursor)f(to)h +Fi(v)m(oid)p Ff(\))390 2973 y Fs(Mo)m(v)m(e)32 b(the)f(cursor)f(to)h (the)f(start)h(of)g(the)f(next)h(screen)f(line.)3350 -5011 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_show_char)c -Ff(\()p Fi(in)m(t)32 b(c)p Ff(\))390 5121 y Fs(Displa)m(y)i(c)m +3181 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_show_char)c +Ff(\()p Fi(in)m(t)32 b(c)p Ff(\))390 3291 y Fs(Displa)m(y)i(c)m (haracter)g Fi(c)k Fs(on)32 b Fr(rl_outstream)p Fs(.)44 b(If)32 b(Readline)h(has)g(not)f(b)s(een)g(set)h(to)g(displa)m(y)g -(meta)390 5230 y(c)m(haracters)27 b(directly)-8 b(,)29 +(meta)390 3400 y(c)m(haracters)27 b(directly)-8 b(,)29 b(this)c(will)i(con)m(v)m(ert)g(meta)g(c)m(haracters)h(to)e(a)h -(meta-pre\014xed)f(k)m(ey)g(sequence.)390 5340 y(This)k(is)g(in)m +(meta-pre\014xed)f(k)m(ey)g(sequence.)390 3510 y(This)k(is)g(in)m (tended)g(for)g(use)g(b)m(y)h(applications)g(whic)m(h)f(wish)g(to)h(do) -f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)p eop end -%%Page: 35 39 -TeXDict begin 35 38 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)3350 -299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_message)c -Ff(\()p Fi(const)31 b(c)m(har)g(*,)36 b(.)22 b(.)h(.)11 -b Ff(\))390 408 y Fs(The)20 b(argumen)m(ts)h(are)g(a)g(format)g(string) -g(as)f(w)m(ould)h(b)s(e)f(supplied)f(to)j Fr(printf)p -Fs(,)f(p)s(ossibly)e(con)m(taining)390 518 y(con)m(v)m(ersion)45 -b(sp)s(eci\014cations)g(suc)m(h)f(as)g(`)p Fr(\045d)p -Fs(',)k(and)c(an)m(y)g(additional)h(argumen)m(ts)g(necessary)f(to)390 -628 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s(eci\014cations.)74 -b(The)41 b(resulting)h(string)f(is)g(displa)m(y)m(ed)h(in)f(the)h -Fi(ec)m(ho)390 737 y(area)p Fs(.)63 b(The)37 b(ec)m(ho)i(area)f(is)g -(also)g(used)f(to)h(displa)m(y)g(n)m(umeric)f(argumen)m(ts)h(and)f -(searc)m(h)h(strings.)390 847 y(Y)-8 b(ou)34 b(should)e(call)j -Fr(rl_save_prompt)29 b Fs(to)34 b(sa)m(v)m(e)h(the)f(prompt)e -(information)i(b)s(efore)f(calling)i(this)390 956 y(function.)3350 -1136 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_clear_message)e -Ff(\()p Fi(v)m(oid)p Ff(\))390 1245 y Fs(Clear)29 b(the)g(message)h(in) -f(the)g(ec)m(ho)h(area.)41 b(If)29 b(the)g(prompt)f(w)m(as)h(sa)m(v)m -(ed)h(with)f(a)g(call)i(to)e Fr(rl_save_)390 1355 y(prompt)38 +f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)3350 3718 y([F)g(unction])-3599 +b Fg(int)53 b(rl_message)c Ff(\()p Fi(const)31 b(c)m(har)g(*,)36 +b(.)22 b(.)h(.)11 b Ff(\))390 3828 y Fs(The)20 b(argumen)m(ts)h(are)g +(a)g(format)g(string)g(as)f(w)m(ould)h(b)s(e)f(supplied)f(to)j +Fr(printf)p Fs(,)f(p)s(ossibly)e(con)m(taining)390 3937 +y(con)m(v)m(ersion)45 b(sp)s(eci\014cations)g(suc)m(h)f(as)g(`)p +Fr(\045d)p Fs(',)k(and)c(an)m(y)g(additional)h(argumen)m(ts)g +(necessary)f(to)390 4047 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s +(eci\014cations.)74 b(The)41 b(resulting)h(string)f(is)g(displa)m(y)m +(ed)h(in)f(the)h Fi(ec)m(ho)390 4157 y(area)p Fs(.)63 +b(The)37 b(ec)m(ho)i(area)f(is)g(also)g(used)f(to)h(displa)m(y)g(n)m +(umeric)f(argumen)m(ts)h(and)f(searc)m(h)h(strings.)390 +4266 y(Y)-8 b(ou)34 b(should)e(call)j Fr(rl_save_prompt)29 +b Fs(to)34 b(sa)m(v)m(e)h(the)f(prompt)e(information)i(b)s(efore)f +(calling)i(this)390 4376 y(function.)3350 4584 y([F)-8 +b(unction])-3599 b Fg(int)53 b(rl_clear_message)e Ff(\()p +Fi(v)m(oid)p Ff(\))390 4693 y Fs(Clear)29 b(the)g(message)h(in)f(the)g +(ec)m(ho)h(area.)41 b(If)29 b(the)g(prompt)f(w)m(as)h(sa)m(v)m(ed)h +(with)f(a)g(call)i(to)e Fr(rl_save_)390 4803 y(prompt)38 b Fs(b)s(efore)h(the)g(last)h(call)h(to)f Fr(rl_message)p Fs(,)f(call)i Fr(rl_restore_prompt)34 b Fs(b)s(efore)39 -b(calling)390 1464 y(this)30 b(function.)3350 1644 y([F)-8 +b(calling)390 4913 y(this)30 b(function.)3350 5121 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_save_prompt)49 b Ff(\()p -Fi(v)m(oid)p Ff(\))390 1753 y Fs(Sa)m(v)m(e)44 b(the)f(lo)s(cal)i +Fi(v)m(oid)p Ff(\))390 5230 y Fs(Sa)m(v)m(e)44 b(the)f(lo)s(cal)i (Readline)e(prompt)f(displa)m(y)i(state)g(in)f(preparation)g(for)g -(displa)m(ying)g(a)g(new)390 1863 y(message)31 b(in)g(the)f(message)i -(area)f(with)f Fr(rl_message\(\))p Fs(.)3350 2042 y([F)-8 -b(unction])-3599 b Fg(void)54 b(rl_restore_prompt)c Ff(\()p -Fi(v)m(oid)p Ff(\))390 2152 y Fs(Restore)44 b(the)e(lo)s(cal)i +(displa)m(ying)g(a)g(new)390 5340 y(message)31 b(in)g(the)f(message)i +(area)f(with)f Fr(rl_message\(\))p Fs(.)p eop end +%%Page: 36 40 +TeXDict begin 36 39 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(36)3350 +299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_restore_prompt)c +Ff(\()p Fi(v)m(oid)p Ff(\))390 408 y Fs(Restore)44 b(the)e(lo)s(cal)i (Readline)g(prompt)d(displa)m(y)i(state)h(sa)m(v)m(ed)g(b)m(y)f(the)f -(most)h(recen)m(t)h(call)g(to)390 2261 y Fr(rl_save_prompt)p +(most)h(recen)m(t)h(call)g(to)390 518 y Fr(rl_save_prompt)p Fs(.)69 b(if)41 b Fr(rl_save_prompt)d Fs(w)m(as)j(called)i(to)f(sa)m(v) -m(e)h(the)e(prompt)f(b)s(efore)h(a)h(call)390 2371 y(to)37 +m(e)h(the)e(prompt)f(b)s(efore)h(a)h(call)390 628 y(to)37 b Fr(rl_message)p Fs(,)f(this)h(function)f(should)g(b)s(e)g(called)i(b) s(efore)f(the)g(corresp)s(onding)e(call)j(to)g Fr(rl_)390 -2480 y(clear_message)p Fs(.)3350 2660 y([F)-8 b(unction])-3599 +737 y(clear_message)p Fs(.)3350 918 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_expand_prompt)e Ff(\()p Fi(c)m(har)31 -b(*prompt)p Ff(\))390 2769 y Fs(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m +b(*prompt)p Ff(\))390 1027 y Fs(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m (haracter)h(sequences)f(in)g Fi(prompt)g Fs(and)f(set)i(up)d(the)i(lo)s -(cal)h(Readline)390 2879 y(prompt)35 b(redispla)m(y)h(v)-5 +(cal)h(Readline)390 1137 y(prompt)35 b(redispla)m(y)h(v)-5 b(ariables.)57 b(This)35 b(function)h(is)g(called)h(b)m(y)e Fr(readline\(\))p Fs(.)55 b(It)35 b(ma)m(y)i(also)g(b)s(e)390 -2988 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f +1246 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f Fr(rl_on_new_line_with_prom)o(pt\()o(\))15 b Fs(function)390 -3098 y(or)25 b Fr(rl_already_prompted)c Fs(v)-5 b(ariable)26 +1356 y(or)25 b Fr(rl_already_prompted)c Fs(v)-5 b(ariable)26 b(is)f(used.)39 b(It)25 b(returns)f(the)i(n)m(um)m(b)s(er)e(of)i -(visible)f(c)m(haracters)390 3208 y(on)34 b(the)g(last)g(line)g(of)g +(visible)f(c)m(haracters)390 1465 y(on)34 b(the)g(last)g(line)g(of)g (the)g(\(p)s(ossibly)f(m)m(ulti-line\))j(prompt.)50 b(Applications)34 -b(ma)m(y)h(indicate)f(that)390 3317 y(the)28 b(prompt)f(con)m(tains)i +b(ma)m(y)h(indicate)f(that)390 1575 y(the)28 b(prompt)f(con)m(tains)i (c)m(haracters)g(that)g(tak)m(e)g(up)e(no)h(ph)m(ysical)g(screen)g -(space)g(when)f(displa)m(y)m(ed)390 3427 y(b)m(y)41 b(brac)m(k)m(eting) +(space)g(when)f(displa)m(y)m(ed)390 1685 y(b)m(y)41 b(brac)m(k)m(eting) i(a)e(sequence)g(of)g(suc)m(h)g(c)m(haracters)h(with)f(the)g(sp)s -(ecial)h(mark)m(ers)f Fr(RL_PROMPT_)390 3536 y(START_IGNORE)27 -b Fs(and)k Fr(RL_PROMPT_END_IGNORE)25 b Fs(\(declared)31 -b(in)g(`)p Fr(readline.h)p Fs('.)39 b(This)30 b(ma)m(y)i(b)s(e)390 -3646 y(used)e(to)h(em)m(b)s(ed)f(terminal-sp)s(eci\014c)h(escap)s(e)f -(sequences)h(in)f(prompts.)3350 3825 y([F)-8 b(unction])-3599 +(ecial)h(mark)m(ers)f Fr(RL_PROMPT_)390 1794 y(START_IGNORE)32 +b Fs(and)k Fr(RL_PROMPT_END_IGNORE)30 b Fs(\(declared)37 +b(in)e Fr(readline.h)p Fs(.)54 b(This)35 b(ma)m(y)i(b)s(e)390 +1904 y(used)30 b(to)h(em)m(b)s(ed)f(terminal-sp)s(eci\014c)h(escap)s(e) +f(sequences)h(in)f(prompts.)3350 2084 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_set_prompt)d Ff(\()p Fi(const)31 b(c)m(har)g(*prompt)p -Ff(\))390 3935 y Fs(Mak)m(e)d(Readline)g(use)f Fi(prompt)h +Ff(\))390 2194 y Fs(Mak)m(e)d(Readline)g(use)f Fi(prompt)h Fs(for)e(subsequen)m(t)h(redispla)m(y)-8 b(.)40 b(This)26 -b(calls)i Fr(rl_expand_prompt\(\))390 4044 y Fs(to)j(expand)f(the)g +b(calls)i Fr(rl_expand_prompt\(\))390 2303 y Fs(to)j(expand)f(the)g (prompt)g(and)g(sets)g Fr(rl_prompt)e Fs(to)j(the)g(result.)150 -4240 y Fh(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350 -4434 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_insert_text)d -Ff(\()p Fi(const)31 b(c)m(har)g(*text)p Ff(\))390 4543 +2500 y Fh(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350 +2694 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_insert_text)d +Ff(\()p Fi(const)31 b(c)m(har)g(*text)p Ff(\))390 2804 y Fs(Insert)g Fi(text)k Fs(in)m(to)d(the)g(line)g(at)g(the)g(curren)m (t)f(cursor)g(p)s(osition.)45 b(Returns)30 b(the)i(n)m(um)m(b)s(er)f -(of)g(c)m(har-)390 4653 y(acters)g(inserted.)3350 4832 +(of)g(c)m(har-)390 2913 y(acters)g(inserted.)3350 3093 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_delete_text)d Ff(\()p Fi(in)m(t)31 b(start,)g(in)m(t)g(end)p Ff(\))390 -4942 y Fs(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f +3203 y Fs(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f Fi(start)i Fs(and)d Fi(end)k Fs(in)c(the)h(curren)m(t)g(line.)63 -b(Returns)36 b(the)i(n)m(um)m(b)s(er)f(of)390 5051 y(c)m(haracters)32 -b(deleted.)3350 5230 y([F)-8 b(unction])-3599 b Fg(char)54 +b(Returns)36 b(the)i(n)m(um)m(b)s(er)f(of)390 3313 y(c)m(haracters)32 +b(deleted.)3350 3493 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_copy_text)d Ff(\()p Fi(in)m(t)31 b(start,)h(in)m(t)f(end)p -Ff(\))390 5340 y Fs(Return)f(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m +Ff(\))390 3602 y Fs(Return)f(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m (w)m(een)g Fi(start)i Fs(and)d Fi(end)j Fs(in)d(the)h(curren)m(t)f -(line.)p eop end -%%Page: 36 40 -TeXDict begin 36 39 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(36)3350 -299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_kill_text)c -Ff(\()p Fi(in)m(t)32 b(start,)f(in)m(t)g(end)p Ff(\))390 -408 y Fs(Cop)m(y)j(the)g(text)i(b)s(et)m(w)m(een)e Fi(start)j -Fs(and)d Fi(end)j Fs(in)d(the)g(curren)m(t)g(line)g(to)h(the)f(kill)h -(ring,)g(app)s(ending)390 518 y(or)f(prep)s(ending)e(to)j(the)f(last)h -(kill)f(if)g(the)g(last)h(command)f(w)m(as)g(a)h(kill)f(command.)51 -b(The)34 b(text)h(is)390 628 y(deleted.)50 b(If)33 b -Fi(start)j Fs(is)e(less)f(than)g Fi(end)t Fs(,)h(the)f(text)i(is)e(app) -s(ended,)g(otherwise)g(prep)s(ended.)48 b(If)33 b(the)390 -737 y(last)e(command)f(w)m(as)h(not)g(a)f(kill,)i(a)f(new)e(kill)i -(ring)g(slot)g(is)f(used.)3350 931 y([F)-8 b(unction])-3599 +(line.)3350 3783 y([F)-8 b(unction])-3599 b Fg(int)53 +b(rl_kill_text)c Ff(\()p Fi(in)m(t)32 b(start,)f(in)m(t)g(end)p +Ff(\))390 3892 y Fs(Cop)m(y)j(the)g(text)i(b)s(et)m(w)m(een)e +Fi(start)j Fs(and)d Fi(end)j Fs(in)d(the)g(curren)m(t)g(line)g(to)h +(the)f(kill)h(ring,)g(app)s(ending)390 4002 y(or)f(prep)s(ending)e(to)j +(the)f(last)h(kill)f(if)g(the)g(last)h(command)f(w)m(as)g(a)h(kill)f +(command.)51 b(The)34 b(text)h(is)390 4112 y(deleted.)51 +b(If)33 b Fi(start)j Fs(is)e(less)g(than)f Fi(end)p Fs(,)h(the)g(text)g +(is)g(app)s(ended,)f(otherwise)h(prep)s(ended.)48 b(If)33 +b(the)390 4221 y(last)e(command)f(w)m(as)h(not)g(a)f(kill,)i(a)f(new)e +(kill)i(ring)g(slot)g(is)f(used.)3350 4401 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_push_macro_input)e Ff(\()p Fi(c)m(har)32 -b(*macro)p Ff(\))390 1040 y Fs(Cause)c Fi(macro)33 b +b(*macro)p Ff(\))390 4511 y Fs(Cause)c Fi(macro)33 b Fs(to)c(b)s(e)f(inserted)g(in)m(to)h(the)g(line,)g(as)f(if)h(it)f(had)g (b)s(een)g(in)m(v)m(ok)m(ed)h(b)m(y)f(a)h(k)m(ey)g(b)s(ound)d(to)390 -1150 y(a)31 b(macro.)41 b(Not)31 b(esp)s(ecially)h(useful;)e(use)g -Fr(rl_insert_text\(\))c Fs(instead.)150 1354 y Fh(2.4.8)63 -b(Character)39 b(Input)3350 1555 y Fs([F)-8 b(unction])-3599 +4621 y(a)31 b(macro.)41 b(Not)31 b(esp)s(ecially)h(useful;)e(use)g +Fr(rl_insert_text\(\))c Fs(instead.)150 4817 y Fh(2.4.8)63 +b(Character)39 b(Input)3350 5011 y Fs([F)-8 b(unction])-3599 b Fg(int)53 b(rl_read_key)c Ff(\()p Fi(v)m(oid)p Ff(\))390 -1665 y Fs(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5 +5121 y Fs(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5 b(ailable)32 b(from)d(Readline's)h(curren)m(t)f(input)g(stream.)41 -b(This)28 b(han-)390 1775 y(dles)e(input)g(inserted)g(in)m(to)i(the)e -(input)g(stream)h(via)g Fi(rl)p 2226 1775 28 4 v 40 w(p)s(ending)p -2583 1775 V 38 w(input)h Fs(\(see)f(Section)h(2.3)f([Read-)390 -1884 y(line)40 b(V)-8 b(ariables],)43 b(page)d(25\))g(and)f +b(This)28 b(han-)390 5230 y(dles)e(input)g(inserted)g(in)m(to)i(the)e +(input)g(stream)h(via)g Fi(rl)p 2226 5230 28 4 v 40 w(p)s(ending)p +2583 5230 V 38 w(input)h Fs(\(see)f(Section)h(2.3)f([Read-)390 +5340 y(line)40 b(V)-8 b(ariables],)43 b(page)d(25\))g(and)f Fr(rl_stuff_char\(\))p Fs(,)f(macros,)k(and)d(c)m(haracters)h(read)f -(from)390 1994 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35 -b(w)m(aiting)g(for)f(input,)g(this)g(function)g(will)g(call)i(an)m(y)e -(function)g(assigned)390 2103 y(to)d(the)g Fr(rl_event_hook)26 -b Fs(v)-5 b(ariable.)3350 2297 y([F)d(unction])-3599 -b Fg(int)53 b(rl_getc)48 b Ff(\()p Fi(FILE)30 b(*stream)p -Ff(\))390 2407 y Fs(Return)20 b(the)i(next)f(c)m(haracter)i(a)m(v)-5 -b(ailable)24 b(from)c Fi(stream)p Fs(,)k(whic)m(h)d(is)g(assumed)g(to)h -(b)s(e)e(the)i(k)m(eyb)s(oard.)3350 2600 y([F)-8 b(unction])-3599 -b Fg(int)53 b(rl_stuff_char)d Ff(\()p Fi(in)m(t)31 b(c)p -Ff(\))390 2710 y Fs(Insert)h Fi(c)39 b Fs(in)m(to)34 -b(the)f(Readline)g(input)f(stream.)49 b(It)33 b(will)g(b)s(e)f -Fr(")p Fs(read)p Fr(")g Fs(b)s(efore)h(Readline)g(attempts)390 -2819 y(to)27 b(read)g(c)m(haracters)h(from)f(the)g(terminal)g(with)f +(from)p eop end +%%Page: 37 41 +TeXDict begin 37 40 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)390 +299 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35 b(w)m(aiting)g(for)f +(input,)g(this)g(function)g(will)g(call)i(an)m(y)e(function)g(assigned) +390 408 y(to)d(the)g Fr(rl_event_hook)26 b Fs(v)-5 b(ariable.)3350 +585 y([F)d(unction])-3599 b Fg(int)53 b(rl_getc)48 b +Ff(\()p Fi(FILE)30 b(*stream)p Ff(\))390 694 y Fs(Return)20 +b(the)i(next)f(c)m(haracter)i(a)m(v)-5 b(ailable)24 b(from)c +Fi(stream)p Fs(,)k(whic)m(h)d(is)g(assumed)g(to)h(b)s(e)e(the)i(k)m +(eyb)s(oard.)3350 871 y([F)-8 b(unction])-3599 b Fg(int)53 +b(rl_stuff_char)d Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 +980 y Fs(Insert)h Fi(c)39 b Fs(in)m(to)34 b(the)f(Readline)g(input)f +(stream.)49 b(It)33 b(will)g(b)s(e)f Fr(")p Fs(read)p +Fr(")g Fs(b)s(efore)h(Readline)g(attempts)390 1090 y(to)27 +b(read)g(c)m(haracters)h(from)f(the)g(terminal)g(with)f Fr(rl_read_key\(\))p Fs(.)36 b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m -(y)390 2929 y(b)s(e)i(pushed)f(bac)m(k.)42 b Fr(rl_stuff_char)27 +(y)390 1200 y(b)s(e)i(pushed)f(bac)m(k.)42 b Fr(rl_stuff_char)27 b Fs(returns)i(1)i(if)f(the)h(c)m(haracter)h(w)m(as)f(successfully)g -(inserted;)390 3039 y(0)g(otherwise.)3350 3232 y([F)-8 +(inserted;)390 1309 y(0)g(otherwise.)3350 1485 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_execute_next)d Ff(\()p -Fi(in)m(t)31 b(c)p Ff(\))390 3342 y Fs(Mak)m(e)37 b Fi(c)42 +Fi(in)m(t)31 b(c)p Ff(\))390 1595 y Fs(Mak)m(e)37 b Fi(c)42 b Fs(b)s(e)35 b(the)h(next)f(command)h(to)g(b)s(e)f(executed)i(when)d -Fr(rl_read_key\(\))e Fs(is)k(called.)58 b(This)390 3451 -y(sets)31 b Fi(rl)p 635 3451 V 40 w(p)s(ending)p 992 -3451 V 38 w(input)r Fs(.)3350 3645 y([F)-8 b(unction])-3599 +Fr(rl_read_key\(\))e Fs(is)k(called.)58 b(This)390 1705 +y(sets)31 b Fi(rl)p 635 1705 28 4 v 40 w(p)s(ending)p +992 1705 V 38 w(input)p Fs(.)3350 1881 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_clear_pending_inpu)q(t)e Ff(\()p Fi(v)m(oid)p -Ff(\))390 3755 y Fs(Unset)42 b Fi(rl)p 729 3755 V 40 -w(p)s(ending)p 1086 3755 V 38 w(input)r Fs(,)i(e\013ectiv)m(ely)g -(negating)f(the)f(e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)f -Fr(rl_)390 3864 y(execute_next\(\))p Fs(.)59 b(This)36 +Ff(\))390 1991 y Fs(Unset)42 b Fi(rl)p 729 1991 V 40 +w(p)s(ending)p 1086 1991 V 38 w(input)p Fs(,)i(e\013ectiv)m(ely)h +(negating)e(the)f(e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)g +Fr(rl_)390 2100 y(execute_next\(\))p Fs(.)59 b(This)36 b(w)m(orks)i(only)g(if)f(the)h(p)s(ending)e(input)h(has)g(not)h -(already)g(b)s(een)f(read)390 3974 y(with)30 b Fr(rl_read_key\(\))p -Fs(.)3350 4167 y([F)-8 b(unction])-3599 b Fg(int)53 b +(already)g(b)s(een)f(read)390 2210 y(with)30 b Fr(rl_read_key\(\))p +Fs(.)3350 2386 y([F)-8 b(unction])-3599 b Fg(int)53 b (rl_set_keyboard_input)q(_tim)q(eou)q(t)e Ff(\()p Fi(in)m(t)32 -b(u)p Ff(\))390 4277 y Fs(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard) +b(u)p Ff(\))390 2496 y Fs(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard) g(input)f(in)h Fr(rl_read_key\(\))p Fs(,)f(Readline)i(will)f(w)m(ait)h -(for)f Fi(u)g Fs(mi-)390 4387 y(croseconds)31 b(for)g(input)f(b)s +(for)f Fi(u)g Fs(mi-)390 2605 y(croseconds)31 b(for)g(input)f(b)s (efore)g(calling)j(an)m(y)e(function)f(assigned)i(to)f Fr(rl_event_hook)p Fs(.)39 b Fi(u)30 b Fs(m)m(ust)390 -4496 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h +2715 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h (zero-length)g(timeout)g(is)f(equiv)-5 b(alen)m(t)33 -b(to)g(a)f(p)s(oll\).)45 b(The)390 4606 y(default)31 +b(to)g(a)f(p)s(oll\).)45 b(The)390 2824 y(default)31 b(w)m(aiting)g(p)s(erio)s(d)e(is)i(one-ten)m(th)g(of)g(a)g(second.)40 b(Returns)30 b(the)g(old)h(timeout)g(v)-5 b(alue.)150 -4810 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350 -5011 y Fs([F)-8 b(unction])-3599 b Fg(void)54 b(rl_prep_terminal)c -Ff(\()p Fi(in)m(t)31 b(meta)p 1670 5011 V 41 w(\015ag)p -Ff(\))390 5121 y Fs(Mo)s(dify)42 b(the)h(terminal)g(settings)g(for)f +3018 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350 +3210 y Fs([F)-8 b(unction])-3599 b Fg(void)54 b(rl_prep_terminal)c +Ff(\()p Fi(in)m(t)31 b(meta)p 1670 3210 V 41 w(\015ag)p +Ff(\))390 3319 y Fs(Mo)s(dify)42 b(the)h(terminal)g(settings)g(for)f (Readline's)i(use,)h(so)e Fr(readline\(\))c Fs(can)k(read)f(a)h(single) -390 5230 y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s -(oard.)43 b(The)30 b Fi(meta)p 2376 5230 V 41 w(\015ag)39 -b Fs(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 5340 -y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)p -eop end -%%Page: 37 41 -TeXDict begin 37 40 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)3350 -299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_deprep_terminal)c -Ff(\()p Fi(v)m(oid)p Ff(\))390 408 y Fs(Undo)31 b(the)h(e\013ects)h(of) -f Fr(rl_prep_terminal\(\))p Fs(,)27 b(lea)m(ving)33 b(the)f(terminal)g -(in)f(the)h(state)h(in)e(whic)m(h)390 518 y(it)g(w)m(as)g(b)s(efore)f -(the)g(most)h(recen)m(t)g(call)h(to)f Fr(rl_prep_terminal\(\))p -Fs(.)3350 698 y([F)-8 b(unction])-3599 b Fg(void)54 b -(rl_tty_set_default_bindi)q(ngs)e Ff(\()p Fi(Keymap)31 -b(kmap)p Ff(\))390 808 y Fs(Read)37 b(the)g(op)s(erating)h(system's)f -(terminal)g(editing)h(c)m(haracters)g(\(as)g(w)m(ould)e(b)s(e)h(displa) -m(y)m(ed)g(b)m(y)390 917 y Fr(stty)p Fs(\))30 b(to)h(their)f(Readline)h -(equiv)-5 b(alen)m(ts.)42 b(The)30 b(bindings)f(are)i(p)s(erformed)e -(in)h Fi(kmap)s Fs(.)3350 1098 y([F)-8 b(unction])-3599 -b Fg(void)54 b(rl_tty_unset_default_bin)q(din)q(gs)e -Ff(\()p Fi(Keymap)30 b(kmap)p Ff(\))390 1207 y Fs(Reset)j(the)f -(bindings)e(manipulated)i(b)m(y)g Fr(rl_tty_set_default_bind)o(ing)o(s) -26 b Fs(so)32 b(that)g(the)g(ter-)390 1317 y(minal)40 -b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i Fr(rl_insert)p -Fs(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in)390 -1426 y Fi(kmap)s Fs(.)3350 1606 y([F)-8 b(unction])-3599 +390 3429 y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s +(oard.)43 b(The)30 b Fi(meta)p 2376 3429 V 41 w(\015ag)39 +b Fs(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 3539 +y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)3350 +3715 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_deprep_terminal)c +Ff(\()p Fi(v)m(oid)p Ff(\))390 3825 y Fs(Undo)31 b(the)h(e\013ects)h +(of)f Fr(rl_prep_terminal\(\))p Fs(,)27 b(lea)m(ving)33 +b(the)f(terminal)g(in)f(the)h(state)h(in)e(whic)m(h)390 +3934 y(it)g(w)m(as)g(b)s(efore)f(the)g(most)h(recen)m(t)g(call)h(to)f +Fr(rl_prep_terminal\(\))p Fs(.)3350 4111 y([F)-8 b(unction])-3599 +b Fg(void)54 b(rl_tty_set_default_bindi)q(ngs)e Ff(\()p +Fi(Keymap)31 b(kmap)p Ff(\))390 4220 y Fs(Read)37 b(the)g(op)s(erating) +h(system's)f(terminal)g(editing)h(c)m(haracters)g(\(as)g(w)m(ould)e(b)s +(e)h(displa)m(y)m(ed)g(b)m(y)390 4330 y Fr(stty)p Fs(\))30 +b(to)h(their)f(Readline)h(equiv)-5 b(alen)m(ts.)42 b(The)30 +b(bindings)f(are)i(p)s(erformed)e(in)h Fi(kmap)p Fs(.)3350 +4506 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_tty_unset_default_bin)q +(din)q(gs)e Ff(\()p Fi(Keymap)30 b(kmap)p Ff(\))390 4616 +y Fs(Reset)j(the)f(bindings)e(manipulated)i(b)m(y)g Fr +(rl_tty_set_default_bind)o(ing)o(s)26 b Fs(so)32 b(that)g(the)g(ter-) +390 4725 y(minal)40 b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i +Fr(rl_insert)p Fs(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in) +390 4835 y Fi(kmap)p Fs(.)3350 5011 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_reset_terminal)e Ff(\()p Fi(const)31 -b(c)m(har)g(*terminal)p 2151 1606 28 4 v 41 w(name)p -Ff(\))390 1716 y Fs(Reinitialize)26 b(Readline's)f(idea)f(of)g(the)g -(terminal)h(settings)f(using)g Fi(terminal)p 2977 1716 -V 40 w(name)29 b Fs(as)24 b(the)g(termi-)390 1826 y(nal)32 -b(t)m(yp)s(e)g(\(e.g.,)i Fr(vt100)p Fs(\).)44 b(If)31 -b Fi(terminal)p 1753 1826 V 41 w(name)37 b Fs(is)31 b -Fr(NULL)p Fs(,)h(the)g(v)-5 b(alue)32 b(of)g(the)g Fr(TERM)e -Fs(en)m(vironmen)m(t)390 1935 y(v)-5 b(ariable)31 b(is)g(used.)150 -2132 y Fh(2.4.10)63 b(Utilit)m(y)40 b(F)-10 b(unctions)3350 -2326 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_save_state)d -Ff(\()p Fi(struct)30 b(readline)p 1702 2326 V 41 w(state)h(*sp)p -Ff(\))390 2435 y Fs(Sa)m(v)m(e)f(a)f(snapshot)f(of)h(Readline's)g(in)m -(ternal)g(state)h(to)g Fi(sp)s Fs(.)39 b(The)28 b(con)m(ten)m(ts)j(of)d -(the)h Fi(readline)p 3523 2435 V 41 w(state)390 2545 -y Fs(structure)38 b(are)g(do)s(cumen)m(ted)g(in)g(`)p -Fr(readline.h)p Fs('.)62 b(The)38 b(caller)h(is)f(resp)s(onsible)g(for) -g(allo)s(cating)390 2654 y(the)31 b(structure.)3350 2835 -y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_restore_state)e -Ff(\()p Fi(struct)30 b(readline)p 1859 2835 V 41 w(state)h(*sp)p -Ff(\))390 2944 y Fs(Restore)23 b(Readline's)g(in)m(ternal)f(state)i(to) -e(that)h(stored)f(in)g Fi(sp)s Fs(,)h(whic)m(h)e(m)m(ust)h(ha)m(v)m(e)h -(b)s(een)f(sa)m(v)m(ed)h(b)m(y)f(a)390 3054 y(call)30 +b(c)m(har)g(*terminal)p 2151 5011 V 41 w(name)p Ff(\))390 +5121 y Fs(Reinitialize)26 b(Readline's)f(idea)f(of)g(the)g(terminal)h +(settings)f(using)g Fi(terminal)p 2977 5121 V 40 w(name)29 +b Fs(as)24 b(the)g(termi-)390 5230 y(nal)32 b(t)m(yp)s(e)g(\(e.g.,)i +Fr(vt100)p Fs(\).)44 b(If)31 b Fi(terminal)p 1753 5230 +V 41 w(name)37 b Fs(is)31 b Fr(NULL)p Fs(,)h(the)g(v)-5 +b(alue)32 b(of)g(the)g Fr(TERM)e Fs(en)m(vironmen)m(t)390 +5340 y(v)-5 b(ariable)31 b(is)g(used.)p eop end +%%Page: 38 42 +TeXDict begin 38 41 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)150 +299 y Fh(2.4.10)63 b(Utilit)m(y)40 b(F)-10 b(unctions)3350 +503 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_save_state)d +Ff(\()p Fi(struct)30 b(readline)p 1702 503 28 4 v 41 +w(state)h(*sp)p Ff(\))390 612 y Fs(Sa)m(v)m(e)f(a)f(snapshot)e(of)i +(Readline's)g(in)m(ternal)g(state)h(to)f Fi(sp)p Fs(.)40 +b(The)28 b(con)m(ten)m(ts)i(of)e(the)h Fi(readline)p +3518 612 V 40 w(state)390 722 y Fs(structure)g(are)g(do)s(cumen)m(ted)g +(in)g Fr(readline.h)p Fs(.)38 b(The)28 b(caller)j(is)e(resp)s(onsible)f +(for)h(allo)s(cating)j(the)390 832 y(structure.)3350 +1030 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_restore_state)e +Ff(\()p Fi(struct)30 b(readline)p 1859 1030 V 41 w(state)h(*sp)p +Ff(\))390 1140 y Fs(Restore)23 b(Readline's)g(in)m(ternal)g(state)g(to) +g(that)g(stored)f(in)g Fi(sp)p Fs(,)i(whic)m(h)d(m)m(ust)h(ha)m(v)m(e)i +(b)s(een)d(sa)m(v)m(ed)i(b)m(y)g(a)390 1250 y(call)30 b(to)g Fr(rl_save_state)p Fs(.)37 b(The)28 b(con)m(ten)m(ts)j(of)e(the) -g Fi(readline)p 2470 3054 V 41 w(state)35 b Fs(structure)29 -b(are)g(do)s(cumen)m(ted)390 3163 y(in)h(`)p Fr(readline.h)p -Fs('.)38 b(The)30 b(caller)i(is)e(resp)s(onsible)g(for)g(freeing)h(the) -f(structure.)3350 3343 y([F)-8 b(unction])-3599 b Fg(void)54 +g Fi(readline)p 2470 1250 V 41 w(state)35 b Fs(structure)29 +b(are)g(do)s(cumen)m(ted)390 1359 y(in)h Fr(readline.h)p +Fs(.)38 b(The)30 b(caller)i(is)e(resp)s(onsible)f(for)i(freeing)f(the)h +(structure.)3350 1558 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_free)47 b Ff(\()p Fi(v)m(oid)31 b(*mem)p Ff(\))390 -3453 y Fs(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y) +1668 y Fs(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y) f Fi(mem)p Fs(.)38 b Fi(mem)21 b Fs(m)m(ust)g(ha)m(v)m(e)i(b)s(een)d -(allo)s(cated)j(b)m(y)e Fr(malloc)p Fs(.)3350 3633 y([F)-8 +(allo)s(cated)j(b)m(y)e Fr(malloc)p Fs(.)3350 1866 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_replace_line)c Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)e(clear)p 2305 -3633 V 42 w(undo)p Ff(\))390 3743 y Fs(Replace)41 b(the)e(con)m(ten)m -(ts)i(of)e Fr(rl_line_buffer)d Fs(with)j Fi(text)r Fs(.)68 -b(The)39 b(p)s(oin)m(t)g(and)g(mark)g(are)g(pre-)390 -3852 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39 b(If)25 b -Fi(clear)p 1422 3852 V 41 w(undo)k Fs(is)d(non-zero,)h(the)f(undo)e -(list)i(asso)s(ciated)h(with)e(the)h(curren)m(t)390 3962 -y(line)31 b(is)f(cleared.)3350 4142 y([F)-8 b(unction])-3599 +1866 V 42 w(undo)p Ff(\))390 1976 y Fs(Replace)41 b(the)e(con)m(ten)m +(ts)i(of)f Fr(rl_line_buffer)35 b Fs(with)k Fi(text)p +Fs(.)69 b(The)39 b(p)s(oin)m(t)h(and)e(mark)h(are)h(pre-)390 +2086 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39 b(If)25 b +Fi(clear)p 1422 2086 V 41 w(undo)k Fs(is)d(non-zero,)h(the)f(undo)e +(list)i(asso)s(ciated)h(with)e(the)h(curren)m(t)390 2195 +y(line)31 b(is)f(cleared.)3350 2394 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_extend_line_buffer)d Ff(\()p Fi(in)m(t)32 -b(len)p Ff(\))390 4252 y Fs(Ensure)d(that)h Fr(rl_line_buffer)d +b(len)p Ff(\))390 2503 y Fs(Ensure)d(that)h Fr(rl_line_buffer)d Fs(has)j(enough)f(space)i(to)g(hold)f Fi(len)g Fs(c)m(haracters,)i(p)s -(ossibly)d(real-)390 4361 y(lo)s(cating)j(it)f(if)f(necessary)-8 -b(.)3350 4541 y([F)g(unction])-3599 b Fg(int)53 b(rl_initialize)d -Ff(\()p Fi(v)m(oid)p Ff(\))390 4651 y Fs(Initialize)39 +(ossibly)d(real-)390 2613 y(lo)s(cating)j(it)f(if)f(necessary)-8 +b(.)3350 2812 y([F)g(unction])-3599 b Fg(int)53 b(rl_initialize)d +Ff(\()p Fi(v)m(oid)p Ff(\))390 2921 y Fs(Initialize)39 b(or)e(re-initialize)i(Readline's)f(in)m(ternal)f(state.)62 b(It's)37 b(not)g(strictly)h(necessary)f(to)h(call)390 -4761 y(this;)31 b Fr(readline\(\))c Fs(calls)32 b(it)f(b)s(efore)f -(reading)g(an)m(y)h(input.)3350 4941 y([F)-8 b(unction])-3599 +3031 y(this;)31 b Fr(readline\(\))c Fs(calls)32 b(it)f(b)s(efore)f +(reading)g(an)m(y)h(input.)3350 3230 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_ding)48 b Ff(\()p Fi(v)m(oid)p Ff(\))390 -5050 y Fs(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s(eying)h(the)f -(setting)i(of)e Fr(bell-style)p Fs(.)3350 5230 y([F)-8 +3339 y Fs(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s(eying)h(the)f +(setting)i(of)e Fr(bell-style)p Fs(.)3350 3538 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_alphabetic)d Ff(\()p -Fi(in)m(t)31 b(c)p Ff(\))390 5340 y Fs(Return)f(1)g(if)h -Fi(c)36 b Fs(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)p -eop end -%%Page: 38 42 -TeXDict begin 38 41 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)3350 -299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_display_match_list)d +Fi(in)m(t)31 b(c)p Ff(\))390 3648 y Fs(Return)f(1)g(if)h +Fi(c)36 b Fs(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)3350 +3847 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_display_match_list)d Ff(\()p Fi(c)m(har)31 b(**matc)m(hes,)i(in)m(t)e(len,)g(in)m(t)g(max)p -Ff(\))390 408 y Fs(A)k(con)m(v)m(enience)h(function)e(for)g(displa)m +Ff(\))390 3956 y Fs(A)k(con)m(v)m(enience)h(function)e(for)g(displa)m (ying)h(a)g(list)g(of)g(strings)f(in)g(columnar)g(format)h(on)f(Read-) -390 518 y(line's)g(output)f(stream.)51 b Fr(matches)31 +390 4066 y(line's)g(output)f(stream.)51 b Fr(matches)31 b Fs(is)j(the)f(list)i(of)e(strings,)i(in)e(argv)h(format,)h(suc)m(h)e -(as)h(a)g(list)g(of)390 628 y(completion)26 b(matc)m(hes.)39 +(as)h(a)g(list)g(of)390 4175 y(completion)26 b(matc)m(hes.)39 b Fr(len)24 b Fs(is)g(the)g(n)m(um)m(b)s(er)f(of)i(strings)f(in)g Fr(matches)p Fs(,)f(and)h Fr(max)f Fs(is)i(the)f(length)h(of)390 -737 y(the)h(longest)i(string)e(in)g Fr(matches)p Fs(.)37 +4285 y(the)h(longest)i(string)e(in)g Fr(matches)p Fs(.)37 b(This)25 b(function)h(uses)g(the)g(setting)i(of)e Fr -(print-completions-)390 847 y(horizontally)33 b Fs(to)k(select)h(ho)m +(print-completions-)390 4394 y(horizontally)33 b Fs(to)k(select)h(ho)m (w)e(the)g(matc)m(hes)i(are)e(displa)m(y)m(ed)h(\(see)g(Section)g -(1.3.1)h([Readline)390 956 y(Init)30 b(File)h(Syn)m(tax],)g(page)g +(1.3.1)h([Readline)390 4504 y(Init)30 b(File)h(Syn)m(tax],)g(page)g (4\).)42 b(When)29 b(displa)m(ying)i(completions,)h(this)e(function)g -(sets)g(the)g(n)m(um-)390 1066 y(b)s(er)23 b(of)g(columns)g(used)g(for) +(sets)g(the)g(n)m(um-)390 4614 y(b)s(er)23 b(of)g(columns)g(used)g(for) h(displa)m(y)f(to)i(the)e(v)-5 b(alue)24 b(of)g Fr (completion-display-width)p Fs(,)19 b(the)k(v)-5 b(alue)390 -1176 y(of)31 b(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)31 +4723 y(of)31 b(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)31 b Fr(COLUMNS)p Fs(,)e(or)h(the)h(screen)f(width,)g(in)g(that)h(order.) -275 1374 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f(macros,)h +275 4922 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f(macros,)h (de\014ned)e(in)h Fr(chardefs.h)p Fs(.)43 b(Applications)33 -b(should)150 1483 y(refrain)d(from)g(using)g(them.)3350 -1681 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_uppercase_p)d -Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 1791 y Fs(Return)f(1)g(if)h +b(should)150 5032 y(refrain)d(from)g(using)g(them.)3350 +5230 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_uppercase_p)d +Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 5340 y Fs(Return)f(1)g(if)h Fi(c)36 b Fs(is)30 b(an)h(upp)s(ercase)e(alphab)s(etic)i(c)m(haracter.) -3350 1989 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_lowercase_p)d -Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 2098 y Fs(Return)f(1)g(if)h +p eop end +%%Page: 39 43 +TeXDict begin 39 42 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(39)3350 +299 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_lowercase_p)d +Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 408 y Fs(Return)f(1)g(if)h Fi(c)36 b Fs(is)30 b(a)h(lo)m(w)m(ercase)i(alphab)s(etic)e(c)m -(haracter.)3350 2296 y([F)-8 b(unction])-3599 b Fg(int)53 +(haracter.)3350 569 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_digit_p)c Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 -2406 y Fs(Return)f(1)g(if)h Fi(c)36 b Fs(is)30 b(a)h(n)m(umeric)f(c)m -(haracter.)3350 2604 y([F)-8 b(unction])-3599 b Fg(int)53 +679 y Fs(Return)f(1)g(if)h Fi(c)36 b Fs(is)30 b(a)h(n)m(umeric)f(c)m +(haracter.)3350 840 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_to_upper)c Ff(\()p Fi(in)m(t)32 b(c)p Ff(\))390 -2714 y Fs(If)23 b Fi(c)30 b Fs(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s +949 y Fs(If)23 b Fi(c)30 b Fs(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s (etic)e(c)m(haracter,)j(return)c(the)h(corresp)s(onding)e(upp)s(ercase) -h(c)m(haracter.)3350 2912 y([F)-8 b(unction])-3599 b +h(c)m(haracter.)3350 1110 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_to_lower)c Ff(\()p Fi(in)m(t)32 b(c)p -Ff(\))390 3021 y Fs(If)c Fi(c)35 b Fs(is)29 b(an)g(upp)s(ercase)f +Ff(\))390 1220 y Fs(If)c Fi(c)35 b Fs(is)29 b(an)g(upp)s(ercase)f (alphab)s(etic)h(c)m(haracter,)i(return)d(the)h(corresp)s(onding)f(lo)m -(w)m(ercase)j(c)m(harac-)390 3131 y(ter.)3350 3329 y([F)-8 +(w)m(ercase)j(c)m(harac-)390 1329 y(ter.)3350 1490 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_digit_value)d Ff(\()p -Fi(in)m(t)31 b(c)p Ff(\))390 3438 y Fs(If)f Fi(c)36 b +Fi(in)m(t)31 b(c)p Ff(\))390 1600 y Fs(If)f Fi(c)36 b Fs(is)31 b(a)f(n)m(um)m(b)s(er,)g(return)f(the)h(v)-5 -b(alue)31 b(it)g(represen)m(ts.)150 3644 y Fh(2.4.11)63 -b(Miscellaneous)42 b(F)-10 b(unctions)3350 3848 y Fs([F)i(unction]) +b(alue)31 b(it)g(represen)m(ts.)150 1783 y Fh(2.4.11)63 +b(Miscellaneous)42 b(F)-10 b(unctions)3350 1964 y Fs([F)i(unction]) -3599 b Fg(int)53 b(rl_macro_bind)d Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(const)f(c)m(har)f(*macro,)i(Keymap)565 -3958 y(map)p Ff(\))390 4067 y Fs(Bind)22 b(the)i(k)m(ey)f(sequence)g -Fi(k)m(eyseq)j Fs(to)e(in)m(v)m(ok)m(e)h(the)e(macro)g -Fi(macro)5 b Fs(.)39 b(The)22 b(binding)g(is)h(p)s(erformed)e(in)390 -4177 y Fi(map)s Fs(.)39 b(When)27 b Fi(k)m(eyseq)k Fs(is)c(in)m(v)m(ok) -m(ed,)j(the)d Fi(macro)33 b Fs(will)27 b(b)s(e)g(inserted)g(in)m(to)h -(the)g(line.)40 b(This)26 b(function)390 4286 y(is)k(deprecated;)i(use) -e Fr(rl_generic_bind\(\))25 b Fs(instead.)3350 4484 y([F)-8 +2074 y(map)p Ff(\))390 2183 y Fs(Bind)23 b(the)g(k)m(ey)h(sequence)g +Fi(k)m(eyseq)i Fs(to)e(in)m(v)m(ok)m(e)h(the)f(macro)f +Fi(macro)p Fs(.)39 b(The)23 b(binding)f(is)i(p)s(erformed)d(in)390 +2293 y Fi(map)p Fs(.)39 b(When)28 b Fi(k)m(eyseq)i Fs(is)e(in)m(v)m(ok) +m(ed,)i(the)d Fi(macro)33 b Fs(will)28 b(b)s(e)f(inserted)g(in)m(to)i +(the)e(line.)41 b(This)26 b(function)390 2403 y(is)k(deprecated;)i(use) +e Fr(rl_generic_bind\(\))25 b Fs(instead.)3350 2563 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_macro_dumper)c Ff(\()p -Fi(in)m(t)31 b(readable)p Ff(\))390 4594 y Fs(Prin)m(t)c(the)g(k)m(ey)h +Fi(in)m(t)31 b(readable)p Ff(\))390 2673 y Fs(Prin)m(t)c(the)g(k)m(ey)h (sequences)g(b)s(ound)d(to)j(macros)f(and)g(their)g(v)-5 b(alues,)28 b(using)f(the)g(curren)m(t)g(k)m(eymap,)390 -4704 y(to)32 b Fr(rl_outstream)p Fs(.)40 b(If)31 b Fi(readable)36 +2783 y(to)32 b Fr(rl_outstream)p Fs(.)40 b(If)31 b Fi(readable)36 b Fs(is)c(non-zero,)g(the)f(list)h(is)f(formatted)h(in)f(suc)m(h)g(a)g -(w)m(a)m(y)i(that)e(it)390 4813 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f -Fr(inputrc)e Fs(\014le)j(and)e(re-read.)3350 5011 y([F)-8 +(w)m(a)m(y)i(that)e(it)390 2892 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f +Fr(inputrc)e Fs(\014le)j(and)e(re-read.)3350 3053 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_variable_bind)e Ff(\()p Fi(const)31 b(c)m(har)g(*v)-5 b(ariable,)31 b(const)g(c)m(har)g(*v)-5 -b(alue)p Ff(\))390 5121 y Fs(Mak)m(e)30 b(the)f(Readline)g(v)-5 -b(ariable)29 b Fi(v)-5 b(ariable)35 b Fs(ha)m(v)m(e)30 -b Fi(v)-5 b(alue)5 b Fs(.)40 b(This)28 b(b)s(eha)m(v)m(es)h(as)g(if)f -(the)h(readline)g(com-)390 5230 y(mand)f(`)p Fr(set)i -Fk(variable)38 b(value)11 b Fs(')28 b(had)g(b)s(een)g(executed)i(in)e -(an)h Fr(inputrc)e Fs(\014le)i(\(see)g(Section)h(1.3.1)390 -5340 y([Readline)h(Init)f(File)i(Syn)m(tax],)f(page)g(4\).)p -eop end -%%Page: 39 43 -TeXDict begin 39 42 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(39)3350 -299 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_variable_value)f +b(alue)p Ff(\))390 3163 y Fs(Mak)m(e)31 b(the)e(Readline)g(v)-5 +b(ariable)30 b Fi(v)-5 b(ariable)35 b Fs(ha)m(v)m(e)30 +b Fi(v)-5 b(alue)p Fs(.)41 b(This)28 b(b)s(eha)m(v)m(es)h(as)h(if)f +(the)g(readline)g(com-)390 3272 y(mand)h(`)p Fr(set)g +Fk(variable)e(value)p Fs(')h(had)h(b)s(een)h(executed)g(in)g(an)f +Fr(inputrc)f Fs(\014le)i(\(see)h(Section)f(1.3.1)390 +3382 y([Readline)g(Init)f(File)i(Syn)m(tax],)f(page)g(4\).)3350 +3543 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_variable_value)f Ff(\()p Fi(const)31 b(c)m(har)g(*v)-5 b(ariable)p Ff(\))390 -408 y Fs(Return)28 b(a)h(string)g(represen)m(ting)g(the)g(v)-5 -b(alue)29 b(of)g(the)g(Readline)h(v)-5 b(ariable)29 b -Fi(v)-5 b(ariable)5 b Fs(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390 -518 y(v)-5 b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p -Fr(on)p Fs(')f(or)h(`)p Fr(off)p Fs('.)3350 712 y([F)-8 +3652 y Fs(Return)28 b(a)i(string)f(represen)m(ting)h(the)f(v)-5 +b(alue)30 b(of)f(the)h(Readline)g(v)-5 b(ariable)30 b +Fi(v)-5 b(ariable)p Fs(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390 +3762 y(v)-5 b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p +Fr(on)p Fs(')f(or)h(`)p Fr(off)p Fs('.)3350 3922 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_variable_dumper)c -Ff(\()p Fi(in)m(t)32 b(readable)p Ff(\))390 822 y Fs(Prin)m(t)d(the)f +Ff(\()p Fi(in)m(t)32 b(readable)p Ff(\))390 4032 y Fs(Prin)m(t)d(the)f (readline)h(v)-5 b(ariable)30 b(names)e(and)g(their)h(curren)m(t)f(v)-5 b(alues)29 b(to)h Fr(rl_outstream)p Fs(.)37 b(If)28 b -Fi(read-)390 931 y(able)40 b Fs(is)34 b(non-zero,)i(the)e(list)g(is)g +Fi(read-)390 4142 y(able)40 b Fs(is)34 b(non-zero,)i(the)e(list)g(is)g (formatted)h(in)f(suc)m(h)g(a)g(w)m(a)m(y)h(that)g(it)f(can)g(b)s(e)g -(made)g(part)g(of)g(an)390 1041 y Fr(inputrc)28 b Fs(\014le)j(and)f -(re-read.)3350 1235 y([F)-8 b(unction])-3599 b Fg(int)53 +(made)g(part)g(of)g(an)390 4251 y Fr(inputrc)28 b Fs(\014le)j(and)f +(re-read.)3350 4412 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_set_paren_blink_ti)q(meou)q(t)f Ff(\()p Fi(in)m(t)31 -b(u)p Ff(\))390 1345 y Fs(Set)25 b(the)h(time)f(in)m(terv)-5 +b(u)p Ff(\))390 4522 y Fs(Set)25 b(the)h(time)f(in)m(terv)-5 b(al)27 b(\(in)e(microseconds\))h(that)g(Readline)f(w)m(aits)h(when)e -(sho)m(wing)i(a)f(balancing)390 1454 y(c)m(haracter)32 +(sho)m(wing)i(a)f(balancing)390 4631 y(c)m(haracter)32 b(when)d Fr(blink-matching-paren)c Fs(has)30 b(b)s(een)g(enabled.)3350 -1649 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_termcap)e -Ff(\()p Fi(const)31 b(c)m(har)g(*cap)p Ff(\))390 1758 -y Fs(Retriev)m(e)d(the)f(string)g(v)-5 b(alue)27 b(of)g(the)g(termcap)g -(capabilit)m(y)i Fi(cap)s Fs(.)39 b(Readline)28 b(fetc)m(hes)g(the)f -(termcap)390 1868 y(en)m(try)34 b(for)f(the)h(curren)m(t)f(terminal)h +4792 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_termcap)e +Ff(\()p Fi(const)31 b(c)m(har)g(*cap)p Ff(\))390 4902 +y Fs(Retriev)m(e)e(the)e(string)g(v)-5 b(alue)27 b(of)g(the)h(termcap)f +(capabilit)m(y)i Fi(cap)p Fs(.)40 b(Readline)27 b(fetc)m(hes)h(the)g +(termcap)390 5011 y(en)m(try)34 b(for)f(the)h(curren)m(t)f(terminal)h (name)g(and)f(uses)g(those)h(capabilities)h(to)f(mo)m(v)m(e)h(around)e -(the)390 1977 y(screen)21 b(line)h(and)e(p)s(erform)g(other)h +(the)390 5121 y(screen)21 b(line)h(and)e(p)s(erform)g(other)h (terminal-sp)s(eci\014c)h(op)s(erations,)h(lik)m(e)f(erasing)g(a)f -(line.)38 b(Readline)390 2087 y(do)s(es)d(not)g(use)g(all)g(of)h(a)f +(line.)38 b(Readline)390 5230 y(do)s(es)d(not)g(use)g(all)g(of)h(a)f (terminal's)g(capabilities,)k(and)34 b(this)h(function)g(will)g(return) -f(v)-5 b(alues)35 b(for)390 2197 y(only)30 b(those)h(capabilities)i -(Readline)e(uses.)150 2401 y Fh(2.4.12)63 b(Alternate)40 -b(In)m(terface)150 2548 y Fs(An)21 b(alternate)j(in)m(terface)f(is)f(a) -m(v)-5 b(ailable)24 b(to)e(plain)g Fr(readline\(\))p -Fs(.)35 b(Some)21 b(applications)i(need)f(to)g(in)m(terlea)m(v)m(e)150 -2657 y(k)m(eyb)s(oard)35 b(I/O)h(with)f(\014le,)i(device,)h(or)e(windo) +f(v)-5 b(alues)35 b(for)390 5340 y(only)30 b(those)h(capabilities)i +(Readline)e(uses.)p eop end +%%Page: 40 44 +TeXDict begin 40 43 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(40)3350 +299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_clear_history)c +Ff(\()p Fi(v)m(oid)p Ff(\))390 408 y Fs(Clear)27 b(the)h(history)f +(list)h(b)m(y)f(deleting)h(all)g(of)f(the)h(en)m(tries,)h(in)d(the)i +(same)f(manner)g(as)g(the)g(History)390 518 y(library's)42 +b Fr(clear_history\(\))d Fs(function.)78 b(This)42 b(di\013ers)g(from)g +Fr(clear_history)e Fs(b)s(ecause)i(it)390 628 y(frees)30 +b(priv)-5 b(ate)31 b(data)g(Readline)g(sa)m(v)m(es)h(in)e(the)h +(history)f(list.)150 832 y Fh(2.4.12)63 b(Alternate)40 +b(In)m(terface)150 979 y Fs(An)21 b(alternate)j(in)m(terface)f(is)f(a)m +(v)-5 b(ailable)24 b(to)e(plain)g Fr(readline\(\))p Fs(.)35 +b(Some)21 b(applications)i(need)f(to)g(in)m(terlea)m(v)m(e)150 +1088 y(k)m(eyb)s(oard)35 b(I/O)h(with)f(\014le,)i(device,)h(or)e(windo) m(w)f(system)g(I/O,)h(t)m(ypically)i(b)m(y)d(using)g(a)h(main)g(lo)s -(op)f(to)150 2767 y Fr(select\(\))24 b Fs(on)h(v)-5 b(arious)26 -b(\014le)g(descriptors.)39 b(T)-8 b(o)26 b(accomo)s(date)i(this)e -(need,)g(readline)h(can)f(also)g(b)s(e)f(in)m(v)m(ok)m(ed)150 -2877 y(as)i(a)g(`callbac)m(k')j(function)c(from)g(an)h(ev)m(en)m(t)h -(lo)s(op.)40 b(There)26 b(are)h(functions)g(a)m(v)-5 -b(ailable)29 b(to)e(mak)m(e)h(this)f(easy)-8 b(.)3350 -3071 y([F)g(unction])-3599 b Fg(void)54 b(rl_callback_handler_inst)q -(all)e Ff(\()p Fi(const)31 b(c)m(har)g(*prompt,)565 3180 -y(rl)p 632 3180 28 4 v 40 w(v)m(cpfunc)p 978 3180 V 40 -w(t)f(*lhandler)p Ff(\))390 3290 y Fs(Set)25 b(up)e(the)i(terminal)g -(for)g(readline)g(I/O)f(and)g(displa)m(y)h(the)g(initial)h(expanded)e -(v)-5 b(alue)25 b(of)g Fi(prompt)r Fs(.)390 3400 y(Sa)m(v)m(e)33 -b(the)f(v)-5 b(alue)32 b(of)g Fi(lhandler)37 b Fs(to)c(use)e(as)h(a)g -(function)f(to)h(call)h(when)e(a)h(complete)h(line)f(of)g(input)390 -3509 y(has)e(b)s(een)g(en)m(tered.)41 b(The)30 b(function)g(tak)m(es)i -(the)e(text)i(of)e(the)h(line)g(as)f(an)g(argumen)m(t.)3350 -3703 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_callback_read_char)d -Ff(\()p Fi(v)m(oid)p Ff(\))390 3813 y Fs(Whenev)m(er)34 +(op)f(to)150 1198 y Fr(select\(\))42 b Fs(on)i(v)-5 b(arious)45 +b(\014le)f(descriptors.)83 b(T)-8 b(o)45 b(accommo)s(date)h(this)e +(need,)k(readline)d(can)f(also)i(b)s(e)150 1308 y(in)m(v)m(ok)m(ed)33 +b(as)e(a)h(`callbac)m(k')h(function)e(from)g(an)g(ev)m(en)m(t)h(lo)s +(op.)44 b(There)30 b(are)i(functions)f(a)m(v)-5 b(ailable)33 +b(to)f(mak)m(e)150 1417 y(this)e(easy)-8 b(.)3350 1611 +y([F)g(unction])-3599 b Fg(void)54 b(rl_callback_handler_inst)q(all)e +Ff(\()p Fi(const)31 b(c)m(har)g(*prompt,)565 1721 y(rl)p +632 1721 28 4 v 40 w(v)m(cpfunc)p 978 1721 V 40 w(t)f(*lhandler)p +Ff(\))390 1831 y Fs(Set)25 b(up)f(the)h(terminal)g(for)f(readline)i +(I/O)e(and)g(displa)m(y)h(the)g(initial)h(expanded)e(v)-5 +b(alue)26 b(of)f Fi(prompt)p Fs(.)390 1940 y(Sa)m(v)m(e)34 +b(the)f(v)-5 b(alue)33 b(of)g Fi(lhandler)39 b Fs(to)34 +b(use)e(as)h(a)g(handler)f(function)h(to)g(call)h(when)e(a)h(complete)i +(line)390 2050 y(of)h(input)f(has)g(b)s(een)g(en)m(tered.)57 +b(The)35 b(handler)g(function)g(receiv)m(es)j(the)e(text)g(of)g(the)g +(line)g(as)g(an)390 2159 y(argumen)m(t.)3350 2354 y([F)-8 +b(unction])-3599 b Fg(void)54 b(rl_callback_read_char)d +Ff(\()p Fi(v)m(oid)p Ff(\))390 2463 y Fs(Whenev)m(er)34 b(an)g(application)h(determines)e(that)i(k)m(eyb)s(oard)e(input)g(is)h -(a)m(v)-5 b(ailable,)37 b(it)d(should)f(call)390 3923 +(a)m(v)-5 b(ailable,)37 b(it)d(should)f(call)390 2573 y Fr(rl_callback_read_char\(\))p Fs(,)17 b(whic)m(h)22 b(will)g(read)f(the)h(next)g(c)m(haracter)h(from)f(the)f(curren)m(t)h -(input)390 4032 y(source.)77 b(If)41 b(that)i(c)m(haracter)h(completes) -g(the)e(line,)k Fr(rl_callback_read_char)36 b Fs(will)43 -b(in)m(v)m(ok)m(e)390 4142 y(the)36 b Fi(lhandler)41 -b Fs(function)35 b(sa)m(v)m(ed)h(b)m(y)g Fr(rl_callback_handler_ins)o -(tall)29 b Fs(to)36 b(pro)s(cess)f(the)g(line.)390 4251 -y(Before)28 b(calling)g(the)f Fi(lhandler)32 b Fs(function,)c(the)e -(terminal)i(settings)f(are)g(reset)h(to)f(the)g(v)-5 -b(alues)27 b(they)390 4361 y(had)i(b)s(efore)g(calling)j -Fr(rl_callback_handler_ins)o(tall)o Fs(.)j(If)29 b(the)h -Fi(lhandler)36 b Fs(function)29 b(returns,)390 4471 y(the)c(terminal)g -(settings)h(are)f(mo)s(di\014ed)e(for)i(Readline's)g(use)f(again.)40 -b Fr(EOF)24 b Fs(is)h(indicated)g(b)m(y)f(calling)390 -4580 y Fi(lhandler)36 b Fs(with)30 b(a)h Fr(NULL)e Fs(line.)3350 -4774 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_callback_handler_remo)q -(ve)e Ff(\()p Fi(v)m(oid)p Ff(\))390 4884 y Fs(Restore)38 -b(the)f(terminal)h(to)g(its)f(initial)i(state)f(and)f(remo)m(v)m(e)h -(the)g(line)f(handler.)60 b(This)37 b(ma)m(y)h(b)s(e)390 -4994 y(called)f(from)f(within)g(a)h(callbac)m(k)h(as)f(w)m(ell)g(as)f -(indep)s(enden)m(tly)-8 b(.)58 b(If)36 b(the)h Fi(lhandler)42 -b Fs(installed)37 b(b)m(y)390 5103 y Fr(rl_callback_handler_inst)o(all) -32 b Fs(do)s(es)39 b(not)g(exit)g(the)g(program,)i(either)e(this)g -(function)f(or)390 5213 y(the)32 b(function)f(referred)f(to)i(b)m(y)g +(input)390 2682 y(source.)40 b(If)27 b(that)i(c)m(haracter)g(completes) +h(the)e(line,)h Fr(rl_callback_read_char)22 b Fs(will)28 +b(in)m(v)m(ok)m(e)i(the)390 2792 y Fi(lhandler)47 b Fs(function)40 +b(installed)i(b)m(y)e Fr(rl_callback_handler_insta)o(ll)35 +b Fs(to)41 b(pro)s(cess)f(the)h(line.)390 2902 y(Before)j(calling)h +(the)e Fi(lhandler)49 b Fs(function,)e(the)c(terminal)h(settings)g(are) +g(reset)f(to)h(the)g(v)-5 b(alues)390 3011 y(they)44 +b(had)e(b)s(efore)h(calling)i Fr(rl_callback_handler_insta)o(ll)p +Fs(.)73 b(If)43 b(the)h Fi(lhandler)49 b Fs(function)390 +3121 y(returns,)27 b(and)h(the)g(line)g(handler)f(remains)h(installed,) +i(the)e(terminal)g(settings)h(are)f(mo)s(di\014ed)f(for)390 +3230 y(Readline's)k(use)f(again.)42 b Fr(EOF)29 b Fs(is)i(indicated)g +(b)m(y)f(calling)i Fi(lhandler)k Fs(with)30 b(a)h Fr(NULL)e +Fs(line.)3350 3425 y([F)-8 b(unction])-3599 b Fg(void)54 +b(rl_callback_handler_remo)q(ve)e Ff(\()p Fi(v)m(oid)p +Ff(\))390 3534 y Fs(Restore)38 b(the)f(terminal)h(to)g(its)f(initial)i +(state)f(and)f(remo)m(v)m(e)h(the)g(line)f(handler.)60 +b(This)37 b(ma)m(y)h(b)s(e)390 3644 y(called)f(from)f(within)g(a)h +(callbac)m(k)h(as)f(w)m(ell)g(as)f(indep)s(enden)m(tly)-8 +b(.)58 b(If)36 b(the)h Fi(lhandler)42 b Fs(installed)37 +b(b)m(y)390 3753 y Fr(rl_callback_handler_inst)o(all)32 +b Fs(do)s(es)39 b(not)g(exit)g(the)g(program,)i(either)e(this)g +(function)f(or)390 3863 y(the)32 b(function)f(referred)f(to)i(b)m(y)g (the)f(v)-5 b(alue)32 b(of)g Fr(rl_deprep_term_function)25 -b Fs(should)30 b(b)s(e)h(called)390 5322 y(b)s(efore)f(the)h(program)f -(exits)h(to)g(reset)g(the)f(terminal)h(settings.)p eop -end -%%Page: 40 44 -TeXDict begin 40 43 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(40)150 -299 y Fh(2.4.13)63 b(A)41 b(Readline)f(Example)150 446 +b Fs(should)30 b(b)s(e)h(called)390 3973 y(b)s(efore)f(the)h(program)f +(exits)h(to)g(reset)g(the)f(terminal)h(settings.)150 +4177 y Fh(2.4.13)63 b(A)41 b(Readline)f(Example)150 4324 y Fs(Here)34 b(is)g(a)g(function)g(whic)m(h)g(c)m(hanges)g(lo)m(w)m (ercase)j(c)m(haracters)e(to)f(their)g(upp)s(ercase)f(equiv)-5 -b(alen)m(ts,)37 b(and)150 555 y(upp)s(ercase)d(c)m(haracters)j(to)f(lo) -m(w)m(ercase.)58 b(If)35 b(this)g(function)g(w)m(as)h(b)s(ound)d(to)j -(`)p Fr(M-c)p Fs(',)h(then)e(t)m(yping)g(`)p Fr(M-c)p -Fs(')150 665 y(w)m(ould)c(c)m(hange)i(the)f(case)g(of)g(the)g(c)m +b(alen)m(ts,)37 b(and)150 4433 y(upp)s(ercase)d(c)m(haracters)j(to)f +(lo)m(w)m(ercase.)58 b(If)35 b(this)g(function)g(w)m(as)h(b)s(ound)d +(to)j(`)p Fr(M-c)p Fs(',)h(then)e(t)m(yping)g(`)p Fr(M-c)p +Fs(')150 4543 y(w)m(ould)c(c)m(hange)i(the)f(case)g(of)g(the)g(c)m (haracter)h(under)d(p)s(oin)m(t.)44 b(T)m(yping)31 b(`)p Fr(M-1)f(0)g(M-c)p Fs(')h(w)m(ould)g(c)m(hange)i(the)150 -775 y(case)e(of)g(the)g(follo)m(wing)g(10)h(c)m(haracters,)g(lea)m +4653 y(case)e(of)g(the)g(follo)m(wing)g(10)h(c)m(haracters,)g(lea)m (ving)g(the)e(cursor)g(on)g(the)h(last)g(c)m(haracter)h(c)m(hanged.)390 -956 y Fr(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g -(characters.)e(*/)390 1066 y(int)390 1176 y(invert_case_line)f -(\(count,)j(key\))629 1285 y(int)h(count,)f(key;)390 -1395 y({)485 1504 y(register)g(int)h(start,)f(end,)h(i;)485 -1724 y(start)g(=)g(rl_point;)485 1943 y(if)h(\(rl_point)d(>=)i -(rl_end\))581 2052 y(return)f(\(0\);)485 2271 y(if)i(\(count)e(<)h(0\)) -581 2381 y({)676 2491 y(direction)f(=)h(-1;)676 2600 -y(count)g(=)g(-count;)581 2710 y(})485 2819 y(else)581 -2929 y(direction)e(=)j(1;)485 3148 y(/*)g(Find)e(the)h(end)g(of)g(the)g -(range)g(to)g(modify.)f(*/)485 3258 y(end)h(=)h(start)e(+)i(\(count)e -(*)h(direction\);)485 3477 y(/*)h(Force)e(it)h(to)g(be)h(within)e -(range.)g(*/)485 3587 y(if)i(\(end)e(>)i(rl_end\))581 -3696 y(end)f(=)g(rl_end;)485 3806 y(else)g(if)g(\(end)g(<)g(0\))581 -3915 y(end)g(=)g(0;)485 4134 y(if)h(\(start)e(==)h(end\))581 -4244 y(return)f(\(0\);)485 4463 y(if)i(\(start)e(>)h(end\))581 -4573 y({)676 4682 y(int)g(temp)g(=)g(start;)676 4792 -y(start)g(=)g(end;)676 4902 y(end)g(=)h(temp;)581 5011 -y(})485 5230 y(/*)g(Tell)e(readline)g(that)g(we)i(are)f(modifying)e -(the)i(line,)629 5340 y(so)g(it)g(will)g(save)f(the)h(undo)g -(information.)d(*/)p eop end +4792 y Fr(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g +(characters.)e(*/)390 4902 y(int)390 5011 y(invert_case_line)f +(\(count,)j(key\))629 5121 y(int)h(count,)f(key;)390 +5230 y({)485 5340 y(register)g(int)h(start,)f(end,)h(i;)p +eop end %%Page: 41 45 TeXDict begin 41 44 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(41)485 -299 y Fr(rl_modifying)45 b(\(start,)h(end\);)485 518 -y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f(i++\))581 -628 y({)676 737 y(if)i(\(_rl_uppercase_p)43 b(\(rl_line_buffer[i]\)\)) -772 847 y(rl_line_buffer[i])g(=)k(_rl_to_lower)e -(\(rl_line_buffer[i]\);)676 956 y(else)i(if)g(\(_rl_lowercase_p)d -(\(rl_line_buffer[i]\)\))772 1066 y(rl_line_buffer[i])f(=)k -(_rl_to_upper)e(\(rl_line_buffer[i]\);)581 1176 y(})485 -1285 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g(last)g(character) -e(changed.)g(*/)485 1395 y(rl_point)h(=)h(\(direction)e(==)j(1\))f(?)g -(end)g(-)h(1)f(:)h(start;)485 1504 y(return)f(\(0\);)390 -1614 y(})150 1947 y Fq(2.5)68 b(Readline)47 b(Signal)e(Handling)150 -2106 y Fs(Signals)31 b(are)f(async)m(hronous)g(ev)m(en)m(ts)i(sen)m(t)f +408 y Fr(start)47 b(=)g(rl_point;)485 628 y(if)h(\(rl_point)d(>=)i +(rl_end\))581 737 y(return)f(\(0\);)485 956 y(if)i(\(count)e(<)h(0\)) +581 1066 y({)676 1176 y(direction)f(=)h(-1;)676 1285 +y(count)g(=)g(-count;)581 1395 y(})485 1504 y(else)581 +1614 y(direction)e(=)j(1;)485 1833 y(/*)g(Find)e(the)h(end)g(of)g(the)g +(range)g(to)g(modify.)f(*/)485 1943 y(end)h(=)h(start)e(+)i(\(count)e +(*)h(direction\);)485 2162 y(/*)h(Force)e(it)h(to)g(be)h(within)e +(range.)g(*/)485 2271 y(if)i(\(end)e(>)i(rl_end\))581 +2381 y(end)f(=)g(rl_end;)485 2491 y(else)g(if)g(\(end)g(<)g(0\))581 +2600 y(end)g(=)g(0;)485 2819 y(if)h(\(start)e(==)h(end\))581 +2929 y(return)f(\(0\);)485 3148 y(if)i(\(start)e(>)h(end\))581 +3258 y({)676 3367 y(int)g(temp)g(=)g(start;)676 3477 +y(start)g(=)g(end;)676 3587 y(end)g(=)h(temp;)581 3696 +y(})485 3915 y(/*)g(Tell)e(readline)g(that)g(we)i(are)f(modifying)e +(the)i(line,)629 4025 y(so)g(it)g(will)g(save)f(the)h(undo)g +(information.)d(*/)485 4134 y(rl_modifying)h(\(start,)h(end\);)485 +4354 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f(i++\))581 +4463 y({)676 4573 y(if)i(\(_rl_uppercase_p)43 b +(\(rl_line_buffer[i]\)\))772 4682 y(rl_line_buffer[i])g(=)k +(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 4792 y(else)i(if)g +(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 4902 +y(rl_line_buffer[i])f(=)k(_rl_to_upper)e(\(rl_line_buffer[i]\);)581 +5011 y(})485 5121 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g +(last)g(character)e(changed.)g(*/)485 5230 y(rl_point)h(=)h +(\(direction)e(==)j(1\))f(?)g(end)g(-)h(1)f(:)h(start;)485 +5340 y(return)f(\(0\);)p eop end +%%Page: 42 46 +TeXDict begin 42 45 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)390 +299 y Fr(})150 532 y Fh(2.4.14)63 b(Alternate)40 b(In)m(terface)g +(Example)150 679 y Fs(Here)f(is)g(a)g(complete)h(program)e(that)h +(illustrates)h(Readline's)f(alternate)h(in)m(terface.)67 +b(It)38 b(reads)h(lines)150 788 y(from)30 b(the)i(terminal)f(and)f +(displa)m(ys)h(them,)h(pro)m(viding)f(the)g(standard)f(history)h(and)f +(T)-8 b(AB)32 b(completion)150 898 y(functions.)40 b(It)31 +b(understands)d(the)j(EOF)f(c)m(haracter)i(or)e Fr(")p +Fs(exit)p Fr(")h Fs(to)g(exit)g(the)g(program.)390 1066 +y Fr(/*)47 b(Standard)f(include)g(files.)g(stdio.h)f(is)j(required.)d +(*/)390 1176 y(#include)h()390 1285 y(#include)g() +390 1504 y(/*)h(Used)g(for)g(select\(2\))e(*/)390 1614 +y(#include)h()390 1724 y(#include)g()390 +1943 y(#include)g()390 2162 y(/*)h(Standard)f(readline)f +(include)h(files.)g(*/)390 2271 y(#include)g()390 +2381 y(#include)g()390 2600 y(static)g(void)h +(cb_linehandler)d(\(char)i(*\);)390 2819 y(int)h(running;)390 +2929 y(const)f(char)h(*prompt)f(=)h("rltest$)f(";)390 +3148 y(/*)h(Callback)f(function)f(called)h(for)h(each)g(line)g(when)f +(accept-line)f(executed,)g(EOF)533 3258 y(seen,)i(or)g(EOF)g(character) +e(read.)94 b(This)47 b(sets)f(a)i(flag)e(and)h(returns;)f(it)h(could) +533 3367 y(also)g(call)f(exit\(3\).)g(*/)390 3477 y(static)g(void)390 +3587 y(cb_linehandler)e(\(char)i(*line\))390 3696 y({)485 +3806 y(/*)i(Can)f(use)f(^D)i(\(stty)e(eof\))h(or)g(`exit')f(to)h(exit.) +f(*/)485 3915 y(if)i(\(line)e(==)h(NULL)g(||)g(strcmp)f(\(line,)g +("exit"\))g(==)h(0\))581 4025 y({)676 4134 y(if)h(\(line)e(==)h(0\))772 +4244 y(printf)f(\("\\n"\);)676 4354 y(printf)g(\("exit\\n"\);)676 +4463 y(/*)i(This)e(function)g(needs)g(to)h(be)g(called)g(to)g(reset)f +(the)h(terminal)f(settings,)p 3874 4483 42 84 v 820 4573 +a(and)g(calling)g(it)h(from)g(the)g(line)g(handler)e(keeps)i(one)g +(extra)f(prompt)g(from)p 3874 4593 42 76 v 820 4682 a(being)g +(displayed.)f(*/)676 4792 y(rl_callback_handler_remove)c(\(\);)676 +5011 y(running)46 b(=)i(0;)581 5121 y(})485 5230 y(else)581 +5340 y({)p eop end +%%Page: 43 47 +TeXDict begin 43 46 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)676 +299 y Fr(if)48 b(\(*line\))772 408 y(add_history)d(\(line\);)676 +518 y(printf)h(\("input)g(line:)h(\045s\\n",)f(line\);)676 +628 y(free)h(\(line\);)581 737 y(})390 847 y(})390 1066 +y(int)390 1176 y(main)g(\(int)f(c,)h(char)g(**v\))390 +1285 y({)485 1395 y(fd_set)g(fds;)485 1504 y(int)g(r;)485 +1724 y(/*)h(Install)d(the)i(line)g(handler.)f(*/)485 +1833 y(rl_callback_handler_instal)o(l)c(\(prompt,)j(cb_linehandler\);) +485 2052 y(/*)j(Enter)e(a)h(simple)g(event)f(loop.)94 +b(This)47 b(waits)f(until)g(something)g(is)h(available)629 +2162 y(to)g(read)f(on)i(readline's)d(input)h(stream)g(\(defaults)f(to)j +(standard)d(input\))h(and)629 2271 y(calls)g(the)h(builtin)f(character) +f(read)i(callback)e(to)i(read)g(it.)95 b(It)47 b(does)f(not)629 +2381 y(have)g(to)h(modify)g(the)f(user's)h(terminal)e(settings.)g(*/) +485 2491 y(running)h(=)i(1;)485 2600 y(while)f(\(running\))581 +2710 y({)676 2819 y(FD_ZERO)f(\(&fds\);)676 2929 y(FD_SET)g(\(fileno)g +(\(rl_instream\),)e(&fds\);)676 3148 y(r)k(=)f(select)f(\(FD_SETSIZE,)f +(&fds,)h(NULL,)h(NULL,)f(NULL\);)676 3258 y(if)i(\(r)f(<)g(0\))772 +3367 y({)867 3477 y(perror)f(\("rltest:)g(select"\);)867 +3587 y(rl_callback_handler_remov)o(e)c(\(\);)867 3696 +y(break;)772 3806 y(})676 4025 y(if)48 b(\(FD_ISSET)d(\(fileno)h +(\(rl_instream\),)e(&fds\)\))772 4134 y(rl_callback_read_char)e(\(\);) +581 4244 y(})485 4463 y(printf)47 b(\("rltest:)e(Event)h(loop)h(has)g +(exited\\n"\);)485 4573 y(return)g(0;)390 4682 y(})150 +4961 y Fq(2.5)68 b(Readline)47 b(Signal)e(Handling)150 +5121 y Fs(Signals)31 b(are)f(async)m(hronous)g(ev)m(en)m(ts)i(sen)m(t)f (to)g(a)g(pro)s(cess)f(b)m(y)h(the)f(Unix)g(k)m(ernel,)i(sometimes)f -(on)g(b)s(ehalf)150 2216 y(of)k(another)g(pro)s(cess.)53 +(on)g(b)s(ehalf)150 5230 y(of)k(another)g(pro)s(cess.)53 b(They)34 b(are)h(in)m(tended)g(to)g(indicate)h(exceptional)g(ev)m(en)m -(ts,)i(lik)m(e)e(a)f(user)f(pressing)150 2325 y(the)g(in)m(terrupt)f(k) +(ts,)i(lik)m(e)e(a)f(user)f(pressing)150 5340 y(the)g(in)m(terrupt)f(k) m(ey)h(on)g(his)f(terminal,)i(or)f(a)g(net)m(w)m(ork)g(connection)h(b)s -(eing)e(brok)m(en.)50 b(There)34 b(is)f(a)h(class)150 -2435 y(of)29 b(signals)g(that)h(can)f(b)s(e)f(sen)m(t)h(to)h(the)f(pro) -s(cess)f(curren)m(tly)h(reading)g(input)f(from)g(the)h(k)m(eyb)s(oard.) -40 b(Since)150 2544 y(Readline)45 b(c)m(hanges)g(the)g(terminal)g +(eing)e(brok)m(en.)50 b(There)34 b(is)f(a)h(class)p eop +end +%%Page: 44 48 +TeXDict begin 44 47 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)150 +299 y(of)29 b(signals)g(that)h(can)f(b)s(e)f(sen)m(t)h(to)h(the)f(pro)s +(cess)f(curren)m(tly)h(reading)g(input)f(from)g(the)h(k)m(eyb)s(oard.) +40 b(Since)150 408 y(Readline)45 b(c)m(hanges)g(the)g(terminal)g (attributes)g(when)e(it)i(is)g(called,)k(it)c(needs)f(to)h(p)s(erform)e -(sp)s(ecial)150 2654 y(pro)s(cessing)27 b(when)g(suc)m(h)g(a)h(signal)g +(sp)s(ecial)150 518 y(pro)s(cessing)27 b(when)g(suc)m(h)g(a)h(signal)g (is)g(receiv)m(ed)h(in)e(order)g(to)h(restore)h(the)e(terminal)h(to)h -(a)f(sane)f(state,)j(or)150 2764 y(pro)m(vide)g(application)i(writers)e +(a)f(sane)f(state,)j(or)150 628 y(pro)m(vide)g(application)i(writers)e (with)g(functions)g(to)h(do)g(so)f(man)m(ually)-8 b(.)275 -2965 y(Readline)40 b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler) -f(that)h(is)f(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150 -3074 y(\()p Fr(SIGINT)p Fs(,)k Fr(SIGQUIT)p Fs(,)f Fr(SIGTERM)p -Fs(,)g Fr(SIGALRM)p Fs(,)h Fr(SIGTSTP)p Fs(,)f Fr(SIGTTIN)p -Fs(,)g(and)e Fr(SIGTTOU)p Fs(\).)75 b(When)41 b(one)i(of)150 -3184 y(these)32 b(signals)g(is)g(receiv)m(ed,)i(the)e(signal)g(handler) -f(will)h(reset)g(the)g(terminal)g(attributes)h(to)f(those)g(that)150 -3294 y(w)m(ere)c(in)f(e\013ect)h(b)s(efore)f Fr(readline\(\))d -Fs(w)m(as)k(called,)h(reset)f(the)g(signal)f(handling)g(to)h(what)f(it) -h(w)m(as)f(b)s(efore)150 3403 y Fr(readline\(\))42 b -Fs(w)m(as)k(called,)k(and)44 b(resend)h(the)g(signal)h(to)g(the)f -(calling)i(application.)86 b(If)44 b(and)h(when)150 3513 -y(the)34 b(calling)i(application's)f(signal)g(handler)e(returns,)h +777 y(Readline)40 b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)f +(that)h(is)f(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150 +887 y(\()p Fr(SIGINT)p Fs(,)e Fr(SIGQUIT)p Fs(,)f Fr(SIGTERM)p +Fs(,)g Fr(SIGHUP)p Fs(,)g Fr(SIGALRM)p Fs(,)g Fr(SIGTSTP)p +Fs(,)g Fr(SIGTTIN)p Fs(,)g(and)g Fr(SIGTTOU)p Fs(\).)59 +b(When)150 996 y(one)27 b(of)g(these)g(signals)g(is)g(receiv)m(ed,)i +(the)e(signal)g(handler)f(will)h(reset)h(the)e(terminal)i(attributes)f +(to)g(those)150 1106 y(that)33 b(w)m(ere)g(in)f(e\013ect)h(b)s(efore)f +Fr(readline\(\))e Fs(w)m(as)i(called,)j(reset)d(the)h(signal)g +(handling)f(to)h(what)f(it)h(w)m(as)150 1215 y(b)s(efore)26 +b Fr(readline\(\))e Fs(w)m(as)j(called,)i(and)d(resend)g(the)h(signal)g +(to)h(the)f(calling)h(application.)41 b(If)26 b(and)g(when)150 +1325 y(the)34 b(calling)i(application's)f(signal)g(handler)e(returns,)h (Readline)g(will)h(reinitialize)h(the)e(terminal)h(and)150 -3622 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28 +1435 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28 b(a)h Fr(SIGINT)d Fs(is)j(receiv)m(ed,)h(the)e(Readline)h(signal)g -(handler)f(p)s(erforms)150 3732 y(some)39 b(additional)h(w)m(ork,)h +(handler)f(p)s(erforms)150 1544 y(some)39 b(additional)h(w)m(ork,)h (whic)m(h)d(will)h(cause)g(an)m(y)h(partially-en)m(tered)g(line)f(to)h -(b)s(e)e(ab)s(orted)g(\(see)i(the)150 3842 y(description)30 +(b)s(e)e(ab)s(orted)g(\(see)i(the)150 1654 y(description)30 b(of)h Fr(rl_free_line_state\(\))25 b Fs(b)s(elo)m(w\).)275 -4043 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g +1803 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g (for)f Fr(SIGWINCH)p Fs(,)g(whic)m(h)g(the)g(k)m(ernel)h(sends)e(to)j -(a)150 4152 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m +(a)150 1913 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m (hanges)g(\(for)f(example,)h(if)f(a)g(user)f(resizes)i(an)e -Fr(xterm)p Fs(\).)39 b(The)150 4262 y(Readline)d Fr(SIGWINCH)e +Fr(xterm)p Fs(\).)39 b(The)150 2022 y(Readline)d Fr(SIGWINCH)e Fs(handler)g(up)s(dates)h(Readline's)h(in)m(ternal)h(screen)e(size)i -(information,)g(and)e(then)150 4372 y(calls)g(an)m(y)f +(information,)g(and)e(then)150 2132 y(calls)g(an)m(y)f Fr(SIGWINCH)e Fs(signal)i(handler)f(the)h(calling)h(application)g(has)f -(installed.)51 b(Readline)35 b(calls)g(the)150 4481 y(application's)i +(installed.)51 b(Readline)35 b(calls)g(the)150 2242 y(application's)i Fr(SIGWINCH)c Fs(signal)i(handler)g(without)g(resetting)h(the)g -(terminal)f(to)h(its)g(original)g(state.)150 4591 y(If)31 +(terminal)f(to)h(its)g(original)g(state.)150 2351 y(If)31 b(the)i(application's)g(signal)g(handler)e(do)s(es)g(more)h(than)g(up)s (date)f(its)i(idea)f(of)g(the)g(terminal)h(size)g(and)150 -4700 y(return)28 b(\(for)i(example,)h(a)f Fr(longjmp)d +2461 y(return)28 b(\(for)i(example,)h(a)f Fr(longjmp)d Fs(bac)m(k)k(to)f(a)g(main)g(pro)s(cessing)f(lo)s(op\),)h(it)g -Fj(must)39 b Fs(call)31 b Fr(rl_cleanup_)150 4810 y(after_signal\(\))26 +Fj(must)39 b Fs(call)31 b Fr(rl_cleanup_)150 2570 y(after_signal\(\))26 b Fs(\(describ)s(ed)k(b)s(elo)m(w\),)h(to)g(restore)g(the)g(terminal)g -(state.)275 5011 y(Readline)e(pro)m(vides)f(t)m(w)m(o)i(v)-5 +(state.)275 2720 y(Readline)e(pro)m(vides)f(t)m(w)m(o)i(v)-5 b(ariables)29 b(that)h(allo)m(w)g(application)g(writers)e(to)h(con)m -(trol)h(whether)e(or)h(not)150 5121 y(it)34 b(will)f(catc)m(h)i +(trol)h(whether)e(or)h(not)150 2829 y(it)34 b(will)f(catc)m(h)i (certain)f(signals)f(and)g(act)h(on)f(them)g(when)f(they)i(are)f (receiv)m(ed.)51 b(It)33 b(is)g(imp)s(ortan)m(t)g(that)150 -5230 y(applications)38 b(c)m(hange)g(the)e(v)-5 b(alues)37 +2939 y(applications)38 b(c)m(hange)g(the)e(v)-5 b(alues)37 b(of)g(these)g(v)-5 b(ariables)37 b(only)g(when)f(calling)i -Fr(readline\(\))p Fs(,)d(not)i(in)g(a)150 5340 y(signal)31 +Fr(readline\(\))p Fs(,)d(not)i(in)g(a)150 3049 y(signal)31 b(handler,)f(so)g(Readline's)i(in)m(ternal)f(signal)g(state)h(is)e(not) -h(corrupted.)p eop end -%%Page: 42 46 -TeXDict begin 42 45 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)3371 -299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_catch_signals)390 -408 y Fs(If)28 b(this)h(v)-5 b(ariable)30 b(is)f(non-zero,)h(Readline)f -(will)g(install)h(signal)f(handlers)f(for)h Fr(SIGINT)p -Fs(,)f Fr(SIGQUIT)p Fs(,)390 518 y Fr(SIGTERM)p Fs(,)h -Fr(SIGALRM)p Fs(,)f Fr(SIGTSTP)p Fs(,)h Fr(SIGTTIN)p -Fs(,)g(and)g Fr(SIGTTOU)p Fs(.)390 661 y(The)h(default)g(v)-5 -b(alue)31 b(of)g Fr(rl_catch_signals)26 b Fs(is)k(1.)3371 -863 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_catch_sigwinch)390 -972 y Fs(If)30 b(this)g(v)-5 b(ariable)31 b(is)g(non-zero,)g(Readline)g -(will)g(install)g(a)g(signal)g(handler)e(for)h Fr(SIGWINCH)p -Fs(.)390 1115 y(The)g(default)g(v)-5 b(alue)31 b(of)g -Fr(rl_catch_sigwinch)25 b Fs(is)31 b(1.)275 1317 y(If)f(an)h -(application)h(do)s(es)f(not)g(wish)f(to)i(ha)m(v)m(e)g(Readline)g -(catc)m(h)g(an)m(y)f(signals,)h(or)f(to)h(handle)e(signals)150 -1426 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g(\()p -Fr(SIGHUP)p Fs(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g(con)m(v) -m(enience)150 1536 y(functions)30 b(to)h(do)f(the)h(necessary)g -(terminal)g(and)e(in)m(ternal)i(state)h(clean)m(up)f(up)s(on)e(receipt) -i(of)g(a)f(signal.)3350 1738 y([F)-8 b(unction])-3599 -b Fg(void)54 b(rl_cleanup_after_signal)e Ff(\()p Fi(v)m(oid)p -Ff(\))390 1847 y Fs(This)33 b(function)h(will)g(reset)g(the)g(state)i -(of)e(the)g(terminal)g(to)h(what)f(it)g(w)m(as)g(b)s(efore)g -Fr(readline\(\))390 1957 y Fs(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j -(the)f(Readline)g(signal)g(handlers)e(for)h(all)h(signals,)h(dep)s -(ending)d(on)h(the)390 2066 y(v)-5 b(alues)31 b(of)f -Fr(rl_catch_signals)c Fs(and)k Fr(rl_catch_sigwinch)p -Fs(.)3350 2268 y([F)-8 b(unction])-3599 b Fg(void)54 -b(rl_free_line_state)c Ff(\()p Fi(v)m(oid)p Ff(\))390 -2377 y Fs(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s +h(corrupted.)3371 3263 y([V)-8 b(ariable])-3598 b Fg(int)53 +b(rl_catch_signals)390 3372 y Fs(If)28 b(this)h(v)-5 +b(ariable)30 b(is)f(non-zero,)h(Readline)f(will)g(install)h(signal)f +(handlers)f(for)h Fr(SIGINT)p Fs(,)f Fr(SIGQUIT)p Fs(,)390 +3482 y Fr(SIGTERM)p Fs(,)h Fr(SIGHUP)p Fs(,)g Fr(SIGALRM)p +Fs(,)f Fr(SIGTSTP)p Fs(,)h Fr(SIGTTIN)p Fs(,)f(and)i +Fr(SIGTTOU)p Fs(.)390 3631 y(The)g(default)g(v)-5 b(alue)31 +b(of)g Fr(rl_catch_signals)26 b Fs(is)k(1.)3371 3846 +y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_catch_sigwinch)390 +3955 y Fs(If)37 b(this)h(v)-5 b(ariable)38 b(is)g(set)g(to)g(a)g +(non-zero)g(v)-5 b(alue,)40 b(Readline)f(will)f(install)g(a)g(signal)g +(handler)f(for)390 4065 y Fr(SIGWINCH)p Fs(.)390 4214 +y(The)30 b(default)g(v)-5 b(alue)31 b(of)g Fr(rl_catch_sigwinch)25 +b Fs(is)31 b(1.)3371 4428 y([V)-8 b(ariable])-3598 b +Fg(int)53 b(rl_change_environment)390 4538 y Fs(If)31 +b(this)g(v)-5 b(ariable)32 b(is)f(set)h(to)g(a)g(non-zero)g(v)-5 +b(alue,)32 b(and)f(Readline)h(is)f(handling)g Fr(SIGWINCH)p +Fs(,)e(Read-)390 4648 y(line)h(will)h(mo)s(dify)e(the)h +Fi(LINES)35 b Fs(and)29 b Fi(COLUMNS)35 b Fs(en)m(vironmen)m(t)30 +b(v)-5 b(ariables)31 b(up)s(on)d(receipt)j(of)g(a)390 +4757 y Fr(SIGWINCH)390 4907 y Fs(The)f(default)g(v)-5 +b(alue)31 b(of)g Fr(rl_change_environment)24 b Fs(is)31 +b(1.)275 5121 y(If)f(an)h(application)h(do)s(es)f(not)g(wish)f(to)i(ha) +m(v)m(e)g(Readline)g(catc)m(h)g(an)m(y)f(signals,)h(or)f(to)h(handle)e +(signals)150 5230 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g +(\()p Fr(SIGHUP)p Fs(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g +(con)m(v)m(enience)150 5340 y(functions)30 b(to)h(do)f(the)h(necessary) +g(terminal)g(and)e(in)m(ternal)i(state)h(clean)m(up)f(up)s(on)e +(receipt)i(of)g(a)f(signal.)p eop end +%%Page: 45 49 +TeXDict begin 45 48 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)3350 +299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_cleanup_after_signal)e +Ff(\()p Fi(v)m(oid)p Ff(\))390 408 y Fs(This)33 b(function)h(will)g +(reset)g(the)g(state)i(of)e(the)g(terminal)g(to)h(what)f(it)g(w)m(as)g +(b)s(efore)g Fr(readline\(\))390 518 y Fs(w)m(as)c(called,)h(and)d +(remo)m(v)m(e)j(the)f(Readline)g(signal)g(handlers)e(for)h(all)h +(signals,)h(dep)s(ending)d(on)h(the)390 628 y(v)-5 b(alues)31 +b(of)f Fr(rl_catch_signals)c Fs(and)k Fr(rl_catch_sigwinch)p +Fs(.)3350 799 y([F)-8 b(unction])-3599 b Fg(void)54 b +(rl_free_line_state)c Ff(\()p Fi(v)m(oid)p Ff(\))390 +909 y Fs(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s (ciated)h(with)e(the)g(curren)m(t)g(input)f(line)i(\(undo)e(infor-)390 -2487 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8 +1019 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8 b(,)47 b(an)m(y)42 b(partially-en)m(tered)j(k)m(eyb)s(oard)d(macro,)47 -b(and)42 b(an)m(y)390 2597 y(partially-en)m(tered)50 +b(and)42 b(an)m(y)390 1128 y(partially-en)m(tered)50 b(n)m(umeric)d(argumen)m(t\).)94 b(This)47 b(should)g(b)s(e)g(called)i -(b)s(efore)e Fr(rl_cleanup_)390 2706 y(after_signal\(\))p +(b)s(efore)e Fr(rl_cleanup_)390 1238 y(after_signal\(\))p Fs(.)74 b(The)42 b(Readline)h(signal)g(handler)f(for)h Fr(SIGINT)e Fs(calls)i(this)g(to)g(ab)s(ort)g(the)390 -2816 y(curren)m(t)30 b(input)g(line.)3350 3017 y([F)-8 +1347 y(curren)m(t)30 b(input)g(line.)3350 1519 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_reset_after_signal)d -Ff(\()p Fi(v)m(oid)p Ff(\))390 3127 y Fs(This)28 b(will)g(reinitialize) +Ff(\()p Fi(v)m(oid)p Ff(\))390 1629 y Fs(This)28 b(will)g(reinitialize) j(the)e(terminal)g(and)f(reinstall)h(an)m(y)g(Readline)g(signal)g -(handlers,)f(dep)s(end-)390 3236 y(ing)j(on)f(the)g(v)-5 +(handlers,)f(dep)s(end-)390 1738 y(ing)j(on)f(the)g(v)-5 b(alues)31 b(of)g Fr(rl_catch_signals)26 b Fs(and)j Fr -(rl_catch_sigwinch)p Fs(.)275 3438 y(If)38 b(an)i(application)g(do)s +(rl_catch_sigwinch)p Fs(.)275 1910 y(If)38 b(an)i(application)g(do)s (es)f(not)h(wish)f(Readline)h(to)g(catc)m(h)h Fr(SIGWINCH)p -Fs(,)e(it)h(ma)m(y)g(call)h Fr(rl_resize_)150 3548 y(terminal\(\))24 +Fs(,)e(it)h(ma)m(y)g(call)h Fr(rl_resize_)150 2020 y(terminal\(\))24 b Fs(or)j Fr(rl_set_screen_size\(\))22 b Fs(to)28 b(force)g(Readline)f (to)h(up)s(date)f(its)g(idea)h(of)f(the)g(terminal)150 -3657 y(size)k(when)f(a)g Fr(SIGWINCH)e Fs(is)j(receiv)m(ed.)3350 -3859 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_echo_signal_char)d -Ff(\()p Fi(in)m(t)31 b(sig)p Ff(\))390 3968 y Fs(If)43 +2129 y(size)k(when)f(a)g Fr(SIGWINCH)e Fs(is)j(receiv)m(ed.)3350 +2301 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_echo_signal_char)d +Ff(\()p Fi(in)m(t)31 b(sig)p Ff(\))390 2411 y Fs(If)43 b(an)g(application)i(wishes)e(to)i(install)f(its)g(o)m(wn)f(signal)i (handlers,)h(but)c(still)j(ha)m(v)m(e)g(readline)390 -4078 y(displa)m(y)31 b(c)m(haracters)h(that)f(generate)h(signals,)f +2520 y(displa)m(y)31 b(c)m(haracters)h(that)f(generate)h(signals,)f (calling)h(this)e(function)g(with)g Fi(sig)39 b Fs(set)31 -b(to)g Fr(SIGINT)p Fs(,)390 4187 y Fr(SIGQUIT)p Fs(,)e(or)h +b(to)g Fr(SIGINT)p Fs(,)390 2630 y Fr(SIGQUIT)p Fs(,)e(or)h Fr(SIGTSTP)e Fs(will)j(displa)m(y)g(the)f(c)m(haracter)i(generating)g -(that)f(signal.)3350 4389 y([F)-8 b(unction])-3599 b +(that)f(signal.)3350 2802 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_resize_terminal)c Ff(\()p Fi(v)m(oid)p -Ff(\))390 4499 y Fs(Up)s(date)30 b(Readline's)h(in)m(ternal)g(screen)g +Ff(\))390 2911 y Fs(Up)s(date)30 b(Readline's)h(in)m(ternal)g(screen)g (size)g(b)m(y)f(reading)h(v)-5 b(alues)31 b(from)f(the)g(k)m(ernel.) -3350 4700 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_set_screen_size)c +3350 3083 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_set_screen_size)c Ff(\()p Fi(in)m(t)32 b(ro)m(ws,)e(in)m(t)h(cols)p Ff(\))390 -4810 y Fs(Set)d(Readline's)h(idea)g(of)f(the)g(terminal)h(size)g(to)g -Fi(ro)m(ws)j Fs(ro)m(ws)c(and)f Fi(cols)33 b Fs(columns.)40 -b(If)27 b(either)i Fi(ro)m(ws)390 4919 y Fs(or)35 b Fi(columns)k +3193 y Fs(Set)d(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)g +Fi(ro)m(ws)i Fs(ro)m(ws)d(and)f Fi(cols)33 b Fs(columns.)40 +b(If)27 b(either)h Fi(ro)m(ws)390 3302 y Fs(or)35 b Fi(columns)k Fs(is)c(less)g(than)g(or)g(equal)h(to)g(0,)h(Readline's)f(idea)g(of)f -(that)h(terminal)f(dimension)g(is)390 5029 y(unc)m(hanged.)275 -5230 y(If)d(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g +(that)h(terminal)f(dimension)g(is)390 3412 y(unc)m(hanged.)275 +3584 y(If)d(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g (install)g(a)g Fr(SIGWINCH)d Fs(handler,)j(but)e(is)i(still)g(in)m -(terested)g(in)150 5340 y(the)d(screen)f(dimensions,)g(Readline's)h -(idea)g(of)g(the)f(screen)h(size)g(ma)m(y)g(b)s(e)f(queried.)p -eop end -%%Page: 43 47 -TeXDict begin 43 46 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)3350 -299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_get_screen_size)c +(terested)g(in)150 3693 y(the)d(screen)f(dimensions,)g(Readline's)h +(idea)g(of)g(the)f(screen)h(size)g(ma)m(y)g(b)s(e)f(queried.)3350 +3865 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_get_screen_size)c Ff(\()p Fi(in)m(t)32 b(*ro)m(ws,)f(in)m(t)g(*cols)p Ff(\))390 -408 y Fs(Return)e(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g +3975 y Fs(Return)e(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g (in)f(the)g(v)-5 b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g(the)h -(argu-)390 518 y(men)m(ts.)3350 696 y([F)-8 b(unction])-3599 +(argu-)390 4084 y(men)m(ts.)3350 4256 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_reset_screen_size)d Ff(\()p Fi(v)m(oid)p -Ff(\))390 806 y Fs(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)f -(size)h(and)f(recalculate)j(its)e(dimensions.)275 984 +Ff(\))390 4366 y Fs(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen) +f(size)h(and)f(recalculate)j(its)e(dimensions.)275 4538 y(The)e(follo)m(wing)j(functions)e(install)h(and)f(remo)m(v)m(e)i -(Readline's)f(signal)g(handlers.)3350 1162 y([F)-8 b(unction])-3599 +(Readline's)f(signal)g(handlers.)3350 4710 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_set_signals)d Ff(\()p Fi(v)m(oid)p Ff(\))390 -1272 y Fs(Install)36 b(Readline's)f(signal)h(handler)e(for)h -Fr(SIGINT)p Fs(,)g Fr(SIGQUIT)p Fs(,)g Fr(SIGTERM)p Fs(,)f -Fr(SIGALRM)p Fs(,)h Fr(SIGTSTP)p Fs(,)390 1381 y Fr(SIGTTIN)p -Fs(,)23 b Fr(SIGTTOU)p Fs(,)g(and)f Fr(SIGWINCH)p Fs(,)h(dep)s(ending)f -(on)h(the)g(v)-5 b(alues)23 b(of)h Fr(rl_catch_signals)19 -b Fs(and)390 1491 y Fr(rl_catch_sigwinch)p Fs(.)3350 -1669 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_clear_signals)e -Ff(\()p Fi(v)m(oid)p Ff(\))390 1779 y Fs(Remo)m(v)m(e)32 -b(all)f(of)g(the)g(Readline)g(signal)g(handlers)e(installed)i(b)m(y)f -Fr(rl_set_signals\(\))p Fs(.)150 2007 y Fq(2.6)68 b(Custom)45 -b(Completers)150 2167 y Fs(T)m(ypically)-8 b(,)47 b(a)c(program)g(that) -g(reads)f(commands)h(from)f(the)g(user)g(has)h(a)g(w)m(a)m(y)g(of)g -(disam)m(biguating)150 2276 y(commands)35 b(and)g(data.)56 -b(If)35 b(y)m(our)h(program)f(is)g(one)h(of)g(these,)h(then)e(it)h(can) -g(pro)m(vide)f(completion)i(for)150 2386 y(commands,)29 -b(data,)i(or)e(b)s(oth.)39 b(The)29 b(follo)m(wing)i(sections)f -(describ)s(e)e(ho)m(w)i(y)m(our)f(program)g(and)f(Readline)150 -2495 y(co)s(op)s(erate)j(to)h(pro)m(vide)e(this)g(service.)150 -2691 y Fh(2.6.1)63 b(Ho)m(w)40 b(Completing)i(W)-10 b(orks)150 -2838 y Fs(In)26 b(order)f(to)i(complete)h(some)f(text,)h(the)f(full)f -(list)h(of)f(p)s(ossible)g(completions)h(m)m(ust)g(b)s(e)e(a)m(v)-5 -b(ailable.)42 b(That)150 2947 y(is,)28 b(it)f(is)g(not)g(p)s(ossible)g -(to)g(accurately)i(expand)d(a)h(partial)h(w)m(ord)f(without)f(kno)m -(wing)i(all)f(of)g(the)g(p)s(ossible)150 3057 y(w)m(ords)33 +4819 y Fs(Install)40 b(Readline's)h(signal)f(handler)f(for)h +Fr(SIGINT)p Fs(,)h Fr(SIGQUIT)p Fs(,)f Fr(SIGTERM)p Fs(,)h +Fr(SIGHUP)p Fs(,)g Fr(SIGALRM)p Fs(,)390 4929 y Fr(SIGTSTP)p +Fs(,)35 b Fr(SIGTTIN)p Fs(,)f Fr(SIGTTOU)p Fs(,)h(and)g +Fr(SIGWINCH)p Fs(,)f(dep)s(ending)g(on)h(the)g(v)-5 b(alues)36 +b(of)f Fr(rl_catch_)390 5038 y(signals)28 b Fs(and)i +Fr(rl_catch_sigwinch)p Fs(.)3350 5210 y([F)-8 b(unction])-3599 +b Fg(int)53 b(rl_clear_signals)e Ff(\()p Fi(v)m(oid)p +Ff(\))390 5320 y Fs(Remo)m(v)m(e)32 b(all)f(of)g(the)g(Readline)g +(signal)g(handlers)e(installed)i(b)m(y)f Fr(rl_set_signals\(\))p +Fs(.)p eop end +%%Page: 46 50 +TeXDict begin 46 49 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)150 +299 y Fq(2.6)68 b(Custom)45 b(Completers)150 458 y Fs(T)m(ypically)-8 +b(,)47 b(a)c(program)g(that)g(reads)f(commands)h(from)f(the)g(user)g +(has)h(a)g(w)m(a)m(y)g(of)g(disam)m(biguating)150 568 +y(commands)35 b(and)g(data.)56 b(If)35 b(y)m(our)h(program)f(is)g(one)h +(of)g(these,)h(then)e(it)h(can)g(pro)m(vide)f(completion)i(for)150 +677 y(commands,)29 b(data,)i(or)e(b)s(oth.)39 b(The)29 +b(follo)m(wing)i(sections)f(describ)s(e)e(ho)m(w)i(y)m(our)f(program)g +(and)f(Readline)150 787 y(co)s(op)s(erate)j(to)h(pro)m(vide)e(this)g +(service.)150 970 y Fh(2.6.1)63 b(Ho)m(w)40 b(Completing)i(W)-10 +b(orks)150 1117 y Fs(In)26 b(order)f(to)i(complete)h(some)f(text,)h +(the)f(full)f(list)h(of)f(p)s(ossible)g(completions)h(m)m(ust)g(b)s(e)e +(a)m(v)-5 b(ailable.)42 b(That)150 1227 y(is,)28 b(it)f(is)g(not)g(p)s +(ossible)g(to)g(accurately)i(expand)d(a)h(partial)h(w)m(ord)f(without)f +(kno)m(wing)i(all)f(of)g(the)g(p)s(ossible)150 1336 y(w)m(ords)33 b(whic)m(h)g(mak)m(e)h(sense)f(in)g(that)g(con)m(text.)51 b(The)33 b(Readline)h(library)e(pro)m(vides)i(the)f(user)f(in)m -(terface)150 3166 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h +(terface)150 1446 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h (most)f(common)h(completion)h(functions:)39 b(\014lename)29 -b(and)e(username.)150 3276 y(F)-8 b(or)39 b(completing)g(other)f(t)m +b(and)e(username.)150 1555 y(F)-8 b(or)39 b(completing)g(other)f(t)m (yp)s(es)g(of)h(text,)i(y)m(ou)d(m)m(ust)g(write)g(y)m(our)g(o)m(wn)g -(completion)h(function.)64 b(This)150 3385 y(section)32 +(completion)h(function.)64 b(This)150 1665 y(section)32 b(describ)s(es)d(exactly)j(what)f(suc)m(h)f(functions)g(m)m(ust)g(do,)g -(and)g(pro)m(vides)g(an)h(example.)275 3518 y(There)e(are)i(three)g(ma) +(and)g(pro)m(vides)g(an)h(example.)275 1791 y(There)e(are)i(three)g(ma) 5 b(jor)30 b(functions)g(used)g(to)h(p)s(erform)e(completion:)199 -3650 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f +1918 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f Fr(rl_complete\(\))p Fs(.)76 b(This)43 b(function)g(is)g(called)i(with) -e(the)h(same)330 3760 y(argumen)m(ts)35 b(as)h(other)f(bindable)f -(Readline)i(functions:)49 b Fi(coun)m(t)38 b Fs(and)c -Fi(in)m(v)m(oking)p 3101 3760 28 4 v 42 w(k)m(ey)8 b -Fs(.)55 b(It)35 b(isolates)330 3870 y(the)j(w)m(ord)f(to)h(b)s(e)f -(completed)i(and)d(calls)j Fr(rl_completion_matches\(\))31 -b Fs(to)39 b(generate)g(a)f(list)g(of)330 3979 y(p)s(ossible)31 +e(the)h(same)330 2027 y(argumen)m(ts)36 b(as)g(other)g(bindable)f +(Readline)h(functions:)51 b Fi(coun)m(t)38 b Fs(and)d +Fi(in)m(v)m(oking)p 3107 2027 28 4 v 41 w(k)m(ey)p Fs(.)57 +b(It)36 b(isolates)330 2137 y(the)i(w)m(ord)f(to)h(b)s(e)f(completed)i +(and)d(calls)j Fr(rl_completion_matches\(\))31 b Fs(to)39 +b(generate)g(a)f(list)g(of)330 2247 y(p)s(ossible)31 b(completions.)44 b(It)31 b(then)g(either)g(lists)h(the)f(p)s(ossible)g -(completions,)h(inserts)f(the)g(p)s(ossible)330 4089 +(completions,)h(inserts)f(the)g(p)s(ossible)330 2356 y(completions,)50 b(or)45 b(actually)i(p)s(erforms)d(the)h(completion,) 50 b(dep)s(ending)44 b(on)h(whic)m(h)g(b)s(eha)m(vior)g(is)330 -4198 y(desired.)199 4331 y(2.)61 b(The)33 b(in)m(ternal)h(function)g +2466 y(desired.)199 2592 y(2.)61 b(The)33 b(in)m(ternal)h(function)g Fr(rl_completion_matches\(\))27 b Fs(uses)33 b(an)g -(application-supplied)h Fi(gener-)330 4440 y(ator)44 +(application-supplied)h Fi(gener-)330 2702 y(ator)44 b Fs(function)37 b(to)h(generate)g(the)f(list)h(of)f(p)s(ossible)f (matc)m(hes,)k(and)d(then)f(returns)g(the)h(arra)m(y)h(of)330 -4550 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the) +2811 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the) f(address)f(of)h(its)g(generator)i(function)d(in)h Fr(rl_)330 -4660 y(completion_entry_functio)o(n)p Fs(.)199 4792 y(3.)61 +2921 y(completion_entry_functio)o(n)p Fs(.)199 3047 y(3.)61 b(The)22 b(generator)i(function)f(is)g(called)h(rep)s(eatedly)f(from)g -Fr(rl_completion_matches\(\))o Fs(,)c(returning)330 4902 -y(a)33 b(string)f(eac)m(h)i(time.)48 b(The)32 b(argumen)m(ts)h(to)g -(the)g(generator)h(function)e(are)h Fi(text)i Fs(and)d -Fi(state)5 b Fs(.)49 b Fi(text)330 5011 y Fs(is)32 b(the)g(partial)h(w) -m(ord)f(to)h(b)s(e)e(completed.)47 b Fi(state)38 b Fs(is)32 +Fr(rl_completion_matches\(\))o Fs(,)c(returning)330 3157 +y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h +(the)f(generator)h(function)e(are)h Fi(text)j Fs(and)c +Fi(state)p Fs(.)49 b Fi(text)330 3267 y Fs(is)32 b(the)g(partial)h(w)m +(ord)f(to)h(b)s(e)e(completed.)47 b Fi(state)38 b Fs(is)32 b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)330 -5121 y(allo)m(wing)46 b(the)e(generator)h(to)f(p)s(erform)f(an)m(y)h +3376 y(allo)m(wing)46 b(the)e(generator)h(to)f(p)s(erform)f(an)m(y)h (necessary)g(initialization,)51 b(and)43 b(a)h(p)s(ositiv)m(e)h(non-) -330 5230 y(zero)30 b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d +330 3486 y(zero)30 b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d (call.)42 b(The)29 b(generator)h(function)f(returns)f -Fr(\(char)h(*\)NULL)e Fs(to)330 5340 y(inform)37 b Fr +Fr(\(char)h(*\)NULL)e Fs(to)330 3595 y(inform)37 b Fr (rl_completion_matches\(\))32 b Fs(that)39 b(there)f(are)g(no)g(more)g -(p)s(ossibilities)h(left.)65 b(Usually)p eop end -%%Page: 44 48 -TeXDict begin 44 47 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)330 -299 y(the)39 b(generator)h(function)e(computes)h(the)g(list)g(of)g(p)s -(ossible)f(completions)i(when)e Fi(state)45 b Fs(is)39 -b(zero,)330 408 y(and)25 b(returns)f(them)i(one)f(at)i(a)f(time)g(on)f -(subsequen)m(t)g(calls.)40 b(Eac)m(h)26 b(string)g(the)g(generator)g -(function)330 518 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m(ust)f(b)s(e)f -(allo)s(cated)j(with)d Fr(malloc\(\))p Fs(;)g(Readline)h(frees)g(the)g -(strings)g(when)330 628 y(it)i(has)g(\014nished)e(with)i(them.)51 +(p)s(ossibilities)h(left.)65 b(Usually)330 3705 y(the)39 +b(generator)h(function)e(computes)h(the)g(list)g(of)g(p)s(ossible)f +(completions)i(when)e Fi(state)45 b Fs(is)39 b(zero,)330 +3814 y(and)25 b(returns)f(them)i(one)f(at)i(a)f(time)g(on)f(subsequen)m +(t)g(calls.)40 b(Eac)m(h)26 b(string)g(the)g(generator)g(function)330 +3924 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m(ust)f(b)s(e)f(allo)s(cated) +j(with)d Fr(malloc\(\))p Fs(;)g(Readline)h(frees)g(the)g(strings)g +(when)330 4034 y(it)i(has)g(\014nished)e(with)i(them.)51 b(Suc)m(h)33 b(a)h(generator)h(function)f(is)g(referred)f(to)h(as)h(an) -e Fi(application-)330 737 y(sp)s(eci\014c)d(completion)i(function)p -Fs(.)3350 923 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete)c +e Fi(application-)330 4143 y(sp)s(eci\014c)d(completion)i(function)p +Fs(.)3350 4303 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete)c Ff(\()p Fi(in)m(t)31 b(ignore,)g(in)m(t)g(in)m(v)m(oking)p -1929 923 28 4 v 42 w(k)m(ey)p Ff(\))390 1032 y Fs(Complete)g(the)g(w)m -(ord)g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8 b(ou)32 +1929 4303 V 42 w(k)m(ey)p Ff(\))390 4413 y Fs(Complete)g(the)g(w)m(ord) +g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8 b(ou)32 b(ha)m(v)m(e)g(supplied)d(the)i(function)f(that)h(do)s(es)g(the)390 -1142 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h +4522 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h (\(see)f Fr(rl_completion_matches\(\))o Fs(\).)67 b(The)390 -1251 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371 -1437 y([V)-8 b(ariable])-3598 b Fg(rl_compentry_func_t)58 -b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 1546 +4632 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371 +4792 y([V)-8 b(ariable])-3598 b Fg(rl_compentry_func_t)58 +b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 4902 y Fs(This)39 b(is)h(a)g(p)s(oin)m(ter)g(to)h(the)f(generator)h (function)f(for)f Fr(rl_completion_matches\(\))p Fs(.)63 -b(If)40 b(the)390 1656 y(v)-5 b(alue)24 b(of)g Fr +b(If)40 b(the)390 5011 y(v)-5 b(alue)24 b(of)g Fr (rl_completion_entry_funct)o(ion)17 b Fs(is)24 b Fr(NULL)f Fs(then)g(the)h(default)g(\014lename)g(generator)390 -1765 y(function,)49 b Fr(rl_filename_completion_)o(fun)o(ctio)o(n\(\))p +5121 y(function,)49 b Fr(rl_filename_completion_)o(fun)o(ctio)o(n\(\))p Fs(,)42 b(is)j(used.)84 b(An)44 b Fi(application-sp)s(eci\014c)390 -1875 y(completion)22 b(function)f Fs(is)g(a)h(function)e(whose)h +5230 y(completion)22 b(function)f Fs(is)g(a)h(function)e(whose)h (address)f(is)h(assigned)h(to)f Fr(rl_completion_entry_)390 -1985 y(function)28 b Fs(and)i(whose)g(return)f(v)-5 b(alues)31 -b(are)g(used)e(to)j(generate)f(p)s(ossible)f(completions.)150 -2184 y Fh(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150 -2331 y Fs(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j +5340 y(function)28 b Fs(and)i(whose)g(return)f(v)-5 b(alues)31 +b(are)g(used)e(to)j(generate)f(p)s(ossible)f(completions.)p +eop end +%%Page: 47 51 +TeXDict begin 47 50 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(47)150 +299 y Fh(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150 +446 y Fs(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j (completion)e(functions)f(presen)m(t)h(in)f(Readline.)3350 -2517 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete_internal)f -Ff(\()p Fi(in)m(t)31 b(what)p 1828 2517 V 40 w(to)p 1948 -2517 V 41 w(do)p Ff(\))390 2626 y Fs(Complete)37 b(the)g(w)m(ord)f(at)i -(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fi(what)p 2208 2626 -V 40 w(to)p 2328 2626 V 41 w(do)41 b Fs(sa)m(ys)c(what)f(to)i(do)e -(with)g(the)h(com-)390 2736 y(pletion.)44 b(A)31 b(v)-5 +640 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete_internal)f +Ff(\()p Fi(in)m(t)31 b(what)p 1828 640 28 4 v 40 w(to)p +1948 640 V 41 w(do)p Ff(\))390 749 y Fs(Complete)37 b(the)g(w)m(ord)f +(at)i(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fi(what)p 2208 +749 V 40 w(to)p 2328 749 V 41 w(do)41 b Fs(sa)m(ys)c(what)f(to)i(do)e +(with)g(the)h(com-)390 859 y(pletion.)44 b(A)31 b(v)-5 b(alue)32 b(of)f(`)p Fr(?)p Fs(')g(means)h(list)f(the)h(p)s(ossible)e (completions.)45 b(`)p Fr(TAB)p Fs(')31 b(means)g(do)g(standard)390 -2845 y(completion.)44 b(`)p Fr(*)p Fs(')32 b(means)f(insert)g(all)h(of) -f(the)g(p)s(ossible)g(completions.)44 b(`)p Fr(!)p Fs(')32 -b(means)f(to)h(displa)m(y)f(all)390 2955 y(of)k(the)f(p)s(ossible)g +969 y(completion.)44 b(`)p Fr(*)p Fs(')32 b(means)f(insert)g(all)h(of)f +(the)g(p)s(ossible)g(completions.)44 b(`)p Fr(!)p Fs(')32 +b(means)f(to)h(displa)m(y)f(all)390 1078 y(of)k(the)f(p)s(ossible)g (completions,)j(if)d(there)h(is)f(more)g(than)h(one,)g(as)g(w)m(ell)g -(as)g(p)s(erforming)e(partial)390 3065 y(completion.)41 +(as)g(p)s(erforming)e(partial)390 1188 y(completion.)41 b(`)p Fr(@)p Fs(')27 b(is)h(similar)f(to)h(`)p Fr(!)p Fs(',)h(but)d(p)s(ossible)h(completions)i(are)e(not)h(listed)g(if)f -(the)g(p)s(ossible)390 3174 y(completions)32 b(share)e(a)g(common)h -(pre\014x.)3350 3359 y([F)-8 b(unction])-3599 b Fg(int)53 +(the)g(p)s(ossible)390 1297 y(completions)32 b(share)e(a)g(common)h +(pre\014x.)3350 1491 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete)c Ff(\()p Fi(in)m(t)31 b(ignore,)g(in)m(t)g(in)m(v)m -(oking)p 1929 3359 V 42 w(k)m(ey)p Ff(\))390 3469 y Fs(Complete)42 +(oking)p 1929 1491 V 42 w(k)m(ey)p Ff(\))390 1601 y Fs(Complete)42 b(the)f(w)m(ord)g(at)h(or)f(b)s(efore)g(p)s(oin)m(t.)73 b(Y)-8 b(ou)41 b(ha)m(v)m(e)i(supplied)c(the)j(function)f(that)g(do)s -(es)390 3579 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h +(es)390 1710 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h (algorithm)f(\(see)g Fr(rl_completion_matches\(\))27 -b Fs(and)390 3688 y Fr(rl_completion_entry_func)o(tion)o +b Fs(and)390 1820 y Fr(rl_completion_entry_func)o(tion)o Fs(\).)52 b(The)35 b(default)h(is)g(to)h(do)e(\014lename)h(completion.) -59 b(This)390 3798 y(calls)32 b Fr(rl_complete_internal\(\))24 +59 b(This)390 1930 y(calls)32 b Fr(rl_complete_internal\(\))24 b Fs(with)30 b(an)g(argumen)m(t)h(dep)s(ending)e(on)h -Fi(in)m(v)m(oking)p 3314 3798 V 41 w(k)m(ey)8 b Fs(.)3350 -3983 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_possible_completio)q(ns) +Fi(in)m(v)m(oking)p 3314 1930 V 41 w(k)m(ey)p Fs(.)3350 +2124 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_possible_completio)q(ns) f Ff(\()p Fi(in)m(t)31 b(coun)m(t,)g(in)m(t)g(in)m(v)m(oking)p -2534 3983 V 41 w(k)m(ey)p Ff(\))390 4093 y Fs(List)41 +2534 2124 V 41 w(k)m(ey)p Ff(\))390 2233 y Fs(List)41 b(the)f(p)s(ossible)g(completions.)73 b(See)40 b(description)h(of)g Fr(rl_complete)27 b(\(\))p Fs(.)70 b(This)40 b(calls)i -Fr(rl_)390 4202 y(complete_internal\(\))25 b Fs(with)30 -b(an)g(argumen)m(t)h(of)g(`)p Fr(?)p Fs('.)3350 4388 +Fr(rl_)390 2343 y(complete_internal\(\))25 b Fs(with)30 +b(an)g(argumen)m(t)h(of)g(`)p Fr(?)p Fs('.)3350 2537 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_insert_completions)f Ff(\()p Fi(in)m(t)31 b(coun)m(t,)h(in)m(t)e(in)m(v)m(oking)p -2429 4388 V 42 w(k)m(ey)p Ff(\))390 4497 y Fs(Insert)j(the)h(list)g(of) +2429 2537 V 42 w(k)m(ey)p Ff(\))390 2646 y Fs(Insert)j(the)h(list)g(of) g(p)s(ossible)f(completions)i(in)m(to)f(the)g(line,)h(deleting)g(the)f -(partially-completed)390 4607 y(w)m(ord.)44 b(See)32 +(partially-completed)390 2756 y(w)m(ord.)44 b(See)32 b(description)g(of)g Fr(rl_complete\(\))p Fs(.)41 b(This)31 b(calls)i Fr(rl_complete_internal\(\))25 b Fs(with)390 -4716 y(an)30 b(argumen)m(t)h(of)g(`)p Fr(*)p Fs('.)3350 -4902 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_completion_mode)e -Ff(\()p Fi(rl)p 1448 4902 V 40 w(command)p 1872 4902 -V 40 w(func)p 2082 4902 V 39 w(t)31 b(*cfunc)p Ff(\))390 -5011 y Fs(Returns)50 b(the)g(apppriate)h(v)-5 b(alue)50 -b(to)i(pass)e(to)h Fr(rl_complete_internal\(\))44 b Fs(dep)s(ending)49 -b(on)390 5121 y(whether)40 b Fi(cfunc)46 b Fs(w)m(as)41 +2865 y(an)30 b(argumen)m(t)h(of)g(`)p Fr(*)p Fs('.)3350 +3059 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_completion_mode)e +Ff(\()p Fi(rl)p 1448 3059 V 40 w(command)p 1872 3059 +V 40 w(func)p 2082 3059 V 39 w(t)31 b(*cfunc)p Ff(\))390 +3169 y Fs(Returns)40 b(the)i(appropriate)g(v)-5 b(alue)41 +b(to)i(pass)e(to)h Fr(rl_complete_internal\(\))35 b Fs(dep)s(ending)40 +b(on)390 3279 y(whether)g Fi(cfunc)46 b Fs(w)m(as)41 b(called)h(t)m(wice)g(in)f(succession)g(and)f(the)h(v)-5 -b(alues)41 b(of)g(the)g Fr(show-all-if-)390 5230 y(ambiguous)25 +b(alues)41 b(of)g(the)g Fr(show-all-if-)390 3388 y(ambiguous)25 b Fs(and)i Fr(show-all-if-unmodified)21 b Fs(v)-5 b(ariables.)41 -b(Application-sp)s(eci\014c)29 b(completion)390 5340 +b(Application-sp)s(eci\014c)29 b(completion)390 3498 y(functions)h(ma)m(y)h(use)f(this)g(function)g(to)h(presen)m(t)g(the)f -(same)h(in)m(terface)h(as)f Fr(rl_complete\(\))p Fs(.)p -eop end -%%Page: 45 49 -TeXDict begin 45 48 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)3350 -299 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_completion_matches) -g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)565 408 y(rl)p -632 408 28 4 v 40 w(comp)s(en)m(try)p 1094 408 V 40 w(func)p -1304 408 V 39 w(t)g(*en)m(try)p 1661 408 V 41 w(func)p -Ff(\))390 518 y Fs(Returns)37 b(an)g(arra)m(y)i(of)f(strings)f(whic)m -(h)h(is)f(a)h(list)h(of)f(completions)g(for)g Fi(text)r -Fs(.)64 b(If)37 b(there)h(are)g(no)390 628 y(completions,)f(returns)c -Fr(NULL)p Fs(.)52 b(The)34 b(\014rst)f(en)m(try)i(in)f(the)h(returned)e -(arra)m(y)i(is)g(the)f(substitution)390 737 y(for)26 -b Fi(text)r Fs(.)40 b(The)26 b(remaining)g(en)m(tries)h(are)g(the)f(p)s -(ossible)g(completions.)40 b(The)26 b(arra)m(y)g(is)g(terminated)390 -847 y(with)k(a)h Fr(NULL)e Fs(p)s(oin)m(ter.)390 986 -y Fi(en)m(try)p 603 986 V 40 w(func)44 b Fs(is)c(a)g(function)f(of)h(t) -m(w)m(o)g(args,)j(and)38 b(returns)h(a)g Fr(char)30 b(*)p -Fs(.)67 b(The)39 b(\014rst)g(argumen)m(t)h(is)390 1095 -y Fi(text)r Fs(.)66 b(The)38 b(second)h(is)f(a)h(state)h(argumen)m(t;)j -(it)c(is)g(zero)g(on)g(the)f(\014rst)g(call,)k(and)c(non-zero)h(on)390 -1205 y(subsequen)m(t)33 b(calls.)52 b Fi(en)m(try)p 1320 -1205 V 41 w(func)38 b Fs(returns)33 b(a)h Fr(NULL)f Fs(p)s(oin)m(ter)g -(to)i(the)f(caller)h(when)e(there)h(are)g(no)390 1314 -y(more)d(matc)m(hes.)3350 1507 y([F)-8 b(unction])-3599 +(same)h(in)m(terface)h(as)f Fr(rl_complete\(\))p Fs(.)3350 +3692 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e +(rl_completion_matches)g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)565 +3801 y(rl)p 632 3801 V 40 w(comp)s(en)m(try)p 1094 3801 +V 40 w(func)p 1304 3801 V 39 w(t)g(*en)m(try)p 1661 3801 +V 41 w(func)p Ff(\))390 3911 y Fs(Returns)37 b(an)h(arra)m(y)g(of)g +(strings)g(whic)m(h)f(is)h(a)g(list)h(of)f(completions)h(for)e +Fi(text)p Fs(.)64 b(If)38 b(there)g(are)g(no)390 4020 +y(completions,)f(returns)c Fr(NULL)p Fs(.)52 b(The)34 +b(\014rst)f(en)m(try)i(in)f(the)h(returned)e(arra)m(y)i(is)g(the)f +(substitution)390 4130 y(for)26 b Fi(text)p Fs(.)40 b(The)26 +b(remaining)h(en)m(tries)g(are)g(the)f(p)s(ossible)g(completions.)40 +b(The)26 b(arra)m(y)h(is)f(terminated)390 4240 y(with)k(a)h +Fr(NULL)e Fs(p)s(oin)m(ter.)390 4379 y Fi(en)m(try)p +603 4379 V 40 w(func)44 b Fs(is)c(a)g(function)f(of)h(t)m(w)m(o)g +(args,)j(and)38 b(returns)h(a)g Fr(char)30 b(*)p Fs(.)67 +b(The)39 b(\014rst)g(argumen)m(t)h(is)390 4489 y Fi(text)p +Fs(.)66 b(The)39 b(second)f(is)h(a)g(state)h(argumen)m(t;)j(it)c(is)g +(zero)g(on)g(the)g(\014rst)f(call,)k(and)c(non-zero)h(on)390 +4598 y(subsequen)m(t)33 b(calls.)52 b Fi(en)m(try)p 1320 +4598 V 41 w(func)38 b Fs(returns)33 b(a)h Fr(NULL)f Fs(p)s(oin)m(ter)g +(to)i(the)f(caller)h(when)e(there)h(are)g(no)390 4708 +y(more)d(matc)m(hes.)3350 4902 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_filename_completion)q(_fu)q(nct)q(ion)g -Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565 1617 -y(state)p Ff(\))390 1726 y Fs(A)26 b(generator)h(function)e(for)g +Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565 5011 +y(state)p Ff(\))390 5121 y Fs(A)26 b(generator)h(function)e(for)g (\014lename)h(completion)h(in)e(the)h(general)h(case.)40 -b Fi(text)28 b Fs(is)e(a)g(partial)h(\014le-)390 1836 +b Fi(text)28 b Fs(is)e(a)g(partial)h(\014le-)390 5230 y(name.)38 b(The)21 b(Bash)g(source)h(is)g(a)f(useful)g(reference)h (for)f(writing)h(application-sp)s(eci\014c)h(completion)390 -1946 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i -(this)e(and)g(other)g(Readline)h(functions\).)3350 2139 -y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_username_completion)q -(_fu)q(nct)q(ion)g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565 -2248 y(state)p Ff(\))390 2358 y Fs(A)d(completion)g(generator)h(for)e +5340 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i +(this)e(and)g(other)g(Readline)h(functions\).)p eop end +%%Page: 48 52 +TeXDict begin 48 51 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(48)3350 +299 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_username_completion) +q(_fu)q(nct)q(ion)g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565 +408 y(state)p Ff(\))390 518 y Fs(A)d(completion)g(generator)h(for)e (usernames.)40 b Fi(text)31 b Fs(con)m(tains)f(a)f(partial)g(username)f -(preceded)g(b)m(y)390 2467 y(a)j(random)f(c)m(haracter)i(\(usually)e(`) -p Fr(~)p Fs('\).)42 b(As)31 b(with)f(all)h(completion)h(generators,)g -Fi(state)37 b Fs(is)31 b(zero)g(on)390 2577 y(the)g(\014rst)e(call)j -(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 2780 +(preceded)g(b)m(y)390 628 y(a)j(random)f(c)m(haracter)i(\(usually)e(`)p +Fr(~)p Fs('\).)42 b(As)31 b(with)f(all)h(completion)h(generators,)g +Fi(state)37 b Fs(is)31 b(zero)g(on)390 737 y(the)g(\014rst)e(call)j +(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 955 y Fh(2.6.3)63 b(Completion)41 b(V)-10 b(ariables)3371 -2982 y Fs([V)i(ariable])-3598 b Fg(rl_compentry_func_t)58 -b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 3091 +1170 y Fs([V)i(ariable])-3598 b Fg(rl_compentry_func_t)58 +b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 1279 y Fs(A)34 b(p)s(oin)m(ter)f(to)h(the)g(generator)h(function)e(for)g Fr(rl_completion_matches\(\))p Fs(.)44 b Fr(NULL)32 b -Fs(means)h(to)390 3201 y(use)d Fr(rl_filename_completion_fu)o(nct)o +Fs(means)h(to)390 1389 y(use)d Fr(rl_filename_completion_fu)o(nct)o (ion\()o(\))p Fs(,)25 b(the)30 b(default)h(\014lename)f(completer.)3371 -3394 y([V)-8 b(ariable])-3598 b Fg(rl_completion_func_t)58 +1609 y([V)-8 b(ariable])-3598 b Fg(rl_completion_func_t)58 b(*)53 b(rl_attempted_completio)q(n_f)q(unct)q(ion)390 -3503 y Fs(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d +1719 y Fs(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d (to)i(create)g(matc)m(hes.)55 b(The)34 b(function)h(is)f(called)i(with) -390 3613 y Fi(text)r Fs(,)50 b Fi(start)r Fs(,)g(and)44 -b Fi(end)t Fs(.)84 b Fi(start)48 b Fs(and)d Fi(end)j -Fs(are)d(indices)g(in)g Fr(rl_line_buffer)d Fs(de\014ning)i(the)390 -3722 y(b)s(oundaries)37 b(of)i Fi(text)r Fs(,)i(whic)m(h)d(is)h(a)g(c)m -(haracter)h(string.)65 b(If)38 b(this)g(function)g(exists)h(and)f -(returns)390 3832 y Fr(NULL)p Fs(,)j(or)f(if)g(this)g(v)-5 -b(ariable)41 b(is)f(set)g(to)h Fr(NULL)p Fs(,)h(then)d -Fr(rl_complete\(\))e Fs(will)j(call)h(the)f(v)-5 b(alue)41 -b(of)390 3942 y Fr(rl_completion_entry_func)o(tion)20 -b Fs(to)28 b(generate)h(matc)m(hes,)g(otherwise)f(the)f(arra)m(y)h(of)f -(strings)390 4051 y(returned)44 b(will)h(b)s(e)f(used.)82 -b(If)45 b(this)f(function)h(sets)g(the)g Fr(rl_attempted_completion)o -(_ove)o(r)390 4161 y Fs(v)-5 b(ariable)31 b(to)f(a)h(non-zero)f(v)-5 -b(alue,)31 b(Readline)f(will)g(not)g(p)s(erform)f(its)h(default)g -(completion)h(ev)m(en)g(if)390 4270 y(this)f(function)g(returns)f(no)i -(matc)m(hes.)3371 4463 y([V)-8 b(ariable])-3598 b Fg(rl_quote_func_t)57 -b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 4573 +390 1829 y Fi(text)p Fs(,)26 b Fi(start)p Fs(,)f(and)d +Fi(end)p Fs(.)38 b Fi(start)25 b Fs(and)e Fi(end)j Fs(are)d(indices)g +(in)g Fr(rl_line_buffer)c Fs(de\014ning)j(the)h(b)s(ound-)390 +1938 y(aries)j(of)h Fi(text)p Fs(,)h(whic)m(h)d(is)h(a)h(c)m(haracter)g +(string.)39 b(If)26 b(this)g(function)f(exists)i(and)e(returns)g +Fr(NULL)p Fs(,)h(or)g(if)390 2048 y(this)c(v)-5 b(ariable)22 +b(is)g(set)h(to)f Fr(NULL)p Fs(,)h(then)f Fr(rl_complete\(\))c +Fs(will)k(call)h(the)f(v)-5 b(alue)23 b(of)f Fr(rl_completion_)390 +2157 y(entry_function)i Fs(to)30 b(generate)f(matc)m(hes,)i(otherwise)d +(the)h(arra)m(y)g(of)f(strings)h(returned)e(will)i(b)s(e)390 +2267 y(used.)37 b(If)22 b(this)g(function)g(sets)h(the)g +Fr(rl_attempted_completion)o(_ove)o(r)16 b Fs(v)-5 b(ariable)24 +b(to)f(a)f(non-zero)390 2377 y(v)-5 b(alue,)35 b(Readline)g(will)f(not) +g(p)s(erform)f(its)h(default)g(completion)h(ev)m(en)g(if)f(this)g +(function)f(returns)390 2486 y(no)d(matc)m(hes.)3371 +2707 y([V)-8 b(ariable])-3598 b Fg(rl_quote_func_t)57 +b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 2816 y Fs(A)33 b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g (a)g(\014lename)f(in)h(an)f(application-sp)s(eci\014c)i(fashion.)390 -4682 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s +2926 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s (eing)g(attempted)i(and)d(one)i(of)f(the)g(c)m(haracters)390 -4792 y(in)33 b Fr(rl_filename_quote_charac)o(ter)o(s)27 +3036 y(in)33 b Fr(rl_filename_quote_charac)o(ter)o(s)27 b Fs(app)s(ears)33 b(in)g(a)g(completed)h(\014lename.)50 -b(The)32 b(function)390 4902 y(is)k(called)h(with)f Fi(text)r -Fs(,)i Fi(matc)m(h)p 1436 4902 V 41 w(t)m(yp)s(e)5 b -Fs(,)38 b(and)e Fi(quote)p 2121 4902 V 40 w(p)s(oin)m(ter)7 -b Fs(.)57 b(The)36 b Fi(text)j Fs(is)d(the)g(\014lename)g(to)h(b)s(e) -390 5011 y(quoted.)76 b(The)42 b Fi(matc)m(h)p 1210 5011 +b(The)32 b(function)390 3145 y(is)37 b(called)h(with)e +Fi(text)p Fs(,)k Fi(matc)m(h)p 1438 3145 28 4 v 41 w(t)m(yp)s(e)p +Fs(,)f(and)d Fi(quote)p 2119 3145 V 41 w(p)s(oin)m(ter)p +Fs(.)60 b(The)36 b Fi(text)k Fs(is)d(the)g(\014lename)g(to)h(b)s(e)390 +3255 y(quoted.)76 b(The)42 b Fi(matc)m(h)p 1210 3255 V 41 w(t)m(yp)s(e)48 b Fs(is)42 b(either)h Fr(SINGLE_MATCH)p Fs(,)f(if)g(there)g(is)h(only)f(one)h(completion)390 -5121 y(matc)m(h,)33 b(or)e Fr(MULT_MATCH)p Fs(.)41 b(Some)31 +3364 y(matc)m(h,)33 b(or)e Fr(MULT_MATCH)p Fs(.)41 b(Some)31 b(functions)g(use)g(this)h(to)g(decide)f(whether)g(or)h(not)f(to)h -(insert)g(a)390 5230 y(closing)22 b(quote)f(c)m(haracter.)40 -b(The)20 b Fi(quote)p 1751 5230 V 41 w(p)s(oin)m(ter)27 +(insert)g(a)390 3474 y(closing)22 b(quote)f(c)m(haracter.)40 +b(The)20 b Fi(quote)p 1751 3474 V 41 w(p)s(oin)m(ter)27 b Fs(is)21 b(a)g(p)s(oin)m(ter)g(to)g(an)m(y)h(op)s(ening)e(quote)h(c)m -(haracter)390 5340 y(the)31 b(user)e(t)m(yp)s(ed.)41 +(haracter)390 3584 y(the)31 b(user)e(t)m(yp)s(ed.)41 b(Some)30 b(functions)g(c)m(ho)s(ose)h(to)g(reset)g(this)g(c)m -(haracter.)p eop end -%%Page: 46 50 -TeXDict begin 46 49 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)3371 -299 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)57 -b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 408 +(haracter.)3371 3804 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)57 +b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 3914 y Fs(A)30 b(p)s(oin)m(ter)f(to)i(a)f(function)f(that)h(will)g(remo)m(v) m(e)h(application-sp)s(eci\014c)g(quoting)f(c)m(haracters)h(from)390 -518 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g(attempted,)h(so)f +4023 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g(attempted,)h(so)f (those)g(c)m(haracters)h(do)e(not)h(in)m(terfere)g(with)390 -628 y(matc)m(hing)39 b(the)f(text)h(against)g(names)f(in)g(the)g -(\014lesystem.)64 b(It)38 b(is)g(called)h(with)f Fi(text)r -Fs(,)j(the)d(text)390 737 y(of)k(the)g(w)m(ord)f(to)i(b)s(e)e -(dequoted,)j(and)d Fi(quote)p 2010 737 28 4 v 41 w(c)m(har)7 -b Fs(,)45 b(whic)m(h)c(is)h(the)g(quoting)g(c)m(haracter)h(that)390 -847 y(delimits)33 b(the)f(\014lename)g(\(usually)h(`)p +4133 y(matc)m(hing)39 b(the)f(text)i(against)f(names)f(in)g(the)g +(\014lesystem.)64 b(It)38 b(is)g(called)i(with)d Fi(text)p +Fs(,)42 b(the)c(text)390 4243 y(of)k(the)h(w)m(ord)f(to)g(b)s(e)g +(dequoted,)j(and)d Fi(quote)p 2014 4243 V 41 w(c)m(har)p +Fs(,)j(whic)m(h)d(is)h(the)f(quoting)h(c)m(haracter)g(that)390 +4352 y(delimits)33 b(the)f(\014lename)g(\(usually)h(`)p Fr(')p Fs(')f(or)g(`)p Fr(")p Fs('\).)46 b(If)32 b Fi(quote)p -2368 847 V 41 w(c)m(har)39 b Fs(is)32 b(zero,)i(the)e(\014lename)g(w)m -(as)h(not)390 956 y(in)d(an)g(em)m(b)s(edded)g(string.)3371 -1148 y([V)-8 b(ariable])-3598 b Fg(rl_linebuf_func_t)57 -b(*)c(rl_char_is_quoted_p)390 1258 y Fs(A)37 b(p)s(oin)m(ter)g(to)g(a)g +2368 4352 V 41 w(c)m(har)39 b Fs(is)32 b(zero,)i(the)e(\014lename)g(w)m +(as)h(not)390 4462 y(in)d(an)g(em)m(b)s(edded)g(string.)3371 +4682 y([V)-8 b(ariable])-3598 b Fg(rl_linebuf_func_t)57 +b(*)c(rl_char_is_quoted_p)390 4792 y Fs(A)37 b(p)s(oin)m(ter)g(to)g(a)g (function)g(to)g(call)h(that)g(determines)f(whether)f(or)h(not)g(a)g -(sp)s(eci\014c)f(c)m(haracter)390 1367 y(in)e(the)h(line)f(bu\013er)g +(sp)s(eci\014c)f(c)m(haracter)390 4902 y(in)e(the)h(line)f(bu\013er)g (is)g(quoted,)i(according)g(to)f(whatev)m(er)g(quoting)g(mec)m(hanism)g -(the)f(program)390 1477 y(calling)26 b(Readline)f(uses.)39 -b(The)24 b(function)g(is)h(called)h(with)e(t)m(w)m(o)i(argumen)m(ts:)38 -b Fi(text)r Fs(,)27 b(the)e(text)h(of)f(the)390 1587 -y(line,)31 b(and)f Fi(index)6 b Fs(,)30 b(the)h(index)f(of)h(the)f(c)m -(haracter)i(in)e(the)h(line.)41 b(It)31 b(is)f(used)g(to)h(decide)g -(whether)f(a)390 1696 y(c)m(haracter)i(found)d(in)g Fr +(the)f(program)390 5011 y(calling)26 b(Readline)g(uses.)38 +b(The)24 b(function)h(is)g(called)h(with)e(t)m(w)m(o)i(argumen)m(ts:)39 +b Fi(text)p Fs(,)27 b(the)e(text)h(of)f(the)390 5121 +y(line,)31 b(and)g Fi(index)p Fs(,)f(the)h(index)f(of)h(the)g(c)m +(haracter)i(in)d(the)h(line.)42 b(It)31 b(is)g(used)f(to)h(decide)g +(whether)g(a)390 5230 y(c)m(haracter)h(found)d(in)g Fr (rl_completer_word_break_ch)o(ara)o(cter)o(s)24 b Fs(should)29 -b(b)s(e)h(used)f(to)i(break)390 1806 y(w)m(ords)f(for)g(the)h -(completer.)3371 1998 y([V)-8 b(ariable])-3598 b Fg -(rl_compignore_func_t)58 b(*)53 b(rl_ignore_some_complet)q(ion)q(s_fu)q -(nct)q(ion)390 2107 y Fs(This)37 b(function,)i(if)f(de\014ned,)g(is)g -(called)h(b)m(y)e(the)h(completer)h(when)e(real)h(\014lename)g -(completion)390 2217 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g -(names)e(ha)m(v)m(e)j(b)s(een)d(generated.)53 b(It)34 -b(is)g(passed)f(a)i Fr(NULL)d Fs(ter-)390 2326 y(minated)f(arra)m(y)g -(of)g(matc)m(hes.)43 b(The)31 b(\014rst)f(elemen)m(t)i(\()p -Fr(matches[0])p Fs(\))d(is)h(the)h(maximal)h(substring)390 -2436 y(common)d(to)g(all)h(matc)m(hes.)41 b(This)28 b(function)h(can)g -(re-arrange)g(the)g(list)h(of)f(matc)m(hes)g(as)g(required,)390 -2545 y(but)h(eac)m(h)h(elemen)m(t)h(deleted)f(from)f(the)h(arra)m(y)g -(m)m(ust)f(b)s(e)g(freed.)3371 2737 y([V)-8 b(ariable])-3598 -b Fg(rl_icppfunc_t)56 b(*)d(rl_directory_completio)q(n_ho)q(ok)390 -2847 y Fs(This)44 b(function,)49 b(if)d(de\014ned,)i(is)d(allo)m(w)m -(ed)i(to)f(mo)s(dify)e(the)i(directory)g(p)s(ortion)e(of)i(\014lenames) -390 2956 y(Readline)35 b(completes.)56 b(It)35 b(could)g(b)s(e)f(used)g -(to)i(expand)e(sym)m(b)s(olic)h(links)g(or)g(shell)g(v)-5 -b(ariables)35 b(in)390 3066 y(pathnames.)70 b(It)41 b(is)f(called)h +b(b)s(e)h(used)f(to)i(break)390 5340 y(w)m(ords)f(for)g(the)h +(completer.)p eop end +%%Page: 49 53 +TeXDict begin 49 52 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(49)3371 +299 y([V)-8 b(ariable])-3598 b Fg(rl_compignore_func_t)58 +b(*)53 b(rl_ignore_some_complet)q(ion)q(s_fu)q(nct)q(ion)390 +408 y Fs(This)37 b(function,)i(if)f(de\014ned,)g(is)g(called)h(b)m(y)e +(the)h(completer)h(when)e(real)h(\014lename)g(completion)390 +518 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g(names)e(ha)m(v)m +(e)j(b)s(een)d(generated.)53 b(It)34 b(is)g(passed)f(a)i +Fr(NULL)d Fs(ter-)390 628 y(minated)f(arra)m(y)g(of)g(matc)m(hes.)43 +b(The)31 b(\014rst)f(elemen)m(t)i(\()p Fr(matches[0])p +Fs(\))d(is)h(the)h(maximal)h(substring)390 737 y(common)d(to)g(all)h +(matc)m(hes.)41 b(This)28 b(function)h(can)g(re-arrange)g(the)g(list)h +(of)f(matc)m(hes)g(as)g(required,)390 847 y(but)h(eac)m(h)h(elemen)m(t) +h(deleted)f(from)f(the)h(arra)m(y)g(m)m(ust)f(b)s(e)g(freed.)3371 +1043 y([V)-8 b(ariable])-3598 b Fg(rl_icppfunc_t)56 b(*)d +(rl_directory_completio)q(n_ho)q(ok)390 1152 y Fs(This)44 +b(function,)49 b(if)d(de\014ned,)i(is)d(allo)m(w)m(ed)i(to)f(mo)s(dify) +e(the)i(directory)g(p)s(ortion)e(of)i(\014lenames)390 +1262 y(Readline)35 b(completes.)56 b(It)35 b(could)g(b)s(e)f(used)g(to) +i(expand)e(sym)m(b)s(olic)h(links)g(or)g(shell)g(v)-5 +b(ariables)35 b(in)390 1372 y(pathnames.)70 b(It)41 b(is)f(called)h (with)f(the)h(address)e(of)i(a)g(string)f(\(the)h(curren)m(t)f -(directory)h(name\))390 3176 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i +(directory)h(name\))390 1481 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i (mo)s(dify)d(that)j(string.)62 b(If)37 b(the)h(string)f(is)h(replaced)g -(with)f(a)h(new)390 3285 y(string,)j(the)d(old)h(v)-5 +(with)f(a)h(new)390 1591 y(string,)j(the)d(old)h(v)-5 b(alue)39 b(should)e(b)s(e)h(freed.)64 b(An)m(y)39 b(mo)s(di\014ed)e -(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 3395 +(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 1700 y(trailing)c(slash.)54 b(The)35 b(mo)s(di\014ed)e(v)-5 b(alue)36 b(will)f(b)s(e)f(used)g(as)i(part)e(of)h(the)h(completion,)h -(replacing)390 3504 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g +(replacing)390 1810 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g (pathname)f(the)h(user)f(t)m(yp)s(ed.)44 b(A)m(t)33 b(the)f(least,)h -(ev)m(en)g(if)e(no)h(other)390 3614 y(expansion)j(is)h(p)s(erformed,)f +(ev)m(en)g(if)e(no)h(other)390 1920 y(expansion)j(is)h(p)s(erformed,)f (this)h(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m -(haracters)h(from)e(the)390 3724 y(directory)24 b(name,)h(b)s(ecause)f -(its)g(result)f(will)h(b)s(e)f(passed)g(directly)h(to)g -Fr(opendir\(\))p Fs(.)36 b(The)23 b(directory)390 3833 -y(completion)34 b(ho)s(ok)f(returns)f(an)h(in)m(teger)h(that)g(should)e -(b)s(e)g(non-zero)i(if)f(the)g(function)g(mo)s(di\014es)390 -3943 y(its)f(directory)f(argumen)m(t.)44 b(The)31 b(function)f(should)h -(not)g(mo)s(dify)g(the)g(directory)h(argumen)m(t)f(if)g(it)390 -4052 y(returns)e(0.)3371 4244 y([V)-8 b(ariable])-3598 +(haracters)h(from)e(the)390 2029 y(directory)c(name,)g(b)s(ecause)f +(its)h(result)f(will)h(b)s(e)e(passed)h(directly)h(to)g +Fr(opendir\(\))p Fs(.)390 2170 y(The)25 b(directory)i(completion)g(ho)s +(ok)e(returns)g(an)h(in)m(teger)h(that)f(should)f(b)s(e)g(non-zero)i +(if)e(the)i(func-)390 2279 y(tion)35 b(mo)s(di\014es)e(its)i(directory) +f(argumen)m(t.)53 b(The)33 b(function)h(should)f(not)i(mo)s(dify)e(the) +h(directory)390 2389 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371 +2585 y([V)-8 b(ariable])-3598 b Fg(rl_icppfunc_t)56 b(*)d +(rl_directory_rewrite_h)q(ook;)390 2694 y Fs(If)24 b(non-zero,)i(this)e +(is)h(the)f(address)g(of)g(a)h(function)f(to)h(call)g(when)f +(completing)h(a)g(directory)g(name.)390 2804 y(This)h(function)g(tak)m +(es)i(the)f(address)f(of)h(the)f(directory)h(name)g(to)g(b)s(e)f(mo)s +(di\014ed)g(as)h(an)f(argumen)m(t.)390 2914 y(Unlik)m(e)40 +b Fr(rl_directory_completion_h)o(ook)p Fs(,)35 b(it)40 +b(only)f(mo)s(di\014es)f(the)i(directory)f(name)h(used)390 +3023 y(in)35 b Fr(opendir)p Fs(,)g(not)g(what)h(is)f(displa)m(y)m(ed)h +(when)e(the)i(p)s(ossible)f(completions)h(are)g(prin)m(ted)f(or)g(in-) +390 3133 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p +1463 3133 28 4 v 40 w(directory)p 1859 3133 V 41 w(completion)p +2333 3133 V 41 w(ho)s(ok.)39 b(A)m(t)27 b(the)g(least,)h(ev)m(en)f(if)g +(no)f(other)390 3242 y(expansion)35 b(is)h(p)s(erformed,)f(this)h +(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m(haracters)h +(from)e(the)390 3352 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f +(will)h(b)s(e)e(passed)h(directly)h(to)g Fr(opendir\(\))p +Fs(.)390 3492 y(The)37 b(directory)i(rewrite)f(ho)s(ok)f(returns)g(an)h +(in)m(teger)h(that)f(should)f(b)s(e)g(non-zero)i(if)e(the)i(func-)390 +3602 y(tion)e(mo)s(d\014es)e(its)h(directory)h(argumen)m(t.)58 +b(The)36 b(function)f(should)h(not)g(mo)s(dify)f(the)h(directory)390 +3712 y(argumen)m(t)31 b(if)f(it)h(returns)e(0.)3371 3908 +y([V)-8 b(ariable])-3598 b Fg(rl_icppfunc_t)56 b(*)d +(rl_filename_stat_hook)390 4017 y Fs(If)30 b(non-zero,)h(this)f(is)g +(the)g(address)f(of)h(a)h(function)f(for)f(the)i(completer)g(to)g(call) +g(b)s(efore)f(deciding)390 4127 y(whic)m(h)g(c)m(haracter)i(to)e(app)s +(end)f(to)i(a)f(completed)h(name.)41 b(This)29 b(function)h(mo)s +(di\014es)f(its)i(\014lename)390 4236 y(name)36 b(argumen)m(t,)h(and)e +(the)h(mo)s(di\014ed)e(v)-5 b(alue)36 b(is)g(passed)f(to)h +Fr(stat\(\))e Fs(to)i(determine)g(the)g(\014le's)390 +4346 y(t)m(yp)s(e)41 b(and)f(c)m(haracteristics.)73 b(This)40 +b(function)g(do)s(es)g(not)h(need)f(to)h(remo)m(v)m(e)h(quote)f(c)m +(haracters)390 4456 y(from)30 b(the)g(\014lename.)390 +4596 y(The)i(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)i(that)e +(should)g(b)s(e)f(non-zero)i(if)f(the)g(function)g(mo)s(d\014es)g(its) +390 4706 y(directory)42 b(argumen)m(t.)73 b(The)40 b(function)h(should) +f(not)h(mo)s(dify)f(the)h(directory)h(argumen)m(t)f(if)g(it)390 +4815 y(returns)29 b(0.)3371 5011 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)57 b(*)c(rl_filename_rewrite_ho)q(ok)390 -4354 y Fs(If)23 b(non-zero,)j(this)e(is)g(the)g(address)e(of)i(a)h -(function)e(called)i(when)e(reading)h(directory)g(en)m(tries)g(from)390 -4463 y(the)d(\014lesystem)g(for)g(completion)i(and)d(comparing)h(them)g -(to)h(the)f(partial)h(w)m(ord)f(to)g(b)s(e)g(completed.)390 -4573 y(The)g(function)g(should)f(p)s(erform)g(an)m(y)h(necesary)h -(application)h(or)e(system-sp)s(eci\014c)g(con)m(v)m(ersion)i(on)390 -4682 y(the)f(\014lename,)j(suc)m(h)d(as)g(con)m(v)m(erting)i(b)s(et)m -(w)m(een)f(c)m(haracter)h(sets)e(or)g(con)m(v)m(erting)i(from)e(a)h -(\014lesystem)390 4792 y(format)34 b(to)h(a)f(c)m(haracter)i(input)d -(format.)52 b(The)33 b(function)h(tak)m(es)h(t)m(w)m(o)h(argumen)m(ts:) -48 b Fi(fname)5 b Fs(,)35 b(the)390 4902 y(\014lename)29 -b(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d Fi(fnlen)p Fs(,)g(its)h(length) -g(in)f(b)m(ytes.)41 b(It)29 b(m)m(ust)f(either)h(return)f(its)h -(\014rst)390 5011 y(argumen)m(t)i(\(if)g(no)g(con)m(v)m(ersion)h(tak)m -(es)g(place\))g(or)f(the)g(con)m(v)m(erted)h(\014lename)f(in)g -(newly-allo)s(cated)390 5121 y(memory)-8 b(.)48 b(The)32 -b(con)m(v)m(erted)i(form)e(is)h(used)f(to)h(compare)g(against)h(the)f -(w)m(ord)f(to)i(b)s(e)e(completed,)390 5230 y(and,)37 -b(if)g(it)g(matc)m(hes,)i(is)d(added)g(to)h(the)f(list)h(of)g(matc)m -(hes.)59 b(Readline)37 b(will)g(free)f(the)h(allo)s(cated)390 -5340 y(string.)p eop end -%%Page: 47 51 -TeXDict begin 47 50 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(47)3371 -299 y([V)-8 b(ariable])-3598 b Fg(rl_compdisp_func_t)58 +5121 y Fs(If)39 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g +(function)g(called)g(when)f(reading)h(directory)g(en)m(tries)390 +5230 y(from)f(the)h(\014lesystem)g(for)g(completion)h(and)e(comparing)i +(them)e(to)i(the)f(partial)h(w)m(ord)e(to)i(b)s(e)390 +5340 y(completed.)g(The)26 b(function)h(should)f(p)s(erform)f(an)m(y)j +(necessary)f(application)i(or)e(system-sp)s(eci\014c)p +eop end +%%Page: 50 54 +TeXDict begin 50 53 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)390 +299 y(con)m(v)m(ersion)35 b(on)g(the)f(\014lename,)i(suc)m(h)d(as)i +(con)m(v)m(erting)h(b)s(et)m(w)m(een)f(c)m(haracter)g(sets)g(or)f(con)m +(v)m(erting)390 408 y(from)f(a)g(\014lesystem)h(format)g(to)g(a)f(c)m +(haracter)i(input)e(format.)50 b(The)32 b(function)h(tak)m(es)i(t)m(w)m +(o)g(argu-)390 518 y(men)m(ts:)49 b Fi(fname)p Fs(,)36 +b(the)e(\014lename)h(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d +Fi(fnlen)p Fs(,)h(its)g(length)g(in)f(b)m(ytes.)53 b(It)35 +b(m)m(ust)390 628 y(either)24 b(return)e(its)h(\014rst)g(argumen)m(t)g +(\(if)h(no)f(con)m(v)m(ersion)h(tak)m(es)h(place\))g(or)e(the)g(con)m +(v)m(erted)i(\014lename)390 737 y(in)j(newly-allo)s(cated)i(memory)-8 +b(.)41 b(The)27 b(con)m(v)m(erted)j(form)e(is)g(used)g(to)h(compare)f +(against)i(the)e(w)m(ord)390 847 y(to)g(b)s(e)e(completed,)j(and,)f(if) +f(it)h(matc)m(hes,)h(is)e(added)f(to)i(the)g(list)f(of)h(matc)m(hes.)41 +b(Readline)27 b(will)h(free)390 956 y(the)j(allo)s(cated)h(string.)3371 +1134 y([V)-8 b(ariable])-3598 b Fg(rl_compdisp_func_t)58 b(*)52 b(rl_completion_display)q(_ma)q(tch)q(es_h)q(ook)390 -408 y Fs(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g(address)f(of)h(a) -g(function)g(to)h(call)g(when)e(completing)i(a)g(w)m(ord)e(w)m(ould)390 -518 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)s(ossible)g(matc)m -(hes.)39 b(This)21 b(function)h(is)g(called)i(in)e(lieu)g(of)g -(Readline)390 628 y(displa)m(ying)37 b(the)f(list.)60 -b(It)36 b(tak)m(es)i(three)f(argumen)m(ts:)53 b(\()p -Fr(char)30 b(**)p Fi(matc)m(hes)t Fs(,)38 b Fr(int)e -Fi(n)m(um)p 3367 628 28 4 v 39 w(matc)m(hes)t Fs(,)390 -737 y Fr(int)26 b Fi(max)p 735 737 V 40 w(length)p Fs(\))h(where)f -Fi(matc)m(hes)31 b Fs(is)c(the)f(arra)m(y)h(of)g(matc)m(hing)g -(strings,)h Fi(n)m(um)p 3152 737 V 39 w(matc)m(hes)j -Fs(is)c(the)390 847 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g -(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 847 V 40 w(length)i +1244 y Fs(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g(address)f(of)h +(a)g(function)g(to)h(call)g(when)e(completing)i(a)g(w)m(ord)e(w)m(ould) +390 1354 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)s(ossible)g +(matc)m(hes.)39 b(This)21 b(function)h(is)g(called)i(in)e(lieu)g(of)g +(Readline)390 1463 y(displa)m(ying)37 b(the)h(list.)61 +b(It)37 b(tak)m(es)i(three)e(argumen)m(ts:)54 b(\()p +Fr(char)30 b(**)p Fi(matc)m(hes)p Fs(,)39 b Fr(int)d +Fi(n)m(um)p 3370 1463 28 4 v 40 w(matc)m(hes)p Fs(,)390 +1573 y Fr(int)26 b Fi(max)p 735 1573 V 40 w(length)p +Fs(\))h(where)f Fi(matc)m(hes)31 b Fs(is)c(the)f(arra)m(y)h(of)g(matc)m +(hing)g(strings,)h Fi(n)m(um)p 3152 1573 V 39 w(matc)m(hes)j +Fs(is)c(the)390 1682 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g +(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 1682 V 40 w(length)i Fs(is)f(the)g(length)h(of)f(the)g(longest)h(string)f(in)390 -956 y(that)g(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h(con)m -(v)m(enience)h(function,)e Fr(rl_display_match_list)p -Fs(,)23 b(that)390 1066 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g +1792 y(that)g(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h(con) +m(v)m(enience)h(function,)e Fr(rl_display_match_list)p +Fs(,)23 b(that)390 1902 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g (displa)m(y)f(to)i(Readline's)f(output)g(stream.)54 b(That)35 -b(function)f(ma)m(y)i(b)s(e)390 1176 y(called)c(from)d(this)i(ho)s(ok.) -3371 1367 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g -(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 1477 y Fs(The)44 +b(function)f(ma)m(y)i(b)s(e)390 2011 y(called)c(from)d(this)i(ho)s(ok.) +3371 2189 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g +(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 2299 y Fs(The)44 b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g(a)f(break)g(b)s (et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390 -1587 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37 +2408 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37 b(of)h(this)f(v)-5 b(ariable)38 b(is)f(the)g(c)m(haracters)i(whic)m(h)e -(break)g(w)m(ords)f(for)390 1696 y(completion)c(in)e(Bash:)41 -b Fr(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fs(.)3371 1888 +(break)g(w)m(ords)f(for)390 2518 y(completion)c(in)e(Bash:)41 +b Fr(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fs(.)3371 2696 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g -(rl_basic_quote_charact)q(ers)390 1998 y Fs(A)30 b(list)i(of)e(quote)h +(rl_basic_quote_charact)q(ers)390 2806 y Fs(A)30 b(list)i(of)e(quote)h (c)m(haracters)h(whic)m(h)e(can)h(cause)g(a)f(w)m(ord)g(break.)3371 -2189 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g -(rl_completer_word_brea)q(k_c)q(hara)q(cte)q(rs)390 2299 +2984 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g +(rl_completer_word_brea)q(k_c)q(hara)q(cte)q(rs)390 3093 y Fs(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f(break)g (b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fr(rl_complete_)390 -2408 y(internal\(\))p Fs(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v) +3203 y(internal\(\))p Fs(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v) -5 b(alue)31 b(of)g Fr(rl_basic_word_break_cha)o(ract)o(ers)p -Fs(.)3371 2600 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)56 -b(*)d(rl_completion_word_brea)q(k_ho)q(ok)390 2710 y +Fs(.)3371 3381 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)56 +b(*)d(rl_completion_word_brea)q(k_ho)q(ok)390 3491 y Fs(If)31 b(non-zero,)i(this)e(is)h(the)f(address)g(of)g(a)h(function)g (to)g(call)h(when)d(Readline)i(is)g(deciding)f(where)390 -2819 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54 +3600 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54 b(It)34 b(should)f(return)g(a)i(c)m(haracter)h(string)e(lik)m(e)i -Fr(rl_)390 2929 y(completer_word_break_cha)o(ract)o(ers)26 +Fr(rl_)390 3710 y(completer_word_break_cha)o(ract)o(ers)26 b Fs(to)34 b(b)s(e)e(used)g(to)i(p)s(erform)e(the)h(curren)m(t)f -(completion.)390 3039 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to) +(completion.)390 3819 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to) f(set)g Fr(rl_completer_word_break_ch)o(arac)o(ter)o(s)19 -b Fs(itself.)39 b(If)25 b(the)390 3148 y(function)30 +b Fs(itself.)39 b(If)25 b(the)390 3929 y(function)30 b(returns)f Fr(NULL)p Fs(,)h Fr(rl_completer_word_break)o(_cha)o(rac)o -(ters)24 b Fs(is)30 b(used.)3371 3340 y([V)-8 b(ariable])-3598 +(ters)24 b Fs(is)30 b(used.)3371 4107 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g(rl_completer_quote_cha)q(rac)q(ters)390 -3450 y Fs(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g +4217 y Fs(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g (used)e(to)j(quote)f(a)g(substring)f(of)h(the)f(line.)51 -b(Completion)390 3559 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i +b(Completion)390 4326 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i (substring,)e(and)f(within)h(the)g(substring)g Fr -(rl_completer_word_break)o(_)390 3669 y(characters)32 +(rl_completer_word_break)o(_)390 4436 y(characters)32 b Fs(are)k(treated)g(as)f(an)m(y)h(other)f(c)m(haracter,)j(unless)d -(they)g(also)h(app)s(ear)e(within)h(this)390 3778 y(list.)3371 -3970 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g -(rl_filename_quote_char)q(act)q(ers)390 4080 y Fs(A)34 +(they)g(also)h(app)s(ear)e(within)h(this)390 4545 y(list.)3371 +4724 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g +(rl_filename_quote_char)q(act)q(ers)390 4833 y Fs(A)34 b(list)g(of)g(c)m(haracters)h(that)f(cause)h(a)f(\014lename)g(to)g(b)s (e)f(quoted)h(b)m(y)f(the)h(completer)h(when)e(they)390 -4189 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41 +4943 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41 b(The)30 b(default)g(is)h(the)f(n)m(ull)h(string.)3371 -4381 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g -(rl_special_prefixes)390 4491 y Fs(The)27 b(list)i(of)e(c)m(haracters)j +5121 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g +(rl_special_prefixes)390 5230 y Fs(The)27 b(list)i(of)e(c)m(haracters)j (that)e(are)g(w)m(ord)f(break)h(c)m(haracters,)i(but)d(should)f(b)s(e)h -(left)i(in)e Fi(text)k Fs(when)390 4600 y(it)25 b(is)g(passed)f(to)h +(left)i(in)e Fi(text)k Fs(when)390 5340 y(it)25 b(is)g(passed)f(to)h (the)g(completion)h(function.)38 b(Programs)25 b(can)g(use)f(this)h(to) -g(help)f(determine)h(what)390 4710 y(kind)j(of)i(completing)g(to)g(do.) -41 b(F)-8 b(or)30 b(instance,)g(Bash)g(sets)f(this)g(v)-5 -b(ariable)31 b(to)f Fr(")p Fs($)p Fr(@")e Fs(so)i(that)g(it)g(can)390 -4819 y(complete)i(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371 -5011 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_query_i)q -(tems)390 5121 y Fs(Up)36 b(to)h(this)f(man)m(y)g(items)h(will)f(b)s(e) -g(displa)m(y)m(ed)h(in)e(resp)s(onse)h(to)h(a)f(p)s -(ossible-completions)h(call.)390 5230 y(After)28 b(that,)h(readline)f -(asks)g(the)g(user)f(if)h(she)f(is)h(sure)f(she)h(w)m(an)m(ts)g(to)h -(see)f(them)g(all.)40 b(The)28 b(default)390 5340 y(v)-5 -b(alue)31 b(is)f(100.)42 b(A)31 b(negativ)m(e)h(v)-5 -b(alue)31 b(indicates)g(that)g(Readline)g(should)f(nev)m(er)h(ask)f -(the)h(user.)p eop end -%%Page: 48 52 -TeXDict begin 48 51 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(48)3371 -299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_append_)q -(char)q(act)q(er)390 408 y Fs(When)33 b(a)h(single)f(completion)i -(alternativ)m(e)h(matc)m(hes)e(at)g(the)f(end)g(of)g(the)h(command)f -(line,)h(this)390 518 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g -(inserted)f(completion)i(text.)39 b(The)20 b(default)i(is)g(a)f(space)h -(c)m(haracter)390 628 y(\(`)31 b('\).)86 b(Setting)46 -b(this)f(to)h(the)g(n)m(ull)f(c)m(haracter)i(\(`)p Fr(\\0)p -Fs('\))f(prev)m(en)m(ts)g(an)m(ything)g(b)s(eing)f(app)s(ended)390 -737 y(automatically)-8 b(.)66 b(This)37 b(can)h(b)s(e)f(c)m(hanged)h -(in)g(application-sp)s(eci\014c)h(completion)g(functions)e(to)390 -847 y(pro)m(vide)j(the)g(\\most)g(sensible)g(w)m(ord)f(separator)i(c)m -(haracter")h(according)e(to)h(an)e(application-)390 956 -y(sp)s(eci\014c)30 b(command)g(line)h(syn)m(tax)g(sp)s(eci\014cation.) -3371 1176 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_suppres) -q(s_ap)q(pen)q(d)390 1285 y Fs(If)33 b(non-zero,)i Fi(rl)p -949 1285 28 4 v 39 w(completion)p 1421 1285 V 42 w(app)s(end)p -1755 1285 V 38 w(c)m(haracter)42 b Fs(is)33 b(not)g(app)s(ended)f(to)i -(matc)m(hes)g(at)g(the)g(end)390 1395 y(of)28 b(the)f(command)h(line,)h -(as)e(describ)s(ed)g(ab)s(o)m(v)m(e.)41 b(It)27 b(is)h(set)g(to)g(0)g -(b)s(efore)g(an)m(y)f(application-sp)s(eci\014c)390 1504 +g(help)f(determine)h(what)p eop end +%%Page: 51 55 +TeXDict begin 51 54 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)390 +299 y(kind)27 b(of)h(completing)h(to)f(do.)40 b(F)-8 +b(or)29 b(instance,)g(Bash)f(sets)g(this)g(v)-5 b(ariable)28 +b(to)h Fr(")p Fs($@)p Fr(")e Fs(so)h(that)g(it)h(can)390 +408 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371 +628 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_query_i)q +(tems)390 737 y Fs(Up)36 b(to)h(this)f(man)m(y)g(items)h(will)f(b)s(e)g +(displa)m(y)m(ed)h(in)e(resp)s(onse)h(to)h(a)f(p)s(ossible-completions) +h(call.)390 847 y(After)28 b(that,)h(readline)f(asks)g(the)g(user)f(if) +h(she)f(is)h(sure)f(she)h(w)m(an)m(ts)g(to)h(see)f(them)g(all.)40 +b(The)28 b(default)390 956 y(v)-5 b(alue)31 b(is)f(100.)42 +b(A)31 b(negativ)m(e)h(v)-5 b(alue)31 b(indicates)g(that)g(Readline)g +(should)f(nev)m(er)h(ask)f(the)h(user.)3371 1176 y([V)-8 +b(ariable])-3598 b Fg(int)53 b(rl_completion_append_)q(char)q(act)q(er) +390 1285 y Fs(When)33 b(a)h(single)f(completion)i(alternativ)m(e)h +(matc)m(hes)e(at)g(the)f(end)g(of)g(the)h(command)f(line,)h(this)390 +1395 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f +(completion)i(text.)39 b(The)20 b(default)i(is)g(a)f(space)h(c)m +(haracter)390 1504 y(\(`)31 b('\).)86 b(Setting)46 b(this)f(to)h(the)g +(n)m(ull)f(c)m(haracter)i(\(`)p Fr(\\0)p Fs('\))f(prev)m(en)m(ts)g(an)m +(ything)g(b)s(eing)f(app)s(ended)390 1614 y(automatically)-8 +b(.)66 b(This)37 b(can)h(b)s(e)f(c)m(hanged)h(in)g(application-sp)s +(eci\014c)h(completion)g(functions)e(to)390 1724 y(pro)m(vide)j(the)g +(\\most)g(sensible)g(w)m(ord)f(separator)i(c)m(haracter")h(according)e +(to)h(an)e(application-)390 1833 y(sp)s(eci\014c)30 b(command)g(line)h +(syn)m(tax)g(sp)s(eci\014cation.)3371 2052 y([V)-8 b(ariable])-3598 +b Fg(int)53 b(rl_completion_suppres)q(s_ap)q(pen)q(d)390 +2162 y Fs(If)33 b(non-zero,)i Fi(rl)p 949 2162 28 4 v +39 w(completion)p 1421 2162 V 42 w(app)s(end)p 1755 2162 +V 38 w(c)m(haracter)42 b Fs(is)33 b(not)g(app)s(ended)f(to)i(matc)m +(hes)g(at)g(the)g(end)390 2271 y(of)28 b(the)f(command)h(line,)h(as)e +(describ)s(ed)g(ab)s(o)m(v)m(e.)41 b(It)27 b(is)h(set)g(to)g(0)g(b)s +(efore)g(an)m(y)f(application-sp)s(eci\014c)390 2381 y(completion)32 b(function)e(is)g(called,)i(and)e(ma)m(y)h(only)f(b)s (e)g(c)m(hanged)h(within)f(suc)m(h)g(a)h(function.)3371 -1724 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_quote_c)q -(hara)q(cte)q(r)390 1833 y Fs(When)36 b(Readline)h(is)f(completing)h +2600 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_quote_c)q +(hara)q(cte)q(r)390 2710 y Fs(When)36 b(Readline)h(is)f(completing)h (quoted)g(text,)h(as)f(delimited)g(b)m(y)f(one)g(of)g(the)h(c)m -(haracters)g(in)390 1943 y Fi(rl)p 457 1943 V 40 w(completer)p -885 1943 V 41 w(quote)p 1145 1943 V 41 w(c)m(haracters)t -Fs(,)42 b(it)d(sets)g(this)f(v)-5 b(ariable)40 b(to)f(the)g(quoting)g -(c)m(haracter)h(found.)390 2052 y(This)30 b(is)g(set)h(b)s(efore)f(an)m +(haracters)g(in)390 2819 y Fi(rl)p 457 2819 V 40 w(completer)p +885 2819 V 41 w(quote)p 1145 2819 V 41 w(c)m(haracters)p +Fs(,)43 b(it)c(sets)g(this)g(v)-5 b(ariable)40 b(to)g(the)f(quoting)g +(c)m(haracter)i(found.)390 2929 y(This)30 b(is)g(set)h(b)s(efore)f(an)m (y)h(application-sp)s(eci\014c)g(completion)h(function)e(is)h(called.) -3371 2271 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_suppres) -q(s_qu)q(ote)390 2381 y Fs(If)32 b(non-zero,)h(Readline)g(do)s(es)f +3371 3148 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_suppres) +q(s_qu)q(ote)390 3258 y Fs(If)32 b(non-zero,)h(Readline)g(do)s(es)f (not)h(app)s(end)d(a)j(matc)m(hing)g(quote)g(c)m(haracter)h(when)d(p)s -(erforming)390 2491 y(completion)25 b(on)e(a)h(quoted)g(string.)38 +(erforming)390 3367 y(completion)25 b(on)e(a)h(quoted)g(string.)38 b(It)24 b(is)f(set)h(to)h(0)f(b)s(efore)f(an)m(y)h(application-sp)s -(eci\014c)h(completion)390 2600 y(function)30 b(is)g(called,)i(and)e +(eci\014c)h(completion)390 3477 y(function)30 b(is)g(called,)i(and)e (ma)m(y)h(only)g(b)s(e)e(c)m(hanged)i(within)f(suc)m(h)g(a)h(function.) -3371 2819 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_found_q) -q(uote)390 2929 y Fs(When)31 b(Readline)i(is)e(completing)i(quoted)f +3371 3696 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_found_q) +q(uote)390 3806 y Fs(When)31 b(Readline)i(is)e(completing)i(quoted)f (text,)h(it)f(sets)g(this)g(v)-5 b(ariable)32 b(to)h(a)f(non-zero)g(v) --5 b(alue)32 b(if)390 3039 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h +-5 b(alue)32 b(if)390 3915 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h (con)m(tains)g(or)f(is)g(delimited)h(b)m(y)f(an)m(y)g(quoting)h(c)m -(haracters,)i(including)390 3148 y(bac)m(kslashes.)42 +(haracters,)i(including)390 4025 y(bac)m(kslashes.)42 b(This)29 b(is)i(set)g(b)s(efore)f(an)m(y)g(application-sp)s(eci\014c)i -(completion)g(function)e(is)g(called.)3371 3367 y([V)-8 +(completion)g(function)e(is)g(called.)3371 4244 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_mark_sy)q(mlin)q(k_d)q -(irs)390 3477 y Fs(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s +(irs)390 4354 y Fs(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s (ended)f(to)j(completed)g(\014lenames)e(that)i(are)f(sym)m(b)s(olic)g -(links)390 3587 y(to)25 b(directory)g(names,)g(sub)5 +(links)390 4463 y(to)25 b(directory)g(names,)g(sub)5 b(ject)24 b(to)h(the)f(v)-5 b(alue)25 b(of)f(the)h(user-settable)g -Fi(mark-directories)k Fs(v)-5 b(ariable.)390 3696 y(This)27 +Fi(mark-directories)k Fs(v)-5 b(ariable.)390 4573 y(This)27 b(v)-5 b(ariable)28 b(exists)g(so)f(that)h(application-sp)s(eci\014c)h (completion)g(functions)e(can)g(o)m(v)m(erride)i(the)390 -3806 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f +4682 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f Fi(mark-symlink)m(ed-directories)48 b Fs(Readline)43 -b(v)-5 b(ariable\))390 3915 y(if)38 b(appropriate.)62 +b(v)-5 b(ariable\))390 4792 y(if)38 b(appropriate.)62 b(This)37 b(v)-5 b(ariable)38 b(is)g(set)g(to)g(the)g(user's)f -(preference)g(b)s(efore)g(an)m(y)h(application-)390 4025 +(preference)g(b)s(efore)g(an)m(y)h(application-)390 4902 y(sp)s(eci\014c)31 b(completion)i(function)f(is)f(called,)j(so)e (unless)f(that)h(function)f(mo)s(di\014es)g(the)h(v)-5 -b(alue,)33 b(the)390 4134 y(user's)d(preferences)g(are)h(honored.)3371 -4354 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_ignore_completion_)q -(dupl)q(ica)q(tes)390 4463 y Fs(If)30 b(non-zero,)h(then)f(duplicates)h +b(alue,)33 b(the)390 5011 y(user's)d(preferences)g(are)h(honored.)3371 +5230 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_ignore_completion_)q +(dupl)q(ica)q(tes)390 5340 y Fs(If)30 b(non-zero,)h(then)f(duplicates)h (in)f(the)h(matc)m(hes)g(are)g(remo)m(v)m(ed.)42 b(The)29 -b(default)i(is)f(1.)3371 4682 y([V)-8 b(ariable])-3598 -b Fg(int)53 b(rl_filename_completio)q(n_de)q(sir)q(ed)390 -4792 y Fs(Non-zero)33 b(means)f(that)g(the)g(results)f(of)h(the)g(matc) -m(hes)h(are)f(to)h(b)s(e)e(treated)i(as)f(\014lenames.)45 -b(This)390 4902 y(is)40 b Fj(always)49 b Fs(zero)41 b(when)e -(completion)i(is)f(attempted,)j(and)d(can)g(only)g(b)s(e)f(c)m(hanged)i -(within)e(an)390 5011 y(application-sp)s(eci\014c)i(completion)g -(function.)67 b(If)39 b(it)h(is)f(set)h(to)h(a)e(non-zero)h(v)-5 -b(alue)40 b(b)m(y)f(suc)m(h)h(a)390 5121 y(function,)24 +b(default)i(is)f(1.)p eop end +%%Page: 52 56 +TeXDict begin 52 55 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)3371 +299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_filename_completio)q +(n_de)q(sir)q(ed)390 408 y Fs(Non-zero)33 b(means)f(that)g(the)g +(results)f(of)h(the)g(matc)m(hes)h(are)f(to)h(b)s(e)e(treated)i(as)f +(\014lenames.)45 b(This)390 518 y(is)40 b Fj(always)49 +b Fs(zero)41 b(when)e(completion)i(is)f(attempted,)j(and)d(can)g(only)g +(b)s(e)f(c)m(hanged)i(within)e(an)390 628 y(application-sp)s(eci\014c)i +(completion)g(function.)67 b(If)39 b(it)h(is)f(set)h(to)h(a)e(non-zero) +h(v)-5 b(alue)40 b(b)m(y)f(suc)m(h)h(a)390 737 y(function,)24 b(directory)f(names)f(ha)m(v)m(e)h(a)g(slash)f(app)s(ended)e(and)i -(Readline)h(attempts)g(to)g(quote)g(com-)390 5230 y(pleted)35 +(Readline)h(attempts)g(to)g(quote)g(com-)390 847 y(pleted)35 b(\014lenames)g(if)g(they)h(con)m(tain)g(an)m(y)f(c)m(haracters)i(in)e -Fr(rl_filename_quote_chara)o(cter)o(s)390 5340 y Fs(and)30 +Fr(rl_filename_quote_chara)o(cter)o(s)390 956 y Fs(and)30 b Fr(rl_filename_quoting_des)o(ired)24 b Fs(is)30 b(set)h(to)g(a)g -(non-zero)g(v)-5 b(alue.)p eop end -%%Page: 49 53 -TeXDict begin 49 52 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(49)3371 -299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_filename_quoting_d)q -(esir)q(ed)390 408 y Fs(Non-zero)29 b(means)f(that)h(the)f(results)g -(of)g(the)g(matc)m(hes)i(are)e(to)h(b)s(e)e(quoted)h(using)g(double)f -(quotes)390 518 y(\(or)43 b(an)f(application-sp)s(eci\014c)i(quoting)f -(mec)m(hanism\))g(if)f(the)h(completed)g(\014lename)g(con)m(tains)390 -628 y(an)m(y)28 b(c)m(haracters)h(in)e Fr(rl_filename_quote_chars)p +(non-zero)g(v)-5 b(alue.)3371 1141 y([V)d(ariable])-3598 +b Fg(int)53 b(rl_filename_quoting_d)q(esir)q(ed)390 1250 +y Fs(Non-zero)29 b(means)f(that)h(the)f(results)g(of)g(the)g(matc)m +(hes)i(are)e(to)h(b)s(e)e(quoted)h(using)g(double)f(quotes)390 +1360 y(\(or)43 b(an)f(application-sp)s(eci\014c)i(quoting)f(mec)m +(hanism\))g(if)f(the)h(completed)g(\014lename)g(con)m(tains)390 +1469 y(an)m(y)28 b(c)m(haracters)h(in)e Fr(rl_filename_quote_chars)p Fs(.)34 b(This)27 b(is)g Fj(always)37 b Fs(non-zero)28 -b(when)f(comple-)390 737 y(tion)h(is)g(attempted,)h(and)e(can)h(only)g +b(when)f(comple-)390 1579 y(tion)h(is)g(attempted,)h(and)e(can)h(only)g (b)s(e)f(c)m(hanged)h(within)f(an)h(application-sp)s(eci\014c)h -(completion)390 847 y(function.)37 b(The)21 b(quoting)g(is)g +(completion)390 1689 y(function.)37 b(The)21 b(quoting)g(is)g (e\013ected)i(via)e(a)h(call)g(to)g(the)f(function)g(p)s(oin)m(ted)g -(to)g(b)m(y)g Fr(rl_filename_)390 956 y(quoting_function)p -Fs(.)3371 1141 y([V)-8 b(ariable])-3598 b Fg(int)53 b -(rl_attempted_completi)q(on_o)q(ver)390 1250 y Fs(If)93 +(to)g(b)m(y)g Fr(rl_filename_)390 1798 y(quoting_function)p +Fs(.)3371 1983 y([V)-8 b(ariable])-3598 b Fg(int)53 b +(rl_attempted_completi)q(on_o)q(ver)390 2092 y Fs(If)93 b(an)h(application-sp)s(eci\014c)i(completion)f(function)f(assigned)g -(to)h Fr(rl_attempted_)390 1360 y(completion_function)48 +(to)h Fr(rl_attempted_)390 2202 y(completion_function)48 b Fs(sets)53 b(this)g(v)-5 b(ariable)54 b(to)g(a)f(non-zero)h(v)-5 -b(alue,)60 b(Readline)53 b(will)h(not)390 1469 y(p)s(erform)28 +b(alue,)60 b(Readline)53 b(will)h(not)390 2311 y(p)s(erform)28 b(its)i(default)g(\014lename)g(completion)h(ev)m(en)f(if)g(the)f -(application's)i(completion)g(function)390 1579 y(returns)e(no)h(matc)m +(application's)i(completion)g(function)390 2421 y(returns)e(no)h(matc)m (hes.)42 b(It)31 b(should)e(b)s(e)h(set)h(only)f(b)m(y)h(an)f -(application's)i(completion)f(function.)3371 1763 y([V)-8 +(application's)i(completion)f(function.)3371 2605 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_sort_completion_ma)q(tche)q(s)390 -1873 y Fs(If)29 b(an)h(application)h(sets)f(this)g(v)-5 +2715 y Fs(If)29 b(an)h(application)h(sets)f(this)g(v)-5 b(ariable)31 b(to)f(0,)h(Readline)f(will)g(not)g(sort)g(the)g(list)h -(of)f(completions)390 1983 y(\(whic)m(h)25 b(implies)f(that)i(it)f +(of)f(completions)390 2824 y(\(whic)m(h)25 b(implies)f(that)i(it)f (cannot)g(remo)m(v)m(e)h(an)m(y)f(duplicate)g(completions\).)40 -b(The)24 b(default)h(v)-5 b(alue)25 b(is)390 2092 y(1,)32 +b(The)24 b(default)h(v)-5 b(alue)25 b(is)390 2934 y(1,)32 b(whic)m(h)f(means)g(that)h(Readline)g(will)f(sort)h(the)f(completions) -h(and,)f(dep)s(ending)f(on)h(the)g(v)-5 b(alue)390 2202 +h(and,)f(dep)s(ending)f(on)h(the)g(v)-5 b(alue)390 3044 y(of)31 b Fr(rl_ignore_completion_du)o(pli)o(cate)o(s)p Fs(,)25 b(will)30 b(attempt)i(to)f(remo)m(v)m(e)h(duplicate)f(matc)m -(hes.)3371 2386 y([V)-8 b(ariable])-3598 b Fg(int)53 -b(rl_completion_type)390 2496 y Fs(Set)35 b(to)h(a)f(c)m(haracter)i +(hes.)3371 3228 y([V)-8 b(ariable])-3598 b Fg(int)53 +b(rl_completion_type)390 3337 y Fs(Set)35 b(to)h(a)f(c)m(haracter)i (describing)e(the)g(t)m(yp)s(e)g(of)g(completion)i(Readline)e(is)g -(curren)m(tly)h(attempt-)390 2605 y(ing;)f(see)f(the)g(description)f +(curren)m(tly)h(attempt-)390 3447 y(ing;)f(see)f(the)g(description)f (of)g Fr(rl_complete_internal\(\))28 b Fs(\(see)34 b(Section)g(2.6.2)h -([Completion)390 2715 y(F)-8 b(unctions],)39 b(page)f(44\))f(for)g(the) +([Completion)390 3557 y(F)-8 b(unctions],)39 b(page)f(47\))f(for)g(the) g(list)g(of)g(c)m(haracters.)61 b(This)36 b(is)g(set)i(to)f(the)g -(appropriate)f(v)-5 b(alue)390 2824 y(b)s(efore)31 b(an)m(y)h +(appropriate)f(v)-5 b(alue)390 3666 y(b)s(efore)31 b(an)m(y)h (application-sp)s(eci\014c)h(completion)g(function)f(is)f(called,)j -(allo)m(wing)f(suc)m(h)e(functions)390 2934 y(to)g(presen)m(t)g(the)f +(allo)m(wing)f(suc)m(h)e(functions)390 3776 y(to)g(presen)m(t)g(the)f (same)h(in)m(terface)h(as)e Fr(rl_complete\(\))p Fs(.)3371 -3118 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_invokin)q -(g_ke)q(y)390 3228 y Fs(Set)41 b(to)g(the)g(\014nal)g(c)m(haracter)h +3960 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_invokin)q +(g_ke)q(y)390 4070 y Fs(Set)41 b(to)g(the)g(\014nal)g(c)m(haracter)h (in)e(the)h(k)m(ey)g(sequence)h(that)f(in)m(v)m(ok)m(ed)h(one)f(of)g -(the)g(completion)390 3337 y(functions)c(that)h(call)h +(the)g(completion)390 4179 y(functions)c(that)h(call)h Fr(rl_complete_internal\(\))p Fs(.)56 b(This)37 b(is)g(set)h(to)g(the)g -(appropriate)f(v)-5 b(alue)390 3447 y(b)s(efore)30 b(an)m(y)h +(appropriate)f(v)-5 b(alue)390 4289 y(b)s(efore)30 b(an)m(y)h (application-sp)s(eci\014c)h(completion)f(function)f(is)h(called.)3371 -3631 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_inhibit_completion)390 -3741 y Fs(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i +4473 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_inhibit_completion)390 +4583 y Fs(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i (completion)f(is)f(inhibited.)40 b(The)28 b(completion)h(c)m(haracter)h -(will)f(b)s(e)390 3851 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e -(to)k Fr(self-insert)p Fs(.)150 4050 y Fh(2.6.4)63 b(A)40 -b(Short)i(Completion)g(Example)150 4197 y Fs(Here)30 +(will)f(b)s(e)390 4692 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e +(to)k Fr(self-insert)p Fs(.)150 4892 y Fh(2.6.4)63 b(A)40 +b(Short)i(Completion)g(Example)150 5039 y Fs(Here)30 b(is)f(a)g(small)h(application)g(demonstrating)f(the)h(use)e(of)i(the)f (GNU)h(Readline)f(library)-8 b(.)40 b(It)30 b(is)f(called)150 -4306 y Fr(fileman)p Fs(,)35 b(and)g(the)h(source)f(co)s(de)h(resides)f -(in)h(`)p Fr(examples/fileman.c)p Fs('.)51 b(This)35 -b(sample)h(application)150 4416 y(pro)m(vides)26 b(completion)i(of)e -(command)g(names,)h(line)f(editing)h(features,)h(and)d(access)j(to)f -(the)f(history)g(list.)p eop end -%%Page: 50 54 -TeXDict begin 50 53 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)390 +5148 y Fr(fileman)p Fs(,)40 b(and)f(the)h(source)g(co)s(de)g(resides)f +(in)g Fr(examples/fileman.c)p Fs(.)64 b(This)39 b(sample)h(application) +150 5258 y(pro)m(vides)26 b(completion)i(of)e(command)g(names,)h(line)f +(editing)h(features,)h(and)d(access)j(to)f(the)f(history)g(list.)p +eop end +%%Page: 53 57 +TeXDict begin 53 56 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)390 299 y Fe(/*)40 b(fileman.c)h(--)f(A)f(tiny)h(application)i(which)e (demonstrates)i(how)e(to)g(use)g(the)508 386 y(GNU)g(Readline)h (library.)80 b(This)40 b(application)i(interactively)g(allows)f(users) @@ -7493,9 +10494,9 @@ y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4483 y(int)e(com_quit)h (call)i(to)e(do)h(the)g(job.)g(*/)468 5181 y(char)h(*doc;)f(/*)g (Documentation)i(for)e(this)g(function.)80 b(*/)390 5268 y(})39 b(COMMAND;)p eop end -%%Page: 51 55 -TeXDict begin 51 54 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)390 +%%Page: 54 58 +TeXDict begin 54 57 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)390 386 y Fe(COMMAND)41 b(commands[])g(=)f({)468 473 y({)g("cd",)g(com_cd,) h("Change)g(to)f(directory)h(DIR")f(},)468 560 y({)g("delete",)h (com_delete,)h("Delete)f(FILE")f(},)468 648 y({)g("help",)h(com_help,)g @@ -7531,9 +10532,9 @@ y(break;)625 5093 y(/*)g(Remove)h(leading)f(and)g(trailing)h (whitespace)h(from)e(the)g(line.)743 5181 y(Then,)g(if)g(there)g(is)g (anything)h(left,)g(add)e(it)h(to)g(the)g(history)h(list)743 5268 y(and)f(execute)h(it.)f(*/)p eop end -%%Page: 52 56 -TeXDict begin 52 55 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)625 +%%Page: 55 59 +TeXDict begin 55 58 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(55)625 299 y Fe(s)40 b(=)f(stripwhite)j(\(line\);)625 473 y(if)e(\(*s\))704 560 y({)782 648 y(add_history)i(\(s\);)782 735 y(execute_line)g(\(s\);) 704 822 y(})625 996 y(free)e(\(line\);)547 1083 y(})468 @@ -7560,9 +10561,9 @@ y(if)e(\(!command\))547 3524 y({)625 3611 y(fprintf)h(\(stderr,)g b(Return)41 b(a)e(NULL)h(pointer)h(if)f(NAME)g(isn't)g(a)g(command)g (name.)h(*/)390 5006 y(COMMAND)g(*)390 5093 y(find_command)h(\(name\)) 586 5181 y(char)e(*name;)390 5268 y({)p eop end -%%Page: 53 57 -TeXDict begin 53 56 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)468 +%%Page: 56 60 +TeXDict begin 56 59 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(56)468 299 y Fe(register)41 b(int)f(i;)468 473 y(for)g(\(i)g(=)f(0;)h (commands[i].name;)j(i++\))547 560 y(if)d(\(strcmp)g(\(name,)h (commands[i].name\))i(==)d(0\))625 648 y(return)h(\(&commands[i]\);)468 @@ -7603,9 +10604,9 @@ b(We)40 b(can)g(use)f(the)h(entire)h(contents)g(of)f(rl_line_buffer)508 b(Return)40 b(the)g(array)h(of)e(matches,)508 5181 y(or)g(NULL)h(if)g (there)h(aren't)f(any.)g(*/)390 5268 y(char)g(**)p eop end -%%Page: 54 58 -TeXDict begin 54 57 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)390 +%%Page: 57 61 +TeXDict begin 57 60 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(57)390 299 y Fe(fileman_completion)43 b(\(text,)e(start,)g(end\))586 386 y(const)f(char)h(*text;)586 473 y(int)f(start,)h(end;)390 560 y({)468 648 y(char)g(**matches;)468 822 y(matches)g(=)f(\(char)g @@ -7644,9 +10645,9 @@ b(*/)390 4832 y(/*)903 b(FileMan)41 b(Commands)1060 b(*/)390 b(*/)390 5181 y(/*)40 b(String)g(to)g(pass)g(to)g(system)g(\(\).)80 b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g(RENAME)508 5268 y(commands.)h(*/)p eop end -%%Page: 55 59 -TeXDict begin 55 58 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(55)390 +%%Page: 58 62 +TeXDict begin 58 61 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(58)390 299 y Fe(static)41 b(char)f(syscom[1024];)390 473 y(/*)g(List)g(the)g (file\(s\))h(named)f(in)g(arg.)g(*/)390 560 y(com_list)h(\(arg\))586 648 y(char)f(*arg;)390 735 y({)468 822 y(if)g(\(!arg\))547 @@ -7674,9 +10675,9 @@ j(==)d(1\))f(?)h("")f(:)h("s",)782 5093 y(finfo.st_size,)782 5181 y(\(finfo.st_size)j(==)c(1\))h(?)g("")f(:)h("s"\);)468 5268 y(printf)h(\("Inode)g(Last)f(Change)h(at:)f(\045s",)g(ctime)g (\(&finfo.st_ctime\)\);)p eop end -%%Page: 56 60 -TeXDict begin 56 59 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(56)468 +%%Page: 59 63 +TeXDict begin 59 62 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(59)468 299 y Fe(printf)41 b(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g (ctime)g(\(&finfo.st_atime\)\);)468 386 y(printf)h(\(")157 b(Last)41 b(modified)g(at:)f(\045s",)g(ctime)g(\(&finfo.st_mtime\)\);) @@ -7705,9 +10706,9 @@ b(Possibilties)42 b(are:\\n",)f(arg\);)625 3176 y(for)f(\(i)g(=)f(0;)h 4919 y(com_cd)h(\(arg\))586 5006 y(char)f(*arg;)390 5093 y({)468 5181 y(if)g(\(chdir)h(\(arg\))f(==)g(-1\))547 5268 y({)p eop end -%%Page: 57 61 -TeXDict begin 57 60 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(Readline)1683 b(57)625 +%%Page: 60 64 +TeXDict begin 60 63 bop 150 -116 a Fs(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(Readline)1683 b(60)625 299 y Fe(perror)41 b(\(arg\);)625 386 y(return)g(1;)547 473 y(})468 648 y(com_pwd)g(\(""\);)468 735 y(return)g(\(0\);)390 822 y(})390 996 y(/*)f(Print)g(out)g(the)g(current)h(working)g @@ -7736,10 +10737,10 @@ y({)625 4658 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h (required.\\n",)i(caller\);)625 4745 y(return)e(\(0\);)547 4832 y(})468 5006 y(return)g(\(1\);)390 5093 y(})p eop end -%%Page: 58 62 -TeXDict begin 58 61 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 61 65 +TeXDict begin 61 64 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(58)150 299 y Fo(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13 +b(61)150 299 y Fo(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Fs(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fp(\015)e @@ -7820,10 +10821,10 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g 5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27 b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s (cumen)m(t)g(is)g(released)p eop end -%%Page: 59 63 -TeXDict begin 59 62 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 62 66 +TeXDict begin 62 65 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(59)330 299 y(under)26 b(this)i(License.)40 b(If)27 +b(62)330 299 y(under)26 b(this)i(License.)40 b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h (de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408 y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5 @@ -7865,59 +10866,59 @@ b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g Fs(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j (LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j Fd(SGML)f Fs(or)f Fd(XML)g Fs(using)g(a)g(publicly)330 -2504 y(a)m(v)-5 b(ailable)42 b Fd(DTD)p Fs(,)g(and)d -(standard-conforming)h(simple)g Fd(HTML)p Fs(,)g(P)m(ostScript)h(or)f -Fd(PDF)g Fs(designed)330 2614 y(for)e(h)m(uman)g(mo)s(di\014cation.)65 -b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g -Fd(PNG)p Fs(,)h Fd(X)n(CF)330 2724 y Fs(and)h Fd(JPG)p -Fs(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can) -f(b)s(e)f(read)g(and)h(edited)330 2833 y(only)54 b(b)m(y)f(proprietary) -h(w)m(ord)f(pro)s(cessors,)59 b Fd(SGML)54 b Fs(or)f -Fd(XML)h Fs(for)g(whic)m(h)f(the)h Fd(DTD)g Fs(and/or)330 -2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5 -b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j -Fd(HTML)p Fs(,)330 3052 y(P)m(ostScript)31 b(or)f Fd(PDF)h -Fs(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output) -g(purp)s(oses)f(only)-8 b(.)330 3203 y(The)34 b(\\Title)h(P)m(age")i -(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f -(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3313 y(pages)28 -b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30 -b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h -(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g -(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e -(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3532 y(means)j(the)f(text)i -(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m -(ork's)g(title,)h(preceding)f(the)330 3641 y(b)s(eginning)f(of)g(the)h -(b)s(o)s(dy)e(of)h(the)h(text.)330 3792 y(The)j(\\publisher")g(means)h -(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i -(of)e(the)h(Do)s(cumen)m(t)330 3902 y(to)c(the)g(public.)330 -4052 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g -(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330 -4162 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m -(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330 -4271 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g -(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m -(h)330 4381 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e -(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29 -b(\\Preserv)m(e)330 4491 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g -(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e -(that)h(it)g(remains)g(a)330 4600 y(section)e(\\En)m(titled)f(XYZ")g -(according)g(to)g(this)g(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t) -i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to) -g(the)g(notice)h(whic)m(h)e(states)i(that)330 4861 y(this)34 -b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33 -b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330 -4970 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j -(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330 -5080 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8 -b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g -(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h -(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31 -b(COPYING)p eop end -%%Page: 60 64 -TeXDict begin 60 63 bop 150 -116 a Fs(App)s(endix)29 +2504 y(a)m(v)-5 b(ailable)42 b Fd(DTD)p Fs(,)h(and)c +(standard-conforming)g(simple)h Fd(HTML)p Fs(,)i(P)m(ostScript)e(or)f +Fd(PDF)h Fs(designed)330 2614 y(for)e(h)m(uman)f(mo)s(di\014cation.)65 +b(Examples)38 b(of)h(transparen)m(t)f(image)h(formats)g(include)f +Fd(PNG)p Fs(,)i Fd(X)n(CF)330 2724 y Fs(and)e Fd(JPG)p +Fs(.)64 b(Opaque)38 b(formats)h(include)f(proprietary)h(formats)f(that) +h(can)g(b)s(e)f(read)h(and)f(edited)330 2833 y(only)54 +b(b)m(y)f(proprietary)h(w)m(ord)f(pro)s(cessors,)59 b +Fd(SGML)54 b Fs(or)f Fd(XML)h Fs(for)g(whic)m(h)f(the)h +Fd(DTD)g Fs(and/or)330 2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g +(generally)i(a)m(v)-5 b(ailable,)71 b(and)60 b(the)h(mac)m +(hine-generated)j Fd(HTML)p Fs(,)330 3052 y(P)m(ostScript)31 +b(or)f Fd(PDF)h Fs(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s +(cessors)g(for)g(output)g(purp)s(oses)f(only)-8 b(.)330 +3203 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m(ted)f(b) +s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f(follo)m +(wing)330 3313 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 +b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f +(in)h(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 +b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e +(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 +3532 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s +(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330 +3641 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330 +3792 y(The)j(\\publisher")g(means)h(an)m(y)f(p)s(erson)g(or)h(en)m(tit) +m(y)h(that)f(distributes)f(copies)i(of)e(the)h(Do)s(cumen)m(t)330 +3902 y(to)c(the)g(public.)330 4052 y(A)f(section)h(\\En)m(titled)g +(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h +(whose)e(title)i(either)330 4162 y(is)d(precisely)g(XYZ)g(or)f(con)m +(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f +(translates)h(XYZ)e(in)330 4271 y(another)e(language.)40 +b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f +(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4381 y(as)i(\\Ac)m(kno)m +(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f +(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4491 +y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s +(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330 +4600 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g +(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W) +-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m +(h)e(states)i(that)330 4861 y(this)34 b(License)g(applies)g(to)h(the)f +(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36 +b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m +(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f +(disclaiming)i(w)m(arran)m(ties:)330 5080 y(an)m(y)e(other)g +(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39 +b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330 +5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199 +5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end +%%Page: 63 67 +TeXDict begin 63 66 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(60)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h +b(63)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h (the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h (or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j @@ -8007,10 +11008,10 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e 5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8 b(,)p eop end -%%Page: 61 65 -TeXDict begin 61 64 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 64 68 +TeXDict begin 64 67 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(61)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g +b(64)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g (the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same) h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original) i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360 @@ -8089,10 +11090,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g (designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p eop end -%%Page: 62 66 -TeXDict begin 62 65 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 65 69 +TeXDict begin 65 68 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(62)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 +b(65)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36 b(license)g(notice.)57 b(These)330 408 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g @@ -8177,10 +11178,10 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330 5340 y(that)d(do)s(cumen)m(t.)p eop end -%%Page: 63 67 -TeXDict begin 63 66 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 66 70 +TeXDict begin 66 69 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(63)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h +b(66)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h (W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f (its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep) s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h @@ -8265,10 +11266,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g (reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end -%%Page: 64 68 -TeXDict begin 64 67 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 67 71 +TeXDict begin 67 70 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(64)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 +b(67)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g (the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34 @@ -8332,17 +11333,17 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is) 330 4005 y(eligible)h(for)e(relicensing.)p eop end -%%Page: 65 69 -TeXDict begin 65 68 bop 150 -116 a Fs(App)s(endix)29 +%%Page: 68 72 +TeXDict begin 68 71 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 -b(65)150 299 y Fq(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f +b(68)150 299 y Fq(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f (for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fs(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e) i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh) m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468 -680 y Fe(Copyright)42 b(\(C\))79 b Fc(year)88 b(your)40 -b(name)9 b Fe(.)468 767 y(Permission)42 b(is)e(granted)g(to)g(copy,)h +680 y Fe(Copyright)42 b(\(C\))79 b Fc(year)g(your)40 +b(name)p Fe(.)468 767 y(Permission)i(is)e(granted)g(to)g(copy,)h (distribute)g(and/or)g(modify)f(this)g(document)468 854 y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i (License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h @@ -8356,25 +11357,25 @@ b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k (T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 1559 y Fe(with)40 b(the)g(Invariant)h(Sections)g(being)g -Fc(list)f(their)g(titles)9 b Fe(,)41 b(with)547 1646 -y(the)f(Front-Cover)i(Texts)e(being)g Fc(list)9 b Fe(,)40 -b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1733 y(being)e -Fc(list)9 b Fe(.)275 1868 y Fs(If)34 b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 -b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8 -b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150 -1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e -(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f -(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m -(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g -(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h -(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31 -b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m -(w)m(are.)p eop end -%%Page: 66 70 -TeXDict begin 66 69 bop 150 -116 a Fs(Concept)31 b(Index)2927 -b(66)150 299 y Fo(Concept)52 b(Index)150 638 y Fq(A)150 +Fc(list)f(their)g(titles)p Fe(,)h(with)547 1646 y(the)f(Front-Cover)i +(Texts)e(being)g Fc(list)p Fe(,)h(and)f(with)g(the)g(Back-Cover)h +(Texts)547 1733 y(being)f Fc(list)p Fe(.)275 1868 y Fs(If)34 +b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f +(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g +(of)g(the)150 1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g +(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2112 +y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g +(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150 +2222 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m +(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43 +b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s +(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p +eop end +%%Page: 69 73 +TeXDict begin 69 72 bop 150 -116 a Fs(Concept)31 b(Index)2927 +b(69)150 299 y Fo(Concept)52 b(Index)150 638 y Fq(A)150 754 y Fb(application-sp)r(eci\014c)27 b(completion)f(functions)17 -b Fa(:)d(:)f(:)g(:)g(:)h(:)f(:)43 b Fb(43)150 1005 y +b Fa(:)d(:)f(:)g(:)g(:)h(:)f(:)43 b Fb(46)150 1005 y Fq(C)150 1121 y Fb(command)26 b(editing)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fb(1)150 1372 y Fq(E)150 @@ -8405,24 +11406,24 @@ b Fb(4)2025 2178 y Fq(Y)2025 2309 y Fb(y)n(anking)25 b(text)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)38 b Fb(2)p eop end -%%Page: 67 71 -TeXDict begin 67 70 bop 150 -116 a Fs(F)-8 b(unction)31 -b(and)f(V)-8 b(ariable)32 b(Index)2370 b(67)150 299 y +%%Page: 70 74 +TeXDict begin 70 73 bop 150 -116 a Fs(F)-8 b(unction)31 +b(and)f(V)-8 b(ariable)32 b(Index)2370 b(70)150 299 y Fo(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)p 159 610 41 6 v 150 726 a Fe(_rl_digit_p)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 -b Fb(38)150 814 y Fe(_rl_digit_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g +b Fb(39)150 814 y Fe(_rl_digit_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(38)150 901 y Fe(_rl_lowercase_p)11 +g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(39)150 901 y Fe(_rl_lowercase_p)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(38)150 988 y Fe(_rl_to_lower)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +b Fb(39)150 988 y Fe(_rl_to_lower)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(38)150 1076 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(39)150 1076 y Fe(_rl_to_upper)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)45 b Fb(38)150 1163 y Fe(_rl_uppercase_p)11 +(:)g(:)h(:)f(:)g(:)45 b Fb(39)150 1163 y Fe(_rl_uppercase_p)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(38)150 1415 y Fq(A)150 1531 y Fe(abort)27 b(\(C-g\))11 @@ -8456,686 +11457,719 @@ b Fb(5)150 2935 y Fq(C)150 3051 y Fe(call-last-kbd-macro)30 b(\(C-x)c(e\))11 b Fa(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)38 b Fb(19)150 3139 y Fe(capitalize-word)29 b(\(M-c\))21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(16)150 +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(17)150 3226 y Fe(character-search)29 b(\(C-]\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(20)150 3313 y Fe(character-search-backward)31 b(\(M-C-]\))6 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(20)150 3401 y Fe(clear-screen)28 b(\(C-l\))10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)37 b Fb(14)150 3488 y(commen)n(t-b)r(egin)17 -b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 -b Fb(5)150 3575 y Fe(complete)27 b(\(TAB\))22 b Fa(:)13 -b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 -b Fb(18)150 3662 y(completion-displa)n(y-width)22 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)48 b Fb(5)150 3750 y(completion-ignore-case)13 -b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b Fb(5)150 3837 -y(completion-map-case)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -36 b Fb(5)150 3924 y(completion-pre\014x-displa)n(y-length)8 -b Fa(:)k(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -34 b Fb(5)150 4012 y(completion-query-items)17 b Fa(:)c(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)44 b Fb(5)150 4099 y(con)n(v)n(ert-meta)20 b -Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +g(:)g(:)g(:)37 b Fb(14)150 3488 y(colored-stats)11 b +Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)47 b Fb(5)150 4186 y Fe(copy-backward-word)30 b(\(\))20 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(17)150 4273 y Fe(copy-forward-word) -29 b(\(\))23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(18)150 -4361 y Fe(copy-region-as-kill)30 b(\(\))17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(17)150 4613 y Fq(D)150 4729 y Fe(delete-char)28 +h(:)37 b Fb(5)150 3575 y(commen)n(t-b)r(egin)17 b Fa(:)d(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fb(5)150 +3662 y Fe(complete)27 b(\(TAB\))22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(18)150 3750 y(completion-displa)n +(y-width)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(5)150 +3837 y(completion-ignore-case)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +40 b Fb(5)150 3924 y(completion-map-case)9 b Fa(:)14 +b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36 b Fb(5)150 +4012 y(completion-pre\014x-displa)n(y-length)8 b Fa(:)k(:)h(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(5)150 +4099 y(completion-query-items)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 +b Fb(5)150 4186 y(con)n(v)n(ert-meta)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fb(5)150 +4273 y Fe(copy-backward-word)30 b(\(\))20 b Fa(:)13 b(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +46 b Fb(18)150 4361 y Fe(copy-forward-word)29 b(\(\))23 +b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(18)150 4448 y +Fe(copy-region-as-kill)30 b(\(\))17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(18)150 4700 y Fq(D)150 4816 y Fe(delete-char)28 b(\(C-d\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(16)150 4816 y Fe(delete-char-or-list)30 b(\(\))17 +b Fb(16)150 4904 y Fe(delete-char-or-list)30 b(\(\))17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)44 b Fb(19)150 4904 y Fe(delete-horizontal-space)31 +g(:)g(:)g(:)g(:)g(:)44 b Fb(19)150 4991 y Fe(delete-horizontal-space)31 b(\(\))7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)33 b Fb(17)150 4991 y Fe(digit-argument)c(\()p +g(:)g(:)g(:)h(:)33 b Fb(18)150 5078 y Fe(digit-argument)c(\()p Fc(M-0)p Fe(,)e Fc(M-1)p Fe(,)f(...)g Fc(M--)p Fe(\))7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(18)150 -5078 y(disable-completion)13 b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h +5166 y(disable-completion)13 b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)40 b Fb(5)150 5166 y Fe(do-uppercase-version)30 -b(\(M-a,)d(M-b,)f(M-)p Fc(x)9 b Fe(,)27 b(...\))310 5253 +g(:)g(:)g(:)40 b Fb(6)150 5253 y Fe(do-uppercase-version)30 +b(\(M-a,)d(M-b,)f(M-)p Fc(x)p Fe(,)h(...)q(\))310 5340 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(19)150 5340 -y Fe(downcase-word)c(\(M-l\))8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -34 b Fb(16)2025 610 y Fe(dump-functions)29 b(\(\))13 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(20)2025 610 +y Fe(downcase-word)28 b(\(M-l\))8 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)34 b Fb(17)2025 698 y Fe(dump-functions)29 b(\(\))13 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(20)2025 -698 y Fe(dump-macros)28 b(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g +786 y Fe(dump-macros)28 b(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(20)2025 785 y Fe(dump-variables)29 +g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(21)2025 874 y Fe(dump-variables)29 b(\(\))13 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 -b Fb(20)2025 1039 y Fq(E)2025 1156 y Fb(editing-mo)r(de)21 +b Fb(21)2025 1130 y Fq(E)2025 1247 y Fb(editing-mo)r(de)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)48 b Fb(6)2025 1243 y Fe(emacs-editing-mode)29 b(\(C-e\))12 +g(:)48 b Fb(6)2025 1335 y Fe(emacs-editing-mode)29 b(\(C-e\))12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)39 b Fb(20)2025 1331 y(enable-k)n(eypad)17 +g(:)g(:)g(:)39 b Fb(21)2025 1423 y(enable-k)n(eypad)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 -b Fb(6)2025 1419 y Fe(end-kbd-macro)28 b(\(C-x)f(\)\))10 +b Fb(6)2025 1511 y Fe(end-kbd-macro)28 b(\(C-x)f(\)\))10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(19)2025 1506 y Fe(end-of-history)29 -b(\(M->\))23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(15)2025 -1594 y Fe(end-of-line)28 b(\(C-e\))13 b Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)39 b Fb(14)2025 1681 y Fe(exchange-point-and-mark)31 -b(\(C-x)26 b(C-x\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 -b Fb(20)2025 1769 y(expand-tilde)14 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)41 b Fb(6)2025 -2020 y Fq(F)2025 2137 y Fe(forward-backward-delete-char)32 -b(\(\))11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 -b Fb(16)2025 2225 y Fe(forward-char)28 b(\(C-f\))10 b -Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(14)2025 -2312 y Fe(forward-search-history)30 b(\(C-s\))21 b Fa(:)13 +g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(19)2025 1599 y Fc(end-of-file)28 +b Fe(\(usually)f(C-d\))16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fb(16)2025 1687 +y Fe(end-of-history)29 b(\(M->\))23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 +b Fb(15)2025 1775 y Fe(end-of-line)28 b(\(C-e\))13 b +Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(14)2025 +1863 y Fe(exchange-point-and-mark)31 b(\(C-x)26 b(C-x\))13 +b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(20)2025 +1951 y(expand-tilde)14 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)41 b Fb(6)2025 2205 y Fq(F)2025 +2322 y Fe(forward-backward-delete-char)32 b(\(\))11 b +Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b +Fb(16)2025 2410 y Fe(forward-char)28 b(\(C-f\))10 b Fa(:)15 +b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(14)2025 2498 +y Fe(forward-search-history)30 b(\(C-s\))21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 -b Fb(15)2025 2400 y Fe(forward-word)28 b(\(M-f\))10 b +b Fb(15)2025 2586 y Fe(forward-word)28 b(\(M-f\))10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(14)2025 -2643 y Fq(H)2025 2760 y Fb(history-preserv)n(e-p)r(oin)n(t)9 +2831 y Fq(H)2025 2949 y Fb(history-preserv)n(e-p)r(oin)n(t)9 b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(6)2025 -2848 y Fe(history-search-backward)31 b(\(\))7 b Fa(:)13 +3037 y Fe(history-search-backward)31 b(\(\))7 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 -b Fb(15)2025 2935 y Fe(history-search-forward)c(\(\))10 +b Fb(15)2025 3125 y Fe(history-search-forward)c(\(\))10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)36 b Fb(15)2025 3023 y(history-size)16 b Fa(:)d(:)h(:)f(:)g(:)g +f(:)g(:)36 b Fb(15)2025 3213 y(history-size)16 b Fa(:)d(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 -b Fb(6)2025 3110 y(horizon)n(tal-scroll-mo)r(de)23 b -Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(6)2025 -3345 y Fq(I)2025 3462 y Fb(input-meta)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 -b Fb(6)2025 3550 y Fe(insert-comment)29 b(\(M-#\))23 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(20)2025 3637 y -Fe(insert-completions)29 b(\(M-*\))12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 -b Fb(18)2025 3725 y(isearc)n(h-terminators)21 b Fa(:)13 +b Fb(6)2025 3301 y Fe(history-substr-search-backward)32 +b(\(\))6 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)33 +b Fb(15)2025 3389 y Fe(history-substr-search-forward)f(\(\))9 +b Fa(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(15)2025 +3477 y(horizon)n(tal-scroll-mo)r(de)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)48 b Fb(6)2025 3713 y Fq(I)2025 3831 y Fb(input-meta)19 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)47 b Fb(7)2025 3919 y Fe(insert-comment)29 +b(\(M-#\))23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(20)2025 +4007 y Fe(insert-completions)29 b(\(M-*\))12 b Fa(:)j(:)e(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 +b Fb(19)2025 4095 y(isearc)n(h-terminators)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(6)2025 -3960 y Fq(K)2025 4077 y Fb(k)n(eymap)8 b Fa(:)k(:)h(:)g(:)g(:)g(:)h(:)f +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(7)2025 +4332 y Fq(K)2025 4449 y Fb(k)n(eymap)8 b Fa(:)k(:)h(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fb(7)2025 4164 y Fe(kill-line)27 b(\(C-k\))18 b Fa(:)d(:)e(:)g(:)g(:) +b Fb(7)2025 4537 y Fe(kill-line)27 b(\(C-k\))18 b Fa(:)d(:)e(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 4252 y +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 4625 y Fe(kill-region)28 b(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)47 b Fb(17)2025 4339 y Fe(kill-whole-line)29 +g(:)h(:)f(:)g(:)47 b Fb(18)2025 4713 y Fe(kill-whole-line)29 b(\(\))10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 -b Fb(17)2025 4427 y Fe(kill-word)27 b(\(M-d\))18 b Fa(:)d(:)e(:)g(:)g +b Fb(17)2025 4801 y Fe(kill-word)27 b(\(M-d\))18 b Fa(:)d(:)e(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 4670 -y Fq(M)2025 4787 y Fb(mark-mo)r(di\014ed-lines)11 b Fa(:)i(:)g(:)g(:)g +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 5046 +y Fq(M)2025 5164 y Fb(mark-mo)r(di\014ed-lines)11 b Fa(:)i(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(7)2025 4875 y(mark-symlink)n +g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(7)2025 5252 y(mark-symlink)n (ed-directories)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(7)2025 -4962 y(matc)n(h-hidden-\014les)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)h(:)f +5340 y(matc)n(h-hidden-\014les)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)45 b Fb(7)2025 5050 y Fe(menu-complete)28 -b(\(\))16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(18)2025 5137 y Fe(menu-complete-backward)30 b(\(\))10 -b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)36 b Fb(19)2025 5225 y(men)n(u-complete-displa)n(y-pre\014x)19 -b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)49 b Fb(7)2025 5312 y(meta-\015ag)15 b Fa(:)f(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 -b Fb(6)p eop end -%%Page: 68 72 -TeXDict begin 68 71 bop 150 -116 a Fs(F)-8 b(unction)31 -b(and)f(V)-8 b(ariable)32 b(Index)2370 b(68)150 299 y -Fq(N)150 417 y Fe(next-history)28 b(\(C-n\))10 b Fa(:)15 -b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(15)150 506 -y Fe(non-incremental-forward-searc)q(h-hi)q(story)32 -b(\(M-n\))310 593 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +g(:)g(:)g(:)g(:)h(:)45 b Fb(7)p eop end +%%Page: 71 75 +TeXDict begin 71 74 bop 150 -116 a Fs(F)-8 b(unction)31 +b(and)f(V)-8 b(ariable)32 b(Index)2370 b(71)150 299 y +Fe(menu-complete)29 b(\(\))16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)42 b Fb(19)150 386 y Fe(menu-complete-backward)31 +b(\(\))10 b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)36 b Fb(19)150 473 y(men)n(u-complete-displa)n +(y-pre\014x)19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fb(8)150 561 y(meta-\015ag)15 +b Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)42 b Fb(7)150 811 y Fq(N)150 927 y +Fe(next-history)28 b(\(C-n\))10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)37 b Fb(15)150 1014 y Fe(non-incremental-forward-searc)q(h-hi)q +(story)32 b(\(M-n\))310 1102 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 +b Fb(15)150 1189 y Fe(non-incremental-reverse-searc)q(h-hi)q(story)f +(\(M-p\))310 1276 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 -b Fb(15)150 681 y Fe(non-incremental-reverse-searc)q(h-hi)q(story)f -(\(M-p\))310 769 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 -b Fb(15)150 1008 y Fq(O)150 1126 y Fb(output-meta)13 +b Fb(15)150 1510 y Fq(O)150 1626 y Fb(output-meta)13 b Fa(:)f(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)40 b Fb(7)150 1215 y Fe(overwrite-mode)29 b(\(\))13 +(:)g(:)40 b Fb(8)150 1713 y Fe(overwrite-mode)29 b(\(\))13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(17)150 -1462 y Fq(P)150 1581 y Fb(page-completions)21 b Fa(:)13 +1955 y Fq(P)150 2071 y Fb(page-completions)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 -b Fb(7)150 1669 y Fe(possible-completions)30 b(\(M-?\))7 +b Fb(8)150 2158 y Fe(possible-completions)30 b(\(M-?\))7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)33 b Fb(18)150 1758 y Fe(prefix-meta)28 b(\(ESC\))13 +(:)h(:)33 b Fb(19)150 2246 y Fe(prefix-meta)28 b(\(ESC\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(19)150 -1846 y Fe(previous-history)29 b(\(C-p\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(20)150 +2333 y Fe(previous-history)29 b(\(C-p\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(14)150 2104 y Fq(Q)150 2223 y Fe(quoted-insert)29 -b(\(C-q)d(or)g(C-v\))c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(16)150 2481 y Fq(R)150 -2599 y Fe(re-read-init-file)29 b(\(C-x)e(C-r\))11 b Fa(:)j(:)g(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(19)150 2687 y Fe(readline)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b -Fb(22)150 2776 y Fe(redraw-current-line)30 b(\(\))17 -b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)44 b Fb(14)150 2864 y Fe(reverse-search-history)31 -b(\(C-r\))20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)45 b Fb(15)150 2953 y(rev)n(ert-all-at-newline)22 -b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(8)150 -3041 y Fe(revert-line)28 b(\(M-r\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)39 b Fb(19)150 3130 y Fe(rl_add_defun)22 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fb(30)150 3218 y Fe(rl_add_funmap_entry)18 b Fa(:)g(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(33)150 3306 y Fe(rl_add_undo)24 -b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +b Fb(14)150 2420 y Fe(print-last-kbd-macro)30 b(\(\))15 +b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)41 b Fb(19)150 2673 y Fq(Q)150 2789 y +Fe(quoted-insert)29 b(\(C-q)d(or)g(C-v\))c Fa(:)13 b(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b +Fb(16)150 3041 y Fq(R)150 3157 y Fe(re-read-init-file)29 +b(\(C-x)e(C-r\))11 b Fa(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)38 b Fb(19)150 3245 y Fe(readline)12 +b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)38 b Fb(22)150 3332 y Fe(redraw-current-line)30 +b(\(\))17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(14)150 3419 y +Fe(reverse-search-history)31 b(\(C-r\))20 b Fa(:)13 b(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fb(15)150 +3506 y(rev)n(ert-all-at-newline)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -48 b Fb(34)150 3395 y Fe(rl_alphabetic)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(37)150 3483 y -Fe(rl_already_prompted)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(26)150 3572 y Fe(rl_attempted_completion_funct)q(ion)25 -b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(45)150 -3660 y Fe(rl_attempted_completion_over)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 -b Fb(49)150 3748 y Fe(rl_basic_quote_characters)26 b +g(:)g(:)h(:)48 b Fb(8)150 3594 y Fe(revert-line)28 b(\(M-r\))13 +b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(20)150 +3681 y Fe(rl_add_defun)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(30)150 3768 y Fe(rl_add_funmap_entry)18 +b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(34)150 3856 +y Fe(rl_add_undo)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)48 b Fb(34)150 3943 y Fe(rl_alphabetic)16 +b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 +b Fb(38)150 4030 y Fe(rl_already_prompted)18 b Fa(:)g(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(26)150 4118 y Fe +(rl_attempted_completion_funct)q(ion)25 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)45 b Fb(48)150 4205 y Fe(rl_attempted_completion_over)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 +b Fb(52)150 4292 y Fe(rl_basic_quote_characters)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)46 b Fb(47)150 3837 y Fe(rl_basic_word_break_character)q(s)7 +(:)g(:)46 b Fb(50)150 4380 y Fe(rl_basic_word_break_character)q(s)7 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 -b Fb(47)150 3925 y Fe(rl_begin_undo_group)18 b Fa(:)g(:)13 +b Fb(50)150 4467 y Fe(rl_begin_undo_group)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(33)150 4014 y Fe(rl_bind_key)24 +(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(34)150 4554 y Fe(rl_bind_key)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -48 b Fb(31)150 4102 y Fe(rl_bind_key_if_unbound)10 b +48 b Fb(31)150 4641 y Fe(rl_bind_key_if_unbound)10 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(31)150 4191 y Fe +h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(32)150 4729 y Fe (rl_bind_key_if_unbound_in_map)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(31)150 4279 y Fe(rl_bind_key_in_map) +(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(32)150 4816 y Fe(rl_bind_key_in_map) 25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(31)150 -4367 y Fe(rl_bind_keyseq)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +4903 y Fe(rl_bind_keyseq)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)40 b Fb(31)150 4456 y Fe(rl_bind_keyseq_if_unbound)26 +(:)f(:)g(:)g(:)40 b Fb(32)150 4991 y Fe(rl_bind_keyseq_if_unbound)26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)46 b Fb(32)150 4544 y Fe(rl_bind_keyseq_if_unbound_in_)q(map)25 +(:)g(:)46 b Fb(32)150 5078 y Fe(rl_bind_keyseq_if_unbound_in_)q(map)25 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(32)150 -4633 y Fe(rl_bind_keyseq_in_map)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h +5165 y Fe(rl_bind_keyseq_in_map)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(32)150 4721 y Fe(rl_binding_keymap)6 b Fa(:)17 b(:)c(:)g(:)h(:)f +b Fb(32)150 5253 y Fe(rl_binding_keymap)6 b Fa(:)17 b(:)c(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)32 b Fb(27)150 4809 y Fe +g(:)g(:)g(:)g(:)h(:)32 b Fb(28)150 5340 y Fe (rl_callback_handler_install)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(39)150 4898 y -Fe(rl_callback_handler_remove)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(39)150 4986 -y Fe(rl_callback_read_char)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(39)150 5075 y Fe(rl_catch_signals)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)35 b Fb(42)150 5163 y Fe(rl_catch_sigwinch)6 -b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(42)150 -5252 y Fe(rl_char_is_quoted_p)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(46)150 5340 y Fe(rl_cleanup_after_signal)8 b Fa(:)18 -b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)34 b Fb(42)2025 299 y Fe(rl_clear_message)9 -b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 -b Fb(35)2025 387 y Fe(rl_clear_pending_input)10 b Fa(:)18 -b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)37 b Fb(36)2025 476 y Fe(rl_clear_signals)9 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(40)2025 299 y +Fe(rl_callback_handler_remove)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(40)2025 387 +y Fe(rl_callback_read_char)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 +b Fb(40)2025 476 y Fe(rl_catch_signals)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(44)2025 564 y Fe(rl_catch_sigwinch)6 +b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(44)2025 +653 y Fe(rl_change_environment)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 +b Fb(44)2025 741 y Fe(rl_char_is_quoted_p)18 b Fa(:)f(:)c(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)45 b Fb(48)2025 830 y Fe(rl_cleanup_after_signal)8 +b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(45)2025 918 y Fe(rl_clear_history)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 -b Fb(43)2025 564 y Fe(rl_complete)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(44)2025 -653 y Fe(rl_complete_internal)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(44)2025 741 y Fe(rl_completer_quote_characters)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 -b Fb(47)2025 830 y Fe(rl_completer_word_break_charac)q(ters)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(47)2025 -918 y Fe(rl_completion_append_character)8 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(48)2025 -1006 y Fe(rl_completion_display_matches_)q(hook)15 b -Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(47)2025 1095 -y Fe(rl_completion_entry_function)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)45 b Fb(44,)27 b(45)2025 1183 y Fe +b Fb(40)2025 1006 y Fe(rl_clear_message)9 b Fa(:)16 b(:)d(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(35)2025 1095 y Fe +(rl_clear_pending_input)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 +b Fb(37)2025 1183 y Fe(rl_clear_signals)9 b Fa(:)16 b(:)d(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(45)2025 1272 y Fe(rl_complete)11 +b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 +b Fb(46,)27 b(47)2025 1360 y Fe(rl_complete_internal)16 +b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(47)2025 1449 y Fe +(rl_completer_quote_characters)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(50)2025 1537 y Fe +(rl_completer_word_break_charac)q(ters)15 b Fa(:)k(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(50)2025 1625 y Fe +(rl_completion_append_character)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(51)2025 1714 y Fe +(rl_completion_display_matches_)q(hook)15 b Fa(:)k(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(50)2025 1802 y Fe +(rl_completion_entry_function)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)45 b Fb(46,)27 b(48)2025 1891 y Fe (rl_completion_found_quote)e Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(48)2025 1272 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(51)2025 1979 y Fe(rl_completion_invoking_key)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(49)2025 -1360 y Fe(rl_completion_mark_symlink_dir)q(s)27 b Fa(:)14 -b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(48)2025 -1449 y Fe(rl_completion_matches)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(52)2025 +2068 y Fe(rl_completion_mark_symlink_dir)q(s)27 b Fa(:)14 +b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(51)2025 +2156 y Fe(rl_completion_matches)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 -b Fb(45)2025 1537 y Fe(rl_completion_mode)25 b Fa(:)13 +b Fb(47)2025 2245 y Fe(rl_completion_mode)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(44)2025 1625 y +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(47)2025 2333 y Fe(rl_completion_query_items)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(47)2025 -1714 y Fe(rl_completion_quote_character)10 b Fa(:)19 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(51)2025 +2421 y Fe(rl_completion_quote_character)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 -b Fb(48)2025 1802 y Fe(rl_completion_suppress_append)10 +b Fb(51)2025 2510 y Fe(rl_completion_suppress_append)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 -b Fb(48)2025 1891 y Fe(rl_completion_suppress_quote)13 +b Fb(51)2025 2598 y Fe(rl_completion_suppress_quote)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 -b Fb(48)2025 1979 y Fe(rl_completion_type)25 b Fa(:)13 +b Fb(51)2025 2687 y Fe(rl_completion_type)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(49)2025 2068 y +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(52)2025 2775 y Fe(rl_completion_word_break_hook)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b -Fb(47)2025 2156 y Fe(rl_copy_keymap)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f +Fb(50)2025 2864 y Fe(rl_copy_keymap)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(30)2025 2245 y Fe(rl_copy_text)21 +g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(31)2025 2952 y Fe(rl_copy_text)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(35)2025 2333 y Fe(rl_crlf)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g +b Fb(36)2025 3041 y Fe(rl_crlf)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(34)2025 2421 y Fe(rl_delete_text)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h +b Fb(35)2025 3129 y Fe(rl_delete_text)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(35)2025 2510 y Fe +g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(36)2025 3217 y Fe (rl_deprep_term_function)8 b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fb(27)2025 2598 y Fe(rl_deprep_terminal)25 b Fa(:)13 +b Fb(28)2025 3306 y Fe(rl_deprep_terminal)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(37)2025 2687 y +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(37)2025 3394 y Fe(rl_ding)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(37)2025 2775 +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(38)2025 3483 y Fe(rl_directory_completion_hook)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 -b Fb(46)2025 2864 y Fe(rl_discard_keymap)6 b Fa(:)17 +b Fb(49)2025 3571 y Fe(rl_directory_rewrite_hook;)17 +b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)44 b Fb(49)2025 3660 y Fe(rl_discard_keymap)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(30)2025 -2952 y Fe(rl_dispatching)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(31)2025 +3748 y Fe(rl_dispatching)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)40 b Fb(25)2025 3041 y Fe(rl_display_match_list)13 +(:)g(:)h(:)f(:)40 b Fb(25)2025 3836 y Fe(rl_display_match_list)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(38)2025 3129 y +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(38)2025 3925 y Fe(rl_display_prompt)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -33 b Fb(26)2025 3217 y Fe(rl_do_undo)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f +33 b Fb(26)2025 4013 y Fe(rl_do_undo)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b -Fb(34)2025 3306 y Fe(rl_done)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:) +Fb(34)2025 4102 y Fe(rl_done)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(25)2025 3394 y Fe(rl_echo_signal_char)18 b Fa(:)f(:)c(:)h(:)f(:)g +b Fb(25)2025 4190 y Fe(rl_echo_signal_char)18 b Fa(:)f(:)c(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)45 b Fb(42)2025 3483 y Fe(rl_editing_mode)11 +g(:)g(:)45 b Fb(45)2025 4279 y Fe(rl_editing_mode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fb(29)2025 3571 y Fe(rl_end)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g +b Fb(30)2025 4367 y Fe(rl_end)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(25)2025 3660 y Fe(rl_end_undo_group)6 b Fa(:)17 +b Fb(25)2025 4456 y Fe(rl_end_undo_group)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(33)2025 -3748 y Fe(rl_erase_empty_line)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(34)2025 +4544 y Fe(rl_erase_empty_line)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fb(25)2025 3836 y Fe(rl_event_hook)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:) +b Fb(25)2025 4632 y Fe(rl_event_hook)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(27)2025 3925 y +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(27)2025 4721 y Fe(rl_execute_next)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)38 b Fb(36)2025 4013 y Fe(rl_executing_keymap)18 +g(:)g(:)38 b Fb(37)2025 4809 y Fe(rl_executing_key)9 +b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 +b Fb(28)2025 4898 y Fe(rl_executing_keymap)18 b Fa(:)f(:)c(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)45 b Fb(28)2025 4986 y Fe(rl_executing_keyseq)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(27)2025 4102 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(28)2025 5075 y Fe(rl_executing_macro)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 -b Fb(27)2025 4190 y Fe(rl_expand_prompt)9 b Fa(:)16 b(:)d(:)g(:)h(:)f +b Fb(28)2025 5163 y Fe(rl_expand_prompt)9 b Fa(:)16 b(:)d(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(35)2025 4279 y Fe(rl_explicit_arg)11 +g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(36)2025 5252 y Fe(rl_explicit_arg)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fb(29)2025 4367 y Fe(rl_extend_line_buffer)13 b Fa(:)18 +b Fb(30)2025 5340 y Fe(rl_extend_line_buffer)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)40 b Fb(37)2025 4456 y Fe -(rl_filename_completion_desired)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(48)2025 4544 y Fe -(rl_filename_completion_functio)q(n)27 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)48 b Fb(45)2025 4632 y Fe -(rl_filename_dequoting_function)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(46)2025 4721 y Fe -(rl_filename_quote_characters)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fb(47)2025 4809 y -Fe(rl_filename_quoting_desired)15 b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(49)2025 4898 -y Fe(rl_filename_quoting_function)13 b Fa(:)19 b(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 -b Fb(45)2025 4986 y Fe(rl_filename_rewrite_hook)28 b -Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)49 b Fb(46)2025 5075 y Fe(rl_forced_update_display)28 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)49 b Fb(34)2025 5163 y Fe(rl_free)15 b Fa(:)f(:)f(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(37)2025 5252 y Fe(rl_free_keymap)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(30)2025 5340 y Fe -(rl_free_line_state)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 -b Fb(42)p eop end -%%Page: 69 73 -TeXDict begin 69 72 bop 150 -116 a Fs(F)-8 b(unction)31 -b(and)f(V)-8 b(ariable)32 b(Index)2370 b(69)150 299 y -Fe(rl_free_undo_list)6 b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -32 b Fb(34)150 387 y Fe(rl_function_dumper)25 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(33)150 476 y Fe -(rl_function_of_keyseq)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(32)150 564 y Fe(rl_funmap_names)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(33)150 653 y Fe(rl_generic_bind)11 +g(:)g(:)g(:)g(:)g(:)40 b Fb(38)p eop end +%%Page: 72 76 +TeXDict begin 72 75 bop 150 -116 a Fs(F)-8 b(unction)31 +b(and)f(V)-8 b(ariable)32 b(Index)2370 b(72)150 299 y +Fe(rl_filename_completion_desire)q(d)7 b Fa(:)19 b(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(52)150 +387 y Fe(rl_filename_completion_functi)q(on)28 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(47)150 +476 y Fe(rl_filename_dequoting_functio)q(n)7 b Fa(:)19 +b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 +b Fb(48)150 564 y Fe(rl_filename_quote_characters)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 +b Fb(50)150 653 y Fe(rl_filename_quoting_desired)15 b +Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 +b Fb(52)150 741 y Fe(rl_filename_quoting_function)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 +b Fb(48)150 830 y Fe(rl_filename_rewrite_hook)28 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)49 b Fb(49)150 918 y Fe(rl_filename_stat_hook)13 b +Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(49)150 1006 y Fe +(rl_forced_update_display)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(35)150 +1095 y Fe(rl_free)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(38)150 +1183 y Fe(rl_free_keymap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)40 b Fb(31)150 1272 y Fe(rl_free_line_state)25 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(45)150 +1360 y Fe(rl_free_undo_list)6 b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)32 b Fb(34)150 1449 y Fe(rl_function_dumper)25 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(33)150 +1537 y Fe(rl_function_of_keyseq)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fb(33)150 1625 y Fe(rl_funmap_names)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(33)150 1714 y Fe(rl_generic_bind)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(32)150 741 y Fe(rl_get_keymap)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g +b Fb(33)150 1802 y Fe(rl_get_keymap)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(30)150 830 y Fe +h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(31)150 1891 y Fe (rl_get_keymap_by_name)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(30)150 918 y Fe(rl_get_keymap_name)25 b Fa(:)13 +b Fb(31)150 1979 y Fe(rl_get_keymap_name)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(30)150 1006 y +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(31)150 2068 y Fe(rl_get_screen_size)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 -b Fb(43)150 1095 y Fe(rl_get_termcap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) +b Fb(45)150 2156 y Fe(rl_get_termcap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(39)150 1183 y Fe(rl_getc)15 +(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(39)150 2245 y Fe(rl_getc)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)41 b Fb(36)150 1272 y Fe(rl_getc_function)9 +(:)f(:)g(:)g(:)g(:)41 b Fb(37)150 2333 y Fe(rl_getc_function)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fb(27)150 1360 y Fe(rl_gnu_readline_p)6 b Fa(:)17 b(:)c(:)g(:)h(:)f +b Fb(27)150 2421 y Fe(rl_gnu_readline_p)6 b Fa(:)17 b(:)c(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)32 b Fb(26)150 1449 y Fe +g(:)g(:)g(:)g(:)h(:)32 b Fb(26)150 2510 y Fe (rl_ignore_completion_duplicat)q(es)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)48 b Fb(48)150 1537 y Fe(rl_ignore_some_completions_fu)q +(:)g(:)g(:)g(:)48 b Fb(51)150 2598 y Fe(rl_ignore_some_completions_fu)q (ncti)q(on)12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)38 -b Fb(46)150 1625 y Fe(rl_inhibit_completion)13 b Fa(:)18 +b Fb(49)150 2687 y Fe(rl_inhibit_completion)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)39 b Fb(49)150 1714 y Fe(rl_initialize)16 +g(:)g(:)g(:)h(:)f(:)39 b Fb(52)150 2775 y Fe(rl_initialize)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fb(37)150 1802 y Fe(rl_insert_completions)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)39 b Fb(44)150 1891 y Fe(rl_insert_text)14 -b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 -b Fb(35)150 1979 y Fe(rl_instream)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(26)150 -2068 y Fe(rl_invoking_keyseqs)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(33)150 2156 y Fe(rl_invoking_keyseqs_in_map)18 b -Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(33)150 2245 y Fe(rl_kill_text)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g +b Fb(38)150 2864 y Fe(rl_input_available_hook)8 b Fa(:)18 +b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)34 b Fb(27)150 2952 y Fe(rl_insert_completions)13 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(47)150 3041 y +Fe(rl_insert_text)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)40 b Fb(36)150 3129 y Fe(rl_instream)24 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 +b Fb(26)150 3217 y Fe(rl_invoking_keyseqs)18 b Fa(:)g(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(33)150 3306 y Fe +(rl_invoking_keyseqs_in_map)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(33)150 3394 y +Fe(rl_key_sequence_length)10 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 +b Fb(28)150 3483 y Fe(rl_kill_text)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(36)150 2333 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(36)150 3571 y Fe(rl_last_func)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)45 b Fb(27)150 2421 y Fe(rl_library_version)25 +(:)g(:)h(:)f(:)g(:)45 b Fb(27)150 3660 y Fe(rl_library_version)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(26)150 -2510 y Fe(rl_line_buffer)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +3748 y Fe(rl_line_buffer)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)40 b Fb(25)150 2598 y Fe(rl_list_funmap_names)16 +(:)f(:)g(:)g(:)40 b Fb(25)150 3836 y Fe(rl_list_funmap_names)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(33)150 2687 y Fe(rl_macro_bind)16 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(33)150 3925 y Fe(rl_macro_bind)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fb(38)150 2775 y Fe(rl_macro_dumper)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:) +b Fb(39)150 4013 y Fe(rl_macro_dumper)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(38)150 2864 y Fe +(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(39)150 4102 y Fe (rl_make_bare_keymap)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(30)150 2952 y Fe(rl_make_keymap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) +b Fb(30)150 4190 y Fe(rl_make_keymap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(30)150 3041 y Fe(rl_mark)15 +(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(31)150 4279 y Fe(rl_mark)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)41 b Fb(25)150 3129 y Fe(rl_message)7 +(:)f(:)g(:)g(:)g(:)41 b Fb(25)150 4367 y Fe(rl_message)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)33 b Fb(35)150 3217 y Fe(rl_modifying)22 b Fa(:)13 +f(:)g(:)33 b Fb(35)150 4456 y Fe(rl_modifying)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fb(34)150 3306 y Fe(rl_named_function)6 b Fa(:)17 b(:)c(:)g(:)h(:)f +b Fb(34)150 4544 y Fe(rl_named_function)6 b Fa(:)17 b(:)c(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)32 b Fb(32)150 3394 y Fe(rl_num_chars_to_read)16 +g(:)g(:)g(:)g(:)h(:)32 b Fb(33)150 4632 y Fe(rl_num_chars_to_read)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(25)150 3483 y Fe(rl_numeric_arg)14 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(25)150 4721 y Fe(rl_numeric_arg)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 -b Fb(29)150 3571 y Fe(rl_on_new_line)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) +b Fb(30)150 4809 y Fe(rl_on_new_line)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(34)150 3660 y Fe +(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(35)150 4898 y Fe (rl_on_new_line_with_prompt)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(34)150 3748 y +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(35)150 4986 y Fe(rl_outstream)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)45 b Fb(26)150 3836 y Fe(rl_parse_and_bind)6 +g(:)h(:)f(:)g(:)45 b Fb(26)150 5075 y Fe(rl_parse_and_bind)6 b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(32)150 -3925 y Fe(rl_pending_input)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:) +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(33)150 +5163 y Fe(rl_pending_input)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)35 b Fb(25)150 4013 y Fe(rl_point)12 b Fa(:)j(:)e(:)g(:)g(:) +(:)g(:)g(:)35 b Fb(25)150 5252 y Fe(rl_point)12 b Fa(:)j(:)e(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fb(25)150 4102 y Fe(rl_possible_completions)8 b Fa(:)18 +b Fb(25)150 5340 y Fe(rl_possible_completions)8 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)34 b Fb(44)150 4190 y Fe(rl_pre_input_hook)6 -b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(27)150 -4279 y Fe(rl_prefer_env_winsize)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(26)150 4367 y Fe(rl_prep_term_function)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)39 b Fb(27)150 4456 y Fe(rl_prep_terminal)9 -b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fb(36)150 4544 y Fe(rl_prompt)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b -Fb(26)150 4632 y Fe(rl_push_macro_input)18 b Fa(:)g(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(36)150 4721 y Fe(rl_read_init_file)6 -b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(32)150 -4809 y Fe(rl_read_key)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(36)150 4898 y Fe(rl_readline_name)9 -b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 -b Fb(26)150 4986 y Fe(rl_readline_state)6 b Fa(:)17 b(:)c(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)32 b Fb(28)150 5075 y Fe(rl_readline_version)18 -b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(26)150 5163 -y Fe(rl_redisplay)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)45 b Fb(34)150 5252 y Fe(rl_redisplay_function)13 -b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(27)150 5340 y -Fe(rl_replace_line)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)38 b Fb(37)2025 299 y Fe(rl_reset_after_signal)13 -b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(42)2025 386 y -Fe(rl_reset_line_state)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fb(34)2025 474 y Fe(rl_reset_screen_size)16 b Fa(:)h(:)c(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)42 b Fb(43)2025 561 y Fe(rl_reset_terminal)6 b Fa(:)17 -b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(37)2025 -648 y Fe(rl_resize_terminal)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -47 b Fb(42)2025 736 y Fe(rl_restore_prompt)6 b Fa(:)17 +h(:)f(:)g(:)34 b Fb(47)2025 299 y Fe(rl_pre_input_hook)6 +b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(27)2025 +387 y Fe(rl_prefer_env_winsize)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 +b Fb(26)2025 474 y Fe(rl_prep_term_function)13 b Fa(:)18 +b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)40 b Fb(28)2025 562 y Fe(rl_prep_terminal)9 +b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 +b Fb(37)2025 650 y Fe(rl_prompt)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b +Fb(26)2025 738 y Fe(rl_push_macro_input)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)45 b Fb(36)2025 826 y Fe(rl_read_init_file)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(35)2025 -823 y Fe(rl_restore_state)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)35 b Fb(37)2025 910 y Fe(rl_save_prompt)14 b -Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fb(35)2025 998 y Fe(rl_save_state)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(33)2025 +913 y Fe(rl_read_key)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(37)2025 1085 y Fe(rl_set_key)7 -b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(36)2025 1001 y Fe(rl_readline_name)9 +b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 +b Fb(26)2025 1089 y Fe(rl_readline_state)6 b Fa(:)17 +b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(28)2025 +1177 y Fe(rl_readline_version)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 +b Fb(26)2025 1265 y Fe(rl_redisplay)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(35)2025 1352 +y Fe(rl_redisplay_function)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 +b Fb(27)2025 1440 y Fe(rl_replace_line)11 b Fa(:)17 b(:)c(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)33 b Fb(32)2025 1173 y Fe(rl_set_keyboard_input_timeout)10 -b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 -b Fb(36)2025 1260 y Fe(rl_set_keymap)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(38)2025 1528 y Fe +(rl_reset_after_signal)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 +b Fb(45)2025 1616 y Fe(rl_reset_line_state)18 b Fa(:)f(:)c(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)45 b Fb(35)2025 1704 y Fe(rl_reset_screen_size)16 +b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(45)2025 1791 y Fe +(rl_reset_terminal)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 +b Fb(37)2025 1879 y Fe(rl_resize_terminal)25 b Fa(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(45)2025 1967 y +Fe(rl_restore_prompt)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +33 b Fb(36)2025 2055 y Fe(rl_restore_state)9 b Fa(:)16 +b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(38)2025 +2142 y Fe(rl_save_prompt)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(30)2025 1347 y +(:)g(:)h(:)f(:)40 b Fb(35)2025 2230 y Fe(rl_save_state)16 +b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 +b Fb(38)2025 2318 y Fe(rl_set_key)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(32)2025 +2406 y Fe(rl_set_keyboard_input_timeout)10 b Fa(:)19 +b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 +b Fb(37)2025 2494 y Fe(rl_set_keymap)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(31)2025 2581 y Fe(rl_set_paren_blink_timeout)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(39)2025 1435 +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(39)2025 2669 y Fe(rl_set_prompt)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)43 b Fb(35)2025 1522 y Fe(rl_set_screen_size)25 +g(:)g(:)g(:)43 b Fb(36)2025 2757 y Fe(rl_set_screen_size)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(42)2025 -1609 y Fe(rl_set_signals)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(45)2025 +2845 y Fe(rl_set_signals)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)40 b Fb(43)2025 1697 y Fe(rl_show_char)21 +(:)g(:)h(:)f(:)40 b Fb(45)2025 2933 y Fe(rl_show_char)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(34)2025 1784 y Fe(rl_sort_completion_matches)17 +b Fb(35)2025 3020 y Fe(rl_signal_event_hook)16 b Fa(:)h(:)c(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)42 b Fb(27)2025 3108 y Fe(rl_sort_completion_matches)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)44 b Fb(49)2025 1872 y Fe(rl_special_prefixes)18 b +(:)44 b Fb(52)2025 3196 y Fe(rl_special_prefixes)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(47)2025 1959 y +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(50)2025 3284 y Fe(rl_startup_hook)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)38 b Fb(27)2025 2046 y Fe(rl_stuff_char)16 b +g(:)g(:)38 b Fb(27)2025 3372 y Fe(rl_stuff_char)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 -b Fb(36)2025 2134 y Fe(rl_terminal_name)9 b Fa(:)16 b(:)d(:)g(:)h(:)f +b Fb(37)2025 3459 y Fe(rl_terminal_name)9 b Fa(:)16 b(:)d(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(26)2025 2221 y Fe +g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(26)2025 3547 y Fe (rl_tty_set_default_bindings)15 b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(37)2025 2308 y +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(37)2025 3635 y Fe(rl_tty_unset_default_bindings)10 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b -Fb(37)2025 2396 y Fe(rl_unbind_command_in_map)28 b Fa(:)13 +Fb(37)2025 3723 y Fe(rl_unbind_command_in_map)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)49 b Fb(31)2025 2483 y Fe(rl_unbind_function_in_map)25 +(:)49 b Fb(32)2025 3810 y Fe(rl_unbind_function_in_map)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)46 b Fb(31)2025 2570 y Fe(rl_unbind_key)16 b Fa(:)g(:)d(:)g(:)h +(:)h(:)46 b Fb(32)2025 3898 y Fe(rl_unbind_key)16 b Fa(:)g(:)d(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(31)2025 -2658 y Fe(rl_unbind_key_in_map)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(32)2025 +3986 y Fe(rl_unbind_key_in_map)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(31)2025 2745 y Fe(rl_username_completion_functio)q(n)27 +b Fb(32)2025 4074 y Fe(rl_username_completion_functio)q(n)27 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 -b Fb(45)2025 2833 y Fe(rl_variable_bind)9 b Fa(:)16 b(:)d(:)g(:)h(:)f +b Fb(48)2025 4162 y Fe(rl_variable_bind)9 b Fa(:)16 b(:)d(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(38)2025 2920 y Fe(rl_variable_dumper)25 +g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(39)2025 4249 y Fe(rl_variable_dumper)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(39)2025 -3007 y Fe(rl_variable_value)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g +4337 y Fe(rl_variable_value)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)33 b Fb(39)2025 3250 y Fq(S)2025 3367 y Fe(self-insert)28 +g(:)g(:)33 b Fb(39)2025 4583 y Fq(S)2025 4700 y Fe(self-insert)28 b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(16)2025 3454 y Fe(set-mark)27 +g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(16)2025 4788 y Fe(set-mark)27 b(\(C-@\))22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)47 b Fb(19)2025 3542 y(sho)n(w-all-if-am)n(biguous)14 +(:)47 b Fb(20)2025 4875 y(sho)n(w-all-if-am)n(biguous)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(8)2025 -3629 y(sho)n(w-all-if-unmo)r(di\014ed)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:) +4963 y(sho)n(w-all-if-unmo)r(di\014ed)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)50 b Fb(8)2025 3716 y(skip-completed-text)11 -b Fa(:)h(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b -Fb(8)2025 3804 y Fe(skip-csi-sequence)29 b(\(\))23 b -Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(20)2025 3891 y -Fe(start-kbd-macro)29 b(\(C-x)d(\(\))c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 -b Fb(19)2025 4133 y Fq(T)2025 4249 y Fe(tab-insert)28 -b(\(M-TAB\))10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 -b Fb(16)2025 4337 y Fe(tilde-expand)28 b(\(M-~\))10 b -Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(19)2025 -4424 y Fe(transpose-chars)29 b(\(C-t\))21 b Fa(:)13 b(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -46 b Fb(16)2025 4512 y Fe(transpose-words)29 b(\(M-t\))21 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fb(16)2025 4764 y Fq(U)2025 -4880 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))6 b Fa(:)14 -b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(19)2025 4968 y Fe -(universal-argument)c(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 -b Fb(18)2025 5055 y Fe(unix-filename-rubout)30 b(\(\))15 -b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)41 b Fb(17)2025 5143 y Fe(unix-line-discard)29 -b(\(C-u\))15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(17)2025 5230 y -Fe(unix-word-rubout)29 b(\(C-w\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 -b Fb(17)2025 5317 y Fe(upcase-word)28 b(\(M-u\))13 b -Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(16)p -eop end -%%Page: 70 74 -TeXDict begin 70 73 bop 150 -116 a Fs(F)-8 b(unction)31 -b(and)f(V)-8 b(ariable)32 b(Index)2370 b(70)150 299 y -Fq(V)150 425 y Fe(vi-editing-mode)29 b(\(M-C-j\))15 b -Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)41 b Fb(20)150 518 y(visible-stats)7 b -Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)34 b Fb(8)2025 299 y Fq(Y)2025 416 y Fe(yank)26 -b(\(C-y\))14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)40 b Fb(18)2025 503 y Fe(yank-last-arg)28 -b(\(M-.)f(or)f(M-_\))c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fb(15)2025 591 y Fe(yank-nth-arg)28 -b(\(M-C-y\))c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(15)2025 -679 y Fe(yank-pop)27 b(\(M-y\))22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)50 b Fb(8)2025 5051 y(sho)n(w-mo)r(de-in-prompt)9 +b Fa(:)j(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(8)2025 +5139 y(skip-completed-text)11 b Fa(:)h(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)38 b Fb(8)2025 5227 y Fe(skip-csi-sequence)29 +b(\(\))23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(20)2025 +5314 y Fe(start-kbd-macro)29 b(\(C-x)d(\(\))c Fa(:)13 +b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)48 b Fb(19)p eop end +%%Page: 73 77 +TeXDict begin 73 76 bop 150 -116 a Fs(F)-8 b(unction)31 +b(and)f(V)-8 b(ariable)32 b(Index)2370 b(73)150 299 y +Fq(T)150 415 y Fe(tab-insert)28 b(\(M-TAB\))10 b Fa(:)15 +b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(16)150 502 +y Fe(tilde-expand)28 b(\(M-~\))10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)37 b Fb(20)150 590 y Fe(transpose-chars)29 b(\(C-t\))21 +b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(16)150 677 y Fe(transpose-words)29 +b(\(M-t\))21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(17)150 +929 y Fq(U)150 1045 y Fe(undo)27 b(\(C-_)f(or)g(C-x)g(C-u\))6 +b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(20)150 1133 +y Fe(universal-argument)e(\(\))20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 +b Fb(18)150 1220 y Fe(unix-filename-rubout)30 b(\(\))15 +b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)41 b Fb(18)150 1307 y Fe(unix-line-discard)29 +b(\(C-u\))15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(17)150 1395 y +Fe(unix-word-rubout)29 b(\(C-w\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(17)2025 299 y Fe(upcase-word)28 b(\(M-u\))13 b Fa(:)h(:)f(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(17)2025 559 y Fq(V)2025 +678 y Fe(vi-editing-mode)29 b(\(M-C-j\))15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 +b Fb(21)2025 767 y(visible-stats)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(18)p eop end +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b +Fb(9)2025 1009 y Fq(Y)2025 1128 y Fe(yank)26 b(\(C-y\))14 +b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)40 b Fb(18)2025 1217 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\)) +c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)47 b Fb(16)2025 1306 y Fe(yank-nth-arg)28 b(\(M-C-y\))c +Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(15)2025 1395 y +Fe(yank-pop)27 b(\(M-y\))22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)47 b Fb(18)p eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/doc/readline_3.ps b/doc/readline_3.ps index 27d1a63..306aa74 100644 --- a/doc/readline_3.ps +++ b/doc/readline_3.ps @@ -1,14 +1,14 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Tue Feb 8 11:13:01 2011 +%%CreationDate: Tue Feb 11 16:57:26 2014 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%DocumentSuppliedResources: procset grops 1.19 2 -%%Pages: 15 +%%Pages: 16 %%PageOrder: Ascend -%%DocumentMedia: Default 595 842 0 () () +%%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait %%EndComments %%BeginDefaults @@ -190,18 +190,18 @@ setpacking %%EndProlog %%BeginSetup %%BeginFeature: *PageSize Default -<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice +<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice %%EndFeature %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 -def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron -/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef +def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron +/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent +/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O @@ -336,8 +336,8 @@ le is read, and the k)108 616.8 R 1.459 -.15(ey b)-.1 H 1.159 (re).15 G(xample, placing)-2.65 E(M\255Control\255u: uni)144 698.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(or)108 710.4 Q (C\255Meta\255u: uni)144 722.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument) --.18 E(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(1)197.055 E 0 -Cg EP +-.18 E(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(1)198.45 E 0 Cg +EP %%Page: 2 2 %%BeginPageSetup BP @@ -430,8 +430,8 @@ Q F0(horizontal tab)29.89 E F2(\\v)144 672 Q F0 -.15(ve)28.22 G o indicate a macro de\214nition.)-.15 F .089(Unquoted te)108 724.8 R .089(xt is assumed to be a function name.)-.15 F .09(In the macro body) 5.089 F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F --.15(ve)-.15 G(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(2) -197.055 E 0 Cg EP +-.15(ve)-.15 G(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(2) +198.45 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -482,980 +482,1046 @@ E 5.043(.A)-.55 G -.25(va)-2.5 G .043(riable may be set in the).25 F F2 to bind the control characters treated specially by the k)-2.555 F (ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 336 Q -.15(ve) -.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)-.25 -G(lents.).25 E F1(comment\255begin \(`)108 348 Q(`#')-.63 E('\))-.63 E -F0 .062(The string that is inserted in)144 360 R F1(vi)2.562 E F0 .062 +G(lents.).25 E F1(color)108 348 Q(ed\255stats \(Off\))-.18 E F0 1.58 +(If set to)144 360 R F1(On)4.08 E F0 4.08(,r)C 1.579 +(eadline displays possible completions using dif)-4.08 F 1.579 +(ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 372 R +(color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25 +E F1(LS_COLORS)2.5 E F0(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E F1 +(comment\255begin \(`)108 384 Q(`#')-.63 E('\))-.63 E F0 .062 +(The string that is inserted in)144 396 R F1(vi)2.562 E F0 .062 (mode when the)2.562 F F1(insert\255comment)2.562 E F0 .062 (command is e)2.562 F -.15(xe)-.15 G 2.562(cuted. This).15 F(com-)2.562 -E(mand is bound to)144 372 Q F1(M\255#)2.5 E F0(in emacs mode and to)2.5 +E(mand is bound to)144 408 Q F1(M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0(in vi command mode.)2.5 E F1 -(completion\255display\255width \(-1\))108 384 Q F0 1.453(The number of\ +(completion\255display\255width \(-1\))108 420 Q F0 1.453(The number of\ screen columns used to display possible matches when performing comple\ -tion.)144 396 R .194(The v)144 408 R .193(alue is ignored if it is less\ - than 0 or greater than the terminal screen width.)-.25 F 2.693(Av)5.193 -G .193(alue of 0 will)-2.943 F -(cause matches to be displayed one per line.)144 420 Q(The def)5 E -(ault v)-.1 E(alue is -1.)-.25 E F1(completion\255ignor)108 432 Q -(e\255case \(Off\))-.18 E F0(If set to)144 444 Q F1(On)2.5 E F0 2.5(,r)C +tion.)144 432 R .193(The v)144 444 R .193(alue is ignored if it is less\ + than 0 or greater than the terminal screen width.)-.25 F 2.694(Av)5.194 +G .194(alue of 0 will)-2.944 F +(cause matches to be displayed one per line.)144 456 Q(The def)5 E +(ault v)-.1 E(alue is -1.)-.25 E F1(completion\255ignor)108 468 Q +(e\255case \(Off\))-.18 E F0(If set to)144 480 Q F1(On)2.5 E F0 2.5(,r)C (eadline performs \214lename matching and completion in a case\255insen\ siti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1 -(completion\255map\255case \(Off\))108 456 Q F0 .093(If set to)144 468 R +(completion\255map\255case \(Off\))108 492 Q F0 .094(If set to)144 504 R F1(On)2.593 E F0 2.593(,a)C(nd)-2.593 E F1(completion\255ignor)2.593 E (e\255case)-.18 E F0 .093(is enabled, readline treats h)2.593 F .093 -(yphens \()-.05 F F2A F0 2.593(\)a)C .094(nd underscores)-2.593 F -(\()144 480 Q F2(_)A F0 2.5(\)a)C 2.5(se)-2.5 G(qui)-2.5 E -.25(va)-.25 +(yphens \()-.05 F F2A F0 2.593(\)a)C .093(nd underscores)-2.593 F +(\()144 516 Q F2(_)A F0 2.5(\)a)C 2.5(se)-2.5 G(qui)-2.5 E -.25(va)-.25 G(lent when performing case\255insensiti).25 E .3 -.15(ve \214)-.25 H -(lename matching and completion.).15 E F1(completion\255pr)108 492 Q +(lename matching and completion.).15 E F1(completion\255pr)108 528 Q (e\214x\255display\255length \(0\))-.18 E F0 .829(The length in charact\ ers of the common pre\214x of a list of possible completions that is di\ -splayed)144 504 R 1.274(without modi\214cation.)144 516 R 1.274 -(When set to a v)6.274 F 1.274(alue greater than zero, common pre\214x) --.25 F 1.275(es longer than this)-.15 F -.25(va)144 528 S(lue are repla\ +splayed)144 540 R 1.275(without modi\214cation.)144 552 R 1.275 +(When set to a v)6.275 F 1.274(alue greater than zero, common pre\214x) +-.25 F 1.274(es longer than this)-.15 F -.25(va)144 564 S(lue are repla\ ced with an ellipsis when displaying possible completions.).25 E F1 -(completion\255query\255items \(100\))108 540 Q F0 .53 -(This determines when the user is queried about vie)144 552 R .529 -(wing the number of possible completions gen-)-.25 F .56(erated by the) -144 564 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F -.561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v) --.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 576 R +(completion\255query\255items \(100\))108 576 Q F0 .529 +(This determines when the user is queried about vie)144 588 R .53 +(wing the number of possible completions gen-)-.25 F .561(erated by the) +144 600 R F1(possible\255completions)3.061 E F0 3.061(command. It)3.061 +F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte)-3.06 E .56(ger v) +-.15 F .56(alue greater than or)-.25 F .782(equal to zero.)144 612 R .783(If the number of possible completions is greater than or equal to \ -the v)5.783 F .782(alue of this)-.25 F -.25(va)144 588 S .237 +the v)5.782 F .783(alue of this)-.25 F -.25(va)144 624 S .237 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie) -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G -.237(re simply listed)-2.737 F(on the terminal.)144 600 Q 2.5(An)5 G +.237(re simply listed)-2.737 F(on the terminal.)144 636 Q 2.5(An)5 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve v)-.25 H (alue causes readline to ne)-.1 E -.15(ve)-.25 G 2.5(ra).15 G(sk.)-2.5 E -F1(con)108 612 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to) -144 624 R F1(On)3.113 E F0 3.113(,r)C .613(eadline will con)-3.113 F +F1(con)108 648 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to) +144 660 R F1(On)3.112 E F0 3.112(,r)C .613(eadline will con)-3.112 F -.15(ve)-.4 G .613(rt characters with the eighth bit set to an ASCII k) -.15 F .912 -.15(ey s)-.1 H .612(equence by).15 F 1.315(stripping the ei\ -ghth bit and pre\214xing it with an escape character \(in ef)144 636 R -1.316(fect, using escape as the)-.25 F F2(meta pr)144 648 Q(e\214x)-.37 -E F0(\).)A F1(disable\255completion \(Off\))108 660 Q F0 .038(If set to) -144 672 R F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 +.15 F .913 -.15(ey s)-.1 H .613(equence by).15 F 1.316(stripping the ei\ +ghth bit and pre\214xing it with an escape character \(in ef)144 672 R +1.315(fect, using escape as the)-.25 F F2(meta pr)144 684 Q(e\214x)-.37 +E F0(\).)A F1(disable\255completion \(Off\))108 696 Q F0 .038(If set to) +144 708 R F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038(ord completion.)-.1 F .038 (Completion characters will be inserted into the)5.038 F(line as if the) -144 684 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0 -(.)A F1(editing\255mode \(emacs\))108 696 Q F0 .141 -(Controls whether readline be)144 708 R .141(gins with a set of k)-.15 F -.441 -.15(ey b)-.1 H .141(indings similar to).15 F F2(Emacs)2.642 E F0 -(or)2.642 E F2(vi)2.642 E F0(.)A F1(editing\255mode)5.142 E F0 -(can be set to either)144 720 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E -F0(.)A(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(3)197.055 E 0 -Cg EP +144 720 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0 +(.)A(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(3)198.45 E 0 Cg +EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF(echo\255contr)108 84 Q(ol\255characters \(On\))-.18 E -F0 1.211(When set to)144 96 R F1(On)3.711 E F0 3.711(,o)C 3.711(no) --3.711 G 1.211(perating systems that indicate the)-3.711 F 3.711(ys)-.15 -G 1.21(upport it, readline echoes a character)-3.711 F -(corresponding to a signal generated from the k)144 108 Q -.15(ey)-.1 G -(board.).15 E F1(enable\255k)108 120 Q(eypad \(Off\))-.1 E F0 .892 -(When set to)144 132 R F1(On)3.393 E F0 3.393(,r)C .893 +/Times-Bold@0 SF(editing\255mode \(emacs\))108 84 Q F0 .142 +(Controls whether readline be)144 96 R .141(gins with a set of k)-.15 F +.441 -.15(ey b)-.1 H .141(indings similar to).15 F/F2 10/Times-Italic@0 +SF(Emacs)2.641 E F0(or)2.641 E F2(vi)2.641 E F0(.)A F1(editing\255mode) +5.141 E F0(can be set to either)144 108 Q F1(emacs)2.5 E F0(or)2.5 E F1 +(vi)2.5 E F0(.)A F1(echo\255contr)108 120 Q(ol\255characters \(On\))-.18 +E F0 1.21(When set to)144 132 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71 +G 1.211(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211 +(upport it, readline echoes a character)-3.711 F +(corresponding to a signal generated from the k)144 144 Q -.15(ey)-.1 G +(board.).15 E F1(enable\255k)108 156 Q(eypad \(Off\))-.1 E F0 .893 +(When set to)144 168 R F1(On)3.393 E F0 3.393(,r)C .893 (eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G -.893(pad when it is called.).15 F .893(Some sys-)5.893 F -(tems need this to enable the arro)144 144 Q 2.5(wk)-.25 G -.15(ey)-2.6 -G(s.).15 E F1(enable\255meta\255k)108 156 Q(ey \(On\))-.1 E F0 .64 -(When set to)144 168 R F1(On)3.14 E F0 3.14(,r)C .64 +.893(pad when it is called.).15 F .892(Some sys-)5.893 F +(tems need this to enable the arro)144 180 Q 2.5(wk)-.25 G -.15(ey)-2.6 +G(s.).15 E F1(enable\255meta\255k)108 192 Q(ey \(On\))-.1 E F0 .64 +(When set to)144 204 R F1(On)3.14 E F0 3.14(,r)C .64 (eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64 (eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64 -(he terminal claims to support).15 F(when it is called.)144 180 Q +(he terminal claims to support).15 F(when it is called.)144 216 Q (On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H 2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1 -(expand\255tilde \(Off\))108 192 Q F0(If set to)144 204 Q F1(On)2.5 E F0 +(expand\255tilde \(Off\))108 228 Q F0(If set to)144 240 Q F1(On)2.5 E F0 2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w) --.15 E(ord completion.)-.1 E F1(history\255pr)108 216 Q(eser)-.18 E -.1 -(ve)-.1 G(\255point \(Off\)).1 E F0 1.338(If set to)144 228 R F1(On) -3.838 E F0 3.838(,t)C 1.338(he history code attempts to place point at \ -the same location on each history line)-3.838 F(retrie)144 240 Q -.15 +-.15 E(ord completion.)-.1 E F1(history\255pr)108 252 Q(eser)-.18 E -.1 +(ve)-.1 G(\255point \(Off\)).1 E F0 1.339(If set to)144 264 R F1(On) +3.839 E F0 3.839(,t)C 1.338(he history code attempts to place point at \ +the same location on each history line)-3.839 F(retrie)144 276 Q -.15 (ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G (ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1 -(history\255size \(0\))108 252 Q F0 .463 -(Set the maximum number of history entries sa)144 264 R -.15(ve)-.2 G -2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .462 -(If set to zero, the number of)5.463 F -(entries in the history list is not limited.)144 276 Q F1 -(horizontal\255scr)108 288 Q(oll\255mode \(Off\))-.18 E F0 .448 -(When set to)144 300 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448 +(history\255size \(0\))108 288 Q F0 .948 +(Set the maximum number of history entries sa)144 300 R -.15(ve)-.2 G +3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)-3.448 F .949 +(If set to zero, an)5.948 F 3.449(ye)-.15 G(xisting)-3.599 E .483 +(history entries are deleted and no ne)144 312 R 2.983(we)-.25 G .483 +(ntries are sa)-2.983 F -.15(ve)-.2 G 2.983(d. If).15 F .482(set to a v) +2.983 F .482(alue less than zero, the num-)-.25 F +(ber of history entries is not limited.)144 324 Q(By def)5 E +(ault, the number of history entries is not limited.)-.1 E F1 +(horizontal\255scr)108 336 Q(oll\255mode \(Off\))-.18 E F0 .448 +(When set to)144 348 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448 (es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\ when it becomes longer than the screen width rather than wrapping to a\ - ne)144 312 R(w)-.25 E(line.)144 324 Q F1(input\255meta \(Off\))108 336 -Q F0 .367(If set to)144 348 R F1(On)2.867 E F0 2.867(,r)C .367(eadline \ + ne)144 360 R(w)-.25 E(line.)144 372 Q F1(input\255meta \(Off\))108 384 +Q F0 .367(If set to)144 396 R F1(On)2.867 E F0 2.867(,r)C .367(eadline \ will enable eight-bit input \(that is, it will not clear the eighth bit\ - in the char)-2.867 F(-)-.2 E .957(acters it reads\), re)144 360 R -.05 + in the char)-2.867 F(-)-.2 E .957(acters it reads\), re)144 408 R -.05 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F .956(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F -(synon)144 372 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 384 Q +(synon)144 420 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 432 Q (ch\255terminators \(`)-.18 E(`C\255[ C\255J')-.63 E('\))-.63 E F0 .439 (The string of characters that should terminate an incremental search w\ -ithout subsequently e)144 396 R -.15(xe)-.15 G(cut-).15 E .935 -(ing the character as a command.)144 408 R .935(If this v)5.935 F .935 +ithout subsequently e)144 444 R -.15(xe)-.15 G(cut-).15 E .935 +(ing the character as a command.)144 456 R .935(If this v)5.935 F .935 (ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934 -(alue, the characters)-3.684 F/F2 10/Times-Italic@0 SF(ESC)3.434 E F0 -(and)144 420 Q F2(C\255J)2.5 E F0(will terminate an incremental search.) -2.5 E F1 -.1(ke)108 432 S(ymap \(emacs\)).1 E F0 2.323 -(Set the current readline k)144 444 R -.15(ey)-.1 G 4.823(map. The).15 F -2.323(set of le)4.823 F -.05(ga)-.15 G 4.823(lk).05 G -.15(ey)-4.923 G -2.323(map names is).15 F F2 2.324(emacs, emacs-standar)4.823 F(d,)-.37 E -.809(emacs-meta, emacs-ctlx, vi, vi-mo)144 456 R(ve)-.1 E 3.308(,v)-.1 G +(alue, the characters)-3.684 F F2(ESC)3.434 E F0(and)144 468 Q F2 +(C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke) +108 480 S(ymap \(emacs\)).1 E F0 2.323(Set the current readline k)144 +492 R -.15(ey)-.1 G 4.823(map. The).15 F 2.323(set of le)4.823 F -.05 +(ga)-.15 G 4.823(lk).05 G -.15(ey)-4.923 G 2.323(map names is).15 F F2 +2.324(emacs, emacs-standar)4.823 F(d,)-.37 E .809 +(emacs-meta, emacs-ctlx, vi, vi-mo)144 504 R(ve)-.1 E 3.308(,v)-.1 G (i-command)-3.308 E F0 3.308(,a)C(nd)-3.308 E F2(vi-insert)3.308 E F0(.) .68 E F2(vi)5.808 E F0 .808(is equi)3.308 F -.25(va)-.25 G .808(lent to) -.25 F F2(vi-command)3.308 E F0(;)A F2(emacs)144 468 Q F0 .697(is equi) +.25 F F2(vi-command)3.308 E F0(;)A F2(emacs)144 516 Q F0 .697(is equi) 3.196 F -.25(va)-.25 G .697(lent to).25 F F2(emacs-standar)3.197 E(d) -.37 E F0 5.697(.T)C .697(he def)-5.697 F .697(ault v)-.1 F .697 (alue is)-.25 F F2(emacs)3.197 E F0 5.697(.T).27 G .697(he v)-5.697 F -.697(alue of)-.25 F F1(editing\255mode)3.197 E F0(also af)144 480 Q -(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1 -(mark\255dir)108 492 Q(ectories \(On\))-.18 E F0(If set to)144 504 Q F1 -(On)2.5 E F0 2.5(,c)C(ompleted directory names ha)-2.5 E .3 -.15(ve a s) --.2 H(lash appended.).15 E F1(mark\255modi\214ed\255lines \(Off\))108 -516 Q F0(If set to)144 528 Q F1(On)2.5 E F0 2.5(,h)C -(istory lines that ha)-2.5 E .3 -.15(ve b)-.2 H -(een modi\214ed are displayed with a preceding asterisk \().15 E F1(*)A -F0(\).)A F1(mark\255symlink)108 540 Q(ed\255dir)-.1 E(ectories \(Off\)) --.18 E F0 .175(If set to)144 552 R F1(On)2.675 E F0 2.675(,c)C .175 +.697(alue of)-.25 F F1(editing\255mode)3.197 E F0(also af)144 528 Q +(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1 -.1(ke) +108 540 S(yseq\255timeout \(500\)).1 E F0 .368(Speci\214es the duration) +144 552 R F2 -.37(re)2.867 G(adline).37 E F0 .367(will w)2.867 F .367 +(ait for a character when reading an ambiguous k)-.1 F .667 -.15(ey s) +-.1 H(equence).15 E 1.356(\(one that can form a complete k)144 564 R +1.656 -.15(ey s)-.1 H 1.356(equence using the input read so f).15 F(ar) +-.1 E 3.856(,o)-.4 G 3.856(rc)-3.856 G 1.356(an tak)-3.856 F 3.856(ea) +-.1 G(dditional)-3.856 E .32(input to complete a longer k)144 576 R .62 +-.15(ey s)-.1 H 2.82(equence\). If).15 F .32(no input is recei)2.82 F +-.15(ve)-.25 G 2.82(dw).15 G .32(ithin the timeout,)-2.82 F F2 -.37(re) +2.82 G(adline).37 E F0(will)2.82 E .906(use the shorter b)144 588 R .907 +(ut complete k)-.2 F 1.207 -.15(ey s)-.1 H 3.407(equence. The).15 F -.25 +(va)3.407 G .907(lue is speci\214ed in milliseconds, so a v).25 F .907 +(alue of)-.25 F .05(1000 means that)144 600 R F2 -.37(re)2.55 G(adline) +.37 E F0 .05(will w)2.55 F .05(ait one second for additional input.)-.1 +F .05(If this v)5.05 F .05(ariable is set to a v)-.25 F(alue)-.25 E .051 +(less than or equal to zero, or to a non-numeric v)144 612 R(alue,)-.25 +E F2 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051 +(ait until another k)-.1 F .352 -.15(ey i)-.1 H 2.552(sp).15 G(ressed) +-2.552 E(to decide which k)144 624 Q .3 -.15(ey s)-.1 H +(equence to complete.).15 E F1(mark\255dir)108 636 Q(ectories \(On\)) +-.18 E F0(If set to)144 648 Q F1(On)2.5 E F0 2.5(,c)C +(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.) +.15 E F1(mark\255modi\214ed\255lines \(Off\))108 660 Q F0(If set to)144 +672 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b) +-.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1 +(*)A F0(\).)A F1(mark\255symlink)108 684 Q(ed\255dir)-.1 E +(ectories \(Off\))-.18 E F0 .175(If set to)144 696 R F1(On)2.675 E F0 +2.675(,c)C .175 (ompleted names which are symbolic links to directories ha)-2.675 F .475 --.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 564 -Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1 -(match\255hidden\255\214les \(On\))108 576 Q F0 .192(This v)144 588 R -.192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692(,c)C .192 -(auses readline to match \214les whose names be)-2.692 F .193 +-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 708 +Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A +(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(4)198.45 E 0 Cg EP +%%Page: 5 5 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 +/Times-Bold@0 SF(match\255hidden\255\214les \(On\))108 84 Q F0 .192 +(This v)144 96 R .192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692 +(,c)C .192(auses readline to match \214les whose names be)-2.692 F .193 (gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E .457 -(\214les\) when performing \214lename completion.)144 600 R .456 +(\214les\) when performing \214lename completion.)144 108 R .456 (If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.) -2.956 F 2.956('m)-.7 G .456(ust be supplied by the)-2.956 F -(user in the \214lename to be completed.)144 612 Q F1 -(menu\255complete\255display\255pr)108 624 Q(e\214x \(Off\))-.18 E F0 -1.585(If set to)144 636 R F1(On)4.085 E F0 4.085(,m)C 1.585(enu complet\ +(user in the \214lename to be completed.)144 120 Q F1 +(menu\255complete\255display\255pr)108 132 Q(e\214x \(Off\))-.18 E F0 +1.585(If set to)144 144 R F1(On)4.085 E F0 4.085(,m)C 1.585(enu complet\ ion displays the common pre\214x of the list of possible completions) --4.085 F(\(which may be empty\) before c)144 648 Q -(ycling through the list.)-.15 E F1(output\255meta \(Off\))108 660 Q F0 -.507(If set to)144 672 R F1(On)3.007 E F0 3.007(,r)C .507(eadline will \ +-4.085 F(\(which may be empty\) before c)144 156 Q +(ycling through the list.)-.15 E F1(output\255meta \(Off\))108 168 Q F0 +.507(If set to)144 180 R F1(On)3.007 E F0 3.007(,r)C .507(eadline will \ display characters with the eighth bit set directly rather than as a me\ -ta-)-3.007 F(pre\214x)144 684 Q(ed escape sequence.)-.15 E F1 -(page\255completions \(On\))108 696 Q F0 .808(If set to)144 708 R F1(On) -3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F F2(mor) -3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808 +ta-)-3.007 F(pre\214x)144 192 Q(ed escape sequence.)-.15 E F1 +(page\255completions \(On\))108 204 Q F0 .808(If set to)144 216 R F1(On) +3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F/F2 10 +/Times-Italic@0 SF(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808 (ager to display a screenful of possible comple-)-3.308 F -(tions at a time.)144 720 Q(GNU Readline 6.2)72 768 Q(2010 August 28) -127.345 E(4)197.055 E 0 Cg EP -%%Page: 5 5 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF(print\255completions\255horizontally \(Off\))108 84 Q -F0 1.319(If set to)144 96 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline w\ -ill display completions with matches sorted horizontally in alphabetica\ -l)-3.819 F(order)144 108 Q 2.5(,r)-.4 G(ather than do)-2.5 E -(wn the screen.)-.25 E F1 -2.29 -.18(re v)108 120 T -(ert\255all\255at\255newline \(Off\)).08 E F0 .698(If set to)144 132 R -F1(On)3.198 E F0 3.198(,r)C .699 +(tions at a time.)144 228 Q F1 +(print\255completions\255horizontally \(Off\))108 240 Q F0 1.319 +(If set to)144 252 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\ +play completions with matches sorted horizontally in alphabetical)-3.819 +F(order)144 264 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 +E F1 -2.29 -.18(re v)108 276 T(ert\255all\255at\255newline \(Off\)).08 E +F0 .698(If set to)144 288 R F1(On)3.198 E F0 3.198(,r)C .699 (eadline will undo all changes to history lines before returning when) --3.198 F F1(accept\255line)3.199 E F0(is)3.199 E -.15(exe)144 144 S +-3.198 F F1(accept\255line)3.199 E F0(is)3.199 E -.15(exe)144 300 S 2.686(cuted. By).15 F(def)2.686 E .186 (ault, history lines may be modi\214ed and retain indi)-.1 F .186 -(vidual undo lists across calls to)-.25 F F1 -.18(re)144 156 S(adline) -.18 E F0(.)A F1(sho)108 168 Q(w\255all\255if\255ambiguous \(Off\))-.1 E -F0 .303(This alters the def)144 180 R .303(ault beha)-.1 F .304 +(vidual undo lists across calls to)-.25 F F1 -.18(re)144 312 S(adline) +.18 E F0(.)A F1(sho)108 324 Q(w\255all\255if\255ambiguous \(Off\))-.1 E +F0 .303(This alters the def)144 336 R .303(ault beha)-.1 F .304 (vior of the completion functions.)-.2 F .304(If set to)5.304 F F1(On) 2.804 E F0 2.804(,w)C .304(ords which ha)-2.904 F .604 -.15(ve m)-.2 H (ore).15 E 1.264(than one possible completion cause the matches to be l\ -isted immediately instead of ringing the)144 192 R(bell.)144 204 Q F1 -(sho)108 216 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 -(This alters the def)144 228 R 5.345(ault beha)-.1 F 5.345 +isted immediately instead of ringing the)144 348 R(bell.)144 360 Q F1 +(sho)108 372 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 +(This alters the def)144 384 R 5.345(ault beha)-.1 F 5.345 (vior of the completion functions in a f)-.2 F 5.346(ashion similar to) --.1 F F1(sho)144 240 Q(w\255all\255if\255ambiguous)-.1 E F0 6.691(.I)C +-.1 F F1(sho)144 396 Q(w\255all\255if\255ambiguous)-.1 E F0 6.691(.I)C 4.191(fs)-6.691 G 1.691(et to)-4.191 F F1(On)4.191 E F0 4.191(,w)C 1.691 (ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691 -(ore than one possible completion).15 F 1.039(without an)144 252 R 3.539 +(ore than one possible completion).15 F 1.039(without an)144 408 R 3.539 (yp)-.15 G 1.039 (ossible partial completion \(the possible completions don')-3.539 F 3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\ -s to be listed immediately instead of ringing the bell.)144 264 Q F1 -(skip\255completed\255text \(Off\))108 276 Q F0 .095(If set to)144 288 R -F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095 -(ault completion beha)-.1 F .094 -(vior when inserting a single match into the line.)-.2 F(It')144 300 Q -2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046 -(hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1 -F .046(enabled, readline does not)2.546 F 1.394(insert characters from \ -the completion that match characters after point in the w)144 312 R -1.394(ord being com-)-.1 F(pleted, so portions of the w)144 324 Q +s to be listed immediately instead of ringing the bell.)144 420 Q F1 +(sho)108 432 Q(w\255mode\255in\255pr)-.1 E(ompt \(Off\))-.18 E F0 1.019 +(If set to)144 444 R F1(On)3.519 E F0 3.519(,a)C 1.018 +(dd a character to the be)-3.519 F 1.018 +(ginning of the prompt indicating the editing mode: emacs)-.15 F +(\(@\), vi command \(:\) or vi insertion \(+\).)144 456 Q F1 +(skip\255completed\255text \(Off\))108 468 Q F0 .094(If set to)144 480 R +F1(On)2.594 E F0 2.594(,t)C .095(his alters the def)-2.594 F .095 +(ault completion beha)-.1 F .095 +(vior when inserting a single match into the line.)-.2 F(It')144 492 Q +2.546(so)-.55 G .046(nly acti)-2.546 F .346 -.15(ve w)-.25 H .046 +(hen performing completion in the middle of a w).15 F 2.545(ord. If)-.1 +F .045(enabled, readline does not)2.545 F 1.394(insert characters from \ +the completion that match characters after point in the w)144 504 R +1.395(ord being com-)-.1 F(pleted, so portions of the w)144 516 Q (ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1 -(visible\255stats \(Off\))108 336 Q F0 .846(If set to)144 348 R F1(On) +(visible\255stats \(Off\))108 528 Q F0 .847(If set to)144 540 R F1(On) 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346 -(st)-.55 G .846(ype as reported by)-3.346 F/F2 10/Times-Italic@0 SF -(stat)3.346 E F0 .846(\(2\) is appended to the \214lename)B -(when listing possible completions.)144 360 Q F1(Conditional Constructs) -87 376.8 Q F0 .05(Readline implements a f)108 388.8 R .05(acility simil\ +(st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846 +(\(2\) is appended to the \214lename)B +(when listing possible completions.)144 552 Q F1(Conditional Constructs) +87 568.8 Q F0 .05(Readline implements a f)108 580.8 R .05(acility simil\ ar in spirit to the conditional compilation features of the C preproces\ -sor)-.1 F .096(which allo)108 400.8 R .096(ws k)-.25 F .396 -.15(ey b) +sor)-.1 F .097(which allo)108 592.8 R .097(ws k)-.25 F .396 -.15(ey b) -.1 H .096(indings and v).15 F .096 -(ariable settings to be performed as the result of tests.)-.25 F .097 -(There are four parser)5.096 F(directi)108 412.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E F1($if)108 429.6 Q F0(The)24.89 E F1($if)2.963 E -F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\ - editing mode, the terminal being used,)-.25 F .477 -(or the application using readline.)144 441.6 R .477(The te)5.477 F .477 +(ariable settings to be performed as the result of tests.)-.25 F .096 +(There are four parser)5.096 F(directi)108 604.8 Q -.15(ve)-.25 G 2.5 +(su).15 G(sed.)-2.5 E F1($if)108 621.6 Q F0(The)24.89 E F1($if)2.962 E +F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\ + editing mode, the terminal being used,)-.25 F .478 +(or the application using readline.)144 633.6 R .477(The te)5.477 F .477 (xt of the test e)-.15 F .477 (xtends to the end of the line; no characters)-.15 F -(are required to isolate it.)144 453.6 Q F1(mode)144 470.4 Q F0(The) -12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0 +(are required to isolate it.)144 645.6 Q F1(mode)144 662.4 Q F0(The) +12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 F F1($if)3.711 E F0 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211 (sed to test whether readline is in emacs or vi)-3.711 F 3.065 -(mode. This)180 482.4 R .565(may be used in conjunction with the)3.065 F +(mode. This)180 674.4 R .565(may be used in conjunction with the)3.065 F F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to) -3.065 F .03(set bindings in the)180 494.4 R F2(emacs-standar)2.529 E(d) +3.065 F .029(set bindings in the)180 686.4 R F2(emacs-standar)2.529 E(d) -.37 E F0(and)2.529 E F2(emacs-ctlx)2.529 E F0 -.1(ke)2.529 G .029 -(ymaps only if readline is starting out)-.05 F(in emacs mode.)180 506.4 -Q F1(term)144 523.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696 -(form may be used to include terminal-speci\214c k)3.196 F .996 -.15 -(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 535.2 R +(ymaps only if readline is starting out)-.05 F(in emacs mode.)180 698.4 +Q F1(term)144 715.2 Q F0(The)15.46 E F1(term=)3.197 E F0 .696 +(form may be used to include terminal-speci\214c k)3.197 F .996 -.15 +(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 727.2 R .954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154 (sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1 -(wo)3.154 G .654(rd on the right side of).1 F(the)180 547.2 Q F1(=)3.003 -E F0 .503(is tested ag)3.003 F .504(ainst the full name of the terminal\ - and the portion of the terminal name)-.05 F(before the \214rst)180 -559.2 Q F12.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0 -(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0 -2.5(,f).77 G(or instance.)-2.5 E F1(application)144 576 Q F0(The)180 588 -Q F1(application)3.003 E F0 .503 -(construct is used to include application-speci\214c settings.)3.003 F -.503(Each program)5.503 F .114(using the readline library sets the)180 -600 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 -(nd an initialization \214le can test for a)-2.614 F .501(particular v) -180 612 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F -.801 -.15(ey s)-.1 H .5(equences to functions useful for a spe-).15 F -.396(ci\214c program.)180 624 R -.15(Fo)5.396 G 2.896(ri).15 G .396 -(nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15 -(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 636 Q -(vious w)-.25 E(ord in)-.1 E F1(bash)2.5 E F0(:)A F1($if)180 660 Q F0 -(Bash)2.5 E 2.5(#Q)180 672 S(uote the current or pre)-2.5 E(vious w)-.25 -E(ord)-.1 E("\\C-xq": "\\eb\\"\\ef\\"")180 684 Q F1($endif)180 696 Q -($endif)108 712.8 Q F0(This command, as seen in the pre)9.33 E(vious e) --.25 E(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E -(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(5)197.055 E 0 Cg EP +(wo)3.154 G .654(rd on the right side of).1 F(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(5)198.45 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF($else)108 84 Q F0(Commands in this branch of the)15.45 -E F1($if)2.5 E F0(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe) --.15 G(cuted if the test f).15 E(ails.)-.1 E F1($include)108 100.8 Q F0 -.357(This directi)144 112.8 R .657 -.15(ve t)-.25 H(ak).15 E .357 -(es a single \214lename as an ar)-.1 F .356 +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(the) +180 84 Q/F1 10/Times-Bold@0 SF(=)3.004 E F0 .504(is tested ag)3.004 F +.503(ainst the full name of the terminal and the portion of the termina\ +l name)-.05 F(before the \214rst)180 96 Q F12.5 E F0 5(.T)C +(his allo)-5 E(ws)-.25 E/F2 10/Times-Italic@0 SF(sun)2.84 E F0 +(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0 +2.5(,f).77 G(or instance.)-2.5 E F1(application)144 112.8 Q F0(The)180 +124.8 Q F1(application)3.003 E F0 .503 +(construct is used to include application-speci\214c settings.)3.003 F +.503(Each program)5.503 F .114(using the readline library sets the)180 +136.8 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 +(nd an initialization \214le can test for a)-2.614 F .5(particular v)180 +148.8 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15 +(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397 +(ci\214c program.)180 160.8 R -.15(Fo)5.397 G 2.896(ri).15 G .396 +(nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15 +(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 172.8 +Q(vious w)-.25 E(ord in)-.1 E F1(bash)2.5 E F0(:)A F1($if)180 196.8 Q F0 +(Bash)2.5 E 2.5(#Q)180 208.8 S(uote the current or pre)-2.5 E(vious w) +-.25 E(ord)-.1 E("\\C-xq": "\\eb\\"\\ef\\"")180 220.8 Q F1($endif)180 +232.8 Q($endif)108 249.6 Q F0(This command, as seen in the pre)9.33 E +(vious e)-.25 E(xample, terminates an)-.15 E F1($if)2.5 E F0(command.) +2.5 E F1($else)108 266.4 Q F0(Commands in this branch of the)15.45 E F1 +($if)2.5 E F0(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 +G(cuted if the test f).15 E(ails.)-.1 E F1($include)108 283.2 Q F0 .356 +(This directi)144 295.2 R .656 -.15(ve t)-.25 H(ak).15 E .356 +(es a single \214lename as an ar)-.1 F .357 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F) -144 124.8 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 --.15(ve w)-.25 H(ould read).05 E/F2 10/Times-Italic@0 SF(/etc/inputr)2.5 -E(c)-.37 E F0(:)A F1($include)144 148.8 Q F2(/etc/inputr)5.833 E(c)-.37 -E/F3 10.95/Times-Bold@0 SF(SEARCHING)72 165.6 Q F0 1.003(Readline pro) -108 177.6 R 1.003(vides commands for searching through the command hist\ -ory for lines containing a speci\214ed)-.15 F 2.5(string. There)108 -189.6 R(are tw)2.5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E -(emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 -E .698(Incremental searches be)108 206.4 R .698 +144 307.2 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 +-.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1 +($include)144 331.2 Q F2(/etc/inputr)5.833 E(c)-.37 E/F3 10.95 +/Times-Bold@0 SF(SEARCHING)72 348 Q F0 1.004(Readline pro)108 360 R +1.003(vides commands for searching through the command history for line\ +s containing a speci\214ed)-.15 F 2.5(string. There)108 372 R(are tw)2.5 +E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E(emental)-.37 E F0(and) +3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 E .697 +(Incremental searches be)108 388.8 R .697 (gin before the user has \214nished typing the search string.)-.15 F -.697(As each character of the)5.697 F .112 -(search string is typed, readline displays the ne)108 218.4 R .112 +.698(As each character of the)5.698 F .113 +(search string is typed, readline displays the ne)108 400.8 R .112 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1 -E 5.113(.A)-.55 G(n)-5.113 E .545 -(incremental search requires only as man)108 230.4 R 3.045(yc)-.15 G -.544(haracters as needed to \214nd the desired history entry)-3.045 F -5.544(.T)-.65 G 3.044(os)-6.344 G(earch)-3.044 E(backw)108 242.4 Q .18 +E 5.112(.A)-.55 G(n)-5.112 E .544 +(incremental search requires only as man)108 412.8 R 3.044(yc)-.15 G +.544(haracters as needed to \214nd the desired history entry)-3.044 F +5.545(.T)-.65 G 3.045(os)-6.345 G(earch)-3.045 E(backw)108 424.8 Q .181 (ard in the history for a particular string, type)-.1 F F1(C\255r)2.681 -E F0 5.181(.T)C(yping)-5.981 E F1(C\255s)2.681 E F0 .181(searches forw) -2.681 F .181(ard through the history)-.1 F(.)-.65 E .354 -(The characters present in the v)108 254.4 R .354(alue of the)-.25 F F1 +E F0 5.181(.T)C(yping)-5.981 E F1(C\255s)2.68 E F0 .18(searches forw) +2.68 F .18(ard through the history)-.1 F(.)-.65 E .354 +(The characters present in the v)108 436.8 R .354(alue of the)-.25 F F1 (isear)2.854 E(ch-terminators)-.18 E F0 -.25(va)2.854 G .354 (riable are used to terminate an incremen-).25 F .6(tal search.)108 -266.4 R .6(If that v)5.6 F .6(ariable has not been assigned a v)-.25 F +448.8 R .6(If that v)5.6 F .6(ariable has not been assigned a v)-.25 F .6(alue the)-.25 F F2(Escape)3.1 E F0(and)3.1 E F1(C\255J)3.1 E F0 .6 -(characters will terminate an)3.1 F .123(incremental search.)108 278.4 R -F1(C\255G)5.123 E F0 .123 -(will abort an incremental search and restore the original line.)2.623 F -.122(When the search is)5.122 F(terminated, the history entry containin\ -g the search string becomes the current line.)108 290.4 Q 2.406 -.8 -(To \214)108 307.2 T .806 +(characters will terminate an)3.1 F .122(incremental search.)108 460.8 R +F1(C\255G)5.122 E F0 .122 +(will abort an incremental search and restore the original line.)2.622 F +.123(When the search is)5.123 F(terminated, the history entry containin\ +g the search string becomes the current line.)108 472.8 Q 2.407 -.8 +(To \214)108 489.6 T .806 (nd other matching entries in the history list, type).8 F F1(C\255s) 3.306 E F0(or)3.306 E F1(C\255r)3.306 E F0 .806(as appropriate.)3.306 F -.807(This will search back-)5.806 F -.1(wa)108 319.2 S 1.309(rd or forw) +.806(This will search back-)5.806 F -.1(wa)108 501.6 S 1.308(rd or forw) .1 F 1.309(ard in the history for the ne)-.1 F 1.309 (xt line matching the search string typed so f)-.15 F(ar)-.1 E 6.309(.A) --.55 G 1.609 -.15(ny o)-6.309 H 1.308(ther k).15 F -.15(ey)-.1 G .317 +-.55 G 1.609 -.15(ny o)-6.309 H 1.309(ther k).15 F -.15(ey)-.1 G .317 (sequence bound to a readline command will terminate the search and e) -108 331.2 R -.15(xe)-.15 G .318(cute that command.).15 F -.15(Fo)5.318 G -2.818(ri).15 G(nstance,)-2.818 E 3.481(an)108 343.2 S -.25(ew)-3.481 G -.981(line will terminate the search and accept the line, thereby e).25 F --.15(xe)-.15 G .98(cuting the command from the history).15 F 3.061 -(list. A)108 355.2 R(mo)3.061 E -.15(ve)-.15 G .562 +108 513.6 R -.15(xe)-.15 G .317(cute that command.).15 F -.15(Fo)5.317 G +2.817(ri).15 G(nstance,)-2.817 E 3.48(an)108 525.6 S -.25(ew)-3.48 G .98 +(line will terminate the search and accept the line, thereby e).25 F +-.15(xe)-.15 G .981(cuting the command from the history).15 F 3.062 +(list. A)108 537.6 R(mo)3.062 E -.15(ve)-.15 G .562 (ment command will terminate the search, mak).15 F 3.062(et)-.1 G .562 (he last line found the current line, and be)-3.062 F(gin)-.15 E -(editing.)108 367.2 Q .567(Non-incremental searches read the entire sea\ -rch string before starting to search for matching history lines.)108 384 -R(The search string may be typed by the user or be part of the contents\ - of the current line.)108 396 Q F3(EDITING COMMANDS)72 412.8 Q F0 1.391 -(The follo)108 424.8 R 1.391 +(editing.)108 549.6 Q .567(Non-incremental searches read the entire sea\ +rch string before starting to search for matching history lines.)108 +566.4 R(The search string may be typed by the user or be part of the co\ +ntents of the current line.)108 578.4 Q F3(EDITING COMMANDS)72 595.2 Q +F0 1.392(The follo)108 607.2 R 1.391 (wing is a list of the names of the commands and the def)-.25 F 1.391 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F -3.892(ya)-.15 G(re)-3.892 E 2.5(bound. Command)108 436.8 R +3.891(ya)-.15 G(re)-3.891 E 2.5(bound. Command)108 619.2 R (names without an accompan)2.5 E(ying k)-.15 E .3 -.15(ey s)-.1 H -(equence are unbound by def).15 E(ault.)-.1 E .055(In the follo)108 -453.6 R .055(wing descriptions,)-.25 F F2(point)2.555 E F0 .055 -(refers to the current cursor position, and)2.555 F F2(mark)2.555 E F0 -.054(refers to a cursor position)2.554 F(sa)108 465.6 Q -.15(ve)-.2 G -2.5(db).15 G 2.5(yt)-2.5 G(he)-2.5 E F1(set\255mark)2.5 E F0 2.5 +(equence are unbound by def).15 E(ault.)-.1 E .054(In the follo)108 636 +R .054(wing descriptions,)-.25 F F2(point)2.554 E F0 .055 +(refers to the current cursor position, and)2.554 F F2(mark)2.555 E F0 +.055(refers to a cursor position)2.555 F(sa)108 648 Q -.15(ve)-.2 G 2.5 +(db).15 G 2.5(yt)-2.5 G(he)-2.5 E F1(set\255mark)2.5 E F0 2.5 (command. The)2.5 F(te)2.5 E (xt between the point and mark is referred to as the)-.15 E F2 -.37(re) -2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 482.4 Q(or Mo)-.25 E(ving)-.1 -E(beginning\255of\255line \(C\255a\))108 494.4 Q F0(Mo)144 506.4 Q .3 +2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 664.8 Q(or Mo)-.25 E(ving)-.1 +E(beginning\255of\255line \(C\255a\))108 676.8 Q F0(Mo)144 688.8 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1 -(end\255of\255line \(C\255e\))108 518.4 Q F0(Mo)144 530.4 Q .3 -.15 -(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 -542.4 S(rward\255char \(C\255f\)).25 E F0(Mo)144 554.4 Q .3 -.15(ve f) --.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F1 -(backward\255char \(C\255b\))108 566.4 Q F0(Mo)144 578.4 Q .3 -.15(ve b) --.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 590.4 S(rward\255w) -.25 E(ord \(M\255f\))-.1 E F0(Mo)144 602.4 Q .822 -.15(ve f)-.15 H(orw) -.15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W) --.1 F .523(ords are composed of alphanumeric characters \(let-)-.8 F -(ters and digits\).)144 614.4 Q F1(backward\255w)108 626.4 Q -(ord \(M\255b\))-.1 E F0(Mo)144 638.4 Q 1.71 -.15(ve b)-.15 H 1.41 -(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 -(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F -(characters \(letters and digits\).)144 650.4 Q F1(clear\255scr)108 -662.4 Q(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 674.4 R -.993(ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 -G .993(th an ar).4 F .993(gument, refresh the)-.18 F -(current line without clearing the screen.)144 686.4 Q F1 -.18(re)108 -698.4 S(draw\255curr).18 E(ent\255line)-.18 E F0 -(Refresh the current line.)144 710.4 Q(GNU Readline 6.2)72 768 Q -(2010 August 28)127.345 E(6)197.055 E 0 Cg EP +(end\255of\255line \(C\255e\))108 700.8 Q F0(Mo)144 712.8 Q .3 -.15 +(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E(GNU Readline 6.3)72 +768 Q(2014 January 6)128.74 E(6)198.45 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF(Commands f)87 84 Q(or Manipulating the History)-.25 E -(accept\255line \(Newline, Retur)108 96 Q(n\))-.15 E F0 .365 -(Accept the line re)144 108 R -.05(ga)-.15 G .364 +/Times-Bold@0 SF -.25(fo)108 84 S(rward\255char \(C\255f\)).25 E F0(Mo) +144 96 Q .3 -.15(ve f)-.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F1 +(backward\255char \(C\255b\))108 108 Q F0(Mo)144 120 Q .3 -.15(ve b)-.15 +H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 132 S(rward\255w).25 E +(ord \(M\255f\))-.1 E F0(Mo)144 144 Q .823 -.15(ve f)-.15 H(orw).15 E +.523(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)-.1 F +.522(ords are composed of alphanumeric characters \(let-)-.8 F +(ters and digits\).)144 156 Q F1(backward\255w)108 168 Q(ord \(M\255b\)) +-.1 E F0(Mo)144 180 Q 1.71 -.15(ve b)-.15 H 1.41 +(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 +(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F +(characters \(letters and digits\).)144 192 Q F1(clear\255scr)108 204 Q +(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 216 R .993 +(ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G +.993(th an ar).4 F .993(gument, refresh the)-.18 F +(current line without clearing the screen.)144 228 Q F1 -.18(re)108 240 +S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144 +252 Q F1(Commands f)87 268.8 Q(or Manipulating the History)-.25 E +(accept\255line \(Newline, Retur)108 280.8 Q(n\))-.15 E F0 .364 +(Accept the line re)144 292.8 R -.05(ga)-.15 G .364 (rdless of where the cursor is.).05 F .364(If this line is non-empty) -5.364 F 2.864(,i)-.65 G 2.864(tm)-2.864 G .364(ay be added to the)-2.864 -F .74(history list for future recall with)144 120 R F1(add_history\(\)) -3.24 E F0 5.741(.I)C 3.241(ft)-5.741 G .741 +5.364 F 2.864(,i)-.65 G 2.864(tm)-2.864 G .365(ay be added to the)-2.864 +F .741(history list for future recall with)144 304.8 R F1 +(add_history\(\))3.241 E F0 5.741(.I)C 3.241(ft)-5.741 G .74 (he line is a modi\214ed history line, the history)-3.241 F -(line is restored to its original state.)144 132 Q F1(pr)108 144 Q -.15 -(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 156 Q -(vious command from the history list, mo)-.25 E(ving back in the list.) --.15 E F1(next\255history \(C\255n\))108 168 Q F0(Fetch the ne)144 180 Q -(xt command from the history list, mo)-.15 E(ving forw)-.15 E -(ard in the list.)-.1 E F1(beginning\255of\255history \(M\255<\))108 192 -Q F0(Mo)144 204 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G -(he \214rst line in the history)-2.5 E(.)-.65 E F1 -(end\255of\255history \(M\255>\))108 216 Q F0(Mo)144 228 Q .3 -.15(ve t) --.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65 G -(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18(re v)108 -240 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.471 -(Search backw)144 252 R 1.471(ard starting at the current line and mo) --.1 F 1.47(ving `up' through the history as necessary)-.15 F(.)-.65 E -(This is an incremental search.)144 264 Q F1 -.25(fo)108 276 S -(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131 -(Search forw)144 288 R 1.131(ard starting at the current line and mo)-.1 -F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)-.25 -F(.)-.65 E(This is an incremental search.)144 300 Q F1(non\255incr)108 -312 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H(rse\255sear).15 E -(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)144 324 R .164(ar\ -d through the history starting at the current line using a non-incremen\ -tal search for)-.1 F 2.5(as)144 336 S(tring supplied by the user)-2.5 E -(.)-.55 E F1(non\255incr)108 348 Q(emental\255f)-.18 E(orward\255sear) --.25 E(ch\255history \(M\255n\))-.18 E F0 1.353(Search forw)144 360 R -1.354(ard through the history using a non-incremental search for a stri\ -ng supplied by the)-.1 F(user)144 372 Q(.)-.55 E F1(history\255sear)108 -384 Q(ch\255f)-.18 E(orward)-.25 E F0 .249(Search forw)144 396 R .249(a\ -rd through the history for the string of characters between the start o\ -f the current line)-.1 F(and the current cursor position \(the)144 408 Q -/F2 10/Times-Italic@0 SF(point)2.5 E F0 2.5(\). This)B -(is a non-incremental search.)2.5 E F1(history\255sear)108 420 Q -(ch\255backward)-.18 E F0 .95(Search backw)144 432 R .951(ard through t\ -he history for the string of characters between the start of the curren\ -t)-.1 F(line and the point.)144 444 Q(This is a non-incremental search.) -5 E F1(yank\255nth\255ar)108 456 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 -.622(Insert the \214rst ar)144 468 R .622(gument to the pre)-.18 F .622 +(line is restored to its original state.)144 316.8 Q F1(pr)108 328.8 Q +-.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 +340.8 Q(vious command from the history list, mo)-.25 E +(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 352.8 Q +F0(Fetch the ne)144 364.8 Q(xt command from the history list, mo)-.15 E +(ving forw)-.15 E(ard in the list.)-.1 E F1 +(beginning\255of\255history \(M\255<\))108 376.8 Q F0(Mo)144 388.8 Q .3 +-.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.) +-.65 E F1(end\255of\255history \(M\255>\))108 400.8 Q F0(Mo)144 412.8 Q +.3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5 +(,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18 +(re v)108 424.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 +1.47(Search backw)144 436.8 R 1.471 +(ard starting at the current line and mo)-.1 F 1.471 +(ving `up' through the history as necessary)-.15 F(.)-.65 E +(This is an incremental search.)144 448.8 Q F1 -.25(fo)108 460.8 S +(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132 +(Search forw)144 472.8 R 1.132(ard starting at the current line and mo) +-.1 F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary) +-.25 F(.)-.65 E(This is an incremental search.)144 484.8 Q F1 +(non\255incr)108 496.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H +(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164(Search backw) +144 508.8 R .164(ard through the history starting at the current line u\ +sing a non-incremental search for)-.1 F 2.5(as)144 520.8 S +(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 532.8 Q +(emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18 +E F0 1.354(Search forw)144 544.8 R 1.354(ard through the history using \ +a non-incremental search for a string supplied by the)-.1 F(user)144 +556.8 Q(.)-.55 E F1(history\255sear)108 568.8 Q(ch\255backward)-.18 E F0 +.95(Search backw)144 580.8 R .951(ard through the history for the strin\ +g of characters between the start of the current)-.1 F .12 +(line and the current cursor position \(the)144 592.8 R/F2 10 +/Times-Italic@0 SF(point)2.62 E F0 2.62(\). The)B .12 +(search string must match at the be)2.62 F .12(ginning of a)-.15 F +(history line.)144 604.8 Q(This is a non-incremental search.)5 E F1 +(history\255sear)108 616.8 Q(ch\255f)-.18 E(orward)-.25 E F0 .248 +(Search forw)144 628.8 R .249(ard through the history for the string of\ + characters between the start of the current line)-.1 F .036 +(and the point.)144 640.8 R .036(The search string must match at the be) +5.036 F .035(ginning of a history line.)-.15 F .035 +(This is a non-incre-)5.035 F(mental search.)144 652.8 Q F1 +(history\255substring\255sear)108 664.8 Q(ch\255backward)-.18 E F0 .95 +(Search backw)144 676.8 R .951(ard through the history for the string o\ +f characters between the start of the current)-.1 F .007 +(line and the current cursor position \(the)144 688.8 R F2(point)2.507 E +F0 2.507(\). The)B .007(search string may match an)2.507 F .006 +(ywhere in a history)-.15 F 2.5(line. This)144 700.8 R +(is a non-incremental search.)2.5 E(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(7)198.45 E 0 Cg EP +%%Page: 8 8 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 +/Times-Bold@0 SF(history\255substring\255sear)108 84 Q(ch\255f)-.18 E +(orward)-.25 E F0 .248(Search forw)144 96 R .249(ard through the histor\ +y for the string of characters between the start of the current line)-.1 +F .319(and the point.)144 108 R .319(The search string may match an) +5.319 F .319(ywhere in a history line.)-.15 F .318 +(This is a non-incremental)5.318 F(search.)144 120 Q F1 +(yank\255nth\255ar)108 132 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622 +(Insert the \214rst ar)144 144 R .622(gument to the pre)-.18 F .622 (vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F -.622(vious line\))-.25 F .794(at point.)144 480 R -.4(Wi)5.794 G .794 -(th an ar).4 F(gument)-.18 E F2(n)3.294 E F0 3.294(,i).24 G .794 -(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794(ord from the pre) --.1 F .794(vious command \(the w)-.25 F .795(ords in the)-.1 F(pre)144 -492 Q .292(vious command be)-.25 F .292(gin with w)-.15 F .291(ord 0\).) --.1 F 2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a) --.25 H -.18(rg).15 G .291(ument inserts the).18 F F2(n)2.791 E F0 .291 -(th w)B .291(ord from the end of)-.1 F .281(the pre)144 504 R .281 -(vious command.)-.25 F .281(Once the ar)5.281 F(gument)-.18 E F2(n)2.781 -E F0 .281(is computed, the ar)2.781 F .281(gument is e)-.18 F .282 -(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 516 Q -(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 528 Q -2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308 -(Insert the last ar)144 540 R 1.308(gument to the pre)-.18 F 1.307 -(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307 -(vious history entry\).)-.25 F -.4(Wi)144 552 S .203(th a numeric ar).4 -F .203(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e) --.1 E F1(yank\255nth\255ar)2.704 E(g)-.1 E F0 5.204(.S)C(uccessi)-5.204 -E .504 -.15(ve c)-.25 H .204(alls to).15 F F1(yank\255last\255ar)2.704 E -(g)-.1 E F0(mo)144 564 Q .807 -.15(ve b)-.15 H .507 +.622(vious line\))-.25 F .795(at point.)144 156 R -.4(Wi)5.795 G .794 +(th an ar).4 F(gument)-.18 E/F2 10/Times-Italic@0 SF(n)3.294 E F0 3.294 +(,i).24 G .794(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794 +(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794 +(ords in the)-.1 F(pre)144 168 Q .291(vious command be)-.25 F .291 +(gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a) +-2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291 +(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B .292 +(ord from the end of)-.1 F .282(the pre)144 180 R .282(vious command.) +-.25 F .282(Once the ar)5.282 F(gument)-.18 E F2(n)2.781 E F0 .281 +(is computed, the ar)2.781 F .281(gument is e)-.18 F .281 +(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 192 Q +(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 204 Q +2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307 +(Insert the last ar)144 216 R 1.307(gument to the pre)-.18 F 1.307 +(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308 +(vious history entry\).)-.25 F -.4(Wi)144 228 S .204(th a numeric ar).4 +F .204(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e) +-.1 E F1(yank\255nth\255ar)2.704 E(g)-.1 E F0 5.203(.S)C(uccessi)-5.203 +E .503 -.15(ve c)-.25 H .203(alls to).15 F F1(yank\255last\255ar)2.703 E +(g)-.1 E F0(mo)144 240 Q .806 -.15(ve b)-.15 H .507 (ack through the history list, inserting the last w).15 F .507 (ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E -1.396(to the \214rst call\) of each line in turn.)144 576 R(An)6.396 E -3.896(yn)-.15 G 1.396(umeric ar)-3.896 F 1.397 -(gument supplied to these successi)-.18 F 1.697 -.15(ve c)-.25 H(alls) -.15 E .492(determines the direction to mo)144 588 R .792 -.15(ve t)-.15 -H .492(hrough the history).15 F 5.491(.A)-.65 G(ne)-2.5 E -.05(ga)-.15 G -(ti).05 E .791 -.15(ve a)-.25 H -.18(rg).15 G .491 +1.397(to the \214rst call\) of each line in turn.)144 252 R(An)6.396 E +3.896(yn)-.15 G 1.396(umeric ar)-3.896 F 1.396 +(gument supplied to these successi)-.18 F 1.696 -.15(ve c)-.25 H(alls) +.15 E .491(determines the direction to mo)144 264 R .791 -.15(ve t)-.15 +H .491(hrough the history).15 F 5.492(.A)-.65 G(ne)-2.5 E -.05(ga)-.15 G +(ti).05 E .792 -.15(ve a)-.25 H -.18(rg).15 G .492 (ument switches the direction).18 F .494 -(through the history \(back or forw)144 600 R 2.994(ard\). The)-.1 F +(through the history \(back or forw)144 276 R 2.994(ard\). The)-.1 F .494(history e)2.994 F .494(xpansion f)-.15 F .494 -(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 612 Q +(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 288 Q (gument, as if the "!$" history e)-.18 E(xpansion had been speci\214ed.) --.15 E F1(Commands f)87 628.8 Q(or Changing T)-.25 E(ext)-.92 E -(delete\255char \(C\255d\))108 640.8 Q F0 .358 -(Delete the character at point.)144 652.8 R .358(If point is at the be) -5.358 F .358(ginning of the line, there are no characters in the)-.15 F -(line, and the last character typed w)144 664.8 Q(as not bound to)-.1 E -F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E/F3 9/Times-Bold@0 -SF(EOF)2.5 E/F4 9/Times-Roman@0 SF(.)A F1 -(backward\255delete\255char \(Rubout\))108 676.8 Q F0 .552 -(Delete the character behind the cursor)144 688.8 R 5.553(.W)-.55 G .553 -(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F -.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F -.553(xt on)-.15 F(the kill ring.)144 700.8 Q(GNU Readline 6.2)72 768 Q -(2010 August 28)127.345 E(7)197.055 E 0 Cg EP -%%Page: 8 8 +-.15 E F1(Commands f)87 304.8 Q(or Changing T)-.25 E(ext)-.92 E F2 +(end\255of\255\214le)108 316.8 Q F1(\(usually C\255d\))2.5 E F0 .798 +(The character indicating end-of-\214le as set, for e)144 328.8 R .799 +(xample, by)-.15 F/F3 10/Courier@0 SF(stty)3.299 E F0 5.799(.I)C 3.299 +(ft)-5.799 G .799(his character is read when)-3.299 F .592 +(there are no characters on the line, and point is at the be)144 340.8 R +.592(ginning of the line, Readline interprets it)-.15 F +(as the end of input and returns)144 352.8 Q/F4 9/Times-Bold@0 SF(EOF) +2.5 E/F5 9/Times-Roman@0 SF(.)A F1(delete\255char \(C\255d\))108 364.8 Q +F0 .441(Delete the character at point.)144 376.8 R .442 +(If this function is bound to the same character as the tty)5.441 F F1 +(EOF)2.942 E F0(char)2.942 E(-)-.2 E(acter)144 388.8 Q 2.5(,a)-.4 G(s) +-2.5 E F1(C\255d)2.5 E F0(commonly is, see abo)2.5 E .3 -.15(ve f)-.15 H +(or the ef).15 E(fects.)-.25 E F1(backward\255delete\255char \(Rubout\)) +108 400.8 Q F0 .553(Delete the character behind the cursor)144 412.8 R +5.553(.W)-.55 G .553(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553 +(umeric ar)-3.053 F .552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552 +(he deleted te).15 F .552(xt on)-.15 F(the kill ring.)144 424.8 Q F1 +-.25(fo)108 436.8 S(rward\255backward\255delete\255char).25 E F0 .473 +(Delete the character under the cursor)144 448.8 R 2.973(,u)-.4 G .474 +(nless the cursor is at the end of the line, in which case the)-2.973 F +(character behind the cursor is deleted.)144 460.8 Q F1 +(quoted\255insert \(C\255q, C\255v\))108 472.8 Q F0 1.229(Add the ne)144 +484.8 R 1.228(xt character that you type to the line v)-.15 F 3.728 +(erbatim. This)-.15 F 1.228(is ho)3.728 F 3.728(wt)-.25 G 3.728(oi) +-3.728 G 1.228(nsert characters lik)-3.728 F(e)-.1 E F1(C\255q)144 496.8 +Q F0 2.5(,f)C(or e)-2.5 E(xample.)-.15 E F1(tab\255insert \(M-T)108 +508.8 Q(AB\))-.9 E F0(Insert a tab character)144 520.8 Q(.)-.55 E F1 +(self\255insert \(a, b, A, 1, !, ...\))108 532.8 Q F0 +(Insert the character typed.)144 544.8 Q F1 +(transpose\255chars \(C\255t\))108 556.8 Q F0 .321 +(Drag the character before point forw)144 568.8 R .321(ard o)-.1 F -.15 +(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322 +(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182 +(If point is at the end of the line, then this transposes the tw)144 +580.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E +-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 592.8 Q(guments ha)-.18 E +.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1 +(transpose\255w)108 604.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144 +616.8 R .023(ord before point past the w)-.1 F .023(ord after point, mo) +-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w) +-2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F +(is at the end of the line, this transposes the last tw)144 628.8 Q 2.5 +(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 640.8 Q +(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144 +652.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F +-.05(ga)-.15 G(ti).05 E 1.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698 +(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 664.8 S(rd, b).1 +E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 676.8 Q +(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 688.8 Q 1.647 +(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147 +(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15 +(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre) +-.25 F(vious)-.25 E -.1(wo)144 700.8 S(rd, b).1 E(ut do not mo)-.2 E .3 +-.15(ve p)-.15 H(oint.).15 E(GNU Readline 6.3)72 768 Q(2014 January 6) +128.74 E(8)198.45 E 0 Cg EP +%%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF -.25(fo)108 84 S(rward\255backward\255delete\255char) -.25 E F0 .474(Delete the character under the cursor)144 96 R 2.974(,u) --.4 G .474 -(nless the cursor is at the end of the line, in which case the)-2.974 F -(character behind the cursor is deleted.)144 108 Q F1 -(quoted\255insert \(C\255q, C\255v\))108 120 Q F0 1.228(Add the ne)144 -132 R 1.228(xt character that you type to the line v)-.15 F 3.728 -(erbatim. This)-.15 F 1.228(is ho)3.728 F 3.729(wt)-.25 G 3.729(oi) --3.729 G 1.229(nsert characters lik)-3.729 F(e)-.1 E F1(C\255q)144 144 Q -F0 2.5(,f)C(or e)-2.5 E(xample.)-.15 E F1(tab\255insert \(M-T)108 156 Q -(AB\))-.9 E F0(Insert a tab character)144 168 Q(.)-.55 E F1 -(self\255insert \(a, b, A, 1, !, ...\))108 180 Q F0 -(Insert the character typed.)144 192 Q F1(transpose\255chars \(C\255t\)) -108 204 Q F0 .322(Drag the character before point forw)144 216 R .321 -(ard o)-.1 F -.15(ve)-.15 G 2.821(rt).15 G .321 -(he character at point, mo)-2.821 F .321(ving point forw)-.15 F .321 -(ard as well.)-.1 F 1.182 -(If point is at the end of the line, then this transposes the tw)144 228 -R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E -.05 -(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 240 Q(guments ha)-.18 E .3 --.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1 -(transpose\255w)108 252 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 -264 R .024(ord before point past the w)-.1 F .023(ord after point, mo) --.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w) --2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F -(is at the end of the line, this transposes the last tw)144 276 Q 2.5 -(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 288 Q -(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 300 -R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga) --.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699 -(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 312 S(rd, b).1 E -(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 324 Q -(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 336 Q 1.648 -(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148 -(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15 -(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre) --.25 F(vious)-.25 E -.1(wo)144 348 S(rd, b).1 E(ut do not mo)-.2 E .3 --.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 360 Q -(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 372 -R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga) --.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975 -(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 384 S(rd, b).1 -E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 396 -S(rwrite\255mode).1 E F0 -.8(To)144 408 S .438(ggle o).8 F -.15(ve)-.15 -G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438 -(xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437 -(gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4 -(Wi)144 420 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15 -(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.) --.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 432 Q F1 -(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395 -F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G -1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G -(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144 -444 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1 -(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469 -(xt at point rather than)-.15 F .958(pushing the te)144 456 R .958 -(xt to the right.)-.15 F .957(Characters bound to)5.958 F F1 -(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457 -F(before point with a space.)144 468 Q(By def)5 E -(ault, this command is unbound.)-.1 E F1(Killing and Y)87 484.8 Q -(anking)-.85 E(kill\255line \(C\255k\))108 496.8 Q F0(Kill the te)144 -508.8 Q(xt from point to the end of the line.)-.15 E F1 -(backward\255kill\255line \(C\255x Rubout\))108 520.8 Q F0(Kill backw) -144 532.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 -(unix\255line\255discard \(C\255u\))108 544.8 Q F0(Kill backw)144 556.8 +/Times-Bold@0 SF(capitalize\255w)108 84 Q(ord \(M\255c\))-.1 E F0 1.975 +(Capitalize the current \(or follo)144 96 R 1.974(wing\) w)-.25 F 4.474 +(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 2.274 -.15 +(ve a)-.25 H -.18(rg).15 G 1.974(ument, capitalize the pre).18 F(vious) +-.25 E -.1(wo)144 108 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 +H(oint.).15 E F1 -.1(ove)108 120 S(rwrite\255mode).1 E F0 -.8(To)144 132 +S .437(ggle o).8 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4(Wi)5.437 G +.437(th an e).4 F .437(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438 +(umeric ar).15 F .438(gument, switches to o)-.18 F -.15(ve)-.15 G .438 +(rwrite mode.).15 F -.4(Wi)144 144 S .781(th an e).4 F .781 +(xplicit non-positi)-.15 F 1.081 -.15(ve n)-.25 H .781(umeric ar).15 F +.781(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F +(fects)-.25 E(only)144 156 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi) +4.394 E F0 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15 +F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F/F2 10 +/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895 +(starts in insert)4.395 F 3.969(mode. In)144 168 R -.15(ove)3.969 G +1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E +F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F +.957(pushing the te)144 180 R .957(xt to the right.)-.15 F .958 +(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0 +.958(replace the character)3.458 F(before point with a space.)144 192 Q +(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87 +208.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 220.8 Q F0 +(Kill the te)144 232.8 Q(xt from point to the end of the line.)-.15 E F1 +(backward\255kill\255line \(C\255x Rubout\))108 244.8 Q F0(Kill backw) +144 256.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 +(unix\255line\255discard \(C\255u\))108 268.8 Q F0(Kill backw)144 280.8 Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E (The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt) --2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 568.8 Q F0 +-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 292.8 Q F0 (Kill all characters on the current line, no matter where point is.)144 -580.8 Q F1(kill\255w)108 592.8 Q(ord \(M\255d\))-.1 E F0 1.308 -(Kill from point the end of the current w)144 604.8 R 1.308 -(ord, or if between w)-.1 F 1.308(ords, to the end of the ne)-.1 F 1.308 -(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 616.8 S +304.8 Q F1(kill\255w)108 316.8 Q(ord \(M\255d\))-.1 E F0 1.308 +(Kill from point the end of the current w)144 328.8 R 1.308 +(ord, or if between w)-.1 F 1.308(ords, to the end of the ne)-.1 F 1.307 +(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 340.8 S (rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G -(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 628.8 Q -(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 640.8 Q(ord behind point.) +(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 352.8 Q +(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 364.8 Q(ord behind point.) -.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1 -(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 652.8 Q -(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 664.8 R .365 -(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1 -F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15 -(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144 -676.8 Q F1(unix\255\214lename\255rubout)108 688.8 Q F0 .166(Kill the w) -144 700.8 R .166 +(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 376.8 Q +(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 388.8 R .364 +(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1 +F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15 +(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144 +400.8 Q F1(unix\255\214lename\255rubout)108 412.8 Q F0 .167(Kill the w) +144 424.8 R .166 (ord behind point, using white space and the slash character as the w) --.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 712.8 Q +-.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 436.8 Q (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.) --2.5 E(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(8)197.055 E 0 -Cg EP -%%Page: 9 9 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF(delete\255horizontal\255space \(M\255\\\))108 84 Q F0 -(Delete all spaces and tabs around point.)144 96 Q F1(kill\255r)108 108 -Q(egion)-.18 E F0 1.13(Kill the te)144 120 R 1.13 -(xt between the point and)-.15 F/F2 10/Times-Italic@0 SF(mark)3.63 E F0 -(\(sa)3.63 E -.15(ve)-.2 G 3.63(dc).15 G 1.13(ursor position\).)-3.63 F -1.13(This te)6.13 F 1.13(xt is referred to as the)-.15 F F2 -.37(re)144 -132 S(gion)-.03 E F0(.)A F1(copy\255r)108 144 Q(egion\255as\255kill)-.18 -E F0(Cop)144 156 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E +-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 448.8 Q F0 +(Delete all spaces and tabs around point.)144 460.8 Q F1(kill\255r)108 +472.8 Q(egion)-.18 E F0 1.13(Kill the te)144 484.8 R 1.13 +(xt between the point and)-.15 F F2(mark)3.63 E F0(\(sa)3.63 E -.15(ve) +-.2 G 3.63(dc).15 G 1.13(ursor position\).)-3.63 F 1.13(This te)6.13 F +1.13(xt is referred to as the)-.15 F F2 -.37(re)144 496.8 S(gion)-.03 E +F0(.)A F1(copy\255r)108 508.8 Q(egion\255as\255kill)-.18 E F0(Cop)144 +520.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1 -(copy\255backward\255w)108 168 Q(ord)-.1 E F0(Cop)144 180 Q 4.8(yt)-.1 G -2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E(fer) --.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301 -(ord boundaries are the same as)-.1 F F1(back-)4.801 E(ward\255w)144 192 -Q(ord)-.1 E F0(.)A F1(copy\255f)108 204 Q(orward\255w)-.25 E(ord)-.1 E -F0(Cop)144 216 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008(ord follo)-.1 -F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.007(.T) --.55 G 2.007(he w)-7.007 F 2.007(ord boundaries are the same as)-.1 F F1 --.25(fo)4.507 G -.37(r-).25 G(ward\255w)144 228 Q(ord)-.1 E F0(.)A F1 -(yank \(C\255y\))108 240 Q F0 -1(Ya)144 252 S +(copy\255backward\255w)108 532.8 Q(ord)-.1 E F0(Cop)144 544.8 Q 4.801 +(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F +(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3 +(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 556.8 +Q(ord)-.1 E F0(.)A F1(copy\255f)108 568.8 Q(orward\255w)-.25 E(ord)-.1 E +F0(Cop)144 580.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo) +-.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008 +(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1 +F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 592.8 Q(ord)-.1 E F0(.) +A F1(yank \(C\255y\))108 604.8 Q F0 -1(Ya)144 616.8 S (nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25 -E F1(yank\255pop \(M\255y\))108 264 Q F0 -(Rotate the kill ring, and yank the ne)144 276 Q 2.5(wt)-.25 G 2.5 +E F1(yank\255pop \(M\255y\))108 628.8 Q F0 +(Rotate the kill ring, and yank the ne)144 640.8 Q 2.5(wt)-.25 G 2.5 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E -F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 292.8 Q -(guments)-.1 E(digit\255ar)108 304.8 Q -(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641 -(Add this digit to the ar)144 316.8 R .641 +F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 657.6 Q +(guments)-.1 E(digit\255ar)108 669.6 Q +(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642 +(Add this digit to the ar)144 681.6 R .641 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18 -(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-) --.15 E(ati)144 328.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 -(uni)108 340.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779 -(This is another w)144 352.8 R .779(ay to specify an ar)-.1 F 3.279 -(gument. If)-.18 F .779(this command is follo)3.279 F .778 -(wed by one or more digits,)-.25 F 1.376 +(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-) +-.15 E(ati)144 693.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 +(uni)108 705.6 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778 +(This is another w)144 717.6 R .779(ay to specify an ar)-.1 F 3.279 +(gument. If)-.18 F .779(this command is follo)3.279 F .779 +(wed by one or more digits,)-.25 F 2.684 (optionally with a leading minus sign, those digits de\214ne the ar)144 -364.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 -376.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni) -3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17 -(ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other) --.2 F(-)-.2 E .898(wise ignored.)144 388.8 R .898 -(As a special case, if this command is immediately follo)5.898 F .898 +729.6 R 5.184(gument. If)-.18 F 2.684(the command is)5.184 F +(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(9)198.45 E 0 Cg EP +%%Page: 10 10 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(follo) +144 84 Q .244(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E/F1 10 +/Times-Bold@0 SF(uni)2.744 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E +F0(ag)2.744 E .244(ain ends the numeric ar)-.05 F .244(gument, b)-.18 F +.245(ut is other)-.2 F(-)-.2 E .899(wise ignored.)144 96 R .898 +(As a special case, if this command is immediately follo)5.899 F .898 (wed by a character that is)-.25 F .243 -(neither a digit or minus sign, the ar)144 400.8 R .243 +(neither a digit or minus sign, the ar)144 108 R .243 (gument count for the ne)-.18 F .243(xt command is multiplied by four) --.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 412.8 Q .378 +-.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 120 Q .378 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F -.378(gument count)-.18 F(four)144 424.8 Q 2.5(,as)-.4 G(econd time mak) +.378(gument count)-.18 F(four)144 132 Q 2.5(,as)-.4 G(econd time mak) -2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1 -(Completing)87 441.6 Q(complete \(T)108 453.6 Q(AB\))-.9 E F0 1.909 -(Attempt to perform completion on the te)144 465.6 R 1.908 -(xt before point.)-.15 F 1.908(The actual completion performed is)6.908 -F(application-speci\214c.)144 477.6 Q F1(Bash)5.517 E F0 3.017(,f)C .518 -(or instance, attempts completion treating the te)-3.017 F .518 -(xt as a v)-.15 F .518(ariable \(if the)-.25 F(te)144 489.6 Q .657 -(xt be)-.15 F .657(gins with)-.15 F F1($)3.156 E F0 .656 +(Completing)87 148.8 Q(complete \(T)108 160.8 Q(AB\))-.9 E F0 1.908 +(Attempt to perform completion on the te)144 172.8 R 1.908 +(xt before point.)-.15 F 1.909(The actual completion performed is)6.909 +F(application-speci\214c.)144 184.8 Q F1(Bash)5.518 E F0 3.018(,f)C .518 +(or instance, attempts completion treating the te)-3.018 F .517 +(xt as a v)-.15 F .517(ariable \(if the)-.25 F(te)144 196.8 Q .656 +(xt be)-.15 F .656(gins with)-.15 F F1($)3.156 E F0 .656 (\), username \(if the te)B .656(xt be)-.15 F .656(gins with)-.15 F F1 (~)3.156 E F0 .656(\), hostname \(if the te)B .656(xt be)-.15 F .656 -(gins with)-.15 F F1(@)3.156 E F0 .656(\), or)B .929 -(command \(including aliases and functions\) in turn.)144 501.6 R .93 -(If none of these produces a match, \214lename)5.929 F 1.274 -(completion is attempted.)144 513.6 R F1(Gdb)6.273 E F0 3.773(,o)C 3.773 +(gins with)-.15 F F1(@)3.157 E F0 .657(\), or)B .93 +(command \(including aliases and functions\) in turn.)144 208.8 R .929 +(If none of these produces a match, \214lename)5.929 F 1.273 +(completion is attempted.)144 220.8 R F1(Gdb)6.273 E F0 3.773(,o)C 3.773 (nt)-3.773 G 1.273(he other hand, allo)-3.773 F 1.273 -(ws completion of program functions and)-.25 F -.25(va)144 525.6 S(riab\ +(ws completion of program functions and)-.25 F -.25(va)144 232.8 S(riab\ les, and only attempts \214lename completion under certain circumstance\ -s.).25 E F1(possible\255completions \(M\255?\))108 537.6 Q F0 .261 -(List the possible completions of the te)144 549.6 R .262 -(xt before point.)-.15 F .262 -(When displaying completions, readline sets)5.262 F 1.002 -(the number of columns used for display to the v)144 561.6 R 1.002 -(alue of)-.25 F F1(completion-display-width)3.502 E F0 3.502(,t)C 1.002 -(he v)-3.502 F 1.002(alue of)-.25 F(the en)144 573.6 Q(vironment v)-.4 E -(ariable)-.25 E/F3 9/Times-Bold@0 SF(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF +s.).25 E F1(possible\255completions \(M\255?\))108 244.8 Q F0 .262 +(List the possible completions of the te)144 256.8 R .262 +(xt before point.)-.15 F .261 +(When displaying completions, readline sets)5.261 F 1.002 +(the number of columns used for display to the v)144 268.8 R 1.002 +(alue of)-.25 F F1(completion-display-width)3.502 E F0 3.502(,t)C 1.003 +(he v)-3.502 F 1.003(alue of)-.25 F(the en)144 280.8 Q(vironment v)-.4 E +(ariable)-.25 E/F2 9/Times-Bold@0 SF(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF (,)A F0(or the screen width, in that order)2.25 E(.)-.55 E F1 -(insert\255completions \(M\255*\))108 585.6 Q F0 .783 -(Insert all completions of the te)144 597.6 R .783 +(insert\255completions \(M\255*\))108 292.8 Q F0 .783 +(Insert all completions of the te)144 304.8 R .783 (xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H -.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144 -609.6 Q F0(.)A F1(menu\255complete)108 621.6 Q F0 .929(Similar to)144 -633.6 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629 +.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144 +316.8 Q F0(.)A F1(menu\255complete)108 328.8 Q F0 .928(Similar to)144 +340.8 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628 F .929(ord to be completed with a single match from the list of)-.1 F -1.193(possible completions.)144 645.6 R 1.193(Repeated e)6.193 F -.15 -(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194 -(steps through the list of possible)3.694 F .829 -(completions, inserting each match in turn.)144 657.6 R .828 +1.194(possible completions.)144 352.8 R 1.194(Repeated e)6.194 F -.15 +(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193 +(steps through the list of possible)3.694 F .828 +(completions, inserting each match in turn.)144 364.8 R .828 (At the end of the list of completions, the bell is rung)5.828 F .727 -(\(subject to the setting of)144 669.6 R F1(bell\255style)3.227 E F0 +(\(subject to the setting of)144 376.8 R F1(bell\255style)3.227 E F0 3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F -.727(An ar)5.727 F .727(gument of)-.18 F F2(n)3.227 E F0(mo)3.227 E -.15 -(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73(positions forw)144 681.6 R 1.73 -(ard in the list of matches; a ne)-.1 F -.05(ga)-.15 G(ti).05 E 2.03 --.15(ve a)-.25 H -.18(rg).15 G 1.73(ument may be used to mo).18 F 2.03 --.15(ve b)-.15 H(ackw).15 E(ard)-.1 E(through the list.)144 693.6 Q -(This command is intended to be bound to)5 E F1 -.9(TA)2.5 G(B).9 E F0 -2.5(,b)C(ut is unbound by def)-2.7 E(ault.)-.1 E F1 -(menu\255complete\255backward)108 705.6 Q F0 .82(Identical to)144 717.6 -R F1(menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 -G 3.32(sb).15 G(ackw)-3.32 E .82 +.727(An ar)5.727 F .727(gument of)-.18 F/F4 10/Times-Italic@0 SF(n)3.227 +E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F4(n)3.227 E F0 1.73 +(positions forw)144 388.8 R 1.73(ard in the list of matches; a ne)-.1 F +-.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73 +(ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1 +E(through the list.)144 400.8 Q(This command is intended to be bound to) +5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E +(ault.)-.1 E F1(menu\255complete\255backward)108 412.8 Q F0 .82 +(Identical to)144 424.8 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82 +(ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82 (ard through the list of possible completions, as if)-.1 F F1 -(menu\255complete)144 729.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5 +(menu\255complete)144 436.8 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg) .15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E -(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(9)197.055 E 0 Cg EP -%%Page: 10 10 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Bold@0 SF(delete\255char\255or\255list)108 84 Q F0 .374 -(Deletes the character under the cursor if not at the be)144 96 R .373 -(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete-char)2.873 E -F0(\).)A(If at the end of the line, beha)144 108 Q -.15(ve)-.2 G 2.5(si) -.15 G(dentically to)-2.5 E F1(possible-completions)2.5 E F0(.)A F1 -.25 -(Ke)87 124.8 S(yboard Macr).25 E(os)-.18 E(start\255kbd\255macr)108 -136.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E F0(Be)144 148.8 Q +F1(delete\255char\255or\255list)108 448.8 Q F0 .373 +(Deletes the character under the cursor if not at the be)144 460.8 R +.374(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete-char) +2.874 E F0(\).)A(If at the end of the line, beha)144 472.8 Q -.15(ve)-.2 +G 2.5(si).15 G(dentically to)-2.5 E F1(possible-completions)2.5 E F0(.)A +F1 -.25(Ke)87 489.6 S(yboard Macr).25 E(os)-.18 E(start\255kbd\255macr) +108 501.6 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E F0(Be)144 513.6 Q (gin sa)-.15 E(ving the characters typed into the current k)-.2 E -.15 -(ey)-.1 G(board macro.).15 E F1(end\255kbd\255macr)108 160.8 Q 2.5(o\() --.18 G(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 172.8 Q +(ey)-.1 G(board macro.).15 E F1(end\255kbd\255macr)108 525.6 Q 2.5(o\() +-.18 G(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 537.6 Q (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G (board macro and store the de\214nition.).15 E F1 -(call\255last\255kbd\255macr)108 184.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 -E F0(Re-e)144 196.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey) --.1 G .999(board macro de\214ned, by making the characters in the macro\ - appear as if).15 F(typed at the k)144 208.8 Q -.15(ey)-.1 G(board.).15 -E F1(Miscellaneous)87 225.6 Q -.18(re)108 237.6 S.18 E +(call\255last\255kbd\255macr)108 549.6 Q 2.5(o\()-.18 G(C\255x e\))-2.5 +E F0(Re-e)144 561.6 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 +G .999(board macro de\214ned, by making the characters in the macro app\ +ear as if).15 F .662(typed at the k)144 573.6 R -.15(ey)-.1 G(board.).15 +E F1(print\255last\255kbd\255macr)5.663 E 3.163(o\()-.18 G(\))-3.163 E +F0 .663(Print the last k)3.163 F -.15(ey)-.1 G .663 +(board macro de\214ned in a for).15 F(-)-.2 E(mat suitable for the)144 +585.6 Q F4(inputr)2.5 E(c)-.37 E F0(\214le.)2.5 E F1(Miscellaneous)87 +602.4 Q -.18(re)108 614.4 S.18 E (ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777 -(Read in the contents of the)144 249.6 R/F2 10/Times-Italic@0 SF(inputr) -4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb) --.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F -(found there.)144 261.6 Q F1(abort \(C\255g\))108 273.6 Q F0 3.248 -(Abort the current editing command and ring the terminal')144 285.6 R +(Read in the contents of the)144 626.4 R F4(inputr)4.277 E(c)-.37 E F0 +1.776(\214le, and incorporate an)4.276 F 4.276(yb)-.15 G 1.776 +(indings or v)-4.276 F 1.776(ariable assignments)-.25 F(found there.)144 +638.4 Q F1(abort \(C\255g\))108 650.4 Q F0 3.248 +(Abort the current editing command and ring the terminal')144 662.4 R 5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1 -(bell\255style)144 297.6 Q F0(\).)A F1(do\255upper)108 309.6 Q -(case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.) -C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 321.6 R F2(x) +(bell\255style)144 674.4 Q F0(\).)A F1(do\255upper)108 686.4 Q +(case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F4(x)A F1 2.5(,.) +C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 698.4 R F4(x) 4.256 E F0 1.755(is lo)4.256 F 1.755 (wercase, run the command that is bound to the corresponding)-.25 F -(uppercase character)144 333.6 Q(.)-.55 E F1(pr)108 345.6 Q -(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 357.6 Q -(xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0 -(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1 -(undo \(C\255_, C\255x C\255u\))108 369.6 Q F0 -(Incremental undo, separately remembered for each line.)144 381.6 Q F1 --2.29 -.18(re v)108 393.6 T(ert\255line \(M\255r\)).08 E F0 1.095 -(Undo all changes made to this line.)144 405.6 R 1.095(This is lik)6.095 -F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E +(uppercase character)144 710.4 Q(.)-.55 E(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(10)193.45 E 0 Cg EP +%%Page: 11 11 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 +/Times-Bold@0 SF(pr)108 84 Q(e\214x\255meta \(ESC\))-.18 E F0 +(Metafy the ne)144 96 Q(xt character typed.)-.15 E/F2 9/Times-Bold@0 SF +(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1 +(Meta\255f)2.5 E F0(.)A F1(undo \(C\255_, C\255x C\255u\))108 108 Q F0 +(Incremental undo, separately remembered for each line.)144 120 Q F1 +-2.29 -.18(re v)108 132 T(ert\255line \(M\255r\)).08 E F0 1.095 +(Undo all changes made to this line.)144 144 R 1.095(This is lik)6.095 F +3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E F0 1.095(command enough times to)3.595 F -(return the line to its initial state.)144 417.6 Q F1 -(tilde\255expand \(M\255&\))108 429.6 Q F0(Perform tilde e)144 441.6 Q +(return the line to its initial state.)144 156 Q F1 +(tilde\255expand \(M\255&\))108 168 Q F0(Perform tilde e)144 180 Q (xpansion on the current w)-.15 E(ord.)-.1 E F1 -(set\255mark \(C\255@, M\255\))108 453.6 Q F0 -(Set the mark to the point.)144 465.6 Q(If a numeric ar)5 E +(set\255mark \(C\255@, M\255\))108 192 Q F0 +(Set the mark to the point.)144 204 Q(If a numeric ar)5 E (gument is supplied, the mark is set to that position.)-.18 E F1 -(exchange\255point\255and\255mark \(C\255x C\255x\))108 477.6 Q F0(Sw) -144 489.6 Q .283(ap the point with the mark.)-.1 F .283 +(exchange\255point\255and\255mark \(C\255x C\255x\))108 216 Q F0(Sw)144 +228 Q .283(ap the point with the mark.)-.1 F .283 (The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G 2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa) -144 501.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 -(character\255sear)108 513.6 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144 -525.6 S .535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G -3.035(dt).15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535 +144 240 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 +(character\255sear)108 252 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144 264 S +.535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G 3.035(dt) +.15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535 (xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05 (ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre) -144 537.6 Q(vious occurrences.)-.25 E F1(character\255sear)108 549.6 Q -(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 561.6 S 1.044 +144 276 Q(vious occurrences.)-.25 E F1(character\255sear)108 288 Q +(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 300 S 1.044 (haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044 (vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G -(count searches for subsequent occurrences.)144 573.6 Q F1 -(skip\255csi\255sequence)108 585.6 Q F0 1.826 -(Read enough characters to consume a multi-k)144 597.6 R 2.126 -.15 -(ey s)-.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey) --.1 G 4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 609.6 R -.791(Such sequences be)5.791 F .791 +(count searches for subsequent occurrences.)144 312 Q F1 +(skip\255csi\255sequence)108 324 Q F0 1.826 +(Read enough characters to consume a multi-k)144 336 R 2.126 -.15(ey s) +-.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G +4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 348 R .791 +(Such sequences be)5.791 F .791 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F -.331(If this sequence is bound to "\\[", k)144 621.6 R -.15(ey)-.1 G -2.831(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15 -(ve n)-.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F -(xplic-)-.15 E .026(itly bound to a readline command, instead of insert\ -ing stray characters into the editing b)144 633.6 R(uf)-.2 E(fer)-.25 E -5.026(.T)-.55 G(his)-5.026 E(is unbound by def)144 645.6 Q(ault, b)-.1 E +.331(If this sequence is bound to "\\[", k)144 360 R -.15(ey)-.1 G 2.831 +(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15(ve n) +-.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F(xplic-) +-.15 E .026(itly bound to a readline command, instead of inserting stra\ +y characters into the editing b)144 372 R(uf)-.2 E(fer)-.25 E 5.026(.T) +-.55 G(his)-5.026 E(is unbound by def)144 384 Q(ault, b)-.1 E (ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108 -657.6 Q F0 -.4(Wi)144 669.6 S .48(thout a numeric ar).4 F .48 -(gument, the v)-.18 F .481(alue of the readline)-.25 F F1 -(comment\255begin)2.981 E F0 -.25(va)2.981 G .481 -(riable is inserted at the).25 F(be)144 681.6 Q .098 +396 Q F0 -.4(Wi)144 408 S .48(thout a numeric ar).4 F .48(gument, the v) +-.18 F .481(alue of the readline)-.25 F F1(comment\255begin)2.981 E F0 +-.25(va)2.981 G .481(riable is inserted at the).25 F(be)144 420 Q .098 (ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097 (gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E -.321(the characters at the be)144 693.6 R .321 +.321(the characters at the be)144 432 R .321 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1 (comment\255begin)2.821 E F0 2.822(,t)C .322(he v)-2.822 F .322(alue is) --.25 F 1.014(inserted, otherwise the characters in)144 705.6 R F1 +-.25 F 1.014(inserted, otherwise the characters in)144 444 R F1 (comment-begin)3.514 E F0 1.014(are deleted from the be)3.514 F 1.013 (ginning of the line.)-.15 F 1.468 -(In either case, the line is accepted as if a ne)144 717.6 R 1.468 +(In either case, the line is accepted as if a ne)144 456 R 1.468 (wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F -1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 729.6 Q F0(mak) +1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 468 Q F0(mak) 2.983 E .483(es the current line a shell comment.)-.1 F .483 (If a numeric ar)5.483 F .482(gument causes the comment)-.18 F -(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(10)192.055 E 0 Cg EP -%%Page: 11 11 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R -(character to be remo)144 84 Q -.15(ve)-.15 G(d, the line will be e).15 -E -.15(xe)-.15 G(cuted by the shell.).15 E/F1 10/Times-Bold@0 SF -(dump\255functions)108 96 Q F0 .626 -(Print all of the functions and their k)144 108 R .926 -.15(ey b)-.1 H -.627(indings to the readline output stream.).15 F .627(If a numeric ar) -5.627 F(gu-)-.18 E -(ment is supplied, the output is formatted in such a w)144 120 Q -(ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr) -2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 132 Q(ariables)-.1 E F0 -.283(Print all of the settable v)144 144 R .283(ariables and their v) +(character to be remo)144 480 Q -.15(ve)-.15 G(d, the line will be e).15 +E -.15(xe)-.15 G(cuted by the shell.).15 E F1(dump\255functions)108 492 +Q F0 .626(Print all of the functions and their k)144 504 R .926 -.15 +(ey b)-.1 H .627(indings to the readline output stream.).15 F .627 +(If a numeric ar)5.627 F(gu-)-.18 E +(ment is supplied, the output is formatted in such a w)144 516 Q +(ay that it can be made part of an)-.1 E/F3 10/Times-Italic@0 SF(inputr) +2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 528 Q(ariables)-.1 E F0 +.283(Print all of the settable v)144 540 R .283(ariables and their v) -.25 F .283(alues to the readline output stream.)-.25 F .283 (If a numeric ar)5.283 F(gu-)-.18 E -(ment is supplied, the output is formatted in such a w)144 156 Q -(ay that it can be made part of an)-.1 E F2(inputr)2.5 E(c)-.37 E F0 -(\214le.)2.5 E F1(dump\255macr)108 168 Q(os)-.18 E F0 .592 -(Print all of the readline k)144 180 R .892 -.15(ey s)-.1 H .592 +(ment is supplied, the output is formatted in such a w)144 552 Q +(ay that it can be made part of an)-.1 E F3(inputr)2.5 E(c)-.37 E F0 +(\214le.)2.5 E F1(dump\255macr)108 564 Q(os)-.18 E F0 .592 +(Print all of the readline k)144 576 R .892 -.15(ey s)-.1 H .592 (equences bound to macros and the strings the).15 F 3.093(yo)-.15 G -3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 192 Q +3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 588 Q .528(gument is supplied, the output is formatted in such a w)-.18 F .528 -(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0 -(\214le.)144 204 Q F1(emacs\255editing\255mode \(C\255e\))108 216 Q F0 -(When in)144 228 Q F1(vi)2.5 E F0(command mode, this causes a switch to) +(ay that it can be made part of an)-.1 F F3(inputr)3.027 E(c)-.37 E F0 +(\214le.)144 600 Q F1(emacs\255editing\255mode \(C\255e\))108 612 Q F0 +(When in)144 624 Q F1(vi)2.5 E F0(command mode, this causes a switch to) 2.5 E F1(emacs)2.5 E F0(editing mode.)2.5 E F1 -(vi\255editing\255mode \(M\255C\255j\))108 240 Q F0(When in)144 252 Q F1 +(vi\255editing\255mode \(M\255C\255j\))108 636 Q F0(When in)144 648 Q F1 (emacs)2.5 E F0(editing mode, this causes a switch to)2.5 E F1(vi)2.5 E -F0(editing mode.)2.5 E/F3 10.95/Times-Bold@0 SF(DEF)72 268.8 Q -.548(AU) +F0(editing mode.)2.5 E/F4 10.95/Times-Bold@0 SF(DEF)72 664.8 Q -.548(AU) -.986 G 2.014 -1.007(LT K).548 H(EY BINDINGS)1.007 E F0 .064(The follo) -108 280.8 R .064(wing is a list of the def)-.25 F .064 +108 676.8 R .064(wing is a list of the def)-.25 F .064 (ault emacs and vi bindings.)-.1 F .065 (Characters with the eighth bit set are written as)5.065 F .527 -(M\255, and are referred to as)108 292.8 R F2(meta\214ed) +(M\255, and are referred to as)108 688.8 R F3(meta\214ed) 3.407 E F0 3.027(characters. The)3.797 F .527 (printable ASCII characters not mentioned)3.027 F 1.115 -(in the list of emacs standard bindings are bound to the)108 304.8 R F1 +(in the list of emacs standard bindings are bound to the)108 700.8 R F1 (self\255insert)3.615 E F0 1.116(function, which just inserts the gi) 3.615 F -.15(ve)-.25 G(n).15 E .945(character into the input line.)108 -316.8 R .945(In vi insertion mode, all characters not speci\214cally me\ -ntioned are bound to)5.945 F F1(self\255insert)108 328.8 Q F0 5.358(.C)C -.358(haracters assigned to signal generation by)-5.358 F F2(stty)2.859 E +712.8 R .945(In vi insertion mode, all characters not speci\214cally me\ +ntioned are bound to)5.945 F F1(self\255insert)108 724.8 Q F0 5.358(.C)C +.358(haracters assigned to signal generation by)-5.358 F F3(stty)2.859 E F0 .359(\(1\) or the terminal dri).32 F -.15(ve)-.25 G 1.159 -.4(r, s) -.15 H .359(uch as C-Z or C-C,).4 F .188(retain that function.)108 340.8 -R .188(Upper and lo)5.188 F .188(wer case meta\214ed characters are bou\ -nd to the same function in the emacs)-.25 F .304(mode meta k)108 352.8 R --.15(ey)-.1 G 2.804(map. The).15 F .305(remaining characters are unboun\ -d, which causes readline to ring the bell \(subject)2.804 F -(to the setting of the)108 364.8 Q F1(bell\255style)2.5 E F0 -.25(va)2.5 -G(riable\).).25 E F1(Emacs Mode)87 381.6 Q F0(Emacs Standard bindings) -151.2 393.6 Q 2.5("C-@" set-mark)151.2 417.6 R 2.5("C-A" be)151.2 429.6 -R(ginning-of-line)-.15 E 2.5("C-B" backw)151.2 441.6 R(ard-char)-.1 E -2.5("C-D" delete-char)151.2 453.6 R 2.5("C-E" end-of-line)151.2 465.6 R -2.5("C-F" forw)151.2 477.6 R(ard-char)-.1 E 2.5("C-G" abort)151.2 489.6 -R 2.5("C-H" backw)151.2 501.6 R(ard-delete-char)-.1 E 2.5 -("C-I" complete)151.2 513.6 R 2.5("C-J" accept-line)151.2 525.6 R 2.5 -("C-K" kill-line)151.2 537.6 R 2.5("C-L" clear)151.2 549.6 R(-screen)-.2 -E 2.5("C-M" accept-line)151.2 561.6 R 2.5("C-N" ne)151.2 573.6 R -(xt-history)-.15 E 2.5("C-P" pre)151.2 585.6 R(vious-history)-.25 E 2.5 -("C-Q" quoted-insert)151.2 597.6 R 2.5("C-R" re)151.2 609.6 R -.15(ve) --.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2 621.6 R -(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 633.6 R 2.5 -("C-U" unix-line-discard)151.2 645.6 R 2.5("C-V" quoted-insert)151.2 -657.6 R 2.5("C-W" unix-w)151.2 669.6 R(ord-rubout)-.1 E 2.5("C-Y" yank) -151.2 681.6 R 2.5("C-]" character)151.2 693.6 R(-search)-.2 E 2.5 -("C-_" undo)151.2 705.6 R 3.333("")151.2 717.6 S(to "/")-.833 E -(self-insert)5 E 2.5("0" to)151.2 729.6 R 2.5("9" self-insert)2.5 F -(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(11)192.055 E 0 Cg EP +.15 H .359(uch as C-Z or C-C,).4 F(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(11)193.45 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5 -(":" to)151.2 84 R 2.5("~" self-insert)2.5 F 2.5("C-?" backw)151.2 96 R -(ard-delete-char)-.1 E(Emacs Meta bindings)151.2 112.8 Q 2.5 -("M-C-G" abort)151.2 136.8 R 2.5("M-C-H" backw)151.2 148.8 R(ard-kill-w) --.1 E(ord)-.1 E 2.5("M-C-I" tab-insert)151.2 160.8 R 2.5 -("M-C-J" vi-editing-mode)151.2 172.8 R 2.5("M-C-M" vi-editing-mode)151.2 -184.8 R 2.5("M-C-R" re)151.2 196.8 R -.15(ve)-.25 G(rt-line).15 E 2.5 -("M-C-Y" yank-nth-ar)151.2 208.8 R(g)-.18 E 2.5("M-C-[" complete)151.2 -220.8 R 2.5("M-C-]" character)151.2 232.8 R(-search-backw)-.2 E(ard)-.1 -E 2.5("M-space" set-mark)151.2 244.8 R 2.5("M-#" insert-comment)151.2 -256.8 R 2.5("M-&" tilde-e)151.2 268.8 R(xpand)-.15 E 2.5 -("M-*" insert-completions)151.2 280.8 R 2.5("M--" digit-ar)151.2 292.8 R -(gument)-.18 E 2.5("M-." yank-last-ar)151.2 304.8 R(g)-.18 E 2.5 -("M-0" digit-ar)151.2 316.8 R(gument)-.18 E 2.5("M-1" digit-ar)151.2 -328.8 R(gument)-.18 E 2.5("M-2" digit-ar)151.2 340.8 R(gument)-.18 E 2.5 -("M-3" digit-ar)151.2 352.8 R(gument)-.18 E 2.5("M-4" digit-ar)151.2 -364.8 R(gument)-.18 E 2.5("M-5" digit-ar)151.2 376.8 R(gument)-.18 E 2.5 -("M-6" digit-ar)151.2 388.8 R(gument)-.18 E 2.5("M-7" digit-ar)151.2 -400.8 R(gument)-.18 E 2.5("M-8" digit-ar)151.2 412.8 R(gument)-.18 E 2.5 -("M-9" digit-ar)151.2 424.8 R(gument)-.18 E 2.5("M-<" be)151.2 436.8 R -(ginning-of-history)-.15 E 2.5("M-=" possible-completions)151.2 448.8 R -2.5("M->" end-of-history)151.2 460.8 R 2.5("M-?" possible-completions) -151.2 472.8 R 2.5("M-B" backw)151.2 484.8 R(ard-w)-.1 E(ord)-.1 E 2.5 -("M-C" capitalize-w)151.2 496.8 R(ord)-.1 E 2.5("M-D" kill-w)151.2 508.8 -R(ord)-.1 E 2.5("M-F" forw)151.2 520.8 R(ard-w)-.1 E(ord)-.1 E 2.5 -("M-L" do)151.2 532.8 R(wncase-w)-.25 E(ord)-.1 E 2.5 -("M-N" non-incremental-forw)151.2 544.8 R(ard-search-history)-.1 E 2.5 -("M-P" non-incremental-re)151.2 556.8 R -.15(ve)-.25 G -(rse-search-history).15 E 2.5("M-R" re)151.2 568.8 R -.15(ve)-.25 G -(rt-line).15 E 2.5("M-T" transpose-w)151.2 580.8 R(ords)-.1 E 2.5 -("M-U" upcase-w)151.2 592.8 R(ord)-.1 E 2.5("M-Y" yank-pop)151.2 604.8 R -2.5("M-\\" delete-horizontal-space)151.2 616.8 R 2.5("M-~" tilde-e)151.2 -628.8 R(xpand)-.15 E 2.5("M-C-?" backw)151.2 640.8 R(ard-kill-w)-.1 E -(ord)-.1 E 2.5("M-_" yank-last-ar)151.2 652.8 R(g)-.18 E -(Emacs Control-X bindings)151.2 669.6 Q 2.5("C-XC-G" abort)151.2 693.6 R -2.5("C-XC-R" re-read-init-\214le)151.2 705.6 R 2.5("C-XC-U" undo)151.2 -717.6 R 2.5("C-XC-X" e)151.2 729.6 R(xchange-point-and-mark)-.15 E -(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(12)192.055 E 0 Cg EP +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R .188 +(retain that function.)108 84 R .188(Upper and lo)5.188 F .188(wer case\ + meta\214ed characters are bound to the same function in the emacs)-.25 +F .304(mode meta k)108 96 R -.15(ey)-.1 G 2.804(map. The).15 F .305(rem\ +aining characters are unbound, which causes readline to ring the bell \ +\(subject)2.804 F(to the setting of the)108 108 Q/F1 10/Times-Bold@0 SF +(bell\255style)2.5 E F0 -.25(va)2.5 G(riable\).).25 E F1(Emacs Mode)87 +124.8 Q F0(Emacs Standard bindings)151.2 136.8 Q 2.5("C-@" set-mark) +151.2 160.8 R 2.5("C-A" be)151.2 172.8 R(ginning-of-line)-.15 E 2.5 +("C-B" backw)151.2 184.8 R(ard-char)-.1 E 2.5("C-D" delete-char)151.2 +196.8 R 2.5("C-E" end-of-line)151.2 208.8 R 2.5("C-F" forw)151.2 220.8 R +(ard-char)-.1 E 2.5("C-G" abort)151.2 232.8 R 2.5("C-H" backw)151.2 +244.8 R(ard-delete-char)-.1 E 2.5("C-I" complete)151.2 256.8 R 2.5 +("C-J" accept-line)151.2 268.8 R 2.5("C-K" kill-line)151.2 280.8 R 2.5 +("C-L" clear)151.2 292.8 R(-screen)-.2 E 2.5("C-M" accept-line)151.2 +304.8 R 2.5("C-N" ne)151.2 316.8 R(xt-history)-.15 E 2.5("C-P" pre)151.2 +328.8 R(vious-history)-.25 E 2.5("C-Q" quoted-insert)151.2 340.8 R 2.5 +("C-R" re)151.2 352.8 R -.15(ve)-.25 G(rse-search-history).15 E 2.5 +("C-S" forw)151.2 364.8 R(ard-search-history)-.1 E 2.5 +("C-T" transpose-chars)151.2 376.8 R 2.5("C-U" unix-line-discard)151.2 +388.8 R 2.5("C-V" quoted-insert)151.2 400.8 R 2.5("C-W" unix-w)151.2 +412.8 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 424.8 R 2.5 +("C-]" character)151.2 436.8 R(-search)-.2 E 2.5("C-_" undo)151.2 448.8 +R 3.333("")151.2 460.8 S(to "/")-.833 E(self-insert)5 E 2.5("0" to)151.2 +472.8 R 2.5("9" self-insert)2.5 F 2.5(":" to)151.2 484.8 R 2.5 +("~" self-insert)2.5 F 2.5("C-?" backw)151.2 496.8 R(ard-delete-char)-.1 +E(Emacs Meta bindings)151.2 513.6 Q 2.5("M-C-G" abort)151.2 537.6 R 2.5 +("M-C-H" backw)151.2 549.6 R(ard-kill-w)-.1 E(ord)-.1 E 2.5 +("M-C-I" tab-insert)151.2 561.6 R 2.5("M-C-J" vi-editing-mode)151.2 +573.6 R 2.5("M-C-M" vi-editing-mode)151.2 585.6 R 2.5("M-C-R" re)151.2 +597.6 R -.15(ve)-.25 G(rt-line).15 E 2.5("M-C-Y" yank-nth-ar)151.2 609.6 +R(g)-.18 E 2.5("M-C-[" complete)151.2 621.6 R 2.5("M-C-]" character) +151.2 633.6 R(-search-backw)-.2 E(ard)-.1 E 2.5("M-space" set-mark)151.2 +645.6 R 2.5("M-#" insert-comment)151.2 657.6 R 2.5("M-&" tilde-e)151.2 +669.6 R(xpand)-.15 E 2.5("M-*" insert-completions)151.2 681.6 R 2.5 +("M--" digit-ar)151.2 693.6 R(gument)-.18 E 2.5("M-." yank-last-ar)151.2 +705.6 R(g)-.18 E 2.5("M-0" digit-ar)151.2 717.6 R(gument)-.18 E 2.5 +("M-1" digit-ar)151.2 729.6 R(gument)-.18 E(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(12)193.45 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5 -("C-X\(" start-kbd-macro)151.2 84 R 2.5("C-X\)" end-kbd-macro)151.2 96 R -2.5("C-XE" call-last-kbd-macro)151.2 108 R 2.5("C-XC-?" backw)151.2 120 -R(ard-kill-line)-.1 E/F1 10/Times-Bold@0 SF(VI Mode bindings)87 148.8 Q -F0(VI Insert Mode functions)151.2 160.8 Q 2.5("C-D" vi-eof-maybe)151.2 -184.8 R 2.5("C-H" backw)151.2 196.8 R(ard-delete-char)-.1 E 2.5 -("C-I" complete)151.2 208.8 R 2.5("C-J" accept-line)151.2 220.8 R 2.5 -("C-M" accept-line)151.2 232.8 R 2.5("C-R" re)151.2 244.8 R -.15(ve)-.25 -G(rse-search-history).15 E 2.5("C-S" forw)151.2 256.8 R -(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 268.8 R 2.5 -("C-U" unix-line-discard)151.2 280.8 R 2.5("C-V" quoted-insert)151.2 -292.8 R 2.5("C-W" unix-w)151.2 304.8 R(ord-rubout)-.1 E 2.5("C-Y" yank) -151.2 316.8 R 2.5("C-[" vi-mo)151.2 328.8 R -.15(ve)-.15 G(ment-mode).15 -E 2.5("C-_" undo)151.2 340.8 R 3.333("")151.2 352.8 S(to "~")-.833 E -(self-insert)5 E 2.5("C-?" backw)151.2 364.8 R(ard-delete-char)-.1 E -(VI Command Mode functions)151.2 381.6 Q 2.5("C-D" vi-eof-maybe)151.2 -405.6 R 2.5("C-E" emacs-editing-mode)151.2 417.6 R 2.5("C-G" abort)151.2 -429.6 R 2.5("C-H" backw)151.2 441.6 R(ard-char)-.1 E 2.5 -("C-J" accept-line)151.2 453.6 R 2.5("C-K" kill-line)151.2 465.6 R 2.5 -("C-L" clear)151.2 477.6 R(-screen)-.2 E 2.5("C-M" accept-line)151.2 -489.6 R 2.5("C-N" ne)151.2 501.6 R(xt-history)-.15 E 2.5("C-P" pre)151.2 -513.6 R(vious-history)-.25 E 2.5("C-Q" quoted-insert)151.2 525.6 R 2.5 -("C-R" re)151.2 537.6 R -.15(ve)-.25 G(rse-search-history).15 E 2.5 -("C-S" forw)151.2 549.6 R(ard-search-history)-.1 E 2.5 -("C-T" transpose-chars)151.2 561.6 R 2.5("C-U" unix-line-discard)151.2 -573.6 R 2.5("C-V" quoted-insert)151.2 585.6 R 2.5("C-W" unix-w)151.2 -597.6 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 609.6 R 2.5("C-_" vi-undo) -151.2 621.6 R -4.166 3.333("" f)151.2 633.6 T(orw)-3.333 E(ard-char)-.1 -E 2.5("#" insert-comment)151.2 645.6 R 2.5("$" end-of-line)151.2 657.6 R -2.5("%" vi-match)151.2 669.6 R 2.5("&" vi-tilde-e)151.2 681.6 R(xpand) --.15 E 2.5("*" vi-complete)151.2 693.6 R 2.5("+" ne)151.2 705.6 R -(xt-history)-.15 E 2.5("," vi-char)151.2 717.6 R(-search)-.2 E 2.5 -("-" pre)151.2 729.6 R(vious-history)-.25 E(GNU Readline 6.2)72 768 Q -(2010 August 28)127.345 E(13)192.055 E 0 Cg EP +("M-2" digit-ar)151.2 84 R(gument)-.18 E 2.5("M-3" digit-ar)151.2 96 R +(gument)-.18 E 2.5("M-4" digit-ar)151.2 108 R(gument)-.18 E 2.5 +("M-5" digit-ar)151.2 120 R(gument)-.18 E 2.5("M-6" digit-ar)151.2 132 R +(gument)-.18 E 2.5("M-7" digit-ar)151.2 144 R(gument)-.18 E 2.5 +("M-8" digit-ar)151.2 156 R(gument)-.18 E 2.5("M-9" digit-ar)151.2 168 R +(gument)-.18 E 2.5("M-<" be)151.2 180 R(ginning-of-history)-.15 E 2.5 +("M-=" possible-completions)151.2 192 R 2.5("M->" end-of-history)151.2 +204 R 2.5("M-?" possible-completions)151.2 216 R 2.5("M-B" backw)151.2 +228 R(ard-w)-.1 E(ord)-.1 E 2.5("M-C" capitalize-w)151.2 240 R(ord)-.1 E +2.5("M-D" kill-w)151.2 252 R(ord)-.1 E 2.5("M-F" forw)151.2 264 R(ard-w) +-.1 E(ord)-.1 E 2.5("M-L" do)151.2 276 R(wncase-w)-.25 E(ord)-.1 E 2.5 +("M-N" non-incremental-forw)151.2 288 R(ard-search-history)-.1 E 2.5 +("M-P" non-incremental-re)151.2 300 R -.15(ve)-.25 G(rse-search-history) +.15 E 2.5("M-R" re)151.2 312 R -.15(ve)-.25 G(rt-line).15 E 2.5 +("M-T" transpose-w)151.2 324 R(ords)-.1 E 2.5("M-U" upcase-w)151.2 336 R +(ord)-.1 E 2.5("M-Y" yank-pop)151.2 348 R 2.5 +("M-\\" delete-horizontal-space)151.2 360 R 2.5("M-~" tilde-e)151.2 372 +R(xpand)-.15 E 2.5("M-C-?" backw)151.2 384 R(ard-kill-w)-.1 E(ord)-.1 E +2.5("M-_" yank-last-ar)151.2 396 R(g)-.18 E(Emacs Control-X bindings) +151.2 412.8 Q 2.5("C-XC-G" abort)151.2 436.8 R 2.5 +("C-XC-R" re-read-init-\214le)151.2 448.8 R 2.5("C-XC-U" undo)151.2 +460.8 R 2.5("C-XC-X" e)151.2 472.8 R(xchange-point-and-mark)-.15 E 2.5 +("C-X\(" start-kbd-macro)151.2 484.8 R 2.5("C-X\)" end-kbd-macro)151.2 +496.8 R 2.5("C-XE" call-last-kbd-macro)151.2 508.8 R 2.5("C-XC-?" backw) +151.2 520.8 R(ard-kill-line)-.1 E/F1 10/Times-Bold@0 SF +(VI Mode bindings)87 549.6 Q F0(VI Insert Mode functions)151.2 561.6 Q +2.5("C-D" vi-eof-maybe)151.2 585.6 R 2.5("C-H" backw)151.2 597.6 R +(ard-delete-char)-.1 E 2.5("C-I" complete)151.2 609.6 R 2.5 +("C-J" accept-line)151.2 621.6 R 2.5("C-M" accept-line)151.2 633.6 R 2.5 +("C-R" re)151.2 645.6 R -.15(ve)-.25 G(rse-search-history).15 E 2.5 +("C-S" forw)151.2 657.6 R(ard-search-history)-.1 E 2.5 +("C-T" transpose-chars)151.2 669.6 R 2.5("C-U" unix-line-discard)151.2 +681.6 R 2.5("C-V" quoted-insert)151.2 693.6 R 2.5("C-W" unix-w)151.2 +705.6 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 717.6 R 2.5("C-[" vi-mo) +151.2 729.6 R -.15(ve)-.15 G(ment-mode).15 E(GNU Readline 6.3)72 768 Q +(2014 January 6)128.74 E(13)193.45 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5 -("." vi-redo)151.2 84 R 2.5("/" vi-search)151.2 96 R 2.5("0" be)151.2 -108 R(ginning-of-line)-.15 E("1" to "9")151.2 120 Q(vi-ar)5 E(g-digit) --.18 E 2.5(";" vi-char)151.2 132 R(-search)-.2 E 2.5("=" vi-complete) -151.2 144 R 2.5("?" vi-search)151.2 156 R 2.5("A" vi-append-eol)151.2 -168 R 2.5("B" vi-pre)151.2 180 R(v-w)-.25 E(ord)-.1 E 2.5 -("C" vi-change-to)151.2 192 R 2.5("D" vi-delete-to)151.2 204 R 2.5 -("E" vi-end-w)151.2 216 R(ord)-.1 E 2.5("F" vi-char)151.2 228 R(-search) --.2 E 2.5("G" vi-fetch-history)151.2 240 R 2.5("I" vi-insert-be)151.2 -252 R(g)-.15 E 2.5("N" vi-search-ag)151.2 264 R(ain)-.05 E 2.5 -("P" vi-put)151.2 276 R 2.5("R" vi-replace)151.2 288 R 2.5("S" vi-subst) -151.2 300 R 2.5("T" vi-char)151.2 312 R(-search)-.2 E 2.5("U" re)151.2 -324 R -.15(ve)-.25 G(rt-line).15 E 2.5("W" vi-ne)151.2 336 R(xt-w)-.15 E -(ord)-.1 E 2.5("X" backw)151.2 348 R(ard-delete-char)-.1 E 2.5 -("Y" vi-yank-to)151.2 360 R 2.5("\\" vi-complete)151.2 372 R 2.5 -("^" vi-\214rst-print)151.2 384 R 2.5("_" vi-yank-ar)151.2 396 R(g)-.18 -E 2.5("`" vi-goto-mark)151.2 408 R 2.5("a" vi-append-mode)151.2 420 R -2.5("b" vi-pre)151.2 432 R(v-w)-.25 E(ord)-.1 E 2.5("c" vi-change-to) -151.2 444 R 2.5("d" vi-delete-to)151.2 456 R 2.5("e" vi-end-w)151.2 468 -R(ord)-.1 E 2.5("f" vi-char)151.2 480 R(-search)-.2 E 2.5("h" backw) -151.2 492 R(ard-char)-.1 E 2.5("i" vi-insertion-mode)151.2 504 R 2.5 -("j" ne)151.2 516 R(xt-history)-.15 E 2.5("k" pre)151.2 528 R(v-history) --.25 E 2.5("l" forw)151.2 540 R(ard-char)-.1 E 2.5("m" vi-set-mark)151.2 -552 R 2.5("n" vi-search-ag)151.2 564 R(ain)-.05 E 2.5("p" vi-put)151.2 -576 R 2.5("r" vi-change-char)151.2 588 R 2.5("s" vi-subst)151.2 600 R -2.5("t" vi-char)151.2 612 R(-search)-.2 E 2.5("u" vi-undo)151.2 624 R -2.5("w" vi-ne)151.2 636 R(xt-w)-.15 E(ord)-.1 E 2.5("x" vi-delete)151.2 -648 R 2.5("y" vi-yank-to)151.2 660 R 2.5("|" vi-column)151.2 672 R 2.5 -("~" vi-change-case)151.2 684 R/F1 10.95/Times-Bold@0 SF(SEE ALSO)72 -700.8 Q F0(GNU Readline 6.2)72 768 Q(2010 August 28)127.345 E(14)192.055 -E 0 Cg EP +("C-_" undo)151.2 84 R 3.333("")151.2 96 S(to "~")-.833 E(self-insert)5 +E 2.5("C-?" backw)151.2 108 R(ard-delete-char)-.1 E +(VI Command Mode functions)151.2 124.8 Q 2.5("C-D" vi-eof-maybe)151.2 +148.8 R 2.5("C-E" emacs-editing-mode)151.2 160.8 R 2.5("C-G" abort)151.2 +172.8 R 2.5("C-H" backw)151.2 184.8 R(ard-char)-.1 E 2.5 +("C-J" accept-line)151.2 196.8 R 2.5("C-K" kill-line)151.2 208.8 R 2.5 +("C-L" clear)151.2 220.8 R(-screen)-.2 E 2.5("C-M" accept-line)151.2 +232.8 R 2.5("C-N" ne)151.2 244.8 R(xt-history)-.15 E 2.5("C-P" pre)151.2 +256.8 R(vious-history)-.25 E 2.5("C-Q" quoted-insert)151.2 268.8 R 2.5 +("C-R" re)151.2 280.8 R -.15(ve)-.25 G(rse-search-history).15 E 2.5 +("C-S" forw)151.2 292.8 R(ard-search-history)-.1 E 2.5 +("C-T" transpose-chars)151.2 304.8 R 2.5("C-U" unix-line-discard)151.2 +316.8 R 2.5("C-V" quoted-insert)151.2 328.8 R 2.5("C-W" unix-w)151.2 +340.8 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 352.8 R 2.5("C-_" vi-undo) +151.2 364.8 R -4.166 3.333("" f)151.2 376.8 T(orw)-3.333 E(ard-char)-.1 +E 2.5("#" insert-comment)151.2 388.8 R 2.5("$" end-of-line)151.2 400.8 R +2.5("%" vi-match)151.2 412.8 R 2.5("&" vi-tilde-e)151.2 424.8 R(xpand) +-.15 E 2.5("*" vi-complete)151.2 436.8 R 2.5("+" ne)151.2 448.8 R +(xt-history)-.15 E 2.5("," vi-char)151.2 460.8 R(-search)-.2 E 2.5 +("-" pre)151.2 472.8 R(vious-history)-.25 E 2.5("." vi-redo)151.2 484.8 +R 2.5("/" vi-search)151.2 496.8 R 2.5("0" be)151.2 508.8 R +(ginning-of-line)-.15 E("1" to "9")151.2 520.8 Q(vi-ar)5 E(g-digit)-.18 +E 2.5(";" vi-char)151.2 532.8 R(-search)-.2 E 2.5("=" vi-complete)151.2 +544.8 R 2.5("?" vi-search)151.2 556.8 R 2.5("A" vi-append-eol)151.2 +568.8 R 2.5("B" vi-pre)151.2 580.8 R(v-w)-.25 E(ord)-.1 E 2.5 +("C" vi-change-to)151.2 592.8 R 2.5("D" vi-delete-to)151.2 604.8 R 2.5 +("E" vi-end-w)151.2 616.8 R(ord)-.1 E 2.5("F" vi-char)151.2 628.8 R +(-search)-.2 E 2.5("G" vi-fetch-history)151.2 640.8 R 2.5 +("I" vi-insert-be)151.2 652.8 R(g)-.15 E 2.5("N" vi-search-ag)151.2 +664.8 R(ain)-.05 E 2.5("P" vi-put)151.2 676.8 R 2.5("R" vi-replace)151.2 +688.8 R 2.5("S" vi-subst)151.2 700.8 R 2.5("T" vi-char)151.2 712.8 R +(-search)-.2 E 2.5("U" re)151.2 724.8 R -.15(ve)-.25 G(rt-line).15 E +(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(14)193.45 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10 -/Times-Italic@0 SF(The Gnu Readline Libr)108 84 Q(ary)-.15 E F0 2.5(,B)C -(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F1(The Gnu History Libr) -108 96 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y) --.15 E F1(bash)108 108 Q F0(\(1\))A/F2 10.95/Times-Bold@0 SF(FILES)72 -124.8 Q F1(~/.inputr)109.666 136.8 Q(c)-.37 E F0(Indi)144 148.8 Q -(vidual)-.25 E/F3 10/Times-Bold@0 SF -.18(re)2.5 G(adline).18 E F0 -(initialization \214le)2.5 E F2 -.548(AU)72 165.6 S(THORS).548 E F0 -(Brian F)108 177.6 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E -(bfox@gnu.or)108 189.6 Q(g)-.18 E(Chet Rame)108 206.4 Q 1.3 -.65(y, C) +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5 +("W" vi-ne)151.2 84 R(xt-w)-.15 E(ord)-.1 E 2.5("X" backw)151.2 96 R +(ard-delete-char)-.1 E 2.5("Y" vi-yank-to)151.2 108 R 2.5 +("\\" vi-complete)151.2 120 R 2.5("^" vi-\214rst-print)151.2 132 R 2.5 +("_" vi-yank-ar)151.2 144 R(g)-.18 E 2.5("`" vi-goto-mark)151.2 156 R +2.5("a" vi-append-mode)151.2 168 R 2.5("b" vi-pre)151.2 180 R(v-w)-.25 E +(ord)-.1 E 2.5("c" vi-change-to)151.2 192 R 2.5("d" vi-delete-to)151.2 +204 R 2.5("e" vi-end-w)151.2 216 R(ord)-.1 E 2.5("f" vi-char)151.2 228 R +(-search)-.2 E 2.5("h" backw)151.2 240 R(ard-char)-.1 E 2.5 +("i" vi-insertion-mode)151.2 252 R 2.5("j" ne)151.2 264 R(xt-history) +-.15 E 2.5("k" pre)151.2 276 R(v-history)-.25 E 2.5("l" forw)151.2 288 R +(ard-char)-.1 E 2.5("m" vi-set-mark)151.2 300 R 2.5("n" vi-search-ag) +151.2 312 R(ain)-.05 E 2.5("p" vi-put)151.2 324 R 2.5 +("r" vi-change-char)151.2 336 R 2.5("s" vi-subst)151.2 348 R 2.5 +("t" vi-char)151.2 360 R(-search)-.2 E 2.5("u" vi-undo)151.2 372 R 2.5 +("w" vi-ne)151.2 384 R(xt-w)-.15 E(ord)-.1 E 2.5("x" vi-delete)151.2 396 +R 2.5("y" vi-yank-to)151.2 408 R 2.5("|" vi-column)151.2 420 R 2.5 +("~" vi-change-case)151.2 432 R/F1 10.95/Times-Bold@0 SF(SEE ALSO)72 +448.8 Q/F2 10/Times-Italic@0 SF(The Gnu Readline Libr)108 460.8 Q(ary) +-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2 +(The Gnu History Libr)108 472.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E +(ox and Chet Rame)-.15 E(y)-.15 E F2(bash)108 484.8 Q F0(\(1\))A F1 +(FILES)72 501.6 Q F2(~/.inputr)109.666 513.6 Q(c)-.37 E F0(Indi)144 +525.6 Q(vidual)-.25 E/F3 10/Times-Bold@0 SF -.18(re)2.5 G(adline).18 E +F0(initialization \214le)2.5 E F1 -.548(AU)72 542.4 S(THORS).548 E F0 +(Brian F)108 554.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E +(bfox@gnu.or)108 566.4 Q(g)-.18 E(Chet Rame)108 583.2 Q 1.3 -.65(y, C) -.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve) --.25 G(rsity).15 E(chet@ins.CWR)108 218.4 Q(U.Edu)-.4 E F2 -.11(BU)72 -235.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .691 -(If you \214nd a b)108 247.2 R .691(ug in)-.2 F F3 -.18(re)3.191 G -(adline,).18 E F0 .691(you should report it.)3.191 F .69 -(But \214rst, you should mak)5.69 F 3.19(es)-.1 G .69 -(ure that it really is a b)-3.19 F(ug,)-.2 E -(and that it appears in the latest v)108 259.2 Q(ersion of the)-.15 E F3 +-.25 G(rsity).15 E(chet.rame)108 595.2 Q(y@case.edu)-.15 E F1 -.11(BU)72 +612 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .691(If you \214nd a b) +108 624 R .691(ug in)-.2 F F3 -.18(re)3.191 G(adline,).18 E F0 .691 +(you should report it.)3.191 F .69(But \214rst, you should mak)5.69 F +3.19(es)-.1 G .69(ure that it really is a b)-3.19 F(ug,)-.2 E +(and that it appears in the latest v)108 636 Q(ersion of the)-.15 E F3 -.18(re)2.5 G(adline).18 E F0(library that you ha)2.5 E -.15(ve)-.2 G(.) -.15 E .704(Once you ha)108 276 R 1.004 -.15(ve d)-.2 H .704 +.15 E .704(Once you ha)108 652.8 R 1.004 -.15(ve d)-.2 H .704 (etermined that a b).15 F .704(ug actually e)-.2 F .704(xists, mail a b) --.15 F .705(ug report to)-.2 F F1 -.2(bu)3.205 G(g\255r).2 E(eadline) --.37 E F0(@)A F1(gnu.or)A(g)-.37 E F0 5.705(.I)C 3.205(fy)-5.705 G(ou) --3.205 E(ha)108 288 Q 1.81 -.15(ve a \214)-.2 H 1.51 +-.15 F .705(ug report to)-.2 F F2 -.2(bu)3.205 G(g\255r).2 E(eadline) +-.37 E F0(@)A F2(gnu.or)A(g)-.37 E F0 5.705(.I)C 3.205(fy)-5.705 G(ou) +-3.205 E(ha)108 664.8 Q 1.81 -.15(ve a \214)-.2 H 1.51 (x, you are welcome to mail that as well!).15 F 1.509 (Suggestions and `philosophical' b)6.509 F 1.509(ug reports may be)-.2 F -(mailed to)108 300 Q F1 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F1 +(mailed to)108 676.8 Q F2 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F2 (gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F3 -(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 316.8 Q -(ug reports concerning this manual page should be directed to)-.2 E F1 --.15(ch)2.5 G(et@ins.CWR).15 E -.25(U.)-.4 G(Edu).25 E F0(.).25 E F2 --.11(BU)72 333.6 S(GS).11 E F0(It')108 345.6 Q 2.5(st)-.55 G -(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 6.2)72 768 Q -(2010 August 28)127.345 E(15)192.055 E 0 Cg EP +(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 693.6 Q +(ug reports concerning this manual page should be directed to)-.2 E F2 +-.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25 E +(GNU Readline 6.3)72 768 Q(2014 January 6)128.74 E(15)193.45 E 0 Cg EP +%%Page: 16 16 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 +10.95/Times-Bold@0 SF -.11(BU)72 84 S(GS).11 E F0(It')108 96 Q 2.5(st) +-.55 G(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 6.3)72 768 +Q(2014 January 6)128.74 E(16)193.45 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/rlman.texi b/doc/rlman.texi index 1c9ac13..17a8292 100644 --- a/doc/rlman.texi +++ b/doc/rlman.texi @@ -2,34 +2,26 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename readline.info @settitle GNU Readline Library +@include version.texi + @comment %**end of header (This is for running Texinfo on a region.) @synindex vr fn -@include version.texi - @copying This manual describes the GNU Readline Library (version @value{VERSION}, @value{UPDATED}), a library which aids in the consistency of user interface across discrete programs which provide a command line interface. -Copyright @copyright{} 1988--2011 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. +Copyright @copyright{} 1988--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', -and with the Back-Cover Texts as in (a) below. A copy of the license is -included in the section entitled ``GNU Free Documentation License''. - -(a) The FSF's Back-Cover Text is: You are free to copy and modify -this GNU manual. Buying copies from GNU Press supports the FSF in -developing GNU and promoting software freedom.'' +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled +``GNU Free Documentation License''. @end quotation @end copying @@ -50,12 +42,6 @@ developing GNU and promoting software freedom.'' @vskip 0pt plus 1filll @insertcopying -@sp 1 -Published by the Free Software Foundation @* -59 Temple Place, Suite 330, @* -Boston, MA 02111-1307 @* -USA @* - @end titlepage @contents @@ -67,6 +53,7 @@ USA @* This document describes the GNU Readline Library, a utility which aids in the consistency of user interface across discrete programs which provide a command line interface. +The Readline home page is @url{http://www.gnu.org/software/readline/}. @menu * Command Line Editing:: GNU Readline User's Manual. diff --git a/doc/rltech.texi b/doc/rltech.texi index dc272a2..40de49c 100644 --- a/doc/rltech.texi +++ b/doc/rltech.texi @@ -7,7 +7,7 @@ This document describes the GNU Readline Library, a utility for aiding in the consistency of user interface across discrete programs that need to provide a command line interface. -Copyright (C) 1988--2011 Free Software Foundation, Inc. +Copyright (C) 1988--2014 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -195,7 +195,7 @@ For Readline 4.2, for example, the value of @node Readline Typedefs @subsection Readline Typedefs -For readabilty, we declare a number of new object types, all pointers +For readability, we declare a number of new object types, all pointers to functions. The reason for declaring these new types is to make it easier to write @@ -440,6 +440,35 @@ If non-zero, Readline will call indirectly through this pointer to get a character from the input stream. By default, it is set to @code{rl_getc}, the default Readline character input function (@pxref{Character Input}). +In general, an application that sets @var{rl_getc_function} should consider +setting @var{rl_input_available_hook} as well. +@end deftypevar + +@deftypevar {rl_hook_func_t *} rl_signal_event_hook +If non-zero, this is the address of a function to call if a read system +call is interrupted when Readline is reading terminal input. +@end deftypevar + +@deftypevar {rl_hook_func_t *} rl_input_available_hook +If non-zero, Readline will use this function's return value when it needs +to determine whether or not there is available input on the current input +source. +The default hook checks @code{rl_instream}; if an application is using a +different input source, it should set the hook appropriately. +Readline queries for available input when implementing intra-key-sequence +timeouts during input and incremental searches. +This may use an application-specific timeout before returning a value; +Readline uses the value passed to @code{rl_set_keyboard_input_timeout()} +or the value of the user-settable @var{keyseq-timeout} variable. +This is designed for use by applications using Readline's callback interface +(@pxref{Alternate Interface}), which may not use the traditional +@code{read(2)} and file descriptor interface, or other applications using +a different input mechanism. +If an application uses an input mechanism or hook that can potentially exceed +the value of @var{keyseq-timeout}, it should increase the timeout or set +this hook appropriately even when not using the callback interface. +In general, an application that sets @var{rl_getc_function} should consider +setting @var{rl_input_available_hook} as well. @end deftypevar @deftypevar {rl_voidfunc_t *} rl_redisplay_function @@ -479,6 +508,19 @@ last key binding occurred. This variable is set to the text of any currently-executing macro. @end deftypevar +@deftypevar int rl_executing_key +The key that caused the dispatch to the currently-executing Readline function. +@end deftypevar + +@deftypevar {char *} rl_executing_keyseq +The full key sequence that caused the dispatch to the currently-executing +Readline function. +@end deftypevar + +@deftypevar int rl_key_sequence_length +The number of characters in @var{rl_executing_keyseq}. +@end deftypevar + @deftypevar {int} rl_readline_state A variable with bit values that encapsulate the current Readline state. A bit is set with the @code{RL_SETSTATE} macro, and unset with the @@ -487,7 +529,7 @@ whether a particular state bit is set. Current state bits include: @table @code @item RL_STATE_NONE -Readline has not yet been called, nor has it begun to intialize. +Readline has not yet been called, nor has it begun to initialize. @item RL_STATE_INITIALIZING Readline is initializing its internal data structures. @item RL_STATE_INITIALIZED @@ -580,6 +622,7 @@ means that vi mode is active. * Miscellaneous Functions:: Functions that don't fall into any category. * Alternate Interface:: Using Readline in a `callback' fashion. * A Readline Example:: An example Readline function. +* Alternate Interface Example:: An example program using the alternate interface. @end menu @node Function Naming @@ -908,7 +951,7 @@ Readline thinks the screen display is correct. @deftypefun int rl_on_new_line (void) Tell the update functions that we have moved onto a new (empty) line, -usually after ouputting a newline. +usually after outputting a newline. @end deftypefun @deftypefun int rl_on_new_line_with_prompt (void) @@ -1241,21 +1284,29 @@ use all of a terminal's capabilities, and this function will return values for only those capabilities Readline uses. @end deftypefun +@deftypefun {void} rl_clear_history (void) +Clear the history list by deleting all of the entries, in the same manner +as the History library's @code{clear_history()} function. +This differs from @code{clear_history} because it frees private data +Readline saves in the history list. +@end deftypefun + @node Alternate Interface @subsection Alternate Interface An alternate interface is available to plain @code{readline()}. Some applications need to interleave keyboard I/O with file, device, or window system I/O, typically by using a main loop to @code{select()} -on various file descriptors. To accomodate this need, readline can +on various file descriptors. To accommodate this need, readline can also be invoked as a `callback' function from an event loop. There are functions available to make this easy. @deftypefun void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler) Set up the terminal for readline I/O and display the initial expanded value of @var{prompt}. Save the value of @var{lhandler} to -use as a function to call when a complete line of input has been entered. -The function takes the text of the line as an argument. +use as a handler function to call when a complete line of input has been +entered. +The handler function receives the text of the line as an argument. @end deftypefun @deftypefun void rl_callback_read_char (void) @@ -1263,14 +1314,15 @@ Whenever an application determines that keyboard input is available, it should call @code{rl_callback_read_char()}, which will read the next character from the current input source. If that character completes the line, @code{rl_callback_read_char} will -invoke the @var{lhandler} function saved by @code{rl_callback_handler_install} -to process the line. +invoke the @var{lhandler} function installed by +@code{rl_callback_handler_install} to process the line. Before calling the @var{lhandler} function, the terminal settings are reset to the values they had before calling @code{rl_callback_handler_install}. If the @var{lhandler} function returns, +and the line handler remains installed, the terminal settings are modified for Readline's use again. -@code{EOF} is indicated by calling @var{lhandler} with a +@code{EOF} is indicated by calling @var{lhandler} with a @code{NULL} line. @end deftypefun @@ -1350,6 +1402,98 @@ invert_case_line (count, key) @} @end example +@node Alternate Interface Example +@subsection Alternate Interface Example + +Here is a complete program that illustrates Readline's alternate interface. +It reads lines from the terminal and displays them, providing the +standard history and TAB completion functions. +It understands the EOF character or "exit" to exit the program. + +@example +/* Standard include files. stdio.h is required. */ +#include +#include + +/* Used for select(2) */ +#include +#include + +#include + +/* Standard readline include files. */ +#include +#include + +static void cb_linehandler (char *); + +int running; +const char *prompt = "rltest$ "; + +/* Callback function called for each line when accept-line executed, EOF + seen, or EOF character read. This sets a flag and returns; it could + also call exit(3). */ +static void +cb_linehandler (char *line) +@{ + /* Can use ^D (stty eof) or `exit' to exit. */ + if (line == NULL || strcmp (line, "exit") == 0) + @{ + if (line == 0) + printf ("\n"); + printf ("exit\n"); + /* This function needs to be called to reset the terminal settings, + and calling it from the line handler keeps one extra prompt from + being displayed. */ + rl_callback_handler_remove (); + + running = 0; + @} + else + @{ + if (*line) + add_history (line); + printf ("input line: %s\n", line); + free (line); + @} +@} + +int +main (int c, char **v) +@{ + fd_set fds; + int r; + + /* Install the line handler. */ + rl_callback_handler_install (prompt, cb_linehandler); + + /* Enter a simple event loop. This waits until something is available + to read on readline's input stream (defaults to standard input) and + calls the builtin character read callback to read it. It does not + have to modify the user's terminal settings. */ + running = 1; + while (running) + @{ + FD_ZERO (&fds); + FD_SET (fileno (rl_instream), &fds); + + r = select (FD_SETSIZE, &fds, NULL, NULL, NULL); + if (r < 0) + @{ + perror ("rltest: select"); + rl_callback_handler_remove (); + break; + @} + + if (FD_ISSET (fileno (rl_instream), &fds)) + rl_callback_read_char (); + @} + + printf ("rltest: Event loop has exited\n"); + return 0; +@} +@end example + @node Readline Signal Handling @section Readline Signal Handling @@ -1365,6 +1509,7 @@ functions to do so manually. Readline contains an internal signal handler that is installed for a number of signals (@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM}, +@code{SIGHUP}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}). When one of these signals is received, the signal handler will reset the terminal attributes to those that were in effect before @@ -1397,19 +1542,28 @@ a signal handler, so Readline's internal signal state is not corrupted. @deftypevar int rl_catch_signals If this variable is non-zero, Readline will install signal handlers for -@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM}, @code{SIGALRM}, +@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM}, @code{SIGHUP}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}. The default value of @code{rl_catch_signals} is 1. @end deftypevar @deftypevar int rl_catch_sigwinch -If this variable is non-zero, Readline will install a signal handler for -@code{SIGWINCH}. +If this variable is set to a non-zero value, +Readline will install a signal handler for @code{SIGWINCH}. The default value of @code{rl_catch_sigwinch} is 1. @end deftypevar +@deftypevar int rl_change_environment +If this variable is set to a non-zero value, +and Readline is handling @code{SIGWINCH}, Readline will modify the +@var{LINES} and @var{COLUMNS} environment variables upon receipt of a +@code{SIGWINCH} + +The default value of @code{rl_change_environment} is 1. +@end deftypevar + If an application does not wish to have Readline catch any signals, or to handle signals other than those Readline catches (@code{SIGHUP}, for example), @@ -1477,7 +1631,7 @@ The following functions install and remove Readline's signal handlers. @deftypefun int rl_set_signals (void) Install Readline's signal handler for @code{SIGINT}, @code{SIGQUIT}, -@code{SIGTERM}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, +@code{SIGTERM}, @code{SIGHUP}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, @code{SIGTTOU}, and @code{SIGWINCH}, depending on the values of @code{rl_catch_signals} and @code{rl_catch_sigwinch}. @end deftypefun @@ -1611,7 +1765,7 @@ This calls @code{rl_complete_internal()} with an argument of @samp{*}. @end deftypefun @deftypefun int rl_completion_mode (rl_command_func_t *cfunc) -Returns the apppriate value to pass to @code{rl_complete_internal()} +Returns the appropriate value to pass to @code{rl_complete_internal()} depending on whether @var{cfunc} was called twice in succession and the values of the @code{show-all-if-ambiguous} and @code{show-all-if-unmodified} variables. @@ -1728,29 +1882,45 @@ the directory portion of the pathname the user typed. At the least, even if no other expansion is performed, this function should remove any quote characters from the directory name, because its result will be passed directly to @code{opendir()}. + The directory completion hook returns an integer that should be non-zero if the function modifies its directory argument. The function should not modify the directory argument if it returns 0. @end deftypevar -@ignore -@deftypevar extern rl_icppfunc_t *rl_directory_rewrite_hook; +@deftypevar {rl_icppfunc_t *} rl_directory_rewrite_hook; If non-zero, this is the address of a function to call when completing a directory name. This function takes the address of the directory name to be modified as an argument. Unlike @code{rl_directory_completion_hook}, it only modifies the directory name used in @code{opendir}, not what is displayed when the possible completions are printed or inserted. It is called before rl_directory_completion_hook. +At the least, even if no other expansion is performed, this function should +remove any quote characters from the directory name, because its result will +be passed directly to @code{opendir()}. -I'm not happy with how this works yet, so it's undocumented. +The directory rewrite hook returns an integer that should be non-zero if +the function modfies its directory argument. +The function should not modify the directory argument if it returns 0. +@end deftypevar + +@deftypevar {rl_icppfunc_t *} rl_filename_stat_hook +If non-zero, this is the address of a function for the completer to +call before deciding which character to append to a completed name. +This function modifies its filename name argument, and the modified value +is passed to @code{stat()} to determine the file's type and characteristics. +This function does not need to remove quote characters from the filename. + +The stat hook returns an integer that should be non-zero if +the function modfies its directory argument. +The function should not modify the directory argument if it returns 0. @end deftypevar -@end ignore @deftypevar {rl_dequote_func_t *} rl_filename_rewrite_hook If non-zero, this is the address of a function called when reading directory entries from the filesystem for completion and comparing them to the partial word to be completed. The function should -perform any necesary application or system-specific conversion on +perform any necessary application or system-specific conversion on the filename, such as converting between character sets or converting from a filesystem format to a character input format. The function takes two arguments: @var{fname}, the filename to be converted, diff --git a/doc/rluser.texi b/doc/rluser.texi index 8a69c99..0af6c02 100644 --- a/doc/rluser.texi +++ b/doc/rluser.texi @@ -9,7 +9,7 @@ use these features. There is a document entitled "readline.texinfo" which contains both end-user and programmer documentation for the GNU Readline Library. -Copyright (C) 1988--2011 Free Software Foundation, Inc. +Copyright (C) 1988--2014 Free Software Foundation, Inc. Authored by Brian Fox and Chet Ramey. @@ -72,6 +72,8 @@ Line editing can be enabled at any time using the @option{-o emacs} or a specific command. * Programmable Completion Builtins:: Builtin commands to specify how to complete arguments for a particular command. +* A Programmable Completion Example:: An example shell function for + generating possible completions. @end ifset @end menu @@ -425,6 +427,14 @@ If set to @samp{on}, Readline attempts to bind the control characters treated specially by the kernel's terminal driver to their Readline equivalents. +@item colored-stats +@vindex colored-stats +If set to @samp{on}, Readline displays possible completions using different +colors to indicate their file type. +The color definitions are taken from the value of the @env{LS_COLORS} +environment variable. +The default is @samp{off}. + @item comment-begin @vindex comment-begin The string to insert at the beginning of the line when the @@ -521,8 +531,12 @@ or @code{next-history}. The default is @samp{off}. @item history-size @vindex history-size -Set the maximum number of history entries saved in the history list. If -set to zero, the number of entries in the history list is not limited. +Set the maximum number of history entries saved in the history list. +If set to zero, any existing history entries are deleted and no new entries +are saved. +If set to a value less than zero, the number of history entries is not +limited. +By default, the number of history entries is not limited. @item horizontal-scroll-mode @vindex horizontal-scroll-mode @@ -565,6 +579,22 @@ equivalent to @code{emacs-standard}. The default value is @code{emacs}. The value of the @code{editing-mode} variable also affects the default keymap. +@item keyseq-timeout +Specifies the duration Readline will wait for a character when reading an +ambiguous key sequence (one that can form a complete key sequence using +the input read so far, or can take additional input to complete a longer +key sequence). +If no input is received within the timeout, Readline will use the shorter +but complete key sequence. +Readline uses this value to determine whether or not input is +available on the current input source (@code{rl_instream} by default). +The value is specified in milliseconds, so a value of 1000 means that +Readline will wait one second for additional input. +If this variable is set to a value less than or equal to zero, or to a +non-numeric value, Readline will wait until another key is pressed to +decide which key sequence to complete. +The default value is @code{500}. + @item mark-directories If set to @samp{on}, completed directory names have a slash appended. The default is @samp{on}. @@ -640,6 +670,13 @@ a common prefix) cause the matches to be listed immediately instead of ringing the bell. The default value is @samp{off}. +@item show-mode-in-prompt +@vindex show-mode-in-prompt +If set to @samp{on}, add a character to the beginning of the prompt +indicating the editing mode: emacs (@samp{@@}), vi command (@samp{:}), +or vi insertion (@samp{+}). +The default value is @samp{off}. + @item skip-completed-text @vindex skip-completed-text If set to @samp{on}, this alters the default completion behavior when @@ -880,7 +917,7 @@ binding, variable assignment, and conditional syntax. # You can re-read the inputrc file with C-x C-r. # Lines beginning with '#' are comments. # -# First, include any systemwide bindings and variable +# First, include any system-wide bindings and variable # assignments from /etc/Inputrc $include /etc/Inputrc @@ -1100,13 +1137,30 @@ for a string supplied by the user. @item history-search-forward () Search forward through the history for the string of characters between the start of the current line and the point. +The search string must match at the beginning of a history line. This is a non-incremental search. By default, this command is unbound. @item history-search-backward () Search backward through the history for the string of characters -between the start of the current line and the point. This -is a non-incremental search. By default, this command is unbound. +between the start of the current line and the point. +The search string must match at the beginning of a history line. +This is a non-incremental search. +By default, this command is unbound. + +@item history-substr-search-forward () +Search forward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. + +@item history-substr-search-backward () +Search backward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. @item yank-nth-arg (M-C-y) Insert the first argument to the previous command (usually @@ -1137,11 +1191,17 @@ as if the @samp{!$} history expansion had been specified. @subsection Commands For Changing Text @ftable @code + +@item @i{end-of-file} (usually C-d) +The character indicating end-of-file as set, for example, by +@code{stty}. If this character is read when there are no characters +on the line, and point is at the beginning of the line, Readline +interprets it as the end of input and returns @sc{eof}. + @item delete-char (C-d) -Delete the character at point. If point is at the -beginning of the line, there are no characters in the line, and -the last character typed was not bound to @code{delete-char}, then -return @sc{eof}. +Delete the character at point. If this function is bound to the +same character as the tty @sc{eof} character, as @kbd{C-d} +commonly is, see above for the effects. @item backward-delete-char (Rubout) Delete the character behind the cursor. A numeric argument means @@ -1435,6 +1495,10 @@ and save the definition. Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard. +@item print-last-kbd-macro () +Print the last keboard macro defined in a format suitable for the +@var{inputrc} file. + @end ftable @node Miscellaneous Commands @@ -1693,10 +1757,11 @@ When the command or function is invoked, the @env{COMP_LINE}, assigned values as described above (@pxref{Bash Variables}). If a shell function is being invoked, the @env{COMP_WORDS} and @env{COMP_CWORD} variables are also set. -When the function or command is invoked, the first argument is the +When the function or command is invoked, the first argument ($1) is the name of the command whose arguments are being completed, the -second argument is the word being completed, and the third argument -is the word preceding the word being completed on the current command line. +second argument ($2) is the word being completed, and the third argument +($3) is the word preceding the word being completed on the current command +line. No filtering of the generated completions against the word being completed is performed; the function or command has complete freedom in generating the matches. @@ -1706,7 +1771,7 @@ The function may use any of the shell facilities, including the @code{compgen} and @code{compopt} builtins described below (@pxref{Programmable Completion Builtins}), to generate the matches. It must put the possible completions in the @env{COMPREPLY} array -variable. +variable, one per array element. Next, any command specified with the @option{-C} option is invoked in an environment equivalent to command substitution. @@ -1774,17 +1839,18 @@ completion function would load completions dynamically: @example _completion_loader() @{ - . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124 + . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124 @} -complete -D -F _completion_loader +complete -D -F _completion_loader -o bashdefault -o default @end example @node Programmable Completion Builtins @section Programmable Completion Builtins @cindex completion builtins -Two builtin commands are available to manipulate the programmable completion -facilities. +Three builtin commands are available to manipulate the programmable completion +facilities: one to specify how the arguments to a particular command are to +be completed, and two to modify the completion as it is happening. @table @code @item compgen @@ -1871,6 +1937,10 @@ quoting special characters, or suppressing trailing spaces). This option is intended to be used with shell functions specified with @option{-F}. +@item noquote +Tell Readline not to quote the completed words if they are filenames +(quoting filenames is the default). + @item nospace Tell Readline not to append a space (the default) to words completed at the end of the line. @@ -1970,6 +2040,10 @@ used as the possible completions. @item -F @var{function} The shell function @var{function} is executed in the current shell environment. +When it is executed, $1 is the name of the command whose arguments are +being completed, $2 is the word being completed, and $3 is the word +preceding the word being completed, as described above +(@pxref{Programmable Completion}). When it finishes, the possible completions are retrieved from the value of the @env{COMPREPLY} array variable. @@ -2034,4 +2108,122 @@ specification exists, or an output error occurs. @end table +@node A Programmable Completion Example +@section A Programmable Completion Example + +The most common way to obtain additional completion functionality beyond +the default actions @code{complete} and @code{compgen} provide is to use +a shell function and bind it to a particular command using @code{complete -F}. + +The following function provides completions for the @code{cd} builtin. +It is a reasonably good example of what shell functions must do when +used for completion. This function uses the word passsed as @code{$2} +to determine the directory name to complete. You can also use the +@code{COMP_WORDS} array variable; the current word is indexed by the +@code{COMP_CWORD} variable. + +The function relies on the @code{complete} and @code{compgen} builtins +to do much of the work, adding only the things that the Bash @code{cd} +does beyond accepting basic directory names: +tilde expansion (@pxref{Tilde Expansion}), +searching directories in @var{$CDPATH}, which is described above +(@pxref{Bourne Shell Builtins}), +and basic support for the @code{cdable_vars} shell option +(@pxref{The Shopt Builtin}). +@code{_comp_cd} modifies the value of @var{IFS} so that it contains only +a newline to accommodate file names containing spaces and tabs -- +@code{compgen} prints the possible completions it generates one per line. + +Possible completions go into the @var{COMPREPLY} array variable, one +completion per array element. The programmable completion system retrieves +the completions from there when the function returns. + +@example +# A completion function for the cd builtin +# based on the cd completion function from the bash_completion package +_comp_cd() +@{ + local IFS=$' \t\n' # normalize IFS + local cur _skipdot _cdpath + local i j k + + # Tilde expansion, with side effect of expanding tilde to full pathname + case "$2" in + \~*) eval cur="$2" ;; + *) cur=$2 ;; + esac + + # no cdpath or absolute pathname -- straight directory completion + if [[ -z "$@{CDPATH:-@}" ]] || [[ "$cur" == @@(./*|../*|/*) ]]; then + # compgen prints paths one per line; could also use while loop + IFS=$'\n' + COMPREPLY=( $(compgen -d -- "$cur") ) + IFS=$' \t\n' + # CDPATH+directories in the current directory if not in CDPATH + else + IFS=$'\n' + _skipdot=false + # preprocess CDPATH to convert null directory names to . + _cdpath=$@{CDPATH/#:/.:@} + _cdpath=$@{_cdpath//::/:.:@} + _cdpath=$@{_cdpath/%:/:.@} + for i in $@{_cdpath//:/$'\n'@}; do + if [[ $i -ef . ]]; then _skipdot=true; fi + k="$@{#COMPREPLY[@@]@}" + for j in $( compgen -d -- "$i/$cur" ); do + COMPREPLY[k++]=$@{j#$i/@} # cut off directory + done + done + $_skipdot || COMPREPLY+=( $(compgen -d -- "$cur") ) + IFS=$' \t\n' + fi + + # variable names if appropriate shell option set and no completions + if shopt -q cdable_vars && [[ $@{#COMPREPLY[@@]@} -eq 0 ]]; then + COMPREPLY=( $(compgen -v -- "$cur") ) + fi + + return 0 +@} +@end example + +We install the completion function using the @option{-F} option to +@code{complete}: + +@example +# Tell readline to quote appropriate and append slashes to directories; +# use the bash default completion for other arguments +complete -o filenames -o nospace -o bashdefault -F _comp_cd cd +@end example + +@noindent +Since we'd like Bash and Readline to take care of some +of the other details for us, we use several other options to tell Bash +and Readline what to do. The @option{-o filenames} option tells Readline +that the possible completions should be treated as filenames, and quoted +appropriately. That option will also cause Readline to append a slash to +filenames it can determine are directories (which is why we might want to +extend @code{_comp_cd} to append a slash if we're using directories found +via @var{CDPATH}: Readline can't tell those completions are directories). +The @option{-o nospace} option tells Readline to not append a space +character to the directory name, in case we want to append to it. +The @option{-o bashdefault} option brings in the rest of the "Bash default" +completions -- possible completion that Bash adds to the default Readline +set. These include things like command name completion, variable completion +for words beginning with @samp{@{}, completions containing pathname +expansion patterns (@pxref{Filename Expansion}), and so on. + +Once installed using @code{complete}, @code{_comp_cd} will be called every +time we attempt word completion for a @code{cd} command. + +Many more examples -- an extensive collection of completions for most of +the common GNU, Unix, and Linux commands -- are available as part of the +bash_completion project. This is installed by default on many GNU/Linux +distributions. Originally written by Ian Macdonald, the project now lives +at @url{http://bash-completion.alioth.debian.org/}. There are ports for +other systems such as Solaris and Mac OS X. + +An older version of the bash_completion package is distributed with bash +in the @file{examples/complete} subdirectory. + @end ifset diff --git a/doc/rluserman.dvi b/doc/rluserman.dvi index 3797f6a..9fd215b 100644 Binary files a/doc/rluserman.dvi and b/doc/rluserman.dvi differ diff --git a/doc/rluserman.html b/doc/rluserman.html index 1e9c579..22df7f4 100644 --- a/doc/rluserman.html +++ b/doc/rluserman.html @@ -1,6 +1,6 @@ - +
- +
beginning-of-line (C-a) -
+
Move to the start of the current line.

- +

end-of-line (C-e) -
+
Move to the end of the line.

- +

forward-char (C-f) -
+
Move forward a character.

- +

backward-char (C-b) -
+
Move back a character.

- +

forward-word (M-f) -
+
Move forward to the end of the next word. Words are composed of letters and digits.

- +

backward-word (M-b) -
+
Move back to the start of the current or previous word. Words are composed of letters and digits.

- +

clear-screen (C-l) -
+
Clear the screen and redraw the current line, leaving the current line at the top of the screen.

- +

redraw-current-line () -
+
Refresh the current line. By default, this is unbound.

@@ -1342,9 +1381,9 @@ Refresh the current line. By default, this is unbound.

- +
accept-line (Newline or Return) -
+
Accept the line regardless of where the cursor is. If this line is non-empty, it may be added to the history list for future recall with @@ -1353,81 +1392,104 @@ If this line is a modified history line, the history line is restored to its original state.

- +

previous-history (C-p) -
+
Move `back' through the history list, fetching the previous command.

- +

next-history (C-n) -
+
Move `forward' through the history list, fetching the next command.

- +

beginning-of-history (M-<) -
+
Move to the first line in the history.

- +

end-of-history (M->) -
+
Move to the end of the input history, i.e., the line currently being entered.

- +

reverse-search-history (C-r) -
+
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.

- +

forward-search-history (C-s) -
+
Search forward starting at the current line and moving `down' through the the history as necessary. This is an incremental search.

- +

non-incremental-reverse-search-history (M-p) -
+
Search backward starting at the current line and moving `up' through the history as necessary using a non-incremental search for a string supplied by the user.

- +

non-incremental-forward-search-history (M-n) -
+
Search forward starting at the current line and moving `down' through the the history as necessary using a non-incremental search for a string supplied by the user.

- +

history-search-forward () -
+
Search forward through the history for the string of characters between the start of the current line and the point. +The search string must match at the beginning of a history line. This is a non-incremental search. By default, this command is unbound.

- +

history-search-backward () -
+
Search backward through the history for the string of characters -between the start of the current line and the point. This -is a non-incremental search. By default, this command is unbound. +between the start of the current line and the point. +The search string must match at the beginning of a history line. +This is a non-incremental search. +By default, this command is unbound.

- + +

history-substr-search-forward () +
+Search forward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. +

+ + +

history-substr-search-backward () +
+Search backward through the history for the string of characters +between the start of the current line and the point. +The search string may match anywhere in a history line. +This is a non-incremental search. +By default, this command is unbound. +

+ +

yank-nth-arg (M-C-y) -
+
Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument n, @@ -1438,9 +1500,9 @@ Once the argument n is computed, the argument is extracted as if the `!n' history expansion had been specified.

- +

yank-last-arg (M-. or M-_) -
+
Insert last argument to the previous command (the last word of the previous history entry). With a numeric argument, behave exactly like yank-nth-arg. @@ -1476,52 +1538,61 @@ as if the `!$' history expansion had been specified.

- + + +
end-of-file (usually C-d) +
+The character indicating end-of-file as set, for example, by +stty. If this character is read when there are no characters +on the line, and point is at the beginning of the line, Readline +interprets it as the end of input and returns EOF. +

+ +

delete-char (C-d) -
-Delete the character at point. If point is at the -beginning of the line, there are no characters in the line, and -the last character typed was not bound to delete-char, then -return EOF. +
+Delete the character at point. If this function is bound to the +same character as the tty EOF character, as C-d +commonly is, see above for the effects.

- +

backward-delete-char (Rubout) -
+
Delete the character behind the cursor. A numeric argument means to kill the characters instead of deleting them.

- +

forward-backward-delete-char () -
+
Delete the character under the cursor, unless the cursor is at the end of the line, in which case the character behind the cursor is deleted. By default, this is not bound to a key.

- +

quoted-insert (C-q or C-v) -
+
Add the next character typed to the line verbatim. This is how to insert key sequences like C-q, for example.

- +

tab-insert (M-TAB) -
+
Insert a tab character.

- +

self-insert (a, b, A, 1, !, ...) -
+
Insert yourself.

- +

transpose-chars (C-t) -
+
Drag the character before the cursor forward over the character at the cursor, moving the cursor forward as well. If the insertion point @@ -1530,39 +1601,39 @@ transposes the last two characters of the line. Negative arguments have no effect.

- +

transpose-words (M-t) -
+
Drag the word before point past the word after point, moving point past that word as well. If the insertion point is at the end of the line, this transposes the last two words on the line.

- +

upcase-word (M-u) -
+
Uppercase the current (or following) word. With a negative argument, uppercase the previous word, but do not move the cursor.

- +

downcase-word (M-l) -
+
Lowercase the current (or following) word. With a negative argument, lowercase the previous word, but do not move the cursor.

- +

capitalize-word (M-c) -
+
Capitalize the current (or following) word. With a negative argument, capitalize the previous word, but do not move the cursor.

- +

overwrite-mode () -
+
Toggle overwrite mode. With an explicit positive numeric argument, switches to overwrite mode. With an explicit non-positive numeric argument, switches to insert mode. This command affects only @@ -1602,106 +1673,106 @@ By default, this command is unbound.
- +
kill-line (C-k) -
+
Kill the text from point to the end of the line.

- +

backward-kill-line (C-x Rubout) -
+
Kill backward to the beginning of the line.

- +

unix-line-discard (C-u) -
+
Kill backward from the cursor to the beginning of the current line.

- +

kill-whole-line () -
+
Kill all characters on the current line, no matter where point is. By default, this is unbound.

- +

kill-word (M-d) -
+
Kill from point to the end of the current word, or if between words, to the end of the next word. Word boundaries are the same as forward-word.

- +

backward-kill-word (M-DEL) -
+
Kill the word behind point. Word boundaries are the same as backward-word.

- +

unix-word-rubout (C-w) -
+
Kill the word behind point, using white space as a word boundary. The killed text is saved on the kill-ring.

- +

unix-filename-rubout () -
+
Kill the word behind point, using white space and the slash character as the word boundaries. The killed text is saved on the kill-ring.

- +

delete-horizontal-space () -
+
Delete all spaces and tabs around point. By default, this is unbound.

- +

kill-region () -
+
Kill the text in the current region. By default, this command is unbound.

- +

copy-region-as-kill () -
+
Copy the text in the region to the kill buffer, so it can be yanked right away. By default, this command is unbound.

- +

copy-backward-word () -
+
Copy the word before point to the kill buffer. The word boundaries are the same as backward-word. By default, this command is unbound.

- +

copy-forward-word () -
+
Copy the word following point to the kill buffer. The word boundaries are the same as forward-word. By default, this command is unbound.

- +

yank (C-y) -
+
Yank the top of the kill ring into the buffer at point.

- +

yank-pop (M-y) -
+
Rotate the kill-ring, and yank the new top. You can only do this if the prior command is yank or yank-pop.
@@ -1725,16 +1796,16 @@ the prior command is yank or yank-pop.
- +
digit-argument (M-0, M-1, ... M--) -
+
Add this digit to the argument already accumulating, or start a new argument. M-- starts a negative argument.

- +

universal-argument () -
+
This is another way to specify an argument. If this command is followed by one or more digits, optionally with a leading minus sign, those digits define the argument. @@ -1769,33 +1840,33 @@ By default, this is not bound to a key.

- +
complete (TAB) -
+
Attempt to perform completion on the text before point. The actual completion performed is application-specific. The default is filename completion.

- +

possible-completions (M-?) -
+
List the possible completions of the text before point. When displaying completions, Readline sets the number of columns used for display to the value of completion-display-width, the value of the environment variable COLUMNS, or the screen width, in that order.

- +

insert-completions (M-*) -
+
Insert all completions of the text before point that would have been generated by possible-completions.

- +

menu-complete () -
+
Similar to complete, but replaces the word to be completed with a single match from the list of possible completions. Repeated execution of menu-complete steps through the list @@ -1810,17 +1881,17 @@ This command is intended to be bound to TAB, but is unbound by default.

- +

menu-complete-backward () -
+
Identical to menu-complete, but moves backward through the list of possible completions, as if menu-complete had been given a negative argument.

- +

delete-char-or-list () -
+
Deletes the character under the cursor if not at the beginning or end of the line (like delete-char). If at the end of the line, behaves identically to @@ -1849,26 +1920,33 @@ This command is unbound by default.
- +
start-kbd-macro (C-x () -
+
Begin saving the characters typed into the current keyboard macro.

- +

end-kbd-macro (C-x )) -
+
Stop saving the characters typed into the current keyboard macro and save the definition.

- +

call-last-kbd-macro (C-x e) -
+
Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.

+ +

print-last-kbd-macro () +
+Print the last keboard macro defined in a format suitable for the +inputrc file. +

+

@@ -1890,87 +1968,87 @@ in the macro appear as if typed at the keyboard.

- +
re-read-init-file (C-x C-r) -
+
Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.

- +

abort (C-g) -
+
Abort the current editing command and ring the terminal's bell (subject to the setting of bell-style).

- +

do-uppercase-version (M-a, M-b, M-x, ...) -
+
If the metafied character x is lowercase, run the command that is bound to the corresponding uppercase character.

- +

prefix-meta (ESC) -
+
Metafy the next character typed. This is for keyboards without a meta key. Typing `ESC f' is equivalent to typing M-f.

- +

undo (C-_ or C-x C-u) -
+
Incremental undo, separately remembered for each line.

- +

revert-line (M-r) -
+
Undo all changes made to this line. This is like executing the undo command enough times to get back to the beginning.

- +

tilde-expand (M-~) -
+
Perform tilde expansion on the current word.

- +

set-mark (C-@) -
+
Set the mark to the point. If a numeric argument is supplied, the mark is set to that position.

- +

exchange-point-and-mark (C-x C-x) -
+
Swap the point with the mark. The current cursor position is set to the saved position, and the old cursor position is saved as the mark.

- +

character-search (C-]) -
+
A character is read and point is moved to the next occurrence of that character. A negative count searches for previous occurrences.

- +

character-search-backward (M-C-]) -
+
A character is read and point is moved to the previous occurrence of that character. A negative count searches for subsequent occurrences.

- +

skip-csi-sequence () -
+
Read enough characters to consume a multi-key sequence such as those defined for keys like Home and End. Such sequences begin with a Control Sequence Indicator (CSI), usually ESC-[. If this sequence is @@ -1980,9 +2058,9 @@ stray characters into the editing buffer. This is unbound by default, but usually bound to ESC-[.

- +

insert-comment (M-#) -
+
Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line. If a numeric argument is supplied, this command acts as a toggle: if @@ -1993,43 +2071,43 @@ the line. In either case, the line is accepted as if a newline had been typed.

- +

dump-functions () -
+
Print all of the functions and their key bindings to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

dump-variables () -
+
Print all of the settable variables and their values to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

dump-macros () -
+
Print all of the Readline key sequences bound to macros and the strings they output. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

- +

emacs-editing-mode (C-e) -
+
When in vi command mode, this causes a switch to emacs editing mode.

- +

vi-editing-mode (M-C-j) -
+
When in emacs editing mode, this causes a switch to vi editing mode.

@@ -2756,7 +2834,7 @@ to permit their use in free software.

[ ? ]

About this document

-This document was generated by Chet Ramey on February, 8 2011 +This document was generated by Chet Ramey on February, 11 2014 using texi2html

@@ -2918,7 +2996,7 @@ the following structure:
This document was generated -by Chet Ramey on February, 8 2011 +by Chet Ramey on February, 11 2014 using texi2html diff --git a/doc/rluserman.info b/doc/rluserman.info index dc06b20..1aefd34 100644 --- a/doc/rluserman.info +++ b/doc/rluserman.info @@ -1,28 +1,19 @@ This is rluserman.info, produced by makeinfo version 4.13 from -/usr/src/local/chet/src/bash/readline-src/doc/rluserman.texi. +/usr/homes/chet/src/bash/readline-src/doc/rluserman.texi. This manual describes the end user interface of the GNU Readline Library -(version 6.2, September 6 2010), a library which aids in the -consistency of user interface across discrete programs which provide a -command line interface. +(version 6.3, 6 January 2014), a library which aids in the consistency +of user interface across discrete programs which provide a command line +interface. - Copyright (C) 1988-2011 Free Software Foundation, Inc. - - Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. + Copyright (C) 1988-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". - - (a) The FSF's Back-Cover Text is: You are free to copy and modify - this GNU manual. Buying copies from GNU Press supports the FSF in - developing GNU and promoting software freedom." + Foundation; with no Invariant Sections, no Front-Cover Texts, and + no Back-Cover Texts. A copy of the license is included in the + section entitled "GNU Free Documentation License". INFO-DIR-SECTION Libraries @@ -38,7 +29,8 @@ GNU Readline Library This document describes the end user interface of the GNU Readline Library, a utility which aids in the consistency of user interface -across discrete programs which provide a command line interface. +across discrete programs which provide a command line interface. The +Readline home page is `http://www.gnu.org/software/readline/'. * Menu: @@ -394,6 +386,12 @@ Variable Settings characters treated specially by the kernel's terminal driver to their Readline equivalents. + `colored-stats' + If set to `on', Readline displays possible completions using + different colors to indicate their file type. The color + definitions are taken from the value of the `LS_COLORS' + environment variable. The default is `off'. + `comment-begin' The string to insert at the beginning of the line when the `insert-comment' command is executed. The default value is @@ -479,8 +477,10 @@ Variable Settings `history-size' Set the maximum number of history entries saved in the - history list. If set to zero, the number of entries in the - history list is not limited. + history list. If set to zero, any existing history entries + are deleted and no new entries are saved. If set to a value + less than zero, the number of history entries is not limited. + By default, the number of history entries is not limited. `horizontal-scroll-mode' This variable can be set to either `on' or `off'. Setting it @@ -512,6 +512,22 @@ Variable Settings default value is `emacs'. The value of the `editing-mode' variable also affects the default keymap. + `keyseq-timeout' + Specifies the duration Readline will wait for a character + when reading an ambiguous key sequence (one that can form a + complete key sequence using the input read so far, or can + take additional input to complete a longer key sequence). If + no input is received within the timeout, Readline will use + the shorter but complete key sequence. Readline uses this + value to determine whether or not input is available on the + current input source (`rl_instream' by default). The value + is specified in milliseconds, so a value of 1000 means that + Readline will wait one second for additional input. If this + variable is set to a value less than or equal to zero, or to a + non-numeric value, Readline will wait until another key is + pressed to decide which key sequence to complete. The + default value is `500'. + `mark-directories' If set to `on', completed directory names have a slash appended. The default is `on'. @@ -574,6 +590,11 @@ Variable Settings be listed immediately instead of ringing the bell. The default value is `off'. + `show-mode-in-prompt' + If set to `on', add a character to the beginning of the prompt + indicating the editing mode: emacs (`@'), vi command (`:'), + or vi insertion (`+'). The default value is `off'. + `skip-completed-text' If set to `on', this alters the default completion behavior when inserting a single match into the line. It's only @@ -788,7 +809,7 @@ variable assignment, and conditional syntax. # You can re-read the inputrc file with C-x C-r. # Lines beginning with '#' are comments. # - # First, include any systemwide bindings and variable + # First, include any system-wide bindings and variable # assignments from /etc/Inputrc $include /etc/Inputrc @@ -988,12 +1009,26 @@ File: rluserman.info, Node: Commands For History, Next: Commands For Text, Pr `history-search-forward ()' Search forward through the history for the string of characters - between the start of the current line and the point. This is a + between the start of the current line and the point. The search + string must match at the beginning of a history line. This is a non-incremental search. By default, this command is unbound. `history-search-backward ()' Search backward through the history for the string of characters - between the start of the current line and the point. This is a + between the start of the current line and the point. The search + string must match at the beginning of a history line. This is a + non-incremental search. By default, this command is unbound. + +`history-substr-search-forward ()' + Search forward through the history for the string of characters + between the start of the current line and the point. The search + string may match anywhere in a history line. This is a + non-incremental search. By default, this command is unbound. + +`history-substr-search-backward ()' + Search backward through the history for the string of characters + between the start of the current line and the point. The search + string may match anywhere in a history line. This is a non-incremental search. By default, this command is unbound. `yank-nth-arg (M-C-y)' @@ -1025,10 +1060,16 @@ File: rluserman.info, Node: Commands For Text, Next: Commands For Killing, Pr 1.4.3 Commands For Changing Text -------------------------------- +`end-of-file (usually C-d)' + The character indicating end-of-file as set, for example, by + `stty'. If this character is read when there are no characters on + the line, and point is at the beginning of the line, Readline + interprets it as the end of input and returns EOF. + `delete-char (C-d)' - Delete the character at point. If point is at the beginning of - the line, there are no characters in the line, and the last - character typed was not bound to `delete-char', then return EOF. + Delete the character at point. If this function is bound to the + same character as the tty EOF character, as `C-d' commonly is, see + above for the effects. `backward-delete-char (Rubout)' Delete the character behind the cursor. A numeric argument means @@ -1239,6 +1280,10 @@ File: rluserman.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Pr Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard. +`print-last-kbd-macro ()' + Print the last keboard macro defined in a format suitable for the + INPUTRC file. +  File: rluserman.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands @@ -1847,29 +1892,29 @@ permit their use in free software.  Tag Table: -Node: Top1373 -Node: Command Line Editing1827 -Node: Introduction and Notation2481 -Node: Readline Interaction4105 -Node: Readline Bare Essentials5298 -Node: Readline Movement Commands7089 -Node: Readline Killing Commands8056 -Node: Readline Arguments9978 -Node: Searching11024 -Node: Readline Init File13177 -Node: Readline Init File Syntax14332 -Node: Conditional Init Constructs29394 -Node: Sample Init File31929 -Node: Bindable Readline Commands35048 -Node: Commands For Moving36107 -Node: Commands For History36970 -Node: Commands For Text40376 -Node: Commands For Killing43104 -Node: Numeric Arguments45248 -Node: Commands For Completion46389 -Node: Keyboard Macros48360 -Node: Miscellaneous Commands48933 -Node: Readline vi Mode52791 -Node: GNU Free Documentation License53705 +Node: Top950 +Node: Command Line Editing1472 +Node: Introduction and Notation2126 +Node: Readline Interaction3750 +Node: Readline Bare Essentials4943 +Node: Readline Movement Commands6734 +Node: Readline Killing Commands7701 +Node: Readline Arguments9623 +Node: Searching10669 +Node: Readline Init File12822 +Node: Readline Init File Syntax13977 +Node: Conditional Init Constructs30683 +Node: Sample Init File33218 +Node: Bindable Readline Commands36338 +Node: Commands For Moving37397 +Node: Commands For History38260 +Node: Commands For Text42416 +Node: Commands For Killing45400 +Node: Numeric Arguments47544 +Node: Commands For Completion48685 +Node: Keyboard Macros50656 +Node: Miscellaneous Commands51346 +Node: Readline vi Mode55204 +Node: GNU Free Documentation License56118  End Tag Table diff --git a/doc/rluserman.pdf b/doc/rluserman.pdf index f0a2d2f..48f73ff 100644 Binary files a/doc/rluserman.pdf and b/doc/rluserman.pdf differ diff --git a/doc/rluserman.ps b/doc/rluserman.ps index 46c7f69..4ce4517 100644 --- a/doc/rluserman.ps +++ b/doc/rluserman.ps @@ -1,6 +1,7 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software %%Title: rluserman.dvi +%%CreationDate: Tue Feb 11 16:57:26 2014 %%Pages: 32 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 @@ -11,7 +12,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o rluserman.ps rluserman.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2011.02.08:1113 +%DVIPSSource: TeX output 2014.02.11:1657 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -43,19 +44,21 @@ 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/IEn 256 array N 2 string 0 1 255{IEn 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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 %%BeginProcSet: texps.pro 0 0 @@ -76,23 +79,38 @@ end %%EndProcSet %%BeginFont: CMSLTT10 -%!PS-AdobeFont-1.1: CMSLTT10 1.0 -%%CreationDate: 1991 Aug 20 16:41:43 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSLTT10 003.002 +%%Title: CMSLTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSLTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSLTT10 def +/FontBBox {-20 -233 617 696 }readonly def +/UniqueID 5000800 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSLTT10.) readonly def /FullName (CMSLTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSLTT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 39 /quoteright put @@ -132,203 +150,363 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-20 -233 617 696}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8 -0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB -4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840 -8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079 -8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4 -B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F -ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858 -C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F -EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F -2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60 -4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370 -52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D -38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA -00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0 -B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D -CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF -B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F -802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE -32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8 -00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96 -8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B -3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D -CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC -A2393AE6935C0F8B67FC1D1A12A45ED5F28B5D6A266A3ECAA5BC3429F2B2FFDD -70F50A94CACA6AA6B2215B41EA683DF13679E9C950276294B15370256F17E3E8 -5FB8B575E7D4A3FC9BD8A5FAE6FCA53DF678F37701E83F18F1E116E901A39DCB -C05CF72BFAF7FD8CC6A63A23C1CFC064EF32F3F67EE47B4209A5F83A5B2681C7 -8349B0C686E9D9844242C28DEC5E33DF480418F784EF676681D52ED234561B62 -4B7896DEC847A783789BFA4159279438404D596C9E6789B5C63C749AF0C3FBB3 -AADFC022B8682FD21F13460FE480C6B8CC1FB4EAC8E7AAFDCFDAD39508EF9B61 -BBCC73F90FB40E94EAC04892831753F15E06F77399F8ADB508F411A89A0399B4 -240C28E4DDDA98B9E771FE6AA0E2C8DE04DDA8AE54BD1A90DAFC1B0B66964F3E -31475DBBC3D3BA2CA2C3D55D91917F6E496EFBCD5CBC46A27DB7E3FD229DE5AE -A194E4B767F933C434D204BB080A5C24805A23E477BCFF6D19DB22FAFFEB97CA -5445129773D40A43537F15EE90CC399EF58C31253BBC0177D05A1DBF23EB26D0 -159FA4D20E5E5B04A125FFF85CD1154B20BC5BFBA18F87670A2BF1A32A696A70 -4E82EBEC804D798202DAF537B468B5880FCAC75BDCFBF65FE6EBB93A1309D343 -09CCF1B81155761809E4ABA53CC9BF8D3FEC5602A6F3561CF2AF6D0A35B8876A -8BE4CCBCB2DE4E4D07F50F9C5F831C499ADC35827F7F7BE7E1E0CE1BF2E3578E -FA292C0CFCA10329156FC79BE3D80225794DE7062B8CE232355007F53F9184BA -93F2C8F0EC8FD88F01397E1EC2ADBAA889C003AE4847BD08FBD9673C4B4D20D7 -53D0FD11FE4DE30AF01AF0141573DEB0B054DE244035E6161962D9BA836D42B9 -8B8006A40E357E28859D867052CE7DAA86F32641C1764A51F631CBA3FC206667 -81863B28C5BEE78C574F1946253D192C50CED9746B01CF4BEDDB5AB7492E36B0 -FDDB90206C5410551EA2F44E427B6A254FB2E965932DFA8A4465B509276CDAF3 -CFE6FC9963F801813A03D434B74273BC4FBA6FFB8545A10B453F8AC8086DA9CB -49A701C500FD3D1577A215026EEB1AD2616223CC65E34CA84D1BAB896EE60C08 -7708BB0E5FFAC9EE1A24F72F03C13B8A275264CE267728084388365FF79B895C -B65A33011BBEB2356016786F62EBCE765891CCEBC5A57453AA1AE771147D23C5 -7E289B67C94A4C7DBB3520A7E5BA938DDDE360FF69484CC4F31D57271BE2D19F -7E689DD8373EC2CF7E3874711F3E3EDEEB09435AA0909418AD76074944C06BC6 -10C087339F57A1C828E1DCAC8B6F7D1F94A25133D72E68BA0C15586C997581B5 -957F59D0445D39E0F8226D4C621E9B12256EB583A7EE4A5EBD15B3E6BC9F6687 -28735EC4962332DEAD2D2A28714FB8F606B358E3E9ABC868E169E3FCEA409A48 -6998A5F444CE13F65F3F9D4B2A90CF483346348E4E6B4868C442C83726634EA4 -D4917AC8ED021012707DFC72926B58917264925482CA53A2BB96E2FC58A6083E -4D7193E39B0B20EA7BC306FFBD70D434795176E77DC76C9643560472AC2718E2 -9A70D6973D0903263D1DEC1E82752CAC7AC2EC5442D9151BF459C27D96A28096 -42ADFD3D9FAA7A42A2EBE9CA3D7DC90AD0A6BA1B9F5224FBE0051352176DA443 -039B52443A0031BCD66485F49B55D7DBF4F4EB7E4A87DCF7A1F3F345EF85DA6D -30CA6E389FC39930850B63E8EF3523AE1FF188DE5E26766C160A2F1631E1846D -6DAEF695D585909E1F9A85C551B864046B534FDE0A35E54ACB3EDCF34A87CCC7 -C6073D2761CF74B07D154A4C560F5595A87250E3549E3706A402F3CC879AB051 -796A168E1197187ECF09AC42398AE4085F4C70EFDF98C387C232E3C323C6C496 -5EA1A799D2EC3E9E6C8060ACFFEB714FBBF8210D285D871A40DE8C39DF37FE1F -241491B1B483A0B7D95DEA6E211954DCF49DA353F4A71CD9E0D144E84CE4A426 -8558F4B2BC06A7D44C961B6ADABA9759D1FF06DCFDE125D0947BC6982C375891 -72762550A44639B5E5E19EBD541848342C060714443D5E96537E1A214E9843F0 -5321B2479DFEE8DD1836B48CDDD5A117E20032334F18267B7323BCEDE5896BFC -F0D91FA4B1AD0C4E38D9906ABD7009FB69A77CD280BF9BF43772371975CA6145 -A96F562D335A5B4D1366F728243C521B01D9008E655890AACABA0C45DCB1F45E -BB6CABA51B1D31EA51637D0EE279B49257EE30B587E17DFF959E000AAA048D31 -F998B857205295CBE7177CDF44CC9BDA33CBC918B0AE72187BBB0BC23696F7AB -1BB5A7D3705FE0579F20707008CD2A88D110343AA8B827A5EE6118F5D846F250 -6FDBC37270FB344E37B33F5F6DF16920CE3518BD459A8349CB87F8D9A61F36B8 -B1D26717D4BD4B8E76E283489718D38C66D0B4473D577F373F9A938705E0C620 -CD56F9B105C4E65B56E55CDD6893B3441F8B215C17E35E3EE4E734AF17C48895 -CE02A9B55C7738B8836EFEBE12AC9E6488CE6C828F2422EFBFDB4EBE80FD6E61 -0D0B85F1DFF9B8F319B0B696E90F60312506934F212454E10C673DF013C6F913 -E60BD6301A9AAB7DAFE5D6193731260024AFA425D46B4BEBD55133A3BB27B27E -8837C39FFF999C01E9A3EB8905D2FFD482348BC97C07E7B2256CA33303322A5B -587B1FF198422716A4577CE681B120C4D074EA2B3C275646B853360FC134D674 -0CF1007077B35E3A1D100A3C620BA005BB9F80444DC927E6AAC738DE5B3F87EE -190B2FF31CE1B1A0AD34C19B28DE21136462A3591002EDB5CBDC06E09326733A -8498626848549F36B077DFB2A2FCCBB775BAFC2C46BA20811049B7AF4F34C009 -71468C3641D8ED8616C21D1DC90E21A72AFE14B5F5718A42F11F46F2C3CF3FFA -992DAAA3A3BC90073B3E2765C75F05A5EBDE85F37826131DCE2967089E8F7E69 -F16B41BCFB8914BF2F0B806CB35B133564224C0C9C1D6E3032D276D5464873D9 -0D17CC512E5CFAB6570D61E8D023D2CFE020212DB7B0FBF3D324FA5B3AFE7951 -E8382B7A8FDEBBACAE4B02CDD3D1791C79A78B9D49F20FD6F22B7E55CE36836E -31A5B619B305CDDC722F6AC84CBC0D49835647204BDABCFF59D9F3B5EA22D533 -F316DD5EFC59A7F645AEE0BCDC07193111510563159EF684A739CE67EEB77638 -54F0C3D4E1A54801F4887BAD58EEDA68539B2A43B5B5D79369F74035966F07E1 -3FFD43FFF05F7EBA48DB0F988F34A44A0B15B028508868EFEA89F22C61DBA74C -E04F9DBFD28DEC1EBC536587EF7A8DDD7B0ADAF459C0F22C24DC2D8C797C14B5 -9370504500422265C0AEFA2A8C367AD89ABC057E4B6043D991EA59564C1ABD06 -6C6E9147806C79DEA43EB8B7D0560DEB9C81766B9D79608A91D7AB606A7CD6C6 -276BF4F7E294BD0D0D3F94B321434B1A9CD4206E3146B3CE1113D62E7791BD79 -9AE322A997557EDC27045FA4521AB379253C27A4A234662FB4F73AE398C4C9E0 -2D4B3E7EF5F1E5BEEA50FE62B8AC0D42C131FD507D6D1735FD79F8223516E84E -755930A2E30B80E63A6B24CD4244584BF7E93083EE46EFD9CD19A71A4B8453AB -233710DC0AE68FAB2B1D9E3A17DE97AE09935E0056589BB7B3AFF3672B406CD8 -E914F786600C5B7AC4E8C57BB65B580A02BE8491E0D8E5817A99C4695E1D3A27 -12E5F7A945BFDB67E2CA285C3ABE5C15C870530F588E0B8686A4C551941BB2C4 -9E9A8DA9A4D4834E09A78F824F60A84C4A84B6C5748BA8D752D0CAB8CABDA89D -8E21E4FC69C5994E3E100967DBFFA4D2E12BB0E73ED53EA1AD925855DA1A77BA -1231422722DA75174ADD0F0BD549B6BD08114D32BB6E728DC5DBE05CC0FB960B -F1D35253BA31654C6E6DD306285953AA681E9E1414D5F23CBF08E29A5B38F69D -99C6E44DA0C42FB260F1E6D4E947215A0FF41F756177180D3754737C0BF59083 -C47C302D87268AAED752370EFDBC276D0AD59C5A75CA13B292437DA5A90B1713 -723728166637A3C4805B4A2BA8CA1F20B4FD331043FB69331E485BF48025BE08 -6369DBD8FAF526B08E633223D011E1E81BE662D98BD64917F09BA1F4277BA164 -4611705F5ADD316341366D3BF8CAB85A21C88F54792D05EAB91D985A557B4C99 -0BD3B4C020F20C860A6ED0E8CAD870045D69BC434F345EE42830FFCF7468CAF3 -93BD5666598D5CA7ADEC208006B7CF38AFA1A0BE24190E283841B9A5FD0696C2 -CB6FB04BE6108AB9E4CD3F772D78D7468EB761444A5B7FC8995D53880BF2616C -522EEA33E0F27A5AA1EA25347FD12A1A95F11CF2F3625D56CF8A9FA23A4EC609 -035CD02CA0934BF6CE80DF59E1B60849B9B4A58C11E83D03BEA42A1A4AC10893 -4B92D0B99362180E29AFF2ACF9E0C99A156725071758399F318D720E37FB73DE -9C5958CC9471C424B5F8E0C76FE28193D2C6514D0EACFEDAB7B76B713BC3AE3D -57DA9D62396F7A7675CDBD164CE3320EC81A1ACE77EF63CC8FDD466564B8171F -2157EC631437182AFC083A1B29C223FA944A54930A41824F76E35E5FEF17A836 -4440E9BB793DCDA897B938696458A3BD9C3DED24C2C638C3603939AF44DB144E -5BCA51A7D729DFBE26E0884B22C0C4E3131AB82CDA170474168D89124A65B0BA -91523CD1D67475C9D43CB7525451A27B62723867F123003A99B98F2C3C2A482F -68FB4C42547AA6C4B9B1C8A4259A8A27305A2F0B147BBE39264F510142668128 -FE6610D8D748A20B9F75D48C3692FBFA1EBFE73A3279BD4C38DBDBA0CD429439 -F3C0FE231D0F381D369A1E356917184A4DE9CBB64F400C28B41DFD35F9F74FC1 -57F46400574ECE064CA9AAEA8D70A61F5BE95B5FDFECF87E04D4C45AC7D441A5 -88E6CF0C447DFC832179C012B46B19A7B2542EE40727DED27E08417639D6FDF7 -901CA1AF7385704E7EDF49D8A9AC990CE68A8898B02D618F8700D04426A5692F -24640B4311C917D9D0B86E45D9D43B99DC81836AE454C14242D107BCE8E4B989 -D8CAA8C401A56CFA611923072B72EF56284AE467BB8E2B04AF81D1C968321611 -B4D1A07B8E2CD4ADA29A8DBE695BCB6F022C8C53E9F0210A0D08F9A531FBAF0A -902E31DA6B2A3EC290F1A0EB4A5FA4FD504530AF768C15E3EB857849824EE965 -94E2F1974A60615DEDEBC4F4D8D70CA6A4385A45ECEBAC78C945ABFA42B90EA1 -17C59E615272A91488161C2B7B23A8B1F2C7119A49EB7226BEEB3A4C7CDB67DF -11F945CF22FFED4DDCDDE1E9AD88C63A6A271883F9104CD7F596AA77CCACA8B9 -D5D772A3C0ABDE3F7BBFFD678744DB7540FBF0BDC9D00A0C7E9170A127D21C72 -4B81D78F949773598921A5D3F756CF5823ECE57613DDBEE58F3428BD29BFAC3F -1EA57663472AEAAD48260EAC5912FC7273F102D1217BF43D6E52CFA93A991B74 -8C6489D7ABD79227C82F85E06D736602AFF3F497C64644DF79F460569F2C3BA2 -250D48D0C0EF5B4A3668BEDD804CD134A0E26FCA4BF071FEA9EB46D5AA52D66B -4F954E3AB2BA1EA71EB9BE254AD0C5C39A408AF4D287AA24C533BE9BFC0853AC -C31C43D8C419F5CD294ED38E56645A31FE4AB2C60D4486493ED8199461483F82 -EBDF44F1792BB87CE851105BF44213B35EA812CE967FBAF7304703315F2D126F -12460B0EB045BC8E196C7816B105259BFDE8C8EC49A751B0DBD7367C0661EA7D -1A79053C371DE08C233E1774998F8C86F78E4FF7E9239524A784509254D65002 -F9BE0D2A40488E0BE2DE6F336BB7337750F57F94B20764111594B2EAC17391ED -3C20C8F3277E1E431D55893EA0CAB659ADBC502D85B75DE299044985575C09D6 -C2D275221C738B967F1C92E73FE4E43353845D74B103D6B57B442DDAB3A46B7A -EF6E776D82B5B9873EF5B3AA77A18FA7069429441BB791123974281B720E6EB2 -6472549EB921883170FCFE289C00A159EAE56B9A8515482CBD5161B70B643718 -92D7BB3FC8E9E45F3635B242BD08FBD958C297205ED7FC812B7B70F65E979BA5 -73E7A7A348FB656843988DA4518F13814A14C336A4F2A610B5D9AD65CE1135F3 -3ACB2594B4204A0A852841F6D3EC52B4262AF8FD7B1E7A860105C85CB95D94D5 -C3BA8374B1DA93F493A25920058409C83B7529FFA6B3FFE79D7EA6F57E2E12F2 -A210EF27BF52F1A366C1B193821BD775FC92335B42854C7C11B253A653A74A7B -D213A63B69BD0B1FFB4DFBAEBD66C1096C6F2C9B065B5F20E9B02478D1CB8595 -0F68DADA125FA3EB8B7602E94A31750DFCCDED8759E4D87110D7F7B05EC9604E -364A9BE1D94E15B807C74E2ADC03047EE296179FD4F2C8BA93122598435D2D5F -D3C824E327629F16631BEA2FEABEA5F49E5A9C4AE2F44D5390CE0628A6915660 -C177B8F431D31410DC7709D57275C7FC45F5EB14F71132FB3BC77C2A7B2EE446 -CEE143193419B97A5B25D1756FA017E17848159CB5FF55E5D240B4E01C83161D -F3DC8D5D72000BDFE5F53F037CAF57994ACC60FF66417D6B5B6C9287323E201E -A13DB21DCAE0AFBD2149E8620B22EC21144BFAED02E1B16980897218538DE59C -E9B8009A4E0708802905AFDB35CC605097EB8CC6C48C73243364F184861B11D5 -070EBA71620C255AE2FBF270941222C302E8F0DA166423B88C3854C352B9E792 -ECD12B40F0B0A5A334695B6DC4360B0476E7993730524AB92DC9F8A74DBEA699 -F9F2C31D4DA3F4426595E729F9B7C88E7B46CC3172168F00EF3F60458D5475A0 -F1B42CDDD171E7E8C98C620CB5548F7CEB4E5BB758C197A09CCB3893D3117350 -F42328EAEB3F0034419A838D5ADCA8483BDF72F02E8821CFADC50E9A09A616E7 -4CE5E6CF698C3F919FD0110F5BFCA55E98753C67168AA91EFCDC2A4AB4CC6C18 -1DA72667621CD578C1E449F0E660B35F43244F09DE26C4ED62360AC69C8F8DAF -DA76554E6E0F012CA451F0B946462FC564B1AEAB508EBD2B1A1E43D1E7136DB7 -8173F6C2D2837F0FBCA8864AB719C09898108A4273ADD74721F47AFB2850E12B -CF897301AAA1432DEC0080B2D555BE3C4CE6E652C4806066CB2C19262F219291 -EBB6206B25A12120B1FB077E4638D675B3C50DE867E2C69D9B6BCA9394CA8B5F -AA2D002D9FB8ECEFA144DBD51905024AB54D6EC3F82A0D625AFBBEEEF6C854F2 -7344A10BE1C8CA785D8C3B2DE606D00D19CFDBE7BF781AA177E651EB07705E1C -2DD4A54DBB0ABBF1B57A1BA564FE5A9B12E39E346A387E05C4C3986D9CA23C2B -B2E6A3B4CFD3AD177FC5366B55F11CE924691A1B4DF73830A44E67D750DACBEF -1893527DABFB8970C3D8ADA24918158142D3EC5730F9202A7B9F61C4FFF4B09C -C09DE278B71CA6A061396C3671D3F48E85D1E958E7AE94C0706B90B6906C7587 -CE5DC4A9EF4882C314CC987BCAD4A789A09E4D51F370DE4D4484652836363966 -C80CEDEA41FA816AD86C2D792B5B8D04489DE99F06B3C5CC0110C9F24BA5E95A -E2D78D7FCAFB013BD160BADF4CF2D89F37EEAD80702E440CA21997CA213B96AA -531A385C254518FD23F710EE0573E86499DFCAF6F038D74C9E617446DA8EF87F -0861C3BB2FDF70EE95BAA0BD6728E9B4D9381C2B33E17D17BA54AA45DBDB8413 -CE1589C3E63AD7217F9C6B44FDBCAD121D3219A978EA2DBA90A27CF814B313DC -58C578DF4381F5235499009FEB3CA7D0B4EB8F0839602341D676CD827449D24A -D9E8223C40B5D34B0846BD9615090EAE3CB77D0B8725A3BD5B0A46558BDA5868 -3A00194345114644BD144EA11F49478FF77E259534791C200B0F98B2DDFF2106 -BB10EDDEBDEA6910C4B897B2BC1791DA +D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 +2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 +6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 +979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E +ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF +B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 +A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA +3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F +D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC +6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F +3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C +4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90 +DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2 +753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131 +54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D +107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3 +7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231 +328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9 +85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C +2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7 +308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450 +CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195 +739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93 +FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6 +F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312 +3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A +A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F +55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC +A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB +69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50 +82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0 +8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8 +0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6 +0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8 +1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1 +D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F +B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737 +170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863 +767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D +EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F +AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3 +826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235 +8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048 +345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE +67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD +802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E +20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127 +5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07 +0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36 +22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC +4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF +CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B +4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880 +0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5 +220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403 +7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005 +27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE +B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300 +7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07 +A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D +45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10 +F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7 +C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65 +AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012 +DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781 +FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA +997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4 +3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A +2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605 +31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22 +A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891 +43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D +4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5 +94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E +425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616 +FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5 +51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9 +859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852 +E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F +2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910 +82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA +22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D +200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5 +892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32 +0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140 +437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3 +BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9 +E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402 +DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1 +CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551 +80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F +FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA +9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41 +031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90 +9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3 +9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891 +4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB +57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B +2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39 +0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9 +03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067 +22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79 +06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC +39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD +E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163 +A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6 +9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6 +B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F +79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553 +2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5 +8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA +1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA +0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2 +BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3 +312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3 +B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F +9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16 +A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6 +91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F +7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D +78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC +7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09 +766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11 +016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D +C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3 +8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278 +E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC +6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8 +B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959 +44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB +C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE +5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB +42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A +F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57 +CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009 +9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2 +82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72 +0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5 +F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9 +EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA +E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD +D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD +F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F +14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8 +BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2 +9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5 +6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A +6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116 +4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE +C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B +A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C +9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780 +42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE +7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024 +1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D +4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540 +CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4 +D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81 +CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1 +0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9 +92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0 +57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4 +5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4 +57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158 +8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0 +C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3 +7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7 +B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674 +EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521 +D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9 +DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074 +F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D +D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0 +56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8 +46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40 +52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA +19477F075ACF608CD94CE466C1FC3EDAEA3ED25C96FE89A7CBFE528A33C4E84D +465FE6FB031B48D904C5120D428D6B51F3232847CB0B7521E5CEA887FFC56F02 +0882B3BB7F5B0B954E7078DE3E31D8AE65F9EA55F4C169DB7C35DB9645617AFE +078E03BF9A1BCE4E489AC9495A1E6CC7D1FFDCC03CEC1A32490186FE8B53B09B +DBA7F0E23C8F5E5270D039B409D504203A458EEF12C035039A8AA12C719C0339 +F766BE6275511D585F82E9D4AC9B5424312755C4B74383FD094BBB24817D6525 +EE62456392E5DCAD0A0157A4A033E440AA014D5682606312F72248E13C43EC3F +BBC9B4A2CF19A4AC6ED7F561EB13C3AB22FB3F3EF644B5B47DACE807262DE5C9 +50578464845B950140ADD91D72D28470A5A5FB134EC52F4DBBB9C50A7523592B +C5BAA056E46F8C004062298BEA010C1CF9F49DEAB58C4D2012E04E630F54C985 +328DB2B6FEAC584308D71A9F5FD945A37EA13F3DEB1748320870057A362E70CD +50C269D32993CE9CD1E8CB35BC6F69E7574F37032219C6E1C960F36932A8A2DB +BAD87DCC271657EDF942834AD01C0C35437042331634D36C594CCBD796BB1562 +C5AEFD595E35264ABB2ABFEC7A2E066A7A454659804F6CD9DC64DE1112D95B55 +72AE34B6153425A5D15D9F944A3DB6D580C2A01E308E2CDB032F99617A73866D +F2F2FB6E8617873AC82D4E2224049BC2FEBFE49527DAD70C079B92F08DC30095 +AE63E3E2FA213D52A347347371724EF08B39D7383D27131F75C2211F82C35CDF +B78708DE910A5ABCA3075D985AB2E2EAEC2BB6159094F0C0C775C25AFF4F507B +20070C4FB570D5CBCF40C7DE889378A9EE7E38175ABC3D5B047D1DD925990A04 +76EE4083F3CAEB8F1FF3D8FB0210C93738D68EE884FF86416A2EEF2356DB80C8 +39749F31D1D3751E91D84246B56D759969A6D52832891375DC26E92B7DC756A1 +A02F951C898CF665AB0C2C6D5B455FCA6D20E7F998D2523112A08E8EFE1B5DBE +940EEB362AEE4EF83237348F7F0C08B490D125BD90107A035A8F5330F0F296F3 +DF4579D7B4A947CA1EC8975B1F6B7E3B077A75F2F42DE456E0D540CDFDECC95D +F5B3FBB43590ED54FD98CBFD3A20C42C5B6B5ED2A5F0D4F06414757F992487C9 +83CCE2B4BA91825D14090D1EFC53596F92757BE8DCCB7EFA24C3A3D52DB61312 +C04533EE4424F37EE45DC6BDB79519A62454194332562388F3BF0246B40E9108 +7B64FC57054131DA8A4699CF65BFBB862D05519755E207BD0C5E4FF56AC2BAEA +5D4FC6443069F6314E124BC02D210B8726D3ADF2EDB35E7CB1F92BB412C2AF7D +547A1E309A63114B38B352702F7E48B931550F79C2487152A5A5CBD19C429BF1 +747D88BF1EC932CBC93F006EC34F9197CB9FD486F42A0D5D72AFBF21B9BD131A +C89A979FA65013B3CDDA5D164DE3BB762BBB7A4D0DC3ABF3CF906549E2F76C17 +DF8BDB44689AA9140ABCF001781B8906C2B020EB95FE36B8978FA04BEC5E4D82 +B4A537520BDA62736EA2CD9B1EE4A126D7A76BE51C96AC556AE5BFF978C1598B +6CA42A76139448EA4C8AC849AA3AD204D158854FAC6D7D43BE038F022460A50C +1DC2B6932CC3DBCBC1C27390E29A474712004A5EA3E0A3E62786C2487EFA767F +BCDEEAA4875ECA8A9A7C6F2FD1EB9DB79B7489FA8249D33E38599B948CBB7328 +430476A7489C004F1411BA1D5FCD64D478424920EF72530F3C4CCA9EE495ECCD +125E4E2BB37BD4D4175950422517021F8EC140BC3B11BAA9E513F3DAB63CD245 +27A0A6F69A964E9BFAF575B5E36556A15B2F2FF787DFCC1EE704994A52F2E726 +958538808EE9BCC31BD5E126F848FFE5CDA11FD3F0377D9B814F515750374452 +D7A4BEE6B14BF4C1A75B2BA8083ED62E61155F1B396D960066D0A35D7CF19A5E +C7856AEA2C505E68C8A0736CC1675F740A662AA8BFFFFE507465E7ECF934DB6F +75004934154AA82EA699EABE6318E7E5B51DE3387AEBF11E41A413D986947FD8 +23ACB99110C93391DA8FD87341F337F1FBDAFD306B4B08FC69EFF21A6F581420 +893E94073A20778ACCDB074613F7FD68999BCA1F03A0E298CCE83D3D8C25E1DD +8C25F57C440C5580C87C67C8F391C900F6615ECBA0AA505333A0E00F229F03B8 +69EF147556CCBD10694CB23EEA74CCEE50CA5E8F3DCC8225B950B51C7F0AA44B +C1200E688A8A7CCB8CD763390992ECCE85F4855DA86ECFD21F57F12CEC09A5A0 +0A50B388C378EEB1C4BBC2BC19ADE95C3CE8A6CD901EEAA8DC6F62BD33A18368 +1B0C445FF57CAA3F690D872D42FE746D3AC94DC889F4AA191E824D66E8ADC3ED +D7F7507F1DFD560D3D339C528714AEC12609448660243A1C24C8A31FEAA55E96 +5512E63BFF9CB87AA8805D066E71C70DC175FA3449879A44A1A6343561CBBF33 +B6465433C3C99BD06F2FB6A0CB4AE950A3F2F428AA2E5E344439E77B623E959C +27CBD22A9B092B2604EE92524DF014DAD590A4F474484C2BA41343306A620019 +15B96AF752C312187FF3C1555B5142354F2E947391A96E64DFEEA65D99FCD2B6 +3BC07AB8D7709033C83DE8C9E18BF1490BCCF65D3E1CCD62FC09F7DCBD0A31EF +70F21BC631CF5F4C112B64B4CA88662103C4343B55FDA36B0F78B6BE583E3134 +464FA2B9C8A2C5BA01338C0A0AEA7DC2CCD0D0E7A02C835C1072830582825BCC +E7F31BD6C7A20413F5D21C054CD6389DE00C846AE1B558EAFF7E85D07C73C4D9 +CD9A1F33E0328C3B9340DC87FE981D655905D4E2341966C80787F35EAB88792A +B2F35D91BDAE613DECD5DA192ED10FF454B0A754A14A565DCF8AC760007A333E +413B53F179AFB886747C2460AADF6FD1DC09012A2ADFFA6FE5228177535E91DE +71F9C9D82F84CA13A2F55E9EA931B1E89213EE9817DBB433A7EF0316E0624C1D +45965146A28962980436F050A1E7EB35D18BB8BF8B82F97D64C827F68374CFC0 +E4DB0FFF944DDC0279F2E02108815F40E04EFC82368D19B89F357138F65EF9CA +878AC45EF423580843F481F1394D5DEE995E0DDB18E2B5E2D04A463672BFFE79 +BB6D9957D3C2BA22DB79CD75DF28B99E6473FC222C6722B9C877D097BFB29C6D +E5444CFD34880261E7008A372F128BE5CEE9D057486C1AD98E7AE24292D12231 +CCFE1B54DB8623BF68DBECAEC105E446891BF4473765DCCA7EFDA9FE6DF8E6D4 +90C70A79B1AF7AFE9AC5CBA07D0B839AAC2EA62842FEC9117959B10530C8A76E +85F59E6BF476A0660025900EFD8D714A018AB06240808CFFE5A3766818603531 +AF3FA35AD28CA2C9BA31A2F42FB80BC1ECE71EFE2CD184B4FDC5F76AC2F549FF +33AC81C11411C47D4857E5E6DB9204AEA0F7545ADAEA22BE42CC3BA7EA3F8B90 +C5FEC359641487D93C52D78CE25535A2A686DD4764C072FA8A56B982A3A7787A +F124475DD5C2754430C7EC3527D81C272FB7AFEDC6F79E1988AF9401F2B989A8 +CFE1BD96B21D817BBC93BF77B99C8E008E7CC2E34F0AAF20AE88FFC0BC6C3721 +485DD1F25103245E854AB2B60226693E0AFA3EAE85CA52BD938BF31ABFEBEC6F +4079449F99B5EF0A46E77B6254D4FAAE33FF8B2AA3469F0F0DD625BC4FFD004E +E6C301A8052043E22ED0FA663364CC9200ACE4CDADCFBD28B721FB43EA7A3B6B +F6112C35C224543482A7564D62A4A8F15FE329BBF3934DF9345320561E88CBDA +1C0BF61D400C1539818D2BE38165B6439EA9B45CD0A686C7CF1310604309DE5B +22987BC91A8E913F6EBAF74C65E8A546D876E46A50BB9A3420D5BE001E0CB34A +A143776196BF8167006A1052A54001134D539870CECFFD45B6E37D5EF5A9878D +2A2BB28710DD767C746767498AB23FBDD80706727CF0F556DF7A47A90DE30E5C +A81522D5EC8C478BB58ACD1D1F0139D4C3561DB574AA8B1FBF0AB0A001FF78E3 +2A646659407760996E97CE00295CDA398DC0E8374B6A13C3EB2BE4226F01E76B +A932DDAFD90D0FB739B9EDFB9A2472D6424A45D1A698D70766469EBFD9957CF1 +511F6BC41FB43B9517AADD5DF7997A4A8A8F3A5103BF6730B81845F20D160DC0 +E5AD923D9E24AA7DC293E45FBF7422B952A91A97139B15235D29CC52C5084F01 +DE89D2F11E7283A60E4688B54191DDC1159998D10215FE53FD89C87CE9D19041 +1F1E73F063436E786959943B496172A1C497DC002E00B29A4F752CA28BAC5434 +A98F9438064838B0D6252A05052EC8871CEF9FEF05A07B1E401E49324D463E41 +6B7DEBD3B405C9DC5953B93E48162D93438237F11ABE83189F9C1FE70E1A56A4 +CF539F7E9BA6B2B35BEB1586F59897F6E64340B88CA079DFDD1E987198604D2C +3EB5C8178AAEB19B8D2840F0EF36CCEC7D25080CD1E0BD2B3317603E86FFDC4B +A453AE086CE8AFB093D57733AA40977E9C8D33E3C87DE2D4C0522C40AF2C01C5 +2A7B86C2571F9B67AD85B35EC83224029832D2ADCE65E37748CE08A600641E03 +6BFCF2F024ECDB4AC2C4AFC4987D01C8F8E74715567F7116597A4318331A35E0 +7BB15E134CD721CBF49210AC06D161E7FE9146D43CB1181F464C7D3BB0BB40EA +D19E1C33D6D9924AB13EE6C31428D6CDD9AEEBAE6510CDA14F23159CCD725A3E +1F97ED8DCB17A10783B8CDC9315FC86703FAB6A70DF55E0AB8B4C24862CDCF11 +5F10FAA5E4E54660EA5EA05EAE168E36CA5255DAA0ADF9461176EDC9E3989A84 +0D8D7EAA08F4C766E1A078C3B7D091B9E22A9247A655CE4190A0217ECAF88495 +5DE38DD317E459AC61336D6E403CF8DD2ADD2946F933E1A72C18DFA96EF7C0E4 +0A2D84D3414F3DB23EE3BB5049B174431F4EEA10415D25E41C2094CC2D37C669 +2C46EA4568BB0BC49D1806B98607B8C12AB897E6AF402C6126D4484EB7D9CF81 +B603EECFD92EE41FEBA5F38A93DD24A239BA253BE3776F2368E1664142FF2A53 +5B40B694B20818A2A43226871AF1F7A5A68113CC55AABEAFEEE21E0F4E7641FE +BB5403E96064650AE2703E43DF01A1594C8FE8646A44323D78E7A5A7CE2C2FAE +F98F7D9A2CF888DD195FAEBFD1BBB05CE078C6003F9438205F8A3C2977C1827B +906386BD4B483966FD903432A3A9A54AB0C4E7826CBB97C6808B5B529D5E24CE +8C76A35EB073FD65944F54D1733FF75FD7F78F524F81CE0D92328FC171AC3DBF +DB81784F11106137B72B473AB91F40F73B0B410547F5CF6613EEFDBF0F05092C +3688C3C208E1C9FBF51B505FA0B5F906C5B0A05277772FF9EC806702F0E346BE +83A535578789733FA68FAD54992C16F3F5F1B7560A729226FDADE4FB96AC09A6 +4C5D79CB60D85AACBCC89C04068803B47CF0FAB92F4267438A2E7CF7CD5C1796 +B07071D9F5A6DB95514B1B60EFE74DD9A028CBCBE850052EC2EFF81C411348E3 +F1ABDF1A4CBBFD7EBECC48F89B18E159DC1CFA0606C3BECE071E4C1759BE2716 +0705460FA9E022BDA1CFB2324C8B51B4E297838F07A5FE8E05FD99600F9E79D5 +490C251772EA34DA6649D421A872CF78A9B55BC0FA47E056A6CA9491ED65E181 +58E2A5EDC038C9BD89B3E975837FDBE2A9AD81F700BD263C25C85873E08DBCE9 +7CC2FBD904038CE72A110493B7ACCA882FD48F54B4E0109B095838F30D80917E +5C81948F74E7F0D41652480CAB3B24E90570BF861EE2E3A5E1735636C7849C1D +60FDFAB5386526F7312481A5146C18321F425EC74ED0D778926854C5CA875A57 +9205076C19AB866F5FD0439154484DA165A7CB69746199399E66E662EC2AAF66 +501B6706BA1ACA001546B753B0785AC885A5F13BFB4F76F05AEADA1D290708A8 +22A24FFEEAAAF3C70F89CB52EB655774832296C1FB440B4DC4957C7C32588435 +4FA6775C4BB9070641EB6CB74857A346B38E0F441D61D27489CB0230A23AB63B +052C8453C969BA44B2B6E700D6286084AFD49A79DA416803200F715CFD9B42A8 +D53BC397262BB8F94C7D0A2D83E1249563098645D0E82959B76E1B05BEB19430 +4080218E58354FAE323F4CB4A3E20B21FF9FB791391956336DF8A6FB49A2DD6F +A1F06C8C02464E67CDCB9013A4F8229E5A4F136A11AA204001D16C213691EBA2 +2789C03C9122FF21B891569D4D26C2487401AF4C9B310CADE991ADA6D091248F +30D40520D46944AFEEE4B71D005191AD057AAF2BDCC166F084F29EBF3868C433 +5552509FC469A57DE66010A0538D2CEB7692D1A54B5139D2FC7FCE96C4E1A82F +578703BE28B82622297BB08F76DB9D8E2A7C4B38C7A819372F72900506CBAD7A +4B0014B7A9DA2E9AE84B24A83E0BD86D3BD8E0F37F9F0E56D6102C0CAA768E4E +9BFCDB116780773E04554E67AFA899C9B8AE526257FBD25125EB7644E1AB35FA +E9D6D716877D2A5E17130740CEFF27133D6A38BD2B2BB7BD17E04C21802EF184 +0AD5C85EDFF4234DE6B89B40F7489B4CD79F54B9B8683E611E372768C55FD93E +3BFDDBA88B1B60240AC09A05960F9134700A97DE7E6031F5644F83B5A10264D9 +6118C440225E4864A2AFC406BE4A8AF3F6AF8F3B48AF8EEAB503BF7A66C840F9 +825D9D44DEDCD92A11EA70FE597AD39C0CA0F1C6AFD5750D6BCA09D230024DAF +09F807B23F356891C031E0DAB363DADC371166D728755CA4C375A846C46E7B37 +695A8C66F99132593D066D0757C3E92F64AFF193D211B41405A3E528172C2592 +30A0E1E147E95C002F2BE67E1FAC9C062FBF5182A0726E21CB87BC80E15FA68D +9E8FEB1888C4717BAA97A135EC4B5234135A64DE68833D1FB55EA7A327C5A9A9 +78312C6B32D66B57A4834D6004D83FDDAB7905D94E0AD3DFAB8A4D5D081F2FD1 +4CEDB8C3D8A344C3596A6E033DB4CC4A2BCA9A86D8858830DD5006D7C7D91F53 +560F76B6B4BAAF3DCEC3704E922E3F32C3A450BCCC92E359265201F07B99BD2C +24377943614ED7A97E19D988476569CD51B0E85672F4AE6D6D46382A73DA624C +5188F727DACE6E5BC2F33411206A566B6F830EBE79CC97F295A269141FA8E565 +496EBED5EBDA3E6C7DD9ACDC9AA9864C7F26227F68DAD420BF8AFA428D66F3ED +3919E517437B7BE7C9550B250E90F7E004B3C3D30D9872B84376C84B913D0032 +9B2280354630E263E101EB02C92FD77A76BAA8CB1C5B5C555C81F6ED6A31B3EC +356BDF27A16C319DE965D8BE1D654A6E1980C8FC535B72BD951FBED2C6A9FC82 +FA152728191760F9C54E52D900675AE8A88F7867E0A5E5465FC2ABB868B3D227 +8A0DABCA6264CE647623418DC7850FCA18C34AE8532AF543E46B585E20BD1E9A +E210B1DB301C81537F068B42BDB1B93FB4618B618B34E7D42251DFDF3491472B +62EE41B9F4C2F1EE43C29AD841A1264285FA4DDFDC07323A24F00EC12627CDCE +2DB8592A29424150DC72611D88D29267B1F98F386053BD9188CC91FD52876731 +1DE8DF9085F0F49CA5B14089B55E2E9386D59DFA0116C800A5204F6BC0032F6B +BF15CC4A142729DC002844F5A418C164C1AF0F69353121E4E680199C752AFFF7 +C961E4AD7F5E48212297A346A6FD1E7CA0B7A51670631878D69A60639FB9A150 +30446595791BB1F97919D034BFC08998AE74431E65800A11648D8E5ED18C95C6 +F3F033B3F3E4F7077216D316CA981B5B4EF0C33A7DDB14BF11F496D754D93C6A +BACDE5D2B6EC1126A0531B61B38E73F377CFED681C9DD5A804BC1B7FD78F6ABD +1EDAD16A0D3E4BCE8A12291230D94AC0E0CB7D258E46B5D1CEC91B0CE18B1412 +56AF3A04F80C1655C6DB8A9105D611819D4BB6B920F975D0A19104D8239448E6 +B8F4804F6088435C6C2750932C56753D14C5921DC9D871AE804AAE6D2AE9A3E7 +192DAA0D6F9E1E7C22BD2A0E80216723E09213905F4F291D2540F24798CCE9A6 +B6E9E7866CF589DC2CAE23A7945B52E862975F0578F7D8866DA6DF2ABAB1AB11 +12FB5B9AE7C3DF18F726BC7B51C57BF184D42944FCCB796ABE1869AC8F5BDA42 +0EBCA3366E46D6A9030B2EFA1767BD295731CD1DB7FFA74288CD586CE553CA71 +C69BF555CE828D291172D22DF6B1FF97833BCF7BF569CD79C67A65B8D32AE176 +0F8EF4CDFC09F35100D23ABFD911931C51F71EB0D37157CB9C9984A6F107C365 +48AFAD53E3B33EDF970F19D59CD6D5C1D7962CEA24F4AE9C45425589124A7578 +D40D09FB8BE3B386682B9919756D4EF4AFC2450C6A298450DE1A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -338,25 +516,41 @@ BB10EDDEBDEA6910C4B897B2BC1791DA 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTT9 -%!PS-AdobeFont-1.1: CMTT9 1.0 -%%CreationDate: 1991 Aug 20 16:46:24 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTT9 003.002 +%%Title: CMTT9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup +/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT9 def +/FontBBox {-6 -233 542 698 }readonly def +/UniqueID 5000831 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT9.) readonly def /FullName (CMTT9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTT9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 39 /quoteright put @@ -408,243 +602,401 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-6 -233 542 698}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E -2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279 -650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35 -F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A -D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E -F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1 -4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A -438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD -BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B -A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641 -AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74 -D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB -CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A -082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980 -9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0 -4BA1EBFAFDBEC531EA13DFBD6700E53818CE04D23886B8AE75DCC36BCD3189B1 -0D55FAE27D0D126E82AEF31D7B5DF27E58C30BB0867D6D7AC1DA9EFB8A2DF095 -B5B934A68EE122DA0A83B36C952431586B957990206194E89339048AA6EE4C53 -703763505ED57C494DD907D0EEA04F6B1D4C8F3BA778F4E7AA832AAB4D75F024 -61E91C6D25FD6823CB24FC863D3836C77A7D349AFA8525388E252386788B28B5 -E463F5448C9A287140C4F5FBE612C8F2C2749196D12097233794F702BE49897A -6DB52147CE35CFED4CC9F38BF3C4AA917D990F007357194F51FF6B77E97C5208 -AE6CB3AC6AF0B5DFD252847C5F1793F5896655EC8D617DFA7FFD9CD861631156 -D178F8C3B2045AE1B4D702708822F2238A29934A870273858FDDD2B9CC74EB9A -4F610646943F34ACF7707568F66F7CD9F3293060431C2A7AD92904FDD44E8079 -80D54755DFA1FFA2A42C954AC6DE1CBB7BD95B11999FA46F57C467CC5E4ABC3D -965925F0572DC4368E8D5F5777A11255BFFF91E833F42339775D1BAB2137B328 -59666E88912D609777309A032B3725AC11BF5CF5EC760438BE5303A48DF475FE -BB57771CB82751F8AE79B3D72CB9B65B192D21E1E3388AC0C9500E132F4017D2 -B6A8BFF48342C94359DCA32D9CE12D6C30011EDA9E28A57A854482FDEA0B6D15 -4574BAD94C43538D87E8DD1FA03AF5FD965C473EF1371A3F125592A0094BE7EE -CAA3E94F48E86E66D203F3AED59CE58AA1EFE006A136D55545B506172CA14C70 -6452DD81DBC1B3721922DDCF2DF6914E354FBBE00D3CBFE8A0AB309FCC3B8B6A -6F9F858984D90E731C80F9B050F48E670CA19D05F5D77441E15F304666154B53 -CBAE581CE6091CAC6485522E795B76C9FC509705F3EB4EF36B7CDF757A509617 -D116D7B97C1A3B7334AEF807C23F9F1B150C895E12F73265E5578C24CCBFD2F6 -3BEF1311E0E015D354F3D18BD4BA1757D95C9C583CD60057385A8BE4D14A730C -BA4DC18D4494D7E765A4CE24E17125FCBECA981F4C2CB4A360B6441A6DB73363 -44F62B470EBD387F1918A814A7B268623F7ADE9229AD314BFA0EC784071190A4 -99FB32985881E32FAD162E8EFFEB6B33E646F97FA94B2AA53F869AA563E519A4 -2EE643CB14B64AD6FC75125203E17826E81F352F5AAA616505D10F7F123EF3E3 -8BC7C41FDE75F110629B87ECC42A3CF2A13308A737D994DBDF999E7496F9B78D -01BC7889B7BCC46A95887C4C5C34A2BF484068B2B5A40FB408FA8A2F6BE6C3E4 -672116535B37825FDDE04CB8B873D9C022955F4AD86D33E836264BD2B907A86E -48647DB50B10327E47259BF9262D2573BB34DC48A9D4731E58CB3617D02004ED -5ACF344C15FF73AD804A871DAF364E51C8907FA058501B08FDD944077C49E44B -8BAB387A220228E5239CAD4856FF52BB67F4FE3916890521F62C9A015162A0E6 -1D9333C4307B1AA0E049783917E2A8E59F47C80861EAC6C277835BDCE9A2AD9D -8F3CA78D928D70843707E4CEA121E2AB97841F9184C7AB1D8D3EEC941FBF1213 -9A03AA68069161FFE31C367F80FE36625EC4524CAC0FDC8647558A1303DFCDE7 -B82D289ACEEDDA1227ADA57600B53C1B8C35D3F011B4B15680C2956E91E5604E -FD866E976DC441EE935D223AE58A57E5AD0F563FCE23DB6D5E03CB0924AF8487 -7A78A88D97581E4F038690F8FE2095C2641CEDE7660EB009B7C2D1A21E425EF0 -CAA97367F222A0E230787CC239F0288E3CE2E97E88B316F57B0238C7E84A84DF -A636A78892873B8FEB525049AEF96A04F90FDEA521DAA5315FE6090F40F34B7F -EC8BAECC2790D7FC35EAA4034F4E95ACDA31608C24075C658750CFA390839E34 -1EA429EE352A5A77DC57AD3467E5704FA3568F1021FB4A0587B16284C3CA9918 -E342156D8675ABBC9A18865926748EE6ED03858C53F4CF5F1D08EE1C43E194CA -4A0DFF7484F620EEAB133D8CEA80A1CEA837B7194FD9964E9C38FB3A4B41593B -30D6B59B1A0CE6775E9A416D97987BEB3930C88E9AA25119BE8DA9F400A6C096 -ABFEF4732C562FB06C963154CE19580639CC09450196616EDB99B6B7ACA1200B -5093FB118CD91AAC60410D522BF73D60BE20C8518A2D242576CDAC5B0FE3E337 -AFE60C493DF2DE758B10A4CA8128CB077C4E73329CC1F3BA0F2E2F2396C19384 -0C2B81621D4712A7BB68EC6163DDD4466BA03A7EC26E54881C05036CB957FD23 -57BF528E13370217A4889F3BADE81CC3658CB9EB356DE450887761DD7BB19C59 -31F8C46886EED761CC1E950086FE1A7BC469FF88780B218F2202A4F1FE006743 -4A5BCCA6D1EB301544E55172485105CF04E05E5A892D2EC0D26B4C1C65162ACD -D0E1E922DE12FB4EE9A1C285F873E0210C756557568BA77FE33770B59197ADCE -ADA771B078D746F5E2E096E3DA6E7FB9659819789AF94FA9A8133940EC2AAC28 -AE8DF11DEB67F5E28A8EDB6700E9D2E39F90C1975A2BD58B67BC3C64CC9CD71C -A0CDAE7E535A207F87523C6B204BB480BC34E9E0CF52C79B6F5D0CAFBA30576A -523D331EEABCBBFAD18B979696C7210BD5B4AE34BB106D7C9A2A84D95B22885D -18542BFA65D9791DB2A84DFE88251BDB7C907C373B3C2E116ECB8EC2B7FDBB12 -4E40313348A394A58589C1E23C66A9024BF2057719A198D1F0FF01929FB15C46 -DDAF40B4DCF2F16BE69532711C49A0B670442C0FE53C404703610369C3E6B6C7 -22AEE42C0D314AAA1E0EA01594F9F8694C5A16F44476C42C6E07307BD9940490 -E89A6E30111B2BC725C51F5917885D5375F0A4B4F32720A6F364A6AE68B55B84 -35CA3F4215DB779C15EFD82D21129399F699F5815BA34A139A76F5EFA9774820 -51379E30298252B6CD7DFCB140E9AED951C6A527A3E59923F725A32AB2FADA37 -25AAE28C4F0FA92538D60ED5D26939090EF43A89A70104C5D6C7A26CB9E070D8 -C2F2C1BDD073814033B5325532DEEAA46FED75CE884080F4DBAD326DC98309CA -81589FF76AC06C0FB447132349DB7886966F674B1DC3FAB46BC1BC8D4CC3D32E -1D7A6F1EA0E77E65261552F0087FFF05A68049420D02A6C005FABCF9C975867E -B8335E379DD474540EC81EFD7953A432E5932EC6EFEC3675CEE49848BE80618A -A45477C9237F4F2DA7D37C6777EABBAF1B1C53DE47C4536D603E905E6C0A7E0E -E30E854E2DA543976B97907DF179223D91D0E53094A9664C721E593958A3FDBB -A91F79F4AACAE75408D31333293CFDE40332CBBEB470FA9CA803FDEF80D5FBE5 -8DF12584626DC7F4C1AC5B58BA2070CC29E7292324B111AA158EDC483FBD675F -135A04191543C6CF33449EC04458A4A07B72FD2D3530B3DAD847B6F1627C2A69 -DC68BA7143D2A614574F17EC31D46326F85677F5DA9A6BEC19167EBB7FBFA0D0 -495669797774D6532FAAC83E1D587885F11F947689C745284DBB2AAA34E7E9E2 -2024A5C2BE3973DB40C1FA23352300ABDE8AC895555A432F3C068EB24D16797D -CD48C62C308015C3BEDE20231C2DEEA689EBC3B82933FAD0E0F44BE307027B23 -4338B870F04CDDA8CE8770E02B71186B6AB50490C1811F3FA178663BDC8FBC18 -C8BA28F090A60F04FA34AA13BCB2158560B2506A2A458984E9DDD7756B84A527 -B52A76E24B0440B1DAB33DAE996020C737B01976BBF32E9FF3AE69EFFD597841 -60FE04A632FD3023EF6F66D94FCD983D2B418DC31BDCA7ED38D89BB61C598824 -9B028A89A1AF9B3D5DF82FE4AC81AF89D7B3944CAB85FF3432050917403DAC0C -0E66EE586A3E4714CCF623C865D54FAE1F943B1C8BF2DD7396806C22F8E1F7C8 -0B644A2FE78D6FA1DBEE7B5EDC9643565D0B435BF6867843A0AA2C530ED06BAC -91E3612069C9E45760DB8D862ACE47856D74610F3FEA376CF2C841B8A55DDB4C -C6A00428119023F900F1E61CE840425A3BFB31DACFC751065F3E8F50602C8DAD -2B1E213810BF12F28870C97A14574AC1D0EF2A2FF21EBA2C62D113BECD741475 -8E226A77C0E9B52AA70CC8606A72CE70063C2DEF10FE37EAC6B553076A6A77D8 -46563F37009714CDC333A46E2A4FF4E4663546CE102B1DA7F673F3766F86D82A -2FDA1B71D681A105CB35F48DE3159D34D00EE2F26519E6FC322022D82AE2262C -6292B221E1F3CF1712702D5C46E1C379AD2DE59E14B905C8D933CDB400376578 -A7C8134FD801216231CCB286678214E036802260DCB46EC504F055CC23779C56 -EF6674A78092CB4F700DADBC3DF9F43009A2770B9AB98F1D4E5B15CD7A1024AE -8E612E7A5C3C964A8A21B9EED14C035E673D0FAFA8D11172C216EC721F5AA841 -69851049D93C04977246A2D21FFB7EB6ACE1DE6366D202D05046DE2CDB3E0ED4 -231828154A202C43E63BA97313AAB34B1FB9DC40E8588E2ACB81700A03CF6CA9 -178B673A2A5AA0A6A25096DA0444FFBDF89FE56EE129B725A1251936AE79A715 -4829296422CB1EFEDBCD5D1A67C38EA209B8C4C86E669B3D9303AFE9A73AB5B4 -751FCB6E2EBD6E94E7D6D94F61DA1DBEBE7DB352341400BE02367A01618DFB09 -4635C3BE9A4DAC48E689C6AE09DE15BE92B9D9A9219FB25CA900D7D3710BFF63 -1D5392049F8BA435D4DCD77DFC998A02207F0DBB34780CE632E2FC0283D4DC17 -2EF91FAC1C1027DB0CCED0389D9AB0A20E4D9BAFA70EA2512BF7BA5D0FEC73EE -DFD4EFDD8507E71D8664527E4B0DAF2033ECE1A2326E21439199A9938D792905 -E5A9B0AD4F79290172D8B20F817247DE6A9F2FD95CB4A4312895634BE440A07A -406D7715F6C1DA42D17577B3F290DFBBE4001EBB1CFECADD3BB4CC93A7B539BC -9DCFD8C66C78B6C4CFB1E9F4F8E37E82878F92DE67864AE93354E78F56D54DAD -6B9DC4CB315BDDF5D032AFC7629E10C084506F7C22CE7CBDC8648A042551DDC5 -A391F65ABB6A890920DF87C71883FA1BAB6317B325AD967EB864640AC8A3C2C8 -E41D68614E058D1CEB140588C8C5BEE436B112E7FB82FBCE2BFF44DFEEC1B587 -E36E96EBBA14930703C5A5EA3D45FF0277C39F5CDB9C4AC3655A161A838FB08F -B0C1AA048E23276A9CB4E8BC114A0E024FAC0BCCFBCA8EFD8A48A2783D7EB4A7 -272737ED343978D2E966DA09A923C93CBB3C3E7F451390430880036479C353D4 -D687759BD75F80DF78349DC28AADEA6FCCA01039431F83E4E864AB54E899D30A -25ADB18891C4D7A679558127B8AC5273FFF1F28BB7E682EECEB208F0C07CEB1F -AED0DB62784BC08DCFF99656DAD754BB352C3994DC46CF27BBD463C6CE1753F7 -93774336051D9F67D95F5315AA6A543BFFC708A75700E0FB6523E576724D4F56 -813C825EAF293DC28C007E4C58353A1D5DB1047DC1B1F1F9558B114D582ECE43 -77A4260E2462BB4494A73FD20F73561123A0BAC258FBD8FEB1028039BAEBC4AC -0E6FC625A4EF0E22AF5726BD88DF2A0AB230411EB5C54980F8B79E80041F944D -190940C2CF0A24DFAB250EF983DC58BCFCFF40B0EAA9303A0BD0D059B6D6F835 -A1E3AD4E45EAFF511985CBED8E6A46657BCBF149089AC659043D5A09F9993ADE -81E9C35A5C047816649E521BEA5EDB2BBC66C31901861182C5F660B80CCA72D5 -3B22D840F62B21ECCD91246233AE25FC860919493B625EC6FC6FADDA3DACC9B5 -A71C5B26E3B1ECD0AD570979BC5EA35A91AB34481CC304A7200C322B8A2AEA42 -C418E91C658D78055F2FAF4B3D68F58A284E571759CCC7F00BE3474132D4D2FE -43DF39479E3A9C4E09AA4A338F26D5C939BD7E1CA50B86413B8E32CE63800EAD -58C7A77A1CB9E135C7BCF1626FFF76734C321EEBEE3B059216CDE6A6912EFF6C -BA03D1EA3EAC1F2AFA3709DC9BCC558224A20716AE930015915A254F1ADBEAC1 -941476889919D64CA0D0E9F43EF614F115A2A93273E4E77AAF46027F525A3E7A -17E1384AB4D41D75E9C0F22C398C6A95B39D3678C55205B38E189382EA03DC4C -21E4F1245053D5CCA7BF2A1F9AF88E0CD7AC63DDCBE447B963B6DFFEAB65EDE5 -5128F8B555D8795B16FBC856208DA44A7F0F043817B21928E257F7DEB8C930A3 -821E7A3643B5B80DA2DB936A927158F5E7BEA32AF2A1EE9F47D1EB8D420E9A9E -C57452ACFEC2718BC31B4F7B061C932F768091271235EF6B2EB65C96E4D1ECC2 -C67C543B1A117C2E34CCE57520CE6A69EE6F89B1AE177E06B63193AD1376F86B -A59B9A385E63EDBDB2005FD2BFB6204FFEC21823E1C5E59F363C760FD3A63F36 -118FCB0FBF612204CED17C7E6C1A30671C591A29BE9F3363DF99657C7D68AFF4 -E0C3F759A361E4D88005FBFD72C464E4F84A773A581BA27C42D9C6BC3DEA42B4 -2F185340BB74CCBB65609965C5636F1D402DFAC5EDFF4B2461FD564E11D7A789 -D391B54B30B129953A4B4F0B34771983D05B271C29855F2E1394CACDCC37DDD6 -47F5AC6123765607F1870F11CFEE08D71FB7458DCEB1AC2D772108FB49D8E71E -9606E4B5F4F84A939EC5DEBB2F9483BD28A3412EAFB80A7351220EEA9D08B664 -4007DA4F70F4312E4F386D91A556EF9E7747454656DCF8AA85DCCCCCD04BE5DA -DFF58B6D73B7A1EE282737061DF380CFB0DDF9A3F2F0938183ACA9F1EBD638CF -C01E67957A3251F3B8663084CA8DF3F794BF4845B2F6D533BF19440CAABD0DEE -C4D219CA5D9ECD045518FC25C2F12106C065AACADBF33A04E54C8268E21EC9A7 -33B0A06C01F2938818BBFD085CD071B7A11DAB70DFCB7B9F460AC2FE36174768 -083749AF773AB8A67F9B58686A1B330474C7E700C7D48A71BFFD540D268B0623 -931732B4A8BCD1C6F6FE8FD8B856214A86A5A5711AAFCFEB9E33EB5D13BAABEA -31CF678C67D32EFAB36319F893CC85C883E22C6080FBB45A10D7DA77E1435546 -A07225F78393688C0BF9A78DD8D8CD3504C72245440144DE12012F75564FACB7 -37F39E330C8FFBDC0BC42D455955EC7F4C28EAE43AD2C57C44ABA40EF5AEFB02 -9D9DC202D3B412BA082C9452BEA8269CD3495BF7377F341AE0215CB7257DD323 -92384A3AE9766B79756AB3D6E586B1CB2A630B806B92A272B5F205683160F1F5 -CE1AAB86C03152782EC5A8C8D3B4E2B3E83ACB3F73E8672491F045116A6E8E3B -33C7C16586D2AB91F7D052CCF0459FD1F597C9EC4095B5D931ACD616E2A9EFBE -9E19458E5AC84F4F3D17E3234DC4229A9AF4FE10108176C9BE30074EDF251281 -8E5EE83A94446A3099836B4174FBD357A75A19AA4B4C77CD5E95B16C5395C043 -33920CEBF2339B436EE1BB5DB191C7336AF977F1385BE15D27BEABA9053DB219 -65B21B2372A7F7BE670FDA8FDA32017EBD664D03391B580C39793A73A35DC39B -8775B92FF05C4F4F6E6AC2F1424F5D93A99214A695D1BCE41E7033AB21C5E228 -9AAA7E581CE9A5C3EB2C978345A424696C74A1BB45B6497F7E9F6D405BAEDBC8 -438CE0A26FEC8683E7E4287A3FCA76D0E5BF872E61F2E39E60D02A8ACF14BC03 -7D59924D482421891ECD4DC904CA3A2B0AA4FA574E7F4D8D090EB424258E122C -EADF399AEDF8189C984282CA9C18D18D282F27670BF95679BAF1EBE92C781D9F -5739F16679F6853BE2ECC51D78C2A568E5FE066AE0AA98A823E5640F420F23FC -3CEA1216760242268B9B4673DB11BB7AC0EC9D567C3B543DFE10C062BBB64C6D -31EA298A98755CCD95107D6B50D477889123E711EA7390C57B3AC5C363BA84A7 -C7C44F0163D7C83539EAFB8C832778C94C53CCFE8CBEDB42F90A0099FA80EB52 -89EA9F32B6CA516470AA826880402A73739CB0E60F2A4812F3B50C40D026F8B6 -F048A37875B3FB4B08C9678DD48FA7852233CD13EC6687AC34D3FFCA66583F52 -26783757F06153F0E385C54C6BF9FD4300CFC1DFC211BCC8132877B4EC99718D -B3274971E26953478AB2AC50750ECF31C05DD41575020DF1AB0757E714D1542A -7065D4F034000F77F9917D87665866D842CC989C6F6A7D953EFAF442A2B6E28A -29BEDC8A940F05DAF7CE8847E136B6596DB70DCA3DB0BA45F74B1616CAC12EBD -6D0100371E80CA9EC19241C31C0ED657F7B6B089B99E0E551FFFA0FD4885FF65 -FFE878EB3F6A77D27271824ABD182CEA177ACB0FE8363AAAF7C86E2517F31263 -0D6E3EA583CC81A62B92A4D2EDC9A8E3064C41687BD8177B56B66D0165021EC3 -AE70BB02C46F31A1DD4C39D49CE8A2592B7FECFE83D60A17C091E772DC12AE4D -49AFB19F85486740A5DDC5CCA7209F8292974E09C2247681F7774EEC8E123DC5 -96F05CD7E98B1B5A98448B78ED6AAD144D24C1CB6F9DC811657A9BD25939B698 -7A90FC7AF543503E869FBBEB0F6FB3E5A2A9DB2841ED565F6DC88F66E5CEA418 -EFE0BA5784A3DA1A31B0F2DDCAFAF3CEEBA9A24670E196CB317D88463C885CB3 -BE980DAA9B8286F81CFCB44DC37A96E078F1C0A7BF5C17B7771A26CE394DACE2 -30586AFC49DD632E0DB344252FF8DBB01E6BD935C36A05FADCB78F11E6D37E99 -8CEC682319472DDB6563E0D91913656B26EF27295753F237B2470BB8DACA7BA5 -891EE3BC4295DB66D024E1D51AFA52C1A5855ABBEC35658CA7DEC65321BD357B -6DEB27E7096A2BB13C1B0CC3EBD6805C154EB74D37B4C7198F13F64C5A743982 -BF5A4575753146173E76E849A2B920FB930537A4E9C9380F8434E0F6FE9488C5 -88E1F24AD6E21F815FC3204734A70AC9D29BC039AD7B6D5AC5F48CAE11DDF2D2 -B8790CA2554A3B7CA37E821F2ACFE8AD7705F1E8935CD63593F61C67C662E97C -31A0A28A2E3E0DDA451C83F8A982C504BB3BD8F78F94FAFAAA2FCCDF11A52389 -E7AF12260C01AD272925D075F7427E5AB739CEF55134BB04369F1104EC776F52 -EA172B4151A580D871CE02295273AF53B02DB76C3339EBFEBC1975811B539A42 -0CDCB3A0637BB1B12CA0A2EA913E255E5860C600A97CFC33C809AFBCC4DE0F30 -23ACA73B56289D705655DF88E79EE020983451D4AE09E80B835508ED28129F43 -B55A7E0C17A5C5A1030C323F1BB349AD695F25F0358DD68ADD8F4F7998A4F3AA -74FA7B7ACA2140A3B5014FF0582766905DAC463D6B8D760CF07620832059B898 -14F9413C58E808FB125DA8C4A9B1971F56643978E1663255F287A1129B291A7D -5F8C7AF137232D3D6B7D4795FD8F5FE9EF9D6B37C0534F9E531D446C52377D04 -13CA29578ED9473A925F6F921F390FB8D126B0946D6F5EBA83725D82E615BC8E -B5F7F865ACA5C0922CAB07F6EA948EF8DE18917126D3B62A7689F8DCF0965954 -CBE9849EDE0C1FC5BF449C9C609DAA0415B9734B4A7D98C0BA6D4EAD04C51AF5 -037FB78A165662CA89F9680622E2997827B409B408F39EBC019C77F45C424C80 -E31A50638E3D4D0273E02685D09CFDA92E07238683860585E6B44819CEB9AE7C -967831543E0E2161A8D1DC312E99D16AE0C84B69880375DF7D0C114A96A576C6 -1BEC6918825EB9AD2B900DB1ED0244343A89C67B1548A85425AF9D08ACF0291B -14C18FAEDCF3C80C124713BC475F3D8788AC04193820AE00F5FF6A118D41DFA6 -D4EF997C5D4D744A7898EA9387C3108EF6FD19628647F9CE7956D4641265BCA4 -770542413AE156AF4BE6DF3EA929843344F2E38951B9EE4D38D2E51A195842E6 -1436C77E7D953CAB3FB8144AFDC371B0DDE968AB88493C15585570F7DE881A17 -24C0CB6E8A3433E6E85320ADC362734A1C81C1EF9CEF1B863A803F96B5F1F61A -05D61B9992E99BE5A52A58 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0 +42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259 +4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457 +689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521 +0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA +610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8 +3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735 +C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933 +995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE +EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723 +2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0 +4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC +B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014 +D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE +510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5 +BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF +93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC +F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385 +45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757 +4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47 +088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8 +9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A +09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988 +E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C +0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A +FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C +94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741 +03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF +409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71 +45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95 +39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971 +58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85 +84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A +0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F +F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD +B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD +D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B +3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B +7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D +8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737 +712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E +C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3 +E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA +A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC +2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467 +757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C +54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981 +DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9 +08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD +6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2 +A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5 +336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D +E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB +3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A +E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627 +1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903 +FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72 +A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6 +465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0 +3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32 +CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF +573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA +9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D +15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D +D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5 +15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1 +64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789 +D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C +D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8 +576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540 +ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135 +EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC +9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099 +3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A +1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD +FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598 +C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA +4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0 +CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7 +3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D +D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9 +BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6 +1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D +4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442 +C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D +80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C +AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6 +59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647 +3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6 +14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59 +B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34 +F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8 +54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588 +34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191 +825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439 +BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54 +4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F +66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E +2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF +F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A +1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416 +37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6 +741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1 +39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC +887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49 +B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD +15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526 +5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1 +80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839 +A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404 +BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048 +2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B +B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598 +F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B +9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483 +CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91 +DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62 +6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B +7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7 +D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B +9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9 +EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12 +0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2 +1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10 +85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0 +EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F +D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518 +E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0 +88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842 +E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8 +01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68 +54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A +97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78 +B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2 +D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9 +18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE +A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13 +1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62 +31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5 +408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF +1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E +29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33 +BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B +AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8 +0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D +99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE +480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC +D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481 +FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB +587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51 +A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C +C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C +AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D +AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4 +48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367 +385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56 +8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38 +4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C +839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C +320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63 +7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E +DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D +DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F +461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A +BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449 +1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A +3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500 +0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77 +EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA +AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8 +F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4 +097C4995B60BF4D8B3AFD0A002B3A6E4FA114131410D5658999B86DFDD3005F3 +AED1FA8F077AD1F27EA249221585703F20FB70E37A26C6C3F2E101693C94612B +65BF89F37AA3C10A40EE8E49915F1A1B95D2193D8003DECEF9D76FDAA33B1AA9 +CEDCB21C2A3B05747FB3ABDBD904B66EEC60CED2867442F5FE445587EB8C6D14 +87A6B1B4871A8371A7ECA6A159EAB295B167CC35ADEB8512FD0C237421773BE8 +A081FB687F9C5D676F2944DE6E6B639C37E8E49BD4A6F0903E0C31EAFC4C7ED2 +C3C67E71D8BE2B8D5784E8A6F19A9A8929DF9833440E160945274682F435DFAC +575048CC768BB8F13AA21C6B125E6073611BE138AE06D13E62E7EDE3D0239474 +E040B3E446165FFE60E20B75D2A5F9EE021B22256621C290A8F3342F0347B8EC +CFA6AD68D47C05268EE3AC8683F4840D736EAB585C6284018DC94FC103B4A882 +ADAEFB625EA966F3877B3FFEA518B809A4BD184FE4923BFE783B4131410D018B +E0FF5CB22D92CB1D1C8854DAE543594DBCACC60041E0B906FE5E692CFA6D2B4F +31CF357A50CB1CBDC0BAE6C841A8C0A605330138715CAFE6EC005E8174AB7D9C +9A9AE616B75DC1CC62B7F9EE69DB9ED2351442BD48E8D0A467E28525BEB6961B +CF586AE20AAAA47D9B93AE7B0A4B992B61360AE1A51EA3FC550B5EA3720DCD75 +DD8D07C26180748FE67B2CB3BEB2EFB690657B726CB850C964A773F0EDE2C0D9 +9D7DBED1E5E1E18F68B114C42EB6D734DABD111596AB68D8DEC5246926DB5E4E +D7D701358D7972B2995C7900DFAD6F78AA604C326024C0E35EA5F2E99B2540CF +D72644DBB5EFA49C1D91FCD8AA69EF3AC33385AF45F42D1B8DBCF688A431DFC3 +EF8EF75EED3CA8EC03195F410A062E0400499BCF9017D11C9A4E00AECF98D318 +994CBB28D7FBD01C3AE3EEDBEAAAAF122BCA7A10544804177CC0760AD483D5F1 +4DA0ABD57795A29AE0BAFF8ACE042ED8D5C95DBD358C2529B33856B0E442DF62 +F86CAAB5A854D6B1E30E7E671B9B57B0DD28793445FBC64EF5469CD7A3322311 +E24AF1836C6981566C2B8C83D91079DFA5D02A974D3B83DFE932C0D0C8EEBB40 +CFBA6E52A7A2A313CFA0DB34093C1B6E6D740548B9FA9E8A1A4D0956A3D44931 +882578D2BCBC7FA215D51AFD9209524EB158E4E3FD4DCE581E3871AE2D4FAEF1 +6F25B0BA20F1FBD0943FEA005DFEBBDB1CED7F22C8C8A7FBCEA1642AFDE9AB00 +28624D29374A5CA5BD0060BD399B8750B55455FC22A0D8C5EA953A3CC77DD3A3 +472B6E9EEF8C58E28E19DFDFD99ED3FFDBBF3F164196BDAF0BD36479D927F876 +E2C9F0B20CFC925FFF969EEE5C116ED17F17E2682C997C29325D94E6B28799BC +877868ED48D7B1D23107A5BFB734DE47CB46EB46B636317431E1BAA8F6DC1817 +28CCF87463C739E8E68C40288B69A9E790EB8229DE60BD665964AA130E564EDD +CAFDD7DE4DFA4B553B695CB12CECEE7617CCEA9C7F5BD466DD88C177D116B243 +B4FB4DD3D2A809A379413566E118EFF3254260E73A55C03FC56A9ACCEC19493A +6E8815D0B40B2A48E7DBC6DCC5E181F86BF252A4F312FB1EE7833D001520255B +64B2889C78B19822D3A20363DEE900F0BA53D9CE738F25709C81F90891D4C279 +C5394DD55982721167BFA1C69C55852F92CD6BDDEFD9DCA73DC39791A85908B7 +CC7E5136823E6F4608529995F72C0A7D50874B93B0FC6D6A773A571E5AA0FF10 +C92F4F5E2931177CFC8B8E39AEBE9A5ECF7D6D3DA706E5924B84B8FA2FB56A55 +1130E7001543079C533248B118CD4543EC1BDEDB2BDEF437CCCB539676CDFF28 +9C05CAF4B8A1ED5720768705EE47AF1162E5B979153CCC82A8A9AD1393505BDA +26FB54D3FDE40B8D2AB3F2DE79A0B483F7AFFB6022B81328727F66B4801BAAC5 +2EC53EAEBC6D8552AC3EF2E16F2977B8F80E8F2F682674C09CBC26C80D849237 +9D01AEAA507F5481FDFF95DA933BB57CFB64C016DDE71BE1557C659D09A9710F +A073A68EA7B6BE1F70F3C8E7308B276065284DF6584107A76823B9B0778528C8 +ECD793F36CA5C1C405DF3A9F254C4E959337490840EC48DC14D2AD399111FEF4 +D2A870BE8203798A17D97E39BC7D3A0C9F21D609D6B5FCA9001428DC67C9066A +BED5FB94E6F9EFD725B23AA3CCC97EAF1033C9B48E8682BEF2CEAC57F21C7658 +81A3B8028E6005AC2C13E0C807D92FD343F074F5C543F4B53D2B14FD50B45A30 +86C9775D4AAF93C2E2FE76467BBC2E3A6A95AFBFAAA36D8A9AEFF25C3BDD51DD +D4B4E2B7C6FEA1F4C1A367D12531326160D859E83F458CD782294CDF38E3794E +510F1C1704848465FC209C7E26472EA60F8001E945620857F4885CE61F78F66A +4190871A4136695B576E39D87E5302EB61600EC42B2218CEF1F649F29383FD6E +341F3A27793909A05FCC5A87AD7742BB41ED886460F0832E6BB8D443318AFED0 +528ADA31AE91D2D0889A755FBEB9C33AFACB902E3919605A9A8F9FC44C3F528E +8BFD4F509761F1F513FE45863A1EBDD514E210C108DD567C06D446728217176A +800B542834A5ED0874D4D5556898DFBA679C8AAB914F840C0C9ADEE375269981 +92DDF4B3F3E6226A6657B69604C6536785169F7301CF3C4BBF602C847E01D7B3 +C3824CA683D80C2B06BC68942C8CA4DB60D80043F07DC63E6B31B6A87B3674F0 +FC529D63C6CA00F3B4F2386DA7AE63BD2AA93523E3D70313687D297FCCE6270E +3B5513CACCF8AC2045944C559F001791F06A2AEB21869BBEFFD79EA7BA743A70 +7917186B0E2E20CEDB0A583BADBACC2F4B3DB64A8A3F927D2000B81046D577CE +43BB0DC4AD99E609EFD5F55DE8B5A41FD92F34FC96816E948168EE17CAC0D120 +13CC349F8B1225F396CFC62E3502A43F7ED355E901CA9E60687A8D5B597EB356 +7E1FE367860AFD2EE7B722F22473C968C6E91E7E8A4DE41DA2DD35D51E7DEA3E +D9117DE9E874092248493F0FEA331AE639578A9322B1D3E6A9E866BAE054F555 +3DA676E2B24D1D4C8832355C6AB10F776F24412B106B03085AAEF2F5FDCBFC7D +DBC4CC9F95E945A4E690AA2E8E16ADDD52CE957E883F09D141C560FF4A53ABBB +45B07823B592960D914C54E09E44904BB28DFF1B805A1F72BDFC5D4A8BB5BBCD +EC19366A8E3E08C100E8ADC25118F79BCC38E0D56E2870BA307EDDAC7EE3590C +39C825E8958787A9F4370176A09984491EA71285ECE7AA6D60DB5ECED84E6A9B +242B0472EE67542C4CBC98AB661DABC0BEE7B548EF06C347F287598B249615E9 +86081DE85D56453F3FAC216CD3F3E436735A593F4C8F3E28D5914DDF9DB7EADA +516FF8FB621DD043CD00624FCCAC51EE263B86F46A9162B18FA26E1DCAFFE7DC +974554DF975D02C2948EF4814A5345DCA12047176CBB7B68244528B6A3EF1CC7 +ECE0B8D472DCF741C82801D2BE5877EC14652819A739C6C8E7653B2671E83276 +75FB5C4D67331989BF8F0E699C0B8FCE9EED69F7ECF5B2127C4EBAA283D7B011 +7F30CF0CFED36D7A81856B746E7B08108C9C9AB484E2760D9678B82C956EEE36 +463826DF521155993F33DD1AC5F76B1CBB689999631298D2217B022744312A90 +2541727F580A4902637EE49DBC39ABD68BBB15BDEA8F8713F0B309B9EBB363AE +A20BB2AAC22039C90BDC4FF6459814D11ED09CDC7992237B69315F56F9021FE2 +3BD0EE582D1FB0623A17775292868230D4D36CA7741D10B6C4A7890276C825D8 +7F4F04EA3144B8004821F5078C83ADBD3BC7588D856421AD4561AF9DBC18ADF7 +8F9CA070E79C15790E718ADCE4796C2CF3C777B2692A28F0F208FC2DB5F3F2BA +1C3F731F596FA303E9DB14CB2D5281AF7A574831257A4B4D3E78D964BFDDB79D +58497074BE55D6397C986981686771459B619C0FE8E2AE1066DFFDDE92F95251 +EB30125E767F8C4B673B8D733BD22ACFDFA7B2AEEB52D2F6C4C3579FAB300B20 +55FB500454327D13AF2DFCAC2A170678730D302168B433E462227D5200CC3473 +8165558FBC94E9041B2D5F44B4373A60737C63F2D1E126272B8CFE386BF8CF12 +511686330C6B61E5AED76AC3A475B8046736F5DF0D92C8F48A0A73FBB788463C +A50B2266E2AF8E6A88E0385A485752229990FFCC06F517BE2A507A6BD7FA30A4 +2CDD60E5680B321662125EAA1A5C7C62A251C762EE0A028A8E8CA439F788D2A6 +54E47C631B9C1E86E47AC755BE98E7E3BF1B200E10758AE9A8D98935E2941A4F +FFDFB8F5CF4472A296D6843299EA45776AB68295630A18AE7D28729C3DF2B6AA +DCFA02D731A1BF2BB4715D0A9F86C45E6260E4D6213EB4A95628ED04D57935FF +C24806343324305E4D81AED1E5AEEBB42CF2540FF8C96769F04FEE0864A7F085 +DB143D8224A796C6D983B342A95125662E65F969D1546BC8D907B002E46CE298 +900978B43AC371B432EF75E20302B1482B0BE4A1D5F933957F694ECFA8F5E776 +278E430635B727DBF26863E1DD9D36013F2A53F79884B99D4F81AC2CDD3D25B5 +92E870D36B2C8DA33341D19F1357D583C093A65C8B49561EFC71C37E25A74D7B +C0112D1B4AE64F0B0B73405B416683AE878443FA527EEA2EF14A0234D36FF51B +ACC4BE38DF8A92B6272B23E344FF4AF04CD3869988EDFDB3058C3E90E7A9659F +311DE9F880061347C3FF6D326F18C9B67121013499C63E343CC0CB02EF6AE9FF +FF9F2E46D176B884917823AA077C399E7D7C7780777F02315FC5C0CEFEC3E0C0 +DB1B562F6C1F61939D57267DBB35F449A69BDC6D93793CB7CE9ADB178BA79518 +A43D081F81DDE88BD16F2958EB56FA45516131655B273C8CE060BBA62CC59D6B +93DD62347C2C68670073843422C24E25E891A4D5322CA595B9D9E45A4D958384 +48636974E6AEFA2A58D8F70953D7805D10AA76A13C75AC5535467DE9F943C582 +98545E8653E95751A2E605192A3EA7576DDC2B3EEE28037914AA83ABE4E8296E +F0B84055E5413D56EE98A7337D4DD923D49C6BA4FFA8B6DBAC52E1C2B40F68CF +9AB0FED29250B1B41E9F67656E098020658418BE1B7BBB8029973BEDF017544F +713CAAA3211CE1E348BC5A56C12C516DF69EDAC03D886F0ABB2212913048FB99 +FB9B1E6802D75A38003C7785EF1A1377972B7DAC156A1B41DE4D6E811290727A +9E2960C690A4BB5FFB8F0E264908175DA0751FFBB4D51E96DD1190ECDF2BC005 +F6F5B75CDAB236DED30E4F71F42F15C413D07B53672BB60795604BF2CAC6EEF3 +A5DD8F45023F33A77ECCFEC5402D5BE46E4F8F0CE4EC0F32F86B283A43C25235 +EE90E1C05B47BE5F33F1FFF0B69456110B9A8BBC03D3FDC8454D661E711B7B92 +338C0CBDDF9E9832E687AE4456DCDF304A482A72B86EF41F8447D401315B27D6 +3995B7F4280F2ACC8F7031BB26D3240A1407DC0CCFDF0651AAC6F9721B8A9398 +21BA080FA31CCD478972838819A4A1588D230C76C14B86EE189A124C315AA914 +25649216EC8C3F1EC35457264B5C394573C71A3203663ECC797AF3AA36B4C24D +D6BA6B0EB5F531B8A25AD01BD94EC56BA1C926D753C7B391DBC3DBEE2C2E8C09 +15348A7E8ABB1B14AFD7A5AA07C65204ADA6A6CF391E38485BCDF8C905CFDD1F +181313BE7025266AE9422E6BDAB3B93936B7C93EB07DBE70F2DB2B7F7958D7E7 +283E2A530B5BD7A41CDFF4A8C057D1DBFADBA85E9CE45A8947618AAE1CB3042F +9957928296A4BA11CC2EDFB8485CE6D255B00B2F15BCE80D4E88188959722957 +5EEFD638B94E1BC01662E00DE2882C87AB937D47C81242F1C64AB7DB6C334F5F +F5B73BB8A489629A36D58DBB7999ED2E0C6438272E4DB2CECCC1E64A49472FD0 +AE3AE0AAD5DE8E961D14D070964E2B11E18D9EE65D657E1959738BE1A0890202 +2F447A746243F878CD6FDCFC1C1F688AE4C532F2384BA60EE7243C8FAFEB483B +F7042EA915A31940BE017AFC5842C951204574C0760A2010A197A7A8D1235CEA +C7AEE034424412EA4A84B909A275C5BEA94F0E4D63F7E10FDAE75F8CDF7F835E +F0D99AA64B6A9AAFB358ED698B10E275E1C734BC0B2804A19BD70782CA469865 +281B93F0C09BF0462B817443F3425DF2F006DD7BB238CC4A94619D41F71DE01E +AC9B92D6D6CA965A9224A1114C9BA2BECA3F8C26AA02DCA5A0C636DF64310E60 +60BA72FE671E07136DD843743ECA7F915211B6F2D6411FDECE80DB5775DBA596 +BE97576B965191E407B394AF393D858847A0854EF280953D70A727707F9A46C9 +1B8A51FC1A19589750FC47058AEFF8AD1EB827CA0F3C78C859290D851D57848F +E23A1703B33E474B48CAA4DCA698CC878136903D82624ED218A737F6C7D4591F +C04044287D4977D8C9C50FF760AF82E80F3E6E3CAD0F034C00EEE8791F7C8E17 +000FB21D8F0222103D8F7BE5FD1996F8AAE791679A62F992246AC211D139ACEB +1DEAE8EA556EB93BC2123C0B9819671EB214546344B935C99B9F3AD1B61914F5 +AD96D7D63772F933D785CA563AEF0CB3F71289E5AF02B18ACB028496BF8C82A5 +18DBA1A715DBDD10C9A0FCC32C5456BEDB824C59B1F9DC1528B82C235F45DB96 +0271BA11D75B66DF50FF54B234B4FD9768FA146E489E257D9F5C62578B3A0D61 +A468AFA9EA6F16C25D5FA4DC5D5F2A4AAC8669CA059BD9363EF6467E1EC13AF5 +747BB3D6B6EC468CBFD294409145E61F5AE298785D9F7DFF54498251C5E3B87D +387ED09003333963CBEB24659ACFD273273D5655A9A01307CCA16E1FBE241192 +F6E31AC8D490E31C9D0CC49AD6067C60D1CC7A2F0FEF5B2B7AAFFBECDFBB5B27 +08E35A37C41A85F330ECB2C88B94CA5A9E4E047B7C700C32EDFA055335C04F40 +E345BDFD69377877897B25021DE05CFA7ACE7F89389922CA0386DE41E5F97580 +9FF6AD204597C7FA731DD1AC4FCAB912EEC7029FD2C829987AFE21D24F742D77 +F6F689EB2576E386B632F6C3155068C53C2940F731EB37C7905CFB16594428BE +7B327CC0796E3B3FD6F7719B836A314DD685428419DC74E534E480D17A495921 +5C0DEF9A7AB28CBC1C7EC5642C693E4285EBCCA41E713E1B9FF3F597948E405F +F7FA11F6A8E43FD5ECEC0CE1B07959A325B49C00483656713A0DF26165CE0BD9 +144079AAC23D7B2E24F73839C01B971542915D70737BB184846EB670EA3BD6AA +F63B5DE5A709199EAE53CA83D8A248A80CA9FA65F03D0AF0D17CD290A62B8429 +6FBB59FBD51F3280BDCE40E021D9F0552F8601F4837325B87EB8BFFE373251E3 +D76880A6CB90A6920276343452E0854A7ECC84D743C59E8C4EF59FDEAC252242 +90B9C6B666E94CEF8B1A5A05D7940D877EDB1D52B0588C77BFB3149951CC7B41 +F2E77A627C62D6099BBFB571D90D98ADC819DA5691E297F776241EB5CBAD1BE7 +6A2F5A44F5475A6AFCB4683A3FDA9442B5B9C3B4F47D40100B8ECC366BD49DB1 +63AC7485A5B74EA699318C045528C1378CD84D77E0880850F723D341BB904FC0 +C4764E52C0A92058B8AA8ED472473692870B09AF6E22DC29991DEB71002EC47A +5D8E90392533F3EB4BAEC3FE5F26CFDDFD28CAADE3519AC92B92BC9CB8639D6A +E8296BA76587587344DFB67AE6C55C81710E9DF937FD98EE8D136A1A2A269917 +D191B4EDE291A7B3E38AD610CD2C79737F7992F8C932AC0426987D029C7E628B +99B5A35ED77C5943CBEA4591A8A3521BF101BE5195E7D04001E8FB2C9BEDFE8A +16E60F3F30042A6E33DE1508B471776D74A5C66CD7672B0DE4CC002A63A78001 +5BDFF52FAD0AB9815F70713442CCBFFAC8255EE0BF295F15860CB0AF53BA966B +BE8856AD62DFF9CEF8679E66A156B8262D394AC2FF8732C235F4909A25E0E6D6 +F44FD9C8B99E2D1A7EB964BC39E95A0D9A1B03530EF9BE6991CA16FDDC5F04EB +BE6A74F1EDDF7E6FCA0C28E813555BE7F133A7A0E7D33FB311A2A211A22CF727 +1ECF662DE52E971F6A420460194CBA17C19F8992C7C1A52EA49FA708FD097B3D +BB797E6B86359164BAEE0CA06BA124FEEBA40C4ACDB58587CF914CEEB7CBBD2C +747BF8E016AE6DE5BEEB9C9DAA15CDC37F27E5A1EDA91099ACFDC5D7A07F491A +7179D4A2D5B5F045F824F126BB52B8BA1CD8DF1E31C45DA9126CE1BE450B6B3F +7465E896A0EF8E6BE25B6135F5C9EE3D0E8BB30B2B7C594B8306CA078D9512E9 +6A35B94D24669491080AE1B9A1568ACD117B4D4A6AB6C0325EAB351655A8AEEE +FC9D1C21AC27D92F53A9E41A0CCF29D98E032098F4EA9C3F6653F84C48AF4AB8 +F7BE53D9B609668997EB4E3B38ACC423ED28D8832D7DE94F63B369C62795FBC0 +3138CC22C0250F5CE92B0F97BC78DAB5F00EFBB57491ED59DDC547FCBDCEB9DF +B3D8C0826780A9E0C5DFD394357E6BA6311C4B7E569E9353D872AE90EA4AE7BA +33F62ABF92642F00495CB99D685ED803687B61462B342BDBE629F372EEE7CC48 +68012C362E27001FACA2D0CF46FFC80A2E3956F9501D2637AA1DE848A21F5D56 +0A7A6965B7CA30CC20FFF711457F9B332103EB1770E3D45B853D8205577E16D4 +8E15BAE0901F6EE488206A9827173C21B663CAF46118EEC9C2D86CF9314CC3D7 +E9AE5273CC2716FFF1A486299C00AFE7E28697F82102A4FC554867C401F9E96D +669D48EFAE660E6C060E2917CA8F34D52DFD08428109E69BE69C49016263517C +3015CABC10001BF2515E59CB5A0D1430ED0BEFE8E5DF037C816C7BE5E0144B95 +89FBA15801A48A7867D9607D694779BB772D10B6FC498929A4A689D218350740 +D68A8B8B619F8E427D21F7D0F55FEB9065F3C62A24F076884ADDAE44D7EBCFEF +703C9E342555C8F985C73D05D5733F206A7568A9F3F58A8754C00223A1C5F3F0 +72F387704E979796C5B525E07B52B3DA1BA60BBE7869AB5296C70DE428227E2B +8BA35911916054F35B5194CF2F67D2FA90BAD0E08BEA7ACDCF8852F22D77E461 +020B6568CCA168EE756DA60BA381881F7BDE913CA63766E9380D4D52371CA9BD +4D88F97EEC9C9FEA8310BE410D0F01459BE8AC4FF81AF70E094EC9EAB7AFCF7A +D70D69CC45C1857C6B2872D1B141D68341F36AD9126346230421291F24540713 +177E40B77E99A825AEE693906EFF6BD3B37AEA4425F8525353F5B2BE6AAE27FD +800E0A44A75F5EFD9EBCA37878C3AA86BADD21070B825EF79FE864C8FAC2F4B4 +CC3255F76A697DF96B49B7477F4ACE3E01C3B308B5047BEC9475FE9D51866376 +00F8D88203A31054CA687E9395AB5E2A39F5DA26BC62F95B3E90CF97214E1DD4 +3E6442F1E59E154C5F6F65C7F8221FE80EF5C389AB47F70F6B929FB4C8D8F51B +8A64A4E6831B67F27E96AE2B4E030BF39ED862F097DA695EF32D9D4C6B224A20 +049A643796FACCDC81504563547E574958F55D4980602FF40D3A1E945ABF3B97 +03A3E87F2826092B0632077DA7B44319E18341C0A3D1008B7C877A87252C90BF +D18F22185A572F1A72D141F11A4975B4DC2134275B93AB85ECD20205B690A763 +D689601CE4F859791C32BD4F42400CDF8A711F9CA54C921021FFABAA4BACF191 +0D03B17046E2D6189FFA68152657AE9B54EAF9567A655CDB97DF85BFF36F3316 +501203209E372AC415DFFDECD6ABDAE58C4C80A2FEDE0E29D666FF1C3D345E24 +B8F0E42DB633E7254DD7EF171911B360B4B8BED9424922C4DC228A11B2E998B1 +533B734E5090972DE90739E8BD1429EBAF4A40A8197B46623B193ACD00A1406D +E3C887E010C3E71ED3DED4F1E44D5AA2220956849AEADB10AAF9E8B6B05FDC80 +8E8247306178B255B90BCE6B21BC8C2951C8AB203B97AB3080387DA3EE38825E +561D3E738C63300CF1 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -654,25 +1006,41 @@ D4EF997C5D4D744A7898EA9387C3108EF6FD19628647F9CE7956D4641265BCA4 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMR10 -%!PS-AdobeFont-1.1: CMR10 1.00B -%%CreationDate: 1992 Feb 19 19:54:52 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMR10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put @@ -757,470 +1125,724 @@ dup 122 /z put dup 123 /endash put dup 124 /emdash put readonly def -/FontBBox{-251 -250 1009 969}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 -87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F -D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 -92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C -295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 -409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C -4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF -2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E -0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E -B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 -24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B -43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF -D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 -5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC -96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 -7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65 -0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830 -B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D -AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007 -97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8 -FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5 -20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4 -0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F90A32C4175B6BFB279 -024EAE1B04D721A6C54FD62484F8949B2CE9B87D9CEE04DFF82BF14931B3CA03 -AA5F701B6F80BBCDF2C427C40A51597F0B1BFA25EDD7CE0EAF2EC676BF0059B7 -15DD5462BA30DE78A08DD533DC0E8D85F9DAFC5FD842F417265427E0F1B71834 -D2BF6EFAC3CCC40D3EF3B2E2080F148441BA45E5D0C0F7D8416730AF4BE4FC93 -1E965594E0364F0D4F1EC48004CEBDDAFB1F0EE0A8222358EAC0F62E6BFA3C9F -46875EB4C999219B91E6147A49A668505667030CDF3495682B79C0F614AAEE68 -D976EFCDCB04127C0D7325A2211E49CD316935A0B472D1F9FFC68F7FBEBC7582 -036CB393016193A9783DD08D647E89C5BA4EFC8701BCCB6A5C027C4FA8644C06 -251B9E33FFEBB1B84AC4D4B148205C8CA7AF5EF97F2788EFB0B71473AD0F5EB4 -FC43F46602C53E53F5A6D1E445439F65967C51EAB636178FA377DB2DDE5FEF41 -9E91F3BEBCFBD3B4EBB510A0DF7F4D19C6552BC98F10E25612B1396020D7836F -A3D3C865661DB276E428F09F048A916B4F07D8FD01AC1942A3CA342B0E531BF2 -3E9A7AF265ACE1585E331A8F8B5AE06FF085C1F349215581FC7D68D16395D934 -79B3BD866A4BF33913DEB54B4D00ED5EFF3313FBD1C5E6AC430567872BD935F2 -AF1A3F892266CEAC15DEF43BCB83DB075A69EAD7D2EA53303F65E04C5673411D -EDFB32156120099AC210E623BADDF2991F96813AFBC1126DF53A0A776AF7D61A -6B42225A5AAC1B0AFDDB59C5922143A156EED76E3E1ED01ECC6ED9F61B5711DC -C5709EF5A3CED45628AC1728DFE98F07389777E04A7E407E3B007017C96F6EE7 -D0FCC0426C4D734A0B108FD2BEB48FFB6D107C5AB8EBC3584F13A40E5508AD9D -5A081286BFCE1D5DAF5F3D86515244B4D0D77AF9820A93B7C90420FF4B8D634C -2C5697E3E04802E2CD7B9AB8368F1A9DC214CF893AFC7BA3A8DC24B0E549E106 -F04530708DD03367D8501655B1501645F17E547C1C948DEA7A4814F22E2A1D55 -5AF16C55D6BB4EE9929C9CEE82C4D6A16D70D17AFBBC6551BB2C9D8B69F5DAE2 -5DF6C2187ACEB119EE6087BAF5E79340D115C53E710CC7E4C771F43ADE91D2E1 -1AEF7BB2E6C9ABED010A835514EEB6C9A2C93396FA12E8CD0B2F9045587E51D2 -7E059224A889B3E7620E57AB6CACFD769898B3955661824DD4AFCB9A7B218DF9 -F84B369F52E246723C7D0B26C145DA0AF81C83DAA091143FBBBD2A414114E34C -7C994D8401119D5A46856367EE3FBBBB32155A00E5314641288A6E1FCE47F385 -71C2F7A7602F777C11884DEFEFA560333458DD227E63F3FE68A762CAB0A7308A -FC59C9B293233DFA257E5D10BD5F12B7652C45C4C50F14F17E59A758BD7355EE -A89B1EC954B86642B87F814F936577429C467BC8E97A481ED15E2633AD73830B -DDE3DE50E1EC439204C7FE350C69494823725920719D613907163AD63FE83C6D -1CB6DA81A6C816C747542CA09493306B44A7DCE934B877DD356F38D07D3E0355 -CB149BE6ED646E84DB9DB61859F6FC45BCE13EE42458D1991AC34AAE6EA72320 -3EC6346C38CA87107618ED3C46C331623D8FAACC6CF9292B8F1B407806A0D480 -8F51A5BC97F6B15807F95CA9DC14C0F5FF3AF1881346AF82F65F0C9AC200DD03 -CD20E0C06E8AA4FA8B225DAA01BF6F07ED8B9C9577F5A565755A71A40D2A453B -AEAAB4599F617CFEB0B809856CE021E25399D38570ACF8354798FDC2DA24F0A9 -3AE098F5EB8C400569A5D4178354CCE780B8CDCA570E6051F21ADDAFFE775A26 -F9222A6DEE1BB669795728FE4DC07114AB6A8067C56D909BAB80358F39B257C5 -779834A4261613C8F2EFD82F20C9AE15E072BD78D60D77EAB14430DC51BCAC86 -DD91D1654E340719EF37A8B7C6AC8471C16680FB0FB7ABCAA8555A292AEAD439 -4C6BA6BAFB0B19F9DE59745E45D0B67C1D4DE80CFEA538A2551037E0CE7E8D57 -C10AF598A2E9F8A5F67D793D2A228E7A1ACAFDC75420318FEA23286A45CE9C45 -EA34C3E15634BE1FAA50EABD04E94F6D47CA2B78F2B129C94579D24946A8BF07 -8E870456AD04FB3D0549B59D1CABEE60F9759BA2BC06E068D2DEDDEFD8B2788E -92CBF4B44E04781BC17A58A0A3BA1CFC463145593170F06FB4DDB90460256DBE -572A290F44973D09EABC8D7665E1D18E1B8F5EE44985B498B6E662B87DD610ED -CBFDFFD33F0A0C95765E24A7D071269FF7FA2D47942FBAEAAE065B7DF4A9EAC1 -FD58D7C302F9D15A2ED0969168E2FC4A021C521FC7D9C53ED3DC1A0F9AC63862 -AB2396C14CF8552EB0A8C067AB163FE0DA20E3AE1C7881AD6DB0E1D615F7F2EC -1184C69A430487B861F5CBC52F27C53E1588AAD6FD43CE2C0EA490B257C4A36E -06E21AA6EAB94938E002FA80E1B1295C1322A207C5A87EC49669AA2FF054BB4B -B64B622FEAEE05CC84835178C4DA9DAD113D5C6BA75830CFCAA2077A071069A5 -258AC7E801FEA6778FB7EA7507470AD0AB6BB49210858477F53A831F9CE5CEF8 -B519C07786D0551A22E3EEB5230098FB06B390FAB4C73F0D3D03EB4890C03329 -5A0B9C67F1E16B0E1A9D4389DE67F6A950F322ADA03433E71E1DD8D4E416D9E8 -CC55EFAAE6C94CCF24980BAE71CE23916DDB17DE1E412CA5CFED25AC13109246 -A26A8F568DDC73538ECDD2BB41B9B5B020F0F1D36C8F414C24566F8F9E1352F3 -38A5D47FF00D91F43069137BAA659301C2A1EBA1AC6623DA8773643A29E498E2 -33C33DA49C290B5719BAA7E9CD8D00C803624BE63EB0100D6D093E3A1A86D653 -A3CAE4459EC25EE9D59D4AFF27CD3FE4BE831C0C31EAF27F364247114E896CD1 -6395D9516ECF3DA7D9A6B4F36245021C9CD6C332182441B79365164B1E40C5DB -9E4B5A69DB4AD7D79979E6013435C7D70BB7E910B75F28449CFAD0443645DF30 -5AE363FD581271F587E53FA6DB88B28FE6B80F8A5CD58BE57B6B386896BF7A4A -D1A36057CB2CC346697B21A5CAAE37A68E62BA46568F0CEC8EABCA7D1A08E7FC -72622305F10E7BECD696DB80A170CB09BC5E27BE68733943C72A163C88485457 -D47FEA6B5D20982E5713DB5C4E499DE5DE8C2090F3006242516349955D8D7857 -0DB51BFFF42BCB28DDBEA8C2AB5431DCD10DDF05F0B59D00F65BECAD61ACCE82 -1454C36AFF83685C530C8E3A5016665E2A50287558A44E43BE485C96E3DC24E1 -8B291399BD9C9D105377497D085FE5F9037B984104E915DB9E76DDA3BD5A83CC -ECB3DB2A2E14B90760C207F2D53D9389EA03AC1F5A6AC61E1F538DAB42800822 -BBB425E322947A26F51B3E81D2B3D0CF214D2410BE2B0F12CD978C1943A025E9 -C9E5B403936A6B7928966EEE19504D9F7994861A4A73BB3A63719DE764BE9182 -494E70BFAAC3C26CF422727BA3A2660F1B2394CD361886FDB734AA49614F4C61 -565831EA21D56CCFF58F29F2EBDB513E9D3601F405B94FC7F5FCBA22CC3E47B6 -5F71C0768FA87DA0BA8F5390C0EBB0EF2242FC8FA3AC0C3108F6772237BFEFD8 -61F3DBAB78F70D8801A2F4C615D86D011537BCB2B5ADF4A13EDF0C8BFBBBCA0C -2C0A139999ADE8FD695D2954C79A86D885E70CD72EAEF05430AEF1A15C9F1771 -F10BC3B8C9EF931147E5EDD3EB5C8F459077AA3407829FA8092F61A909A6B67F -B6AFC3F35F065420DD6CE2E0FE0227B06A203F334EB8B7EE4C6F27C394B86EE5 -75D6200E98B1F37F1A977B8E92BDF6C4532879A6EC1D68BE998EF2B57C50F06E -5F30DCFAB85B51ACD1B127161A73E0BD1DA354F3025B3F92C054031D03ACF16A -158B45606BE9E306B633061654527B904E99D6D8FC61D7D1CC69D18D94D977D4 -402BAE1BC49DD45F8772709A4F148476F9302E38BBF6F6843FC56CDFCF7F74F9 -983100F8FF980CA805AC80511BDEDA1138F12733EF1FCB50D0F60EC06D6BE1B0 -9F908DDB1278340BC780A31752A809A0B6651C5B3E5E0F2017F092849B1162BF -2188145EEDDCD96CDF5C00AC05385492038EB2F10358D853509706635412F19B -DA6041053C8F41970BCEDF162C1347DEDE920819734B47FD99CD38E1BEF7A7E8 -8150B295BA78BB5EEB055571F49B848E5A85175DD39DDA6364B7BD0C9C3FC42D -EFB45AC4E52351213740B3CE676A43DBFD4D04B1691D5EEAC147DA471A3D7A00 -93CC624819D3BE17DE9D8F07FAEE4F54EDCDEB4134D9F39C3BC33857BC8A08BD -82E23B5564415A3410CDF25ED8C3D443A0F5A9CCE3D75C5AD55DD3DD28EEC633 -82882118F09251A0DCC8349AFCA61603ABC621894DA5C1BF308399A9CCB8283B -6F54E096CE3F2D3C11373E5356570403B418B84B06FBEE27B63D8B678FA39186 -81605E6B09B02037FC124776DAD7AE3EDF993C064EAC0DD678E13D8D78F74DC5 -22BDD780DDE77AEF1C2E2CD2239EBA6A9E8E9AF9F4F4605ABDCF22902055AB90 -3C5CECEE9B92B52EDAD5D29C3FA6964A7A7A2EECD8F9EAE1CC81D9825E8411DF -058A838F2C335860FB3B063C824FD45825ED5481B9320FF99B60F17ED8A1C1CB -A7E12EEF35A40266C7DE2E1DEC31AADE7626C5FC57DF545933F602F283A27D9F -0E2C77A1BD5394944566497E01CACAF62542EC93D16CD80D4647435B6C905A31 -B94C5CC9F43D6492BB70A5E8867C7B0F58D75240B496DEBFA6DB94D8CA775A7E -53237BB081D1A189124E6880B6D964867804BA33E0BFA961A562836F7FA1E98F -EE78ACCF16B330473D69D52D011AB174EB440746ABAC7DD7D9AABA70ED2891D2 -47E2AB24669280D11FD453BBE591642A3FCE09EBCAF62F8E27FF0782216E6E87 -AFC464F2316DDBFF0B6736D42577AD10754C6936B6EAFB18AB6AA3AFB316B179 -B19A0561A157E90035FD26B8FDC72C2892C94957D3257C38F8B1BF14CC7C6AEB -6FA1C4AC6F22C627BDB1CE6AC63D656D5E7410F7E516813CA3BC9EF02EE8ED4F -B02D57B303875A7F3E1B8176892C2149C39060E2AAB5C4DEEE429B7AE36CCF51 -997C547147B3CB8DAF1E8C8B160F00A869E5FE90F8302E081307F4C92EE0B374 -EFD848E3F943E04245B6393060B126C7E2A2728F9878D7CCE3DA74525AF11C66 -3BBA0749AEEFD5B190A4A0A729784D15665A8150FDE7A8EA5CC4CF0092B2AB09 -CF8659711E84D057DEFFF2696BBB20E16D9E4B1D4D4EAF69F3BF07644B90C94F -D11E9CF3E66CD3368E808DF69DEB6C6A3233A88D558BE5037ED5B42EDA0070DA -3D29F04CBFF58BE922CF4C8F9688A20EA7CB644B080D2C01A2715A69D3D8B7D9 -5C0914DD83C9490E465DF0EF013B6473BC28E937C6E13A2F08CCC8B6F35544F5 -9F79AA89481CD0AAD87C6CA2391BB69A39B090208EFE1A0FF5BEC74923193F6E -B2AED1DCDF644351089CD7460AC4987789B2D92D851E3F58B41BFD281D717863 -5CEC8AEA5CB14F52F6EA6F5156F08A1CED2312CDBD2B18BF01FE503AB86DA440 -F892BAF54438A5FA847DC0FC7121F2EB829DD00D2DF2BE54EDCC42187840D8B4 -1CE8DF33B574EF36701E2873D5824C37C6BD7DA4AC7BE64D12A21FF2A23CB9B4 -1C6FFA7D8B927745000345B5AAC5825D89E617FFC97B6C7FDE0509DE3FC6F2E2 -1508278734B33F4550D4F565B0A23C2615B49BD17B6741E086DFD50E1E6CE979 -558741605E2A314C325BC4216C2F0F809F492B1898431AC7AB4579E76A3A0F63 -E8CADD4AED7CC6C56AA12867A43CB25187686ADBD4591DD35638F5C79C961085 -BBCF38D48E756C295A0FA4E59BC1CFAEE016686A8F91CC56E37E4A8312F39837 -09A926B3713EBCCD1D82DF9DFF36C0C024975F531B42E7F61D830E2FB51BAE2D -9A05BE87E8F052E748F8B4201C8869A64BBBD42CA4974E230E59CE541EC0C743 -7292203798D2E11AEF67156FEA12C22964785FEB4CFF473A710A5D7F97A07A40 -D5E9A182D7A96A083823DBF8B1726E8B71F0D751D506DFBC20EDD53A0368D098 -59453D360568B76B5168254027AB71D2480C63D486E855050B1F480BEDE9B4E8 -3379C0B539E33AF2E286C2A02A5D73148114F88898D7C01F408844CA50574D1D -2B513E63ED04011F179512384C647100C1870937BBA5F404E80B6C8BBA52F6FB -DAD5343B530919E5AE54E0C859591769580B82911BDF290777B825E417D4EFB2 -FA60EED5786B27E3109CBCCE391B855ED46262FC16A663E63E9A19CAA6C6F58A -72AECBF5234E25B5C49D143F1084F0B571BB424A1952AB4B26366ACF83A29BEF -75D9307731FCD44EEF157A59117360402DC446F9B58388AD66AD88B8C82631FE -31E99E3158C25D152EF626EE76B2AAFECA33CC0B9A571C7253D3AB32DCCC1A2C -11DED910482250F8A84E0C55FB76264A1C4F434CDD85A347B1DF702C8347CF3C -5461B2F76AE34887964985AEAC9B7ACF13700B60B7C1446ECA269B2E5146AA31 -0F0556C5435B68B92274A4E5B554B0B7A163E15F8D4A0391F1389C3D7BAC8EC7 -A1AEE0C8C79ECD8F6C2A6011BB0FB966134FD1F75C32F515F63F6A5C15323304 -EB0F0C267F5FA8FF55D2E4D64F5184320756B78F8C043B10D267A548EB1E0CD8 -04E106687542C3231D1E8C157A9BBBB053ACA2FC0DE6413D52360CFF6ADA686B -F2676FCD629ADFFFFE6F818EF61E5E90B2A077790B2B06E0BC1E0B9163982691 -2EC03BC185E8114DBB76298230FE8B82BFB09FE562A0D96C696784D365CAECE3 -A89A1643257B0298449320C35F91980B364D7E589DD82D69C8379B33CEEF951E -851250D66FFA0F664D6C2A8F61F2C97E925A46547FB698321FC84CD623CC7C94 -223D2B874D39A65264E9B45EE4646BB830F2F62F8B7F391BF70CC3A9C099B7C2 -559F46ADB70B967DBA1B74300C79738BCEE6FCB3C6D9BE839A22D8C7F4930376 -82D2CA6DA3AA63ADAE47FEF0F0812A6E8D6CE62C60181E71DDA511DF008C38B7 -6741FE1D1FDB1244D04809C4DAFACD75070C10CC0937B7FBA274F64252654907 -7BFCDCB0A8095D5BA8687C93BBD90B2AA3085C047DCB8A095640310E0ED49B31 -93DD65DB30F49E3CC07AF9FD1A6EFC7D5DEE306121CF7442C0ED5A1EB49DADBD -5A0AE4F838C46C78DDE83BAD2AA31EE6E6DD7405970CF09FA9EB5DC00889EC81 -0E42612CD085D64C74C0784C04257F0E708DD74A8D8C06F8845C2B2966FA2358 -4D5DDD2157A00C184E11300D34097737B1CB714CC71070FB05F7385CCABFECDD -A035DBF8F2FD9B67F7402BA8F589A5AD61A5476178B404188FB908D591E4948B -FD39377D0AEF18B82D001514B03A123F7FDD63812FD45D62EC971E93EFE90BD3 -9496C49174F0EF0F513C2BA16F6A6507968C5199519BA9D713DEE4D0C2D427C4 -078F347B5120552E2556A42E0FC37BFC7FE8181F17A01B449CF71E093695BFA2 -D53857C0E3DB972244943B67A07D5AF4FE7F6E04C8033EBD20EB55C38AFF58B0 -D04FF4AC82937A650818A480F2A40ABC3F4A26B7F4C17CDF1A7B056EA67E0D29 -01BDBF1DE76DD59523DDFBF39774AD9E4A04CFF23CE673197C6A17015449D65C -45C56079351A5A16ED030E96D24A755B2C14B6B925D8C30A16B77981B92D2171 -1E77C0C11DBF9ADEFFA03178411F841A109EC7DC45C4C8E133725B7ADF0DA136 -4A46840677A020BE6897A9FD9AB322F27AD0B55B5500D2B48B71D4AAEFB10774 -8553F99DFCB01FC07508200B9367E6C8145D7F1248335E90D32D9E528C4B955E -B8DEA684A010BF454070B7DAA128C0BDF6AD29810C4CCE310A30080AD36E7799 -9FD52B074E044EE02FA248087EF3D690FD6DA1AB501CCA44D132049479919EC1 -9401487835D2CAF0A89FDFFF635EFA444E8098D4CE6E2C892482F45D002C28EA -8879170E7A34FD6AEFF140B1EA77C009F30E60B2857609EF8345A0F20F8085AD -5E78AF3F6EE20F363468B49FC735FF32AC6382F638006B83FC283AB7ECEB0DC7 -0B67505FD5F97105EA4BA11B18AECCA6E5D7EA36C538401F16832183A17BCAF6 -BFB047542E014E2941BE29F8747E6DD07AB13B374AFA63ECA73D4134FD950C03 -DA939E892C35543DB6AE960A18D57490686E0F758061AEE74D40BBEAC328A905 -7A29FEB1EB40ECF45593C6B2829445541DB58D0E8697CCA09C47D6C86B730015 -8E920228398E492FF70A3DB13248033A61DB5542B8327797951A89317C96E68A -5EF8784D8848222DEF31FE30A9F9E4C12D42D0DE930898DC4446509988E39196 -792F97BFC9A60C717D78D8901C5190899165A1389835DE21EA49EE01B584787B -8849FDF0146111811047FBC3ABFFE2307E16518093AADA08DF73FDE6227D2BE0 -5DF2071FAB4F7E825B563B3059F8615DA305F51AA2B9906F1516040BD883DEE3 -922D1D905EC34D3F0400CE2492E93BDFEDD8F3230838EB248C0CEFB5ECF929DF -D707A953953722436BEA6F5DA51A56F7668CD083E9CD7FCC8B736EF8B08442C8 -AC1AFF6DA974FE5E50D1694B3D07B2E47C0238801E7528C04C967023698E5B1B -23DB992777B22E7448697F2B78A20B98B78A79635104930A408C18C7E6B1577F -425F2073EE5E17A8998A38DEA4BB12834B6E842835BC711BBBB04B371CC8E532 -2490A6431876346A3A263683C153D77A5BB9B32E3D91B952172DD05C38F72F3F -A5140DF292545E31C25B27E2791205641375EC542589D61290504CD73B560B2B -0C2A8AE31CAACCE8BAED61AC04652F2E0977BE269D860034C429B0164585B658 -29EB62078B9B802B4E214FBE0198A76F5C9CDF072D3C3675583E44130306B5D7 -7D2F147BA926C70749525B60374CF6763E273F30F2532469BF6A7A3965E26046 -EA9E93F7D393F8EC2C021987D33A9AB30930764D1534AF53E361EA65B2B64B9B -4E93768EA25ABF534761CF567552B0B6D52C8C53BCF5E3414A0B653FF21C8F65 -2C6132916466A286C7E498A2897C237AD5568FEBA57B72C7A87A416035CC03BC -D1EB9DACE25516AFB3A6B6CAE2C70665002FE2DF14C2850662E43C5F05252031 -BBD84960EE0A86C8410082F441B8B594E001133C4D9DFAD9B4F38BC878C29AEC -5EDDAA290F7FD74C9228995E107A975C70A7A37EF8E01856E978F284F1BB1453 -A44320130DAF09D7064D9867D27A55E3425F5D25B99F553C9202EE42FE8D3AD2 -6C1D34416C520E0483CC2B87ED9D9F39E563A9A0DC421C04B3B9CA8582DADC5D -323DBCAA108F28E8F11DDB3D0F0B10D4A62C93FF9E2CED79214641160DFE8447 -93ACC0D72E8D30DFA0E368DE8E56C566D7E15E559C409EA8D913BBB18E4BBA89 -3246FD9DAACAC4C5DA87EF5B9A91D10F10D7252F7531FCBC343ECD3D2B674982 -8F0BE87B3E1CA86112FF617A8E63BA92175913CC403038265C5E35621001B6AF -EBA934372CB68E99920797A6B154557FAA7C3C696A15EC66348E209BDF87943C -A9F4281847F5C3C8F340C80240F1A93916880670C350B3A9E651EBA7E62F5D50 -9BE78BCDE8E0599FCB7FD9874E87E957D1117CEEC67A63B8862278E015856F2C -E31898E7FA1436AF76FF20AF5A7E5BBAB5C23E8C0E66C975A290AB6EECC07F04 -C8A37224EBA5D046C7746168EC081B93E0EED2DA80D9754050617DA4CBD3D5AB -C9C57C0FA2767E7FD633288652C3C4A2C8095D9E8E2A18C887B4D765B2578215 -64EE4227B2A8B3990DE2E0A4361E0C05B145837D58C4BA15CBAB0E79221759F4 -F17BB5097988872A957479DE4734BE905DDE5B8DB9A31FB9C235114974520D2C -CB6D6284C199A880217364EDEB160F5FB7FC762819E4509FD20E27A5F865EECD -B893551A9ED16D5E809B49B9AC67763CB67F877EC21D8E2B8A0D06E9936E84B3 -A6181D5831D67A8F2A466A71F5A4DCEF0DD7387CD5B248F2D5981A9F63D8A260 -88B568E1773B13256E440FACF2DE1041CB99397F8B4CDC8CC87447FA6FA0D670 -5B99D0BC94ECB1AD7BAB0DCC66D278E256CC3689DD3B2F036A6A3DCC8FA77FCB -0A88AB3A3D50C245AAE20ACCEE7ADCD9FC5C9FD53B405F0FAB220385F7D92011 -E527BC0789261AAE6197377DC5BBC9F5BAE3683700F85C63C0DC59B02BF8B65A -800DE3BB27A3E75A87F6A550C787F67B1430369268BB61CF5FA66D8F5221543F -2CEE65CAC0BC2996F73B71783E5BB43B030C90A5FB13CD66BC659A3AC2E897C4 -500CA657F16F70759F0DA8D712F4E94BAFD3DBA866DFA8D7310A44F240522200 -C8F14C7CBF9BBC33276B623C746F7D0A4D76AB13E39DA19E1308EED0A388A23F -D9336D3532151A416C720052128793385DF6B68D3BDDAADF8F7FFB53260B81DB -321B33EB566593E390158B80DC631545A66C3CC2BDDB61446A6298D884389303 -E2E55D64F430F35271060417EA4350B783041A7607D44DA3452D304797C03864 -DE4CA134F33471E959A74DE4A8403BD5A1A381BE22221ADF76F0B71F29C7DE1C -9FD94E0F158182F6DE7689A96C555D2D9F1FF664111F56B147B650BCA6FA1FAD -9ECA4488EA201C8BB72F63BDDFBE7239F13C46C492F320B4F06F34A668F657C5 -CDD4FC447C67E1BAC54C99666DAA9E96ABC836BDF0980239245D48227C14E811 -FEA8C345C2BEE84300C746016F98893E12D296C64C2119208E4C203A8EABDFB6 -699EC1F750DB57FCBC535E0929123F36A0113E6CDAC09149CE5865B9B1DAB041 -A74C6EB8EF0E8FDD6DED8C67B849324EAB11FA732BA2EF27E11190027F657912 -31A49FDF69D97032A07C66B79FE3F39594FD7DD3BB4570A90747E908D0121A05 -27D12831D23C466F31E31C5B3CC636880DEB158BB4A2AC34114299987E9F8F53 -B0A28EEFC3A259F49CBAD20BD7BB4ACB07726033CB8ADF88E7FE0A0DBFDB10B6 -21669AE4942A298072C72522D34E16987ABB7FF0236EF31B00EF6094024AED38 -CF83EA391CA265E5C6B8B63CE728CBF008756D4F1CF35E0E39B7B17A0608FC37 -78CB7864BA7EE90401AC2CDBFE9AAE8E3F726B41DA0BBFD7E503BC01ECDDE23D -15A1954FCAE479BC85DF88D0044F2403A75F26276D16F8F125BBA3D166DAE700 -8F0C3A51CDB950B603FC44DCEE18028B36282DA5D7C4CC9C79EF2C879A86A1AF -467CAA95AF247AC7EC18B7282E5A9863473871C679368C9438FE626962BA0D02 -AB329F7F03BA30FBC62A855DCEC3C4099A003F8D6F6FC94D5B7FF9DA05331BE9 -21B06F9CD00C1E2C5F694307ED8D81D474E70BDED837C8973AF6405115C85E57 -7D64640D85C0FA0FED12BDC55DCA2285DF9DA4F9E48361C00AF5F61C57E4E1C9 -60FC8DEA6C2EFF9654CD220D626CBE75E183368BB8B093FC64BF13B90F935756 -F87FC508F719472F96A7E9732C2B8100354A59C88BD82BD12E485EA7680EC9A7 -FFE0A6636C8D0A423D0432561649BA335E8BACBC5126BB4F796EFCE6DF8B00F7 -01DB1C7FB57D15AFC69470774A735CFD876711AE3AF1EF970A1FE154927A0A00 -A68D4CA6899CE12A1A26CF5393446B436F40D5A47238C053F3248C5929C2B5FA -EA441400AD4B928537A636AB45FEE4F298DCEA28FD29641C41E51926C2FA4F12 -BB1187C4F050FCD171A9EF0954EEADFD2807956D09CD6EE2A4F4B88B54F3BF6E -653A02FCC95A3BDCE0A0FD9F3F6E74222A52E2D424857E9A4973104842E1C308 -215467C9F5F9943126BA74589C900B74CD8FCBE53DD73FC9063A5B4BFB708DD5 -B8E30211679F57FBC99D651918A04071C6163EC8205AA0BF84BAF8CE8B05193E -DC677B30A87722E97F961F3F7024FDD5E0A54A30855E8B7A27715DD055F396F4 -E3DA37B23D51C0430D159EAE4116ADEAE6CCC19669593DB3EAFA37E960D63B0D -34E00C124CA2A621A4D13E2EECE188BD060714E0A5D38EDB57D0FE37E01A3166 -9DAE1B44103702832F003CDC90632C47720FB444223824A893172441238C11DA -87D57D945EFE864C0FAF9DB4019041D5BCA4B7CABAEE9264F7D0664089252A10 -142B31D8ACEB1D9C8A46A1EAD878C189BC82179911717C4D6DE3A4DDDB117D94 -851A5F735F8F64F6343B92C0C697963DEDC4FECF1D6ABC5276D6156A40C4E53C -93559EC3E3518A3CFAA0E4F1B296E9CDCCE30FF6D429A927F85980F3A424A719 -050EE1E6DDAA47E6705E996A65E1F805333B9728F4E9E7C8B3B3E29AA68D95C9 -124F5036334D202E1E4A520F47FAEA47FD2AA761E99029365E00447F13FAD190 -DEC04F8356327345FDEB37C79E467BFF87218A40217598D40965C5E06ED0F93D -AA40CC9445A2649F9D6D8C90FAEA395733E71F8ADE555E2166892B3FCF84C749 -268430344C7E70ED90C9858A74428382BE6E04D39174C1A52FD6727CCEDF3FA4 -55083E08ACE62339128CB8687F00C8DEAD4B7C7F2176154C5A2D2A854B72E3FC -9EA3320B701637A137EBC3C819CB06F372B543C0E929BFF3383DF0C4B093589A -40417511C97C3CAB64C88C26743683534320F8CD312E9B48E5683E4E05FC1A22 -7CA3CF17F181D1B581FBAD827964CE1F911F6C48CD868A9F6F1250215C1BE545 -48F29F82CF164AC3376AC9CE8485D2DEE18D515F12726E501AB86E2A904AC445 -5B3859CE24028493A520F8118834427341C7167FDC4731449E9080400929C0E0 -97328ACBC1CAED6C5042AC37E84F5A122DBBF261049BE6D7AB0E688CFA9E457D -DCB4004DE6E5EF19D57409062F918C6FB0F09B434F30C8E609A11071BCB2B5DA -A22F9AEA81C48989A244E8BE97BA8CF9A09E9611D47A9F77948B3FF43CE6F378 -71BB181A69867B6E6E01725992C9DD2FA6EE02107375D0C5876FCE49A3E1F3B1 -6A15DFF1BF3DB92ED9162BD4A36AEB4F3FF40E7E71B2B81FC4E372C941243F90 -C959651A8F98C0441B854097EFA8D66FC76FFD29CE9E786AFA3AF08B5C83660D -7FE132D95866BEEE0E475F04367343112880F80DF8532D14D8EE4991858B0CFC -2974C53D70C60BA9C6707307699397C30EE5044208F391809C2B7884D74C77EE -52A34E2D9EBED8C9AD77F8EAF56676AF405E9A162D5970AD68959AA0C01AFDB2 -AF2E7641A58B894E5EE279E723C7BEC3ABD82D5C1BA27F68394652E942E47061 -C2C8B460209A3D141F23E97AEB68872AA946B5D8C65FBB792A8F9A456B755A95 -18434B1A9CD425243A2056307B26386E64BDA30500018C74B38D9CC6BFC7D87E -52BAEF36B97B8C41FA46F38B4D37813EE37584E5B36FE9DDBECC8C6BF6646194 -59BF4AB637100456713A84BD505FBE9833956C028AD7C521E8C5BDA9E7088760 -1DEB596FFB35100C01D7EB2660A048F2F6AF924CA0A7C1FEE2987A590D9D5C11 -B0F7B5DECD35F54B4CCFCC7BF8370B7A3184A91ED8B963CF9D180CBC7BD83339 -66866C3B335DFDAB771A7C476650F6AA7925E12B2223EA09E7D2BF80E584298E -3B114466520D713D3D14D73CCE9BF05DB6870D48564C12CAED2A003BCD295E3B -0872B5FF1896822188C70CD5D25A039C49D49453AD7D379EA749A3FD3B119D1C -68E98559EEACF0E6BE1DA9D4BEA3A827BCD4BC75AE6013EF1402F744624FFC00 -C17DD16B4E1C44B8B0FA8791FBAA3C3B6E60561523BBF45357BE6A550302D720 -11DDC010C02178E35528C3D6A40078C6ED2E0AE8F1E9C14D9769C3BE991FBC2C -3F615E83420B9CF206A6B3C9DC5415BDE571BC3B9444BFD5269092D0EC2791C1 -2FCFDE8CACBC5729582143F36DA9CE6D36C5C66854FCE9C29F3189AEB11694B8 -08873FE32E8292FD57B9CE6E4F6B1DC76FEA98EFEBFCED91001B7FC2A78211B1 -F30DD80DF6F6973211A5D76E000D4F73DD012C62E760732C8D2A94FE6404165A -513EAAE7958D8E80D47F8E4CCAA1C8822944ED82CDDF945E3C990F075CD530D2 -45E0143743A9310C6E493C5E8D4C6D2672C1834AAF7D570C53347AAB358B217A -65C336328D667D6CEA6BB97EE648EDD4AB856BF8736E036B559A2BB0D476CF60 -F559841C95C1D8DC962F85E63B2C19D55B106D93B896D87D10B1AA94E36433F7 -17EFB0655E5119BA27D08E75DB75DC2895E922EA7463EE9D5FD7E2DA9B0D10D1 -9F31FF30539C079965DA102B2B61E026BF4F425AF25203F62C6606C904C35A3A -F766B098EED1991E893128512DF0F35E2C0C196601889B6380CAC542BDAFEC17 -11C265A9C773BD7AFF7483FFACDCEA528E66DEB207D5AD57DB3D2CB955A14B1C -75190E70CE5B650B021757BC64C5D45FA12239041ED5374147540F7E1E06ACCA -B06DE83B2FF3CAEA93CBC27D37AFDC748881BEDC30BE2118F542ABC14C6F58F0 -A9D6E9FE325657A14462B4D67BF2EB05E5458B120821A75EA86D102DDB92E9CC -9DF84F5905A7A3A011C8A7A62F556BB2712AE28CE5AA49295717B08727FC6BA8 -E06C6ABAD51FA0AD08E1821C547C599B4134D6DA36E10A6679425C2E6C56BB5C -CD56CF0CF5069400F9396411AE4F4BF55988646FDFF2290935252C290153044C -E30C6FFE0A623A697A5EA25C34FBEE0A9D429B88D1512C21E55CFC5715F76027 -1F863D57EA37AD55F910E131A7A7F7C52F4CCAE4434F300461F77305EAEDE26E -A782B9FE2D4DADF5044F4B912B09B0AF19EDD486C433D682914650AA408C965F -2CE16EA10005C4F63E23C5E26939C04FBE91C6C021989AB11BC1E9BAEC5ED9A2 -43F8A29BEC53480EE5841392FC2A89CB596589BE8F2F63A56B17B053C2189EDB -1372F17B54C2CED7D1701AB04395AF3B36DA19D6B2316ADC443E068CEF52477B -369B931C69579CCF750BB165D6BEF4205CAA35014EA9A678E4891AC0B9B28110 -D9436F71FFD26EB44053A0DC8A846CC31F1B42096CFD3CD3EF42628517FCAFF7 -FC7B26526B9CADEB536A0B583988637177F5A38370643DC4902AD7C65389676B -2AC2E025A6BDFE6728151DD4C639847C47F00281B382CFBB9FD0833315A7B381 -03327EE5C2E7B4E107EF3685481B63676B0081BE25A5366BD5BC5E06CAC15A60 -25A2EBBB8C9FF37B73E75253EE0CECDDB404779EA69D2332EBFEE235808DE06D -66BFE466BC0306A120701FE469606DC96BBB1549AD053D06840D530DC1928FB0 -2D8AFA1129EB725B62982248437715E44ED3C0BE04951EC65ACF23F433AF7067 -60FF11CC949E4B5E1F5C8143B8DACEBB520A490AE110F2E0148D10F2B7B9D7D8 -9B445CDCE2A80240DD31A57FBCBB1C99652E4CEEEFC56ED9A4A02A87BAF808D2 -F2F3413A885F57548170B80E001BA0BDC645F3D55BF251EAEB93141359C10BBF -69FA01583A539E5A76D55EF88B9249487EEED62396103F854F573F91C04FC363 -B3AF64C1244BB7563E4E4837AADFB652BF189D3AC0A8454FA57CE6FF252EAED5 -E3EE3714BB613DD8BDC6128C13A0E8E0CCF2AEEF10063E32FAB2E54918FBEF3E -1986208B7986F4084768DE289A4AF319C863FD5CF564A72EB7F437DB8DA6DA80 -D33DA28F7987F9C86547904B0F49F351D18F705C4A178B468ED43E179C43C276 -26E5054AA42CC7B5B00FC14C61C25B11A9D5A5DB3B1806F60248CBAEC06C068C -ECC0AA85F07856F5F73C0AD13308E6FF55C6C7649B96FD3E4B291B9188ABF764 -34610CE0A73EFC9E52357A2BECB4E6ABCC3C5EF8B1350CE3B1907A104690C865 -4D6FB2A1293B00533867EECBF8B1831B753DDE5C683153533A89FC6E3FC0700B -61CB7C10C37800B8DF5A40732F17322F4464E7057166C966F1BFDA555129648F -CFD85AD185410961C086CD5B6FA08619FC943100369C186BA5F3E5D2D4B00CF7 -CE3D23D6166F5F2AA31B0B4CFE98CF190841F69AEFF503E7E49838E4BEB81E0E -9DC3104632B0FB4A6A04D87D02E9C15AA4F046D39B670F5E37827EF6DA926CA2 -3686FC4E27F14D5755B9312D947096C5EB2F1277DB6E843A168261C4E36F36ED -98B4825791F6335BB8397DB9B5A3C0561621CA93B143AC978B6549AAC5AA047D -63F39B84E353120DB184F52CAA1E2CCE76F15AFC6CB7F3C507B2944B354E182B -225E43C25A92C6396C9CDBDDC93E8F5FA2ECB9B9399CA05CA7CCBEC2A9CE968A -D089CD94001FBD5F8B1E4060B6B55A7DCCF5B1972E3B532C98C555B000CD28AD -D93033AAA45346EAD38E49B3CD0F272B5CC2609A26677761131815F64753C5A9 -CC335864E866D94ACFB45EFB67692F31C126B256B4112ABCE4C6EC415AE492AF -B68C14AF756ACA050F179E2DC1144A744C12121F92E3985962791540BD21B304 -864BEE24C5DF20BE89A70E0D4B797338364993D66A1FE2232ADB3D1374111A63 -DCA4B98912B7E3A6E35A457185418835A5B9675C53752B8D5F53E9C01E0F6E77 -51A6350D29C04E22BA5897CCCB579DD5F90FC8482307030DBB6E8561BADFD1F1 -5FC063DEFE5178BCC1A5F4DE534704AE0E43BD1535A12CCDB14AA1D0C74B641D -658DAACF0059A434EE6282078C1E80F85A34C3228F5F7FF83F89603613B84478 -EE02C184414F84FE7970785ECC2EDDCAAD88FF94E70D3DA9D4747F95080A3C1A -2EEDFAF5D4ADE27B99436F2E22E18EC8D061E3DD90EC70948BD50D1EE2C8C4E3 -A0D988D36146419C05EDBA0DA61FC95218CFEED1FCBCC91F419FAE7B43D4077B -44C025532B9AEF5C2D00F08FD4B0CC118222EA16039E16B2B21674F66AB6CD6F -6E1F1F54DACC75DD1734EF3318D1364F840E10B44842EA2D710D2A36F3528458 -2C68D67B737B90617D3598125CC89EEC39851131EDD077DDFA9CFCD9DD7FBBF9 -DB8470B9E0DCAB56428F1508E3BDE08CB9F91630BE44D6729AB44D3F9CC25BD0 -5358EA6386EF07D8FAA843A187A9FDE319AE69E85801E6901D6CA87D8CFB171B -FB248FF2EEF1C6AC56D9A36D648348385ADB4B8A7D614794D8F422972A9D4C80 -3F8E33F1B2FC23C480B27E3388B19FE3544AC9461525199447BE809A04714F7C -F3E80752A16AFEB451720ED3F5DBDAAB5E4B118ACCA148ACB99AE24DC09523E0 -BFA40A88965E69C047E7F00C8A01A0588EB3B47E99293C9284599DBDD099D52A -A0C2033D88BAE5984261681C024174906F98B99466F38D0DC29337F69B14D3F3 -50843FCBEEFD2BDB556068FD7FC654F087886E1CB17FA2279C3986A3966611C7 -DE7EC1CB51937AF2501369166E96A4DD0B124BEC75588C348B22DADE47B6BAD7 -D1F7C5AC2122B02CFD2218D962C305B2953F7B6D36E4316450A8DCE29866EDB8 -5D3B93CF031A439C48BC55A217BD7A6617E09F5677DC5986AECE3EF80FD633BF -56D49E21D1E672027461FAD4858BAEAF550D408E71FB357886DCA559931B5149 -8CFFA9C48713600FF392D880B1002C70EA2085E64E217453F873BCC05E5F7CEE -E5DE1C0ACC95275D4DD32E55147E507150FB2607DDB5E6D3A54F89B3CFB40232 -0D6F40457D714A60AF7DE113F9A0A2DD661FB351B58DF3B626754DCF3D51701F -BF8B731A4A8F3A143F6782C5F0ACEF6F0774A7C07BC4554C28F2F2D080EC9183 -CD210B3E29032E28F01FA1C16832671DD1699DF342EF00452C34B2779BEC9124 -3C64C978950398237F1AA8D66A3A39A0D7088B271C054A9143D65ACDC3E1F0C7 -7E9F868F07083F55A6386337793D9E8EF88E6CB1FE850F0116B2E1088E1DF2C7 -4AC396C84CF0F35E635140E7A6A19E5E39902A2B52499071247BC39266519B64 -52F027A9EF68DA6F805C47C5B6ECC0A9ED5DB79CB1901AF8CAD2F7B9CE609BD9 -3EC6057888FA4D0AAC5B0DEF146124789E8B6903BB4EF9C05A4EF964EDEB91C1 -4CC2614FCB772D3C72B6DC4D056F185FF3C9F7C96018FBFBD40A636C33810DB4 -47FC8CBDC9962A72404AF156B17D69CBAD1F07B4E75CF402F68097E7588D78BD -3C9DD1122ED7916C4C56D908F84B2218450E35209DE1A30E71B416898AFB1F3F -25242B70EE33FCDBD00C2A103A3590AE3B63C5900696365B0F018B80618D0F72 -EB994FD8DCFDDA7EA3CACCF393872EFF39BAEEC6BEDEA67D03AE98F2249E84F3 -6ED37EE5E993EB96F282D0270C794F2FE622434EE5C99C8677B572D1FCE4EC13 -A1B171193307A7C8A81DED947154D90E58E2BF5281C56892201F6C8D287DDCC0 -11AB85EC27554BE0040FD227E027F74847B16D6BA060F75208D12CCE7FA44044 -A08917508036BEAF1D9B9D940C1CDB2298793700F940333A98BCD90147DCF127 -C6B99F4BF49EE656CADA2F4C7EA905A755879E7F692F4F39ADF6EAB7AEABC171 -2A72D147F1CDC0C864B12EE0816399FA7D125CAF57AF89A440D25333D568845F -B4D6B8EBC58A521073BFBB6D9F860980767343CADF8414D5EC167D9C7BC40B5C -97FBDD69B3DAC25E87C4D167F376472AD826A4EA0511278C8D9DD9E47F687108 -7C53C4721AEA016627E47487C871A6A6B1FA52CA703169AD6C785415CF63E06F -CCC95C2FC29097A3F114B5BFE53D0D0D15AAAE7A81211510A28B8DDD2E9D3F5F -9585367A2FE0E43F1CAAC3BF4D89BF38CD362B57667F97E202289EE40ACD4E76 -247E1C2BB25F65F2BF20745FE3A19CD048228ACC97CB8F66EEDE564758535AF8 -3DECCA4F5251099F649C7F296C068A69EC6EC2ABB93876CF4DB6C9D1B924570A -5124C65A88FEC62E1DAA87BF2F22F179033EFE247A114ED8753A12F642B32D96 -7EF019414141E494C1A98B7396EDF2427C235EBE37B47A8CB2D6A9F1947A52EB -D437C9354185B43A4AC299C20AC267FA110508FA24DF66E2EF53A781B0000D06 -2B3589A4E8FC4277A956BC7EF8CAF57FE644C44198499F566DC3843EE31E17A1 -E63B14A615A3B89AD5F16B34EFE495493112F536ABA91750DDB8FD1F558BC74B -199FF3A48D9BD0DE21B54E3387805AD1B9F105E511569AD44D1191207557AAE5 -CDD74D81C65FC06598248A72A91E9865E736FEB8526E1532620BFEFD7CDBA684 -70F0EAACDB044A1FC37BF155BC61500A207BA16200F7A7EF5C98F7C0BA0CE63D -DAAF59F0FD04BE25E822AC796F52829BB0048393AADDD343D25734A256C6CA04 -F3F5F041264034247668EBF3C859103930B3B08C595BF890CA60C1E429233A39 -E996C06BE6EB32CD6A1560BB6378C435A1736AFDAE01C0A13F37B8E9C3334DC3 -C385AF8FE1AAE8ABB777EC8555DE3E74A433D47217F9D05CC291D9936CB04652 -9E3DC449849E4E8A012E8DF58F8DB4D3B042445DB2A5F3E98B2005746950F402 -A22085D5DDC5FEF15D8D38DDBC6E5F8261506E3C508EFF3B7C08C1EE8E4B1349 -A845343908E5B9F93CA25ECE6AF6F3AACF4BF3350C703C582842F59CEEE1025A -406082C780B92205B359155B095CCE851DFE85D83D6842238E0E15DE2DA0BCC9 -F03921E124EE06E5A282DF6F82B2ADD92D0BA0ADB809BBEEAF5DDF399B26A608 -7E89D51E25EC5E70277FA6A96C4F786BA1BB8478A975989F4014887BC73F16E7 -335179472B4B623F160CE46ACFA8CC210652093E8361DE1735A2AD37D923A906 -838167A8060DC4B749F6B62381ADB5B8932502DC3FB47236FD7837172F22FFF1 -2C33897F244B9873F88A29F222299D7E08F79D07FEE3E4ED09F5F9DD29E9E7CE -450FAC5DDFD241F896AF6680B45011D095CACD10C395966A9C6DA794EF0E81DE -68298ED97FAFBE0ACE1430713BF604E55CBD770F5B120828AF486B25776581AF -F6D733602666FEA868B6AE2818B77E7FD71F06A4EE3CB15D19DDF679DEAF17EF -E0DF14CDDA21C09B4A6FB966CFF6F8B58C042A7F0BD75DBB6DB7EB81C1C134DE -D84BCF8E507600DFA6D5AB32E9A27BF4DB8EDB419C4D94C6B934B1FD9462E7F9 -CFBAFEF8FCB7D86FFDED8A7470A0A4D8113FE70EA8DE74E19C5F5ADC4B01D4C1 -B27E1393D3449B1285D6F0F0A9041B936A41C3218941B33D3472F46DDA0DEC84 -A0339B5218CBE53DE3516774BA6DEA013C9FB3039BF4DA71BD5D6A5C5CA415C8 - +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3 +3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E +61A06A43575568DC3CF3844BABF04CA767E299575EF2ECAAC7649193843D694E +6CA59318C01132C361A3E43BE637B70B9966664E12EF4707F6B100BC37778D1C +F1806B1DE081D2C9B995BF1EE3842EFFBB8416161FE31633A6EDA118E563BDC1 +C42F403BE8A009FC756406669E34C6A08668808E0C31A589D0720BE32F3181F9 +8039645643E15D25917F38DFFD8BD08A420854DE15AF291ED675A634C151193D +29AA6E04E84A598350AF17E71973854842AFEC3EB1B58E4D4433309BF5ED9D86 +32C4BD136C89169D45718A88BABE25072D8E552AA4CA3F840ECB11519B06EB44 +13026DD6800CBAA90F3BF0022E66A54BE1059BD5D224B674AD3199379D82D571 +ABF7BDD1BFA45A0F0E9ACA0A400BC5FE22DF4A041BCCB93DC23D547CDF0A49CC +6C7DAFF30FE0843CB3324AAA3B92F543A985027FD2715F4182BAB1640F391992 +E4DB6C19A96D1D48EE4A4DD94D6443467C61CDFEC9B11E07DBD7F7BC33B34BF3 +EB97A7C3D0C4E322ADAF9CB6320A64DF78223011738501A124CAAF7D717983FD +8BABC1AE4CB0FD382E26BE0A83169B6C371950D7E9A94FD82BD20A3E2112F447 +F1E4203D9978E6D9B8DF24E670E2D4BD160D5CABF3C460F00B5229B48CAD82CA +9ECAB97B709C0C4FED12CD9B497B4D5E505A22F12589E28B0C3017683A6EEE2F +2928DDF7763CD8F58B531F526EE267EFEDF72DCFC8E547F329A7C6BAE64C2800 +AE848C69574115EB02F9CBA61ABF99AE6DEB18BA4DD295682F10B960D8F0DA3B +B4D6190603E95B7F8102DE04DBED3AF90DC3CF440F60CF50A8AA982FB965DD80 +E0B8F62F1589924262E1B3292F82EAC5A888AB240D40F889F9CE2CBD7F2F2E8C +A1E4479DF6E27D00D4347DFBB8B977D8B1ED261C3CE14538C0AF23BF0B4825F0 +39B2F2AC125BD84B6B9626300A2C001119893830B3542A09B6986620B6E9200B +BBC5CA508A4D0A31B72EAF25651A806F88A2943849C5CC2CEC3C79ABA958B020 +6B8ECADB5438E230ACF8939688C11F16242C5D58A55AFBAC2971E09C0F7A2D20 +2B26FE7FDEF8203A73EB4E47F9953B6EC5ED9985C6D84CAFB3DAE3C39B1EE33E +8D54A862ABA4FD8C0E9787B5B71E960FBB9C3003F8034CDB16A0D8D0709D18F0 +22679AA4339CF26E41992B5B5B33D59D937892983C5B1151AD6EB37B065E8E99 +6E9BB66724E0CF4044C77E79B6D697D9F368A76B76C93ED4BE9C4E0B61B26919 +976BCD5FA3F527BB093BBB0BB979131EF153F77845B4EB6B7378A17DD297E656 +0BAA38BDB532CB389E2C60778B658220CEBF7F77DD6677D8248975B86D52ED2F +1DD38A57ABE4ECCF554EFE937070D7F73B8B51F59449236E33FB1C6BE506F7CA +DABDB3E38B70398F5FD377E00C7DBDBCCA9D82180EEA815E0E2231789FF7FB88 +67F04D4049A6FC4CD8F12202CE784F633E3161FA9E4CD2F3401BBEA11B43D1E4 +A99FEE87D0E97CF4FA509B30F1E0672AD64EBB14C9F19F9E6DD333B78E91E4D7 +058517DCD523FE710FF61D766E9B334BDD7EA54C5BDCF6D612B27BF30449DB57 +9D45152EE0223988AB6689FF07658436359C2461BEA57F9CC512BDC51EF25493 +2C25DBC52DCBC0278D296FB8094DF33E7E3631228639796FAB8E7F3C78D26C89 +F15B4D251835074FF6EFB9261E2702167F46BBD87AF1CCE46D69A9E54B3F19D4 +CDBF4689E4A980A46CB0F8259DAD1CE5C25567321F929B7F501E86FEBFF155EB +CFBCE24CB837F1299635927640256B311272C6EF36DDC649D05DBA7F9F4536A0 +B3B9513B8FBC8E3A547542F1DD0C6306693FE71BAD597591FF53046DC982506C +D0A8EF82F11B01A588399B10AF852A61A96D0D8B416DD36D776B23192FBD8B67 +230D93BE0C1238D5FD5E8A762BD8197B11E1B0AAD547A5C203EFF7027AF9017A +D70DEF3A45D5C32BF964200A3D9BDF03B1CDE2A50601E5F8D083AF733C5D9B28 +39579CC1D94AD59B64555DEA0DA13E2E771517EB7DB91660365FBD319FB79828 +FF9FE5E425F710BC2A5250765A9D4B494028762ADA4FCC849CEB3A4F4CBC3FC7 +9298A3450323174ED9835CCDDAAFFBBD380E889A002CB98D1E46747F6EC97E4F +CEF493E6729F14AE0F28AAF68F401CDFC05A1D52C92E90E6D61163B99DC7E2FE +663D254BC29F0923C210385FD72FDE4ACEED53562ADC89CF698C61B81F426408 +6A4F7E6211243D2894A2490C78DDF108FEF22D595919F8176C9151F9C4EC7FB1 +CCFFE2DAED0451C01DCC92B8DA7C897314C6464CB96FE5E9AE8D09FF5356642D +5BEFFB636CDA259DF1056A41B007AF086F3299DDCB4BFE497658EABF868FE2C8 +17F3F289BB8EE99476366FD4B5FCA6FF6D2B9DDE027C36C3DEA8D9FB8E1E315C +F7AAAF23098FABCBA9ECA1B3B62D97C718E9CC920D6060DB63D12C54F40A8AF9 +8414ADA57B34319E1B9DCFE37E37DD2419A93FF824AA210581867974EE20376D +20927C4E0EF852EE9EEAA6C3C33ADEBB54B04F8130C9FFE841BAB8CCFB29DCCC +AEDB97A11253347D0A93054103092489A7A0FD2DA57144A996C857A51A8D59DE +97736B5DD55E7D1F3DD15B563C9EB1ECD180E405EBF83F2CE8D8E3BB3CFAD4FC +3B56C5E371D1F24F8B87871AA4DC5D36402F73E935548AC7CE28D7AF7D503969 +364DB58C5D8C449D9A1CCE52D60FD42EDDAB0E92E04D4085570FC95378DB0E9D +29177299929C8B877397FCBDA368848AE438EB03B2380B4892FCEC5A6398F275 +C8B9430614CADF97BA564CB4FDA21CCC0BC080D9148D461190E7A68007BAE7AC +863F39346F91568267DBB3B5AAD9AF3354222301F3ED3E144067310C29E86A68 +680D1F9DABD82E2D6FAD321A778F6A7F4B4848EE947AD1BF122365095AF25FEA +3B3574B9CCEA66FF03751A4D75176773043BDA6569691729EA8B552FEB498FBF +CFE32B8B3C37F71B0695A4B1578DD1B8E0D0CBFB6A2CF5BF3D35B63BFA956368 +39F112348E15E0B1DEA4BA6FE0AE44F6A92B0917F673673592085CC2AC0208DE +2D2CA8E867D68BA9DEDDAAB83FC929D38927F5E5E65F97A160DD4D9A3DB6E76F +6AD8C92454E46405AA43F782C9C7F3EAAB984F2D26C47C3794586065392A043F +C8F670C06322769837C380DD81277AD8FB61E2F17D2E6D044EF64802A82227ED +8947FB5A9D39C3C7BF66900819EDC802B10A867130FF9ACC42B885DDD5652727 +A4F54338B7D8CCD04DE347E31DD5EB6BDBBFACD0F605EFC0825D6E4560174995 +5A3AC5F7C57BCAFB5EDE28FB8FEA0015CCA84A4F421F64B9BAC351E4C9918123 +CC9A9C56FAB9C164E12EA420B0B65521D001040257AD908B17527740A4BE8B4E +518472003DA96D02A04B567A806D6FCC1AB6581C255047F98C302CF6A3C38A3E +255CCC51C41FED45DF5A8DCB7CA3FA3D4018AB1B3C5A3A5655BC02EDC17DE7F2 +946449F7B2552C97BFBD1C6C80E3CE122755E1679511101386A75345277E293C +6BB60E204B16949F9FA0E6802D61128023A73771AA40254F4F7F54F2518A4086 +C8343A5EF3F620329AC04682962E7C2580A0C23ADF1096031DF2C0FA8B578222 +6309D0ABE027DB4E7F59A0D0F33022188CAF881F52A0EB544E53701C7819128C +96E26E9CDF47938D16143720A9F774D36EF27770625017EF94F3BE6C97FB75F4 +A3B44E10F6D3ABB303CE4F63501FC5C91691D5803CC94C4A4E5211BFDF5EF0E5 +451D2073481EAB5035A78F14D2BC63852BF3A41D51B5A4048D514E16E3519D24 +B1E2A278771055679E561A2632E9DDD7EDEA3599B28ED4C10F1929D10F093018 +22937E17BD99FA33CC4EBCC92A6C21B130F0FABCC7CBE12408C1186CBA3B13CE +D69E501C346EEA662F847C756DE1616B5B5E4B670FABFFE4889A85AA9AE8DF53 +A2A29D710FEAAF5F275C317A07F484DF206BD0C4CAE557ED66399494FF2C1587 +A6630861B8E5E62D7B02E3F6D98AD4F5D6D3FD34754DC20C8C69325CF4F43117 +80CF56F55822EEFE030D837AD51B2FB722B25098E976AA164939CCEBFE453C40 +54DA26BB8277E5FCB0B209B090001C202B1D417BD407D74C96CE6E315CDCC416 +7EADCF5EA7356F9150A92B5F496E54A4BE33EC139C33FA3D7AE1AEFEA515F540 +299DB28C9EBC83E3C89409F5D528A3CB3F59C1311A1AF0A136E237D91A1E4134 +5EA52642D2D4B151D532F29BCDC1E8FA7EC77B3FDBF561F7707C46753EB922F1 +FC0A0F94D7B9DF786EFEB034179022B5D8D77E368FEBD1BC318DDCCC8126888E +3277B6F6C9BD74743D3EF6A6D1DA3F7F69E0689B2712DB9CA8C96A1928309695 +D64EFA85FC190E9A88B638FF4314150220DD3DC50A630F19A21D78441BA9A4A3 +E3E0D201086BE1A1BDB1F9F4E6F8ED30903CBFD91F43B8B56FB269929C431F13 +BD550F401CD9FC0A612F61A635C4B778DCF19D773AC9F83E5B393F969F0A6F2D +2C3399578ADD321DFB6FFC828BC708C132EEEF51812305C5AA9C5123EA790995 +B17C609E9BBAE75AE816CB02FA63A5508EC4D6F5E68B7C69B3A7A743AFE1C00B +479D1F4D93A85A0AEA989D01CA06485F69A76148A5D541D834864447661987D9 +A81CA3F0AFC109E62D4334B1958B0C260CEC205E37F608D53BC5CC5DE889C156 +D24EE0442D2E487C9425C59EAF0DFC887D850F2AAE32FE27BEFEBF16ED33449F +746284FD593654A134EA7CB1BA98A9205BED9C2E7625BD7A614DF27C3A72B163 +F57788C67D91F7299AAC5682F031353E80A7FCB23C9DB3CF6440B3223132325A +D55382F07F7D83C1E7F0F1B5D751FF1F39AB6A357E08D34FF625544F0B62D92A +0441FE53F5C5068A3FE0A80729DA7693BF377C79FF3F279C52F72F03E439B688 +3552A1F0429477294E062ACB878CD3955BDB1050195EF91F2010611D1680D510 +33154CDEF24459E6FCC010D53C07AE9052CE784D8D060265885B93E5D201A3A8 +39ED6B100E14C87992A5FC12587123D59E9C70096C0B8CCE18996C7A04061127 +37CB2FE94AD25A8894EAB6543B4EDE18178B7CA02251752EAEE9007FE645DCE8 +76E505CC7CB133F1ECA70526437ABA8C3E966B5F7929042A91745F43058F3018 +C135ED93815B54CE444E864F840483D4B9D44CE0202019CBD40B108E1D8B4A0C +CD10B442AE5C78CB3BED5E7AD9B89DE52CDC3D3FF506159E73F84CAE0C4B19B3 +310F6288DC7A1C13043951094729C2D036E1B268FC30334A61057253D5ADBB06 +062D9CAC36325D9668175C046E8E554101C89F31E0821FACEF7474774EC36C39 +62909FCA2682F0CF31802754757EEBFBB5F98DC008B534245782D12EB30A3DF4 +B892B1E064EB271FA436464256905FF2E91042882267A75914104243B60F12FE +3A9B5D9754026FCF038A8655423230E5F2984457B260354E75E7E8E438995E0A +41CE6D077EF1E08257CE1B8BE3A2397A490DACFF0F3FF8D20CFFE6BD58968AC1 +321A49B21C324F322B5FDE900D9E055BF6A020156CD67EAA1AF90BC64A1E1731 +D95EEB12AEF53754C7FE33167B9874D896FC5984CB032C60D66F09CBF5B045B1 +EC95734469F57212202F37D6E294E73BBFB66C4B821C5D844CE81981D7D50327 +F42D8210216D6A4826197CC24865813A441931DA18893031AA1EA62321B0DA7E +CBAEA839D114032906E18FA1C661C1E88DE33C6337929C6FC8B09B1CC5B95BA3 +E1C71C33CD9A3E4999BDCB55F0F931FE0F7A3EF924368616449551E3B0FE20F3 +6B26C6317A782DDAEDC91723E25A5A325B288416E06A62FACC35A22F7B1AFD01 +6530D0D6E80C193A2E891BBA5CEAAC8315281BA873C95C642253BFC2BAF34605 +9EAB0AF45C3D049A8F433472560AB5DC2561FCA3A2B89AC95B15CBCD15AD6CA1 +C1E7175097D316CBCC0F5785A1CB9EF5D109356B07EC553765C3542CCD4D4A71 +A6D402D95A9869E5194E2B4591CD6A89A83D1ACD0F3AF7ADECBF37C69960526C +CD96CEB82DB4F1504DB80C171383052DE99AD7A48CF508BE024BD574B06E4A7F +CCAA259439F581467CC43F1775A797ED8151A08B898A4B4A5E2F2BC98C4410F1 +108393AFB7031C8C1B4CC0880DE20C3BAE0DD0EA1F15DDA20448F7893995F28B +0608C5D9F4D434FC6B36C56A5A5748BBE676E00C3A9F418FC82F08F7C2650792 +BF935B7ECF4B4B2868A4646D3AF8442072DDB42CBD89671E3D8EE4E0C946ACAB +2D7DFAD319C93B6474B36F4398D06961CE2EBC611BDFC74C06AF95BF565DDC42 +1F7932FFF7A5658514C04D79CE7888CAB8C0C13E13A0A38DCA8F99A2B0BB9F08 +89F413B0BB6C208C0843F607D1DD21D2D2857F5B15113FCDDF9012C68466EF82 +C9E67E81904730359D72118965173587DA5EE59F28B0A101A8F641F1EFB084DA +CEF86B85151E31B21F66BD9055293B5878339FCF27216CB67805247EA7166DEA +065F283E2BC91E9C526024B6954410ED143A88AA91DE752F5CBA7129236D8426 +DB326A5A9DE91A2709F7114049A8FB333E87CF5D1D839F4F79D08FE684A7AE1D +20AA674461DDEDDE23167D5881AAAB018DDEEA28157CF944C55E0E7C7010FBC4 +7884F438049A6F596912E65A54CE36C42B22AC762362CC4EC9F9213FCB908814 +E63D7E10D6BA9CCF802B662586B6E5DDE8C7D5B7BA6D9C8792E87349A1811F96 +C5A88467B93EAA04D84764C10B344D51541A987548D4F24482902A7744535988 +09DC57E9031AF5955F5659922D46FF6727BE8AABB889563878CD8907E86742CC +AA1424363B562FE791EB65AE23596095311612AA0720655CBAEC471721635BEA +2E322E3603F763E4A151AB2A8608BBC11AF4B9EED89930B48627D12C7857D906 +E1BA68C9D2401056C6A100D5EA2A29E34DFB839A22F726508BD77D445EAE286A +50D46337619F86AF82DC4C2F0D1DAA005E17AB38E54756D48689EEBCB2B70924 +D913013BA5A330D69B7B4A6B30A7396CE684D46DF2C24925CDE10CAC5AFA48E8 +29AA959AFB2ECBB95FE16B483B49A6E10B009E48968EC7EBF2CA18B3A5175499 +8AD1CEFEE2E3A5CB84185BE886B912F4F9BD1859E86C0F2B3BA8E4CDCC509C8B +70A0226609B2E5B3C693588F89B8B9FD3DDC670B0818D59B1AB6392B61567113 +DE0F0AE4B5402ABBBC5EC181E3F9131E42B4D72FD500AF4A40ABB47FC78EC4C4 +340810870CBAEDB3ED8B6991611F978A9851DBF989CB54A7FB6C5590D6F389ED +63AE2BBDB9640A581A3D0D56394345EC8A621E639A36D7A3567ED4C646782491 +E6FC3D0A16096A748BCED36335A39D30BA544F5E3250C9A8465BB4BF1F78783A +A6F4C8AE394E45388641DE0810E79CECA8CCB82EB5B01AEB294BFC1E797CA973 +653AA8E25F12FD4637D4274540476E3BBBA984EC2B58B678650BB30D074713F5 +E6A5579EB116C013DD4BDC716EDBC4B0680BC1D1670BF465BC7575EA0C0FAF7B +50B4CDA35F6CB2F3801EA75F8B8D13D5CD2B81035C06440EBFEB05C43920C8AF +161BE712A91A009B3C1DE9CE9A29149E81A30BBC08A7DFE5291A137937AE8CF1 +D24CAA2620309F0CBDADE912CEE0801BA72A097446FE8DE2C494E5E7AB790D3C +46A4AA9628D791FA83B3FF9DD11F115669209BE8B4FD1EE6627E179BB53C245B +3AE42A6A95D73A45E7D9A78C2C46544DA9BF229077FADC8BB0A288B044AB219F +C62E33225DB5B58C19A0894F14C57E318FD66A56BA936DA1DA059FB5E4C89134 +909D531F94915EBD4309465038E6E2D0223EDCC2D9030BC5E6B07C12A28AE03B +E58266B28B0A4111B445670449021001771205A0016DC0534E84E02007A65E4E +DA5212D4668270F11113293A1A0FAF9E7F5ECF382760365DF24DFB1A49D50116 +D2959974973840F8BACAADA175B18B0CF49E47728F744F3D3405951EC677C4DE +F2A8B4AFB9740765742F701691B79309E7F8A9BA9CA4734BD8D6AB97F0B8DCC6 +A77EA6F065844656ABF04A6224CBC9BBBC929E1A4BD3230B901AE1E18FEBC2DD +1642AB4A5ED317F9AADBDA2062510300CA34A7897D0EAB3DAC7DD375C24221F3 +03E0A4697C6BF80426393BC326893D524CD60CCA3EAA8F09FCEDCE2F08F2DFF2 +CD8C8E6CA25343FC294DF8AAF1C4938DD7BCE943E92CB8C70ACCD03CB2589CA4 +E12353188F519A9E50AD95EB772C39F0D0BCC02DCC9A02C55303B370A511B396 +486313903405479B23FDD01A7D1644212EC65BE4DE730ABEC92F9E5573A7353F +139BADF8C69BC5EC022D92360A28C66992515A7AC3E1AF4F87BDA91832003EAF +02B611681A280492A0C0653A7B0502FA0F036B80B1EB5A92B6E2E34F1D3048D7 +9DCBC1994908801E17FC33109B407613C5537C04FFC152072F78F1591D6CEBA5 +37F9E385CB0330754F7FD33255353EFB68A88B6B65D378F90E85996E29E8F888 +E1C837F735FE92E1906D6A3991E23C5F4B6ADAE7F80B134DB3F2E9B45316B5C6 +AAA37C479979F320C431641B87D5164CAAE38089BFC5A0466523901846DDBB97 +7E626FA4406E96E5911BA848F9FDECC660F0D9C8C51855AE6F61E80CC6D7E4EE +8171B10C33B62C9FB6421E50ADAD266816B3D11B62926EC7674795A37B117816 +3DC5AE02F71DE34EA896ACB2DDC623C44CECCD8D6631517D3B0D51E3F5F373E0 +BA991518CE7A61A4CA01365C812DA9A27A7BF7F61B70BAE4A25353475AB28D20 +0EE8A274B7B81324CED23F8144C859318D24039DF4104EFF6A46A3E4AFABB7C0 +5D54A42B98554FDD4761FADED865F6CC6A62999A6D5E428B87773E34A3D59886 +1AD7953B918FF207806D89C4DA9E29FC56B5335F46516FFF9B0077EF6ABE1B64 +050AF7D08B8E0CA34BBAD1B70B040992EB6905A8C5453EF2A589F51ACB37D2F6 +D7435FDFE1D2647F8E7C9EE8E55F375AD259E806348D28F26685AE4E64CB08C2 +8479514C4F2BE9419CB9D2FE84B2551511171384BFE1FF2514948AC8E0011459 +0194392A0B0CEA69357E0957CF64187606C24B66E75B90E65F6BCBA6B9507400 +FF673F3ECE5DFBBDD8594B2FA9F7FFC6C9EF9E7690D1697E3286C9FEC9CDB3D0 +56F9D219C8A5E8BA1E6EF3C56B279998EA9B86E18678E1D94F1C51AFD500DD7A +20FD646AC1723028CB77572685818024324CEE2DD03EE89953602B0BEBF931A2 +76549FE146CF4211F5D7BA4CE8A4626D6B6DAB552E158DCB9A85A656F0470F84 +396B9537A99EB633499B8D06C66D543B638282133067A5EAC753FC7B68735FFE +DE9C5F435282BE7192F9F44D6716BB17CABC23970253B1C4297CCDF520407603 +87E0B3D295DAA1A72034D94CA5417B0E6B5E148A2F3B842A77C54EA8010642F6 +3C45F39A391F146FC070A9384872321AF86924A5C79C4932BA1E0E25EB8C76AE +C2FABB9F40A19CAB8CE845AF2161E6C5CA4F1F28DF86D04385DA654DDDF4EBE7 +C2067556D6E9C3326F8578DC526050B58962B3FEEADA9E30FD98162A7690B2D6 +31BA0428550DE10F9A61D02A2A978709FD31D2A208379E53B1A29D111ECCE4F4 +BDD9B8E29576B2F18DD4AB9FC631C5BF6ACD81CE8C9F194138A2A9497D966444 +F0868CA92BB615B511B7370CFF55492C57ABBC22FD278E6396B70BD34192F086 +A98492AC442E001B9B77807E3ED26260D69FCAD22B7733708CCBE7F84F7EC267 +53F8163315FADE113CC938E49AC9E00928D16A317AE338E91E38AF8B894EC75C +B5F3BFE33ADDC0A27F0E754D2CDBFAB0BBCF94A1BEB2F286CEB90AED9C34963F +39B63EE068288431BA3B31E134AD75D563F5B81782AF676FF5E39AF212EE0282 +D66687205CB81F973D1624F14D1E424EEE9FC189327F1A502F6B45CF3C2D469E +A6D952A5854556DD6C70382A7939F4333B6F4494D8FB50B1CB27C4700696BACB +087E7C705250D49F5298C5419F03F713619DC5AA7AF817A48C5E1702E1ED4482 +ECEA7E7EA2DD3B1BDAEE6B4E203346CD7F7024D0AFC488F4420CFE1ACFF96E8B +F52D2B9D084FA37FC69ABA82C5C1918ECD8A94CC7E3B85DBFC2EA7579AFC0749 +8812579E9D682FF0EB5C00BB9BC897CE9F6BF1F00510F1DDFB17C6FC832E0CA9 +79193FC6DE4EEAEF899448D12826E0AA8799B3E487916017CC3C0FBC559D5921 +78BFF1C4D4C351C472C00B3AF94436C142C8C70189805894A010BE3B8FBD3A08 +97DF5961E9AF3C9B374D733D7049EF23483003189AAE67517A5C953F010B4473 +99EB286E4AB8DFF15C226B1B5BB0CDC1BD1B5890B49525EC07FD9E757864E4D7 +1CEA3FF16FBCA03FE72D50A5FB75463D974BF5A8B9F4F8BF7909059FEA775D23 +5E8A48A69592DD766EBA72EC27126AB1537E8A9E40B8E908A968AB71AE86E9B4 +E34C4C0DDAA6CAE34DA06795C5C23B61F1B3029299CEA838209B9CE83B92BF1B +81DAFBEB500E13C5C9EBB2D7AC1A9F2428286F5CE7482BF12132F263742E83C4 +B99633A0EC4DFC9C06964FB47FA7E8E6C5A76536ECBA7187092BB64C97B51063 +03409528242E0D79AAE56E8EEC79D10809E0FC4C7894DB3675BE52AD3D954689 +23FD259BC85866AC5626C80E19B46D46BE344EEBB27BE626F03E2AF83287910E +F1137C184D279F0886A00191DD1E78EFCFB193145ECBEF516BAD89911E0F1261 +E9AA1E7AEAB774443B5B47580E94E8D11CFC72CE036D292DE29C0E458CCB0CD9 +B9FC222E3244A0B41A2FFEF2BB88AD788609E5E244C6C88B093582ECD05782A5 +010C2030B988B7DB1E30C6D8E54837865246B93CE7E040E2A482FD0E1AC9D50E +632B6508154A39BBF6D4A6BFE0C835B057D5953BA5EE7E0941146E9AFA61FC98 +0182BA32BFC0E8DDB61F96BD482A3F3BB5109B08A97F0C369E9B77CC863B5E5B +F7086A48F59EC18497AA38753F2CFFF02461FA37E4B555C0F292BFA8ECC2B3D4 +5B41FD849C8E94FC2F8A8FF379961E28EC3DB127D9F006C6F2B91168DEE7255F +4BA8FC35765D75A2A2C9065570592C25E1726B492819927E6A0278C26072A01A +C3FCCFEEFD6C303C9BD2189DF98E538140E7ADF92CE4673930E950CB2A5D4F1C +948FD5F5C0F58D730E710EFB86D7121A8C77DCDFF7563E756A63CA0DCE6699A4 +DFDC0E17DCE17BD056757E944D2A0EE68E819D2FD3326F9C3204CD04363B2767 +1765E56741FB06DFB613B2305AA464B3A2C5950392B7DC4A37FB532B128A76F8 +7BB70D92F0A5A84118658061D40DA770B3A2D8DA3F1EBA9754C451C8147BD4C8 +C8CA37F12C3B3E83DE897CE25B437A079BC16C1046C3935792EF7685B3F234DF +14DD781A80C66B7B315B2FFE93DB467323E01F0426DA7F488D5B28EC0C4F061D +CEE054FA05071CDCF0AEA789EAE744D80392BD557F4023ED1937A1B53C757AD3 +185C0710907E7B87482C48A1E13D2BB81F6924FD8E9E8D99756BBAAA03EF85BC +DE6E14CAD1265E16E781AB6FF98492DD8D479AC2E5206D2917C97966110AD848 +C41687115E67B559D183A07037D04E8E2FD40A5A40E7D87649739CBA8CDCF443 +C587F0D9C00B9A808F4E649AE7C767B35ED489246AAAB778D5E63AB7FD2777C1 +26A941846E215BC7496D78D098CB4FEFB819FE8E5F98E50677D238A1CD1D661C +67BE46A67131B095025421A13FCDA084279959705D53F0A940AD96948DB37000 +A68603C8843CA4E7444435F17DA361F2048D216763FC5DA7C687C6AC40AA7318 +677599384F99D33DE44040D7DE5A870A420F638E83A811283290F0D5357A0048 +8C1EC53D383C8E5E7895581B59691EE045883E3E779FB0470F901BD8613DB965 +D1D005E804FA715EBA9CCB6623C51F41FE9A5FC108647517FEF1E9407D4F2527 +8E593E8284E9FECAF7653D668F975436E4B44E15A8CBE5CA08C04DBCEB7E40C0 +496E22802F2938433DBBCC34A0BE026AE1C21CB0B89E81159316D6F847CBF057 +5DFA1AFB203BB574E7D5A78C468C285A098798A223A3234500C2564A07F416FC +3A313DD014ED39222BC4DF4F9C9500095A1F79F71DD3F065C95C3ECBBE57B714 +71FDF51CAED45DE330BB35CA4D3854DD4A353623BDB414C852C8CBC4B1AC6ABD +6A3F00DA0CB3DCA3189176A2116D9AD01E4A53B7A67158D52D6C36052C625F30 +F443FC0656863F451E67ADE57F662345C33A479B1832928B5220544ED54EFE3B +7517CA769B4CC4BD91C9A602B9DAFB48B89C3E490613A9B07C4385A121909511 +5A6B9DF7D5FA5381FDB8B456400EFFB006F15DC1EB93D74288E7227C8FE6E137 +56382C86FBFAE90C1E1F9325CB3E872E430F8525EF5A5B34BD7CA45362AC2729 +E1B39550E3BA8E2D29160058F7DA661C17E009762D0D99995E0EEAF8F8893802 +946EA5CF487C25E4C91A2A6B98E5B6DEDBC1BBB01FF8EF23C9928CBFE5DE8040 +390BAAA66997E936B50A1FEC18A90894D832CFAA5C35891CC01CE5DBAB20FD45 +C069106615C30C00758DE66ECB7CED5E8680417DFCBD9DBB672A71530254C71C +DDE3144D20DAE4B196C462D8828A3D612A998C8CB163BFA33CC62CBE83E63DD8 +3C4709E156A92123BF5FDB588353ECDD293A7281408B73530BE4806BB589C691 +5C10A1472D6C311AE6C173EB4A3CB06B7A3E2626D7979C427C8C11EA06C95904 +CF8A3D509C72C31AC379642EF9C292DEA069347C9136D71F44D39F4CC3E51525 +10403CCDD038D3ED6C6464989218475DD58B27153F0A5FA890029A928C053AD0 +2989CBB3B0176D2F88702D00DBA0177EC51B08D7E0F9333DC89C0E69B470F52E +38E750F11701B957A3161364F6BA74A8B8429DD87D0981597DA9206A46795412 +225635933413394E4BA04A632695F37E253760874E813FD8F4275BCBB0E4C6B0 +D81D546DBB99E27FF7A1AD640364EF547CB5D2DC12D7D609DB0B9E4EC651EA41 +0E3362B3745F9F1B3849E2C047138C4589137160F63FB5C093FE743F9B2A3907 +B08B14F51FD277EC66F56E19DFA0B0727CACD93ECB1580946C9E0092F94F740F +F1347CF42AFD46F3CFC4E44BA60BFEC83F31381DDF20EC1808CE650BBB75D8A3 +77827873700806A2A7D3264B95119514AB9940C0593F3EC58D3CB7281F2EA154 +E1C2FA3BDE6DFBED2CE4D7A74EC9718DF075B6928437E54872C8C66EA7C17012 +DEDE74F0185C67C4D884C0DF21C6F80D0820CAE35C6BAC3A9EEC4183DF461FB2 +93E2172FFA04E5470C9D87A71327278B2395201343AD09AFEB35F8501B24445D +9B2614D75523AB7A8ACB67301FAAF55321FAB88DFD65577E2980418C6EF5D8FF +52678F027130DAD71117820C20DFB4A24092D8FAED4B8D926CF8C3E054AD0389 +A2C37BBFE78622CCBB3CC1853E90E6E4D906410BA8FCAD74A04C51CF2691AE9C +6C462FC60E1A644EE0D90FBFA4D099F8B354A7E835BFB1C6569CA247C10B45AB +F7DBBA63B937012C6E1FA810B83D449D53331DE1379E0F820F43679145B59B4C +CDD277AD2EF9D907E940E4477D80EBCC77014FF7622E5AA8577C889FA8CBA263 +72510B0F22D28E2C5360B2B2C7ABC7A93AB6C3D728844FC7B841CC53EDEB082A +2253170E67AE6EA143B5CA64C28EE34917ABB202F2C0BFC6F8223EC68893E887 +3CEDF6706042F4F95D761D4B916DA6E946E66EB78C8A2512DBE6866F181F7480 +387C49646C79DD1C174C26DD5F142EF203E0E7567A680A35A7B7C9EF3FC361F8 +1101E034F202C5DB0D8CE9DC4BAB1BB9CC04CD0036139E96BA34B8F6C37EFCCF +4081A2B9F1305CC79BD3742DE74B82E39C533D4C2E65C7CD55625673B11AFC34 +2BC54054EED14E9AF22B578A36D638EBBE40075D3206294844283CDE49B54E6E +11CA2540C763EC4CC7C389051324238D0D380AC81AF4EE04989A762637CF871B +C43D284D7D5191C68BEEF0060081B16CD93E9F677300422A7CD2D4EC541A6AA0 +DAA2A8A44BFE7BDB65A989AC89E5332DCA160C92D2177ABA2B3CC510B1E6CB2E +F4C92839132A822CB52941E83E9360A96BA996B0FECF3EAD5DA932DACC0163FC +EAC4FA40275965FAF0920001F087EA4820B87A49CC4CAAB6C336FB89FAF09AC4 +BACEECDF4B4C106F70576C53F55390D50C6B8EAB81320400A24626E246EA71AC +98607D9733764521EDA48A56F6B9476030471DBB3D91854D4D6388D0A62F9E3A +F5086060024541499A375347F861343AE902C150AF033B8F955CB664FA657742 +93AA641F64599C02373F1881272B4A08A44D583D76110A43832F6F22B86DC5A2 +D33053854E746DF104241714A2B17E10EEF0AC2929B4C15C5CE3D5D7C2EA7FA1 +28335A0087CED3DA9536E8460CE5E957747422A3644F96C80714E3B7DC76BB0F +73D6229AD8FE72FF8FB58EC577F2253E2D5C27168D00401C94201E64EF770A07 +DA43FD8C31F41943E46EB80DD3D9CE38F72AADA9E70B772A692CA7A41573FCA6 +C46E4F9543C004167529716EC417B5EA6AEA374EC7EA6F0F79A5F32B6F40A6E4 +13329175694D7869E60B837C4230269922B681DD5588EF0B0D77050B71D3258A +89DFDA0E7B4EBDA9F050951D4573EA959E5499DFB5BA7FC894229B26DAE9B82B +8963640EBE6E892C84FB3954ED3B0EE64E273761B4CCC34E06D88C630A92A79E +E2B0526201FCD0835D5760F680BFC51573894FF976BF8E6DE378E3B24261C8DD +BBFE0C9619F2800F807716E9353489EA192157AFB5184B4D4847157491D61C9A +93AA2DA0B076444CCE6A2065BA5708FD5ABF50A8AFA43AE65982F596CCE43B0B +550C4D63590E0B8C48884B2388B1E3A050035DFDEB1DA220ABBC945B542E4551 +A039914EF703EAF77FF5A8F53073775703CB7681AC0ABA95E1CF016BDBDB0277 +AC407281BB4A5DB2FDC550DBB92130234AD7054C851A56EE0AD6827B89BCC5A5 +2748735C0F862AF250B55D2CB737DD5B0572F7C129C09828E4D71419C27B59BD +F9AB2A053F432A956EA9E6801986D3B1E55A80C4397E458ABEDE8E9087B07FBC +101F3BD84D24C5BB61CED41E292B9CCC884681A3072E0D420F0EE2B1129FC5AF +C74D2A359AFACFB92A1C849559DFBF0D09018496369B5377E696C1CC6B9D9B67 +030342943DBAA19E677DB0A8DDE0066D8E6896CBBBFDEFE13EF9E5A85D2A9ED3 +9540316EFA056C11A8E65480F85A0CC8D0DE150B8C7D22E45DE10710952C3974 +C9D6026A9A6894C1AE2C650EB15EDE4E87E4F457FC7B8EAD32BCC5FE508C9284 +EB456AA6FB8D297C3F5E71AB1526956C66CECD83124EC68AE6546E9C3BBB42F6 +045F4A6A557145FD982F599F8B285C0772D6F1EC2F73ABC61E7EA0E6A8A4D391 +B5CCC56AF378E9CF4DF4732548024D51CFB3DA18D78747566A7F7E9249834BC4 +6557A1CF2489EF195FAB236BB48FF427FD32E1903B8FF82EBEAD2E1CC6D54821 +FB3F6763D2CB4E6E383324443D1CB3295BABE7328B9FA95813932A37FFC3A9EA +E45196FCB6236C73CF95FFB675510259939F4525B298B3A69D0B52472BD31D45 +24CBED3F82F7477A180FF3430212B1CDC21EEA48F799B01B763C93CA93398E46 +360707E212942E17BF445D2E054EB9C35B4204A7AD6E72CAD1DE1589219E6530 +7E67859BB41148903CE77201B8FEE094EB659865F6A20E3DDD920CD27B118249 +FBBC11810A14E60E8C09E00363C039AA0360BDA398F3C65085905EE781AD5726 +DBF612DFCAB47C9E9E3E516CF26F53B6605124DAB8C876F50973BD3038B03EA9 +AFA4C6769405477A68BC4D7900E1DE54207FC766AD11F19A64AE8D9A2C058BE1 +E89035EDDA2E568783B36154DAAC4E3A980A38968FF9B81573D5C2B3FDC093F9 +A98050E3E1406E2FAC3D1F9D11BD6F511B1A044D5D62329DFC901E6F962A3DF0 +3663AFFE48E0154AC5AB244524B79B5D5649A2F9C2223DD97594E3BF55225858 +1E8173B8A7BCE623F9B641AB8AAC88B9224622E102CF2D091ABD006875F6C616 +FC7220BE93F77A11E729F04733D12F8E49AEDA23A449CE772971CDE7A8065888 +0032E17FD396B162C22EC213E0D303297FDB3160B303F1EF69851506E3332994 +760B7E59FEEC01445E28C6681E85D90BE5680020976DFAB52AB29EE292747C5B +41752846FCD3C2E0A2D0F0E8DE92D16B1B5DD41899AAB80EDCF2487E1A986E59 +F7442F68B05C8E1FF12D0D0CC808ECBE51CA429D9FE388929125DB8F03036C95 +39BA0153733DF29B00DA9C96303D265CBB80D314EFEBD2AA26FEDC7328937612 +BBF2714552B94C8EB9A567928C0D275C72AEB08638DE4324115AB9A451ECC6A4 +F0E47E73CECFA0AACD1DD82232540A7D1FBA6075745EC8FC36FD31E3BEAB060C +BF19783B8B65519FDA47D5BEF90ECA881ED512D200188ED498781F6EA83DC1FE +95815D1B4F05A33230ABA8A1FE53E13F35B92C1D76E15265C1B6F69103FA33D8 +A90B1176439861ABD9324D2AB91EC9A216BD93472BD9162F9B9D1C0FFD26B185 +A696D9C1927ECB9B20F1F7E1454AF91F9A4A3D129C4B034BA2D85BFCE6A2A1BB +97B5674A51D56C6DB03A8F26CBFE9DD301513B2671F0BF7B074C4D159F9FEDDC +B1225B515C1088056A9D81E6FB640FC7D37D3B9174FB65BAF5AE5A5906A5B250 +B7B297C805A087FAEE9D888E0844014C3E4931F29D4B75F8A31C02B0B69A56FF +A2FE418192D1E3E30FE8414A1E1852C8CC2EEC091F635F6A76EF82878A260F9F +D9CB3BD28EED2307F1E8A0FEBF82E7B2862E176EEC2947307D81607CE8761480 +6DB2053DEEA46B9391ECF931F0F9BB8BBC097A37C6B02AC724D839BD5AF43C5D +7DB5146B769DD171844C8EDC0C4F93A63CCBE7519DA6654422B1E4049AF6E96B +0B23AE5997644EDBDB0C139BD45CD8708824AECA2B07200CF7B384B72D23D60F +DCC3A98CEF3F6F4744276C714C08B835FA11619580E8E0F433E8D069636BC321 +42D6BFA12DEE9F2D22293950E5097AE72625C6A8BECAB5C0656716D4AF11C755 +298500684671ED70FCA40239AD0A04F4BAA1426B5931BA1196F1C97C765B1C05 +602B887B8482F9A4134E3F0C557E1420A9AFF802445DA1F631B82AEDABA2B98C +716B9DABFE8E40585EA65D7910A2965F99C5A63BD178E607547A12D60ADC5DAD +589F7EDD6482FDB2113622C07B0444DA233213846A61C260DE760485A35A47BD +C020482DEB042B4D7295A7F90032F7228AA7529E7E2C9BB2DCBA64D5BC6D5419 +41D306C16B0DA13DBC5EB7C6874B5362A6300CDDCA16425AF32FDD997E48429C +EB4B6ED76765939DF0EEB4DA1C58D79BE11980B636C9ACAB2776D3549CCBF157 +4D640A86E1B6DCD14E56F18B0B30CC1FEFA6199BCF33C80FE48EBE85BEFA1174 +4F52F67C06D192B48A79BA47D4E6790563DAA2F1B2967B655FA0111741854C3B +B53410C582011F89D2BD1509718DED0DA887E39D1FFCBA9BEFF793085A448AAF +2798D65DB0A3D66D235C00A9977F2D3D3E978F4A03FFF783BAF0C33949D42541 +FB24EFAADA5632EB66A1CB60E22C957B13C7E52D8F49B5C99A52FCEBC7159E33 +749A4F647936CF51D5EC511720FD6DC01A4B0C2D3120D4DEE5E498412213DD20 +5C10975536EEF28F9BDBDA565779E3C9F1C3A087295F6C1D4DF2CB44104BAA81 +C5C8D6B4811AF48F65A3D5BB01B982423E372D612FF20012B0909EC8E41DD25E +9B21963AF687A9678FD79FB8953CA5A1E38E709457C196D3D080BD764E898617 +F7EDFF583D9D75D8632BBBC57982BC9BD23BB6D9E6C06497CB4C01625579ABEF +1BB42CA4BD7261CAE0CDFA67F50A1563307DB14C7D3ACD49E59E3842343A97F0 +A5C45A8BD3D80A583B90D88D8829F27B093FDB2E91FF5ECDEAA81DBE611D93D3 +F4FD48F3B74EFD140EB1EC4BD5A463DCC84E2E7B157C778368E46D81A7B29F4C +D4794473886CF8E2CDC60D2FAA4F537C969175E3D428A3918CBEEF307B34E981 +9534B42005097443968D4291F3CEA793E707B37CA63CB2516E8575B8FAC0EEC8 +48C4CD48E2819E4DB18E428BF7A933753845B5ADFE3C0662C147667BF0FAAE19 +3B6CB8CD20C9D1B5657265EC8F04AB427FFF352BC8A343F98D1AFF1EB6EC03B2 +FEF15CD3CE27135CFFBC2EDBF29E3918330D13516DA2FD899299F4DD996083B2 +AA5CBAF791C8BFC31D25EE31BD8F9E1946FCF35DAC9ECC347BC33E82BE5E5236 +27E424FC8F18B01BDDF1B633C8BEEC69B772F2CFCB521FF7ADF2CD57C6AE9FF9 +B39BE3E3A5CCA2DB161A441246D970484B146B3275557216D001553A58859F12 +9A102D85699E24B901FC3B4D93B84F83BC0DE7AAFCD886703EB065BBDE63C83A +958EFCD18D53136A283E821E7AEA7EFEFC14602B1E4C428AF80AD991EEC31E69 +B0989D19353B1818874BCD39DA51EEDFE7EA12375B6CF462385963D5CA49F7C1 +E8DE6BDDB7807C3AB5F232E9C8B242F09B18EF6B7C4D88E47E3BA33EE16E0A3A +DBE6CD175E403DBB1EA5EA1A74C72D749D743C63203050E87A60C952E9925ED9 +9C509459F31F7B69E38E737EC96EAB6B2402F689C10567BB758B9844623C96A5 +9206B8B17A51D67745312CC02028917150D16CDC362E4052C6F5D4405B686A6D +B7D7CA7E60A99533D0AAA5C0797BDDBC078997FCC20645763F4B5F9E4BCCBE92 +E2E928BDFCB3EC1A9941CBB04D85A0BC386A612A655D849A34A76E3E3E1C91A6 +35ED8D77D27B090DAB616F8772481C57741CD4A3803A35E863D9D2C4863F0AEC +305059A8C70BBC916AAF8A79077287783F2F01C0F676678D6EE8D1E7F5855D48 +958D0C1304F94B4FC6BAD1FC62DC3834713803B58C680E1AD81E70A09143509C +B79A5BD469AD6D63AB7C8709BD8457A635E85EE5CE2B81B565CAEA18E6A6F738 +9E40522E0D7B3CD35B68CC2B88FE81279F379DD01643DD52D74046A0D0FCE216 +BCA962C1D10BEF7FE76C602CF2F8DAE1F7160555A806CE3F1F817A3694A2601E +443A85C32E47393B3D4C08ECB5F507C7A12536B89B446569E5E54512A4897EF9 +84513C8BA4B9C8AF4ACF81B2BEDA480003360DD08DCF43DB57EBD401C9C7C4AC +E08BDA494B711F9F2E2F954051D7A759BC73E5446ACB973F2EB4764BF8227DFB +08BA8DCC4CC289E367EB6CB79B8798FEBD585E4C3DEF59834570935A6A3DB3DD +9630020F4390FED9215ACAFD4683FE82E1F67CBCA8CDEDBDBEE29776AEF92743 +8A28B00C873FEB39A9C693770B410F1B91F631948247658632896F821A43C3BC +E0E9B92E8017F7E5138F1A472FF1C4BBD64F1642A5818F138B35EAC4C7C1FF6E +917F0AB74AAA9752283E94DA08563A52BBEFBB97E43121E5FDD1383FD94177C5 +FC7B706A19FF4B8434B33D603E4F05B5FEC2D8A6315D2CBD03527403FBB25632 +4720C539EA5DC49727BF459E73770E64674E49FB76DC914572E9CE7B0CE5EBDD +50CF330BC6DACA9981FC741455FFAB7E5C4095B0FBB4ED94F327A5D0AFBBFCB5 +5F795A9DB07C04BF326B8C95A73BE943EAB0203DD488FA7F6167CF77638D98B5 +FA44BE3FE030953CAB6CE9F0BD0258FC6862CE8A29D16528CA5597E7997B8078 +70534850BDC3647ADD483C6BC7081EFC121819CCE63A080642ABFF4A223C1CC6 +A866AF0B64EAADE21E55123A8181A1C7F36D5BC654C6B31231B6839FFFE492A4 +E5700603C7B28333967D1F17875ECCFB3590F84451374E30A8962EF0DB618EEE +D15660CA35168EB3531EF23370A13D629CD1B601178A2A78FAB7EF75D59BD3B3 +3C0F6A0A2483964AA9621848310A1BB3D9AC3EF682D6B2713F821DEFB9208388 +09862D1F53E11B5B822A4F3B02AC5C6CD27B7EC5C20CB2726E811034B360C16F +7E0B3CDA6E68A36944337E9277FF66379D8CA2D67BE9BDCD844B6FA85DB222A5 +DA51BBFCF8656D5038CB442C49700AABCA3EAAD9AA163B43EA2502CACB0FC4C8 +FB9E6520CB42F5BA1175E9E56A13E4627B81FFF8865DAC818B0A9C2624DD436D +A2E91BB348E4754020ABA942C7D521B1052D8FE4ED5B5680DA3E33F08B0021F4 +8D62D2DE042B497D8DD8B37CE488FD543A1706F1C87BC111CF8AB593E35CA099 +4D2A02E0FA787B6C090023AC5F62F86E1591E37EA20006B9D3195D8C047CC5B2 +A120139181147628CBEF57F3FEDFEDEAB16B4B7282DC465FC53E50F199A79B48 +8D966083736285148FC1A76382E4991C7EA605B05AB1460C2CCBF10A2EBBE340 +ED042D2A9D2092F3E91CD4C7BA6D9E60EFDA103206E67C6501CC95062F70ED73 +3A591E7FC37CB5A10C92FA2808B494E4BEFC956FEAA6EE82F8D03663BE9C9139 +836AE3D1F88C0B7DBD8AD9FF3BDB7F36DE336D4C0774149A9810C27B3A2EA083 +BA59788788002481964B952182374BD1F9A72545CBC4B0F53EE7411E35C04128 +5CDE87DB0C69A2B8AB74C702A74130B302A8BA4B85D021BD021A68C76357505C +F439AB81B5FA7834BB48049DF25EEEF85887AEA66DA7234F11FEEF9E665EA2D6 +2F896E5720679F8546C80B37FB91AC7A1EE7182851B3F20BAEC72E1C74E18755 +3B908AFCD384F44E26674D13F3FFE746A718A04F7C92D0E09C21C1AF7267AA50 +0C7C0438E3AC17251A08C4A39142273868BA91E4B9A41A159E6C7B3EE1B95894 +625F2AE90DFB33B36425BCDB41AC15EE4588EF93C29E60071F247432C76BDC13 +7270E92989CFDB470685F6B5D187E15C9078E09A0CC2A46B9229FDE4EC46B236 +4BCEC1E9E0AC88617DED14FF9ADD9B3C874541E226EEB642A3762A382988A15E +C1BA3F257880D0B0CA7912BF529F626E76D1B242833921A29725CEE9A66C0068 +3232BC8A3170DC768E8D9947B62742B9342B01AEF38E8331B997AF996A73FC48 +C8A457977CF1B4251E645F327B1CF9376D15ACD06D5AE59270E7254A56FB6852 +19CDAC3B14512CAA4D00823B693A1FF0C4E2462E3058DE548CF52047D9F9A39E +109C9CB83E5AAD0A3C958FC40FFE45415B1EE51132FF593913F3BEE1C01AC778 +1BADA832CADA92FD40EF207617857160563BEB866C76D14FA651507C6739FA28 +FDDDDEA39E858CF7439BE229697565228F4CEB4C94A6878D30D32A00A1E5960B +2D32953BCB686E0DA000AEA0192BD53618AF9481121779CACA0DE4F2FD4CF81F +8D4B9D3846AEB66795F81D6EDBAE8BBC60AAE4540E19A6D2173C22D50F9CAF4F +C4373617F5E449AE35F9820A53893570545D5EA6AE1E8B3D7775535041FD7860 +FCE9F0C78D142172CFB777081BB039877B98D59C797BB2CBB6E17E42DAF185DD +E593D88552CA8605F910FB64C4292052F781FF971200FD88FFA5BC85CEC50068 +A91B20C2D4129FACF68EE0DB5D814B107AD35571F3BACD2C754EBC6175522881 +25D2168FBAC61AAEBDFC1F5D64F2BBDD8615623BCDAD49F21F7FA77743CC827D +BF98D727204FBFB424F16C7151C282925198C644119FD82B9402D268755501E5 +7382AF8B16A825AF7368B2D04B77EA16B9A107F6588C346805EC51AA2954E3EB +59F5C44A28A31E7AB1724337C42F4950651DDDC87F5EFFEA1B537F92A3F60058 +F99F05AF0E58FEEF778DE67A0FABBD933F0FC8D82C9A463088D46BB24D649C60 +C32571EE3E11E17317459D2CB58CB54027F895A862C18999BC0B10B1FA9C0B8D +CDC2DE7847F8FAE9CEE8D817B4650D730B52506D2FDDB02B0B8FFE375E885C3A +0F4A747C63BC4D70751B98A32FD386FC8BCC07CD52A9AE3C959311941C77A5C8 +6A5109E4F43C7B79A779FE30DE2AB50F4D3CCFD51C5CD55D7C43917491B364FA +3BDC3B24043741B0C5D617688A05BCC8F01A14D643214E3B186E6D791A2AF3D3 +A972AF68CF394DE082CFCEC222EC928825CEEFAD02E84F845A5744EB7FB9841C +F73384071D6DB7E6692B8792DC38256446FA4CC2D3D1E6F7436C568B97AC2950 +167FCA9D6D997218C05A905DDE26DDD283F64E21B11BA2D9217D93DDB0D2F985 +10770F9D756090F8D5F3B09A8B917F12D8D43C4B354FC26C8D56F53C62872CF5 +E32D25F0A993BC0F2E4F0E2103DA6E729996268A3FE96EA48EB6EA6B9C21D042 +BBC55FBCDEF0C786F1CAB555DEA42862F3B6B212952C1D944B010EC51DAEB5AD +6E0D7361AAF600CD2659DC59DAEFCE791D9B0D3B718D45A1F93CDE3B2ED72E70 +13EE1705DBC0A8F0CDA57068E671B86F35CEF8161355336342F2B95D4092EF3A +D403C417A5DACD576CC9DE10F0F837240B3669AABAC540361BC69F31AE7ABFED +96838D6B70DBF3BE145BC07C60FE6498A925C51471788AA5D8E1E69010C8C513 +87C6602BCBD4AE75DCE4BC916D8E4F7B663EFC9939F55A6A8BA7D445D849BCB1 +2BD64A02224B841BC9872865F9A4068DBF73AF28DFCCDA23CFA589FAF6483E4C +1A0D5D377CC241047AF5172C4E1A7E6C16750E53E61A74BE0CA3EA6E65E9D53A +912578C709131FEDCBFCD1EFC0610F6D105438CF64A7F259737C3FBE09DA07CF +8C67CC6FFA640DA3D57B3E2D695DFECF53981357BC06FCD7D089859064651EE6 +607BA03B0C3D7DDB0EAF225F1F28E0E4B38BBC08C76B6C42C4B1747AFCA9F2D5 +BFD0073C03841155CCF38214F48EAE34507272EE5CE69051CA87A6B6214C7A0E +27F9F3AC4C962E920542C762510244A6B61502684BC99F9867557926066754FF +D707640D0EE946F98922EC777B3631BFC5230B3892FBA074E6B0C91CBB36E51F +4BEFA5CE13B58B6278D9A5D82C7EFE170EC2BE0367BF8531C7495C37B848DFE5 +3E789822DAC88A3D5ED772D681F4915983B3A67D3949FFD1A659F936771AAFA8 +C61C3C884F3BEFF84407144332DEAE18923FBD1CCB54DDE059694BB3E46BC0AE +8C5B914EAA3EC71DA87B4E08CAE59E839546E0D89B3287EF19796E397826E7CF +3E966F623FF66FD752460A15A7D85F84DEE0BAA16DBA3A649DD0420B28B4C39F +D49F2058BC109C46C58AE2A9CF47FB3EE019BE11817C2623B473BED923955FED +5CC714083DE1710E8648B6CE7F900F15C44344B2FAB16355FBD00ED9D16E4396 +36AAA4F49EEFF25401EAC8143E549824FD3949091BD47F24A84987379E3C3526 +8378C1BC4A12B09DD99B6AC638532477CCA879518994B01CD21A3930F1D9669B +8A778E0CB2A68114D40996A3CE8E55436C5E8F20359E45A434EA9261AAF98F82 +269F021803FB661D4F8C881ADC90A09A1FBB2D03AC115D3421F122D01376AB23 +0220BA0DEA220D22E1490FFE1DD1CFC30986ABFED309FE126F0AEFFDD76EA1EF +65DBF44E3765AF88E235C74E5242B02C802E4FDA8147D8874CE1C71669F4C261 +E06BA951DABCD307393DBE0F01349B66B8CFFEC90C39DD30BB8FEF864F5D85A8 +B46D8A796F5E25D033E59E14EA5E480F34807F92056CB5C143434525B32A77C9 +A76C1713EEB2D49C346D4B256D14EA6B0ECE2709A9E500C4EF203E031AA43459 +66CC59AB6C19BA33D153A4C53BD6B6037C59BF2C5EBC14563D97E38742FC23E0 +E6C5A1E8896CFA9A03FA76F1947FF788C7FC7C9973B958CE08BD2671C87A4EAC +BFC023F12BDC146A49533435C0A60D313E0A08173288432DBC2D9DF015547B95 +A09D740908831AB01ACD75AA036961BAE0EF713470E727FBCA880F252116EBAB +47A38B2D4901C84496FE92D31BBA8CFD8987FFF5E6E290EAF41E4EE3C9C7188A +76AAA149913F62391663E75BA83A077EDA63A5982C3FE0EAE75C5D9EE8E17E5E +21454664F25BC0684A225B5F3615205A85C07DF069BD1FE0FC10F12CD65CF334 +1C656085F29212B1E06834F4914260FF7862337BB4A256EF78D068C307947F30 +89C19617889308331CB4B53BA71E38AAB0D161B4112223719DD8D6D63C33FE3F +569132EA533758DB58E180CFBBD49DCD306FDF0ECADE93EA5495F03AA370C394 +F8BA290FE270F202AEF202A6D15311D2F6EF4D7240E86F95224F6B2B58E0F81F +82D037BB45D290EBD666AA3A3047484A4EC3ECE51978D2C860FAA066FC97C07D +D6CE20450B310D93EEA5A306DA97CD6FC055ED1BC298F994CF8A92F2F8335EEB +DAAED0BB928567A3F61A08AA1760B22413020CAFEBEC16A4AB9FBB6C0FCFAABF +FF240F40CDFB5AFA8814156921831411912E2B8529325C35E7EA940610C46CCE +ECC4090734C7DEF297B88B4B4119BD386E51730A492D9A53996A5E611ADED22D +C6D38152834AD04CC9996E2FBFA34C90BF57ED326BCC7AB3010273E5EE8F1EE9 +60184E436768D65329665FD1043B419D165C12223A22242D03BBAF6FD6DDDD5C +25570137EB04CAFF3B54198F049A587AEB1DB7604A79F5F25AAB7D457910A1A7 +A5C57B2626502F2C1B0A943C28CA273AD4E8750452FBBCF0DCF9A3E5A40DB15C +EA31013596481168DC5C66DB2C1A5C18E8A6C8DFCA1BE89FF5727CAE7E9C5250 +67EA84EC9B60DF4CEFF2F4B127D9E6B000B543048D67884E11A41EE56D2D7736 +E1867FEFF8C8B97DFF3749A6C583AD095B8EDE970E3E2011996E4158CFC4E538 +F2951A95B1D9B7D778AA7252BBF3AA1FE817B6E1A3F3831F981DBBE0232B783C +4BAFD6B0CD 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1230,25 +1852,41 @@ A0339B5218CBE53DE3516774BA6DEA013C9FB3039BF4DA71BD5D6A5C5CA415C8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMBX12 -%!PS-AdobeFont-1.1: CMBX12 1.0 -%%CreationDate: 1991 Aug 20 16:34:54 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMBX12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 44 /comma put @@ -1305,291 +1943,497 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-53 -251 1139 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 -B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 -AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26 -7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF -20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390 -B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D -68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809 -D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E -26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D -F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26 -77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299 -BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E -C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8 -30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5 -148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C -E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D -E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23 -337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598 -0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6 -472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E -A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26 -3318B32500F76B1038FA6122C2AF6261B025BDD519D349966A067FB190E26763 -A5C6B1AEA2A47EAB8EB272BAE2EE33A622E85A7BDB149A6C7C3BDDFB840280EB -3099FD3BC4081E2426D68C12D6D360F1EF8FEC18E227A4D43CC27E05ABCBA6DE -A980A2228625FD33C772C6DB7F803DC69A967891E8D28BA667D8B04CA8A788D7 -C7C5D84B37DD98CCCD946655A12B8B5F9C3B590A001F1EFAE13F739F45C8C6B4 -257C6AA4D133412B2F9E25226E2E9CA4A3C4D31884E143A6207CCC7644C7C30E -C870AE94C8DAA632A8B3FB90E4A67ABFDE4904E8417CD16EE5D8BDC5483E80AD -4DE4AB6F0FE123427DB32A8BE5E0BDAFC6281D56CD83997354829EFA338991AB -0F4ED89C6941BA491B68D608301AE9E608C34A9A035DC3E86CDB4A64EE6F4629 -315A91184FCBDFD727AF7F9A9EDB604A1A13DAFC7C46A730E8CFFFC3FFFB1E89 -9A06F637911BE1BA30E4FBF5A0C5F504004672E5609BBDA6D6308606EB8752FE -AAD27C809B4F0DC9E5B834433115EACC92A17E214C5341A5C7D42375816F5083 -9E29261577500737B690F0D73EADFDCED50E6482414481F24216C2E7DB0677A3 -991EC0F265B919B8651C16CBB83B6016DCF8071C6E3A8D627BC4416109CCE5F8 -EA954C91C2918D804CA758C5F70551CDB5886FCC4785DEE80412A6CCDF7CE64A -3328A3D3F38393DB98C4D02F36E0E162C161160BF721AB1947FA3B8C7AE170E9 -61AE9F8B46766E2FCE33DCE39622C4525B4F48B58C2BFEA8E96C5637785713E6 -5D550881BA5DDFDBBE0EA786C8DE9375B694ABCFDEEE060FD93620FA2FA7C80C -CAAC497C0433736D80221CA7C96B72E2494F1B3CAEB1FD27F83682F04DAA0A3E -DF102513E3303337E028040AB7B4117037B72AAD9A1E491B705F67361A557B57 -FE15839A3B1664CCFCC8589E2F144E7FE28E3DB055A7AF6B3C329010C2AE8FE5 -D6C32C3DB0A2FED004AF13C6C7884D921DEF0C55C5E8EFD765299C95F7869119 -DEBD617AC908DA15C2665B025BC4D5FE081B2F842C3965F2207A05E21BDAFBB2 -8B8B7018EA48AD4823695C944AA76189F8D3AF3459E1EEBFA9442AA9B845FA25 -3BDB2D6842EC70AE87EFF1A0A241D19BC3349A9F04C5A25C966D2350DDCF5C0C -1F707723956D01B3EF7B09C7A37081AEDD0DF85D1E4392A73EEC493C85B8F1FC -C59B1B2A1B91CB642D968B09D4178D36300E85B5E2CED0C18392DC2D498ACF2B -45A1ADA07CFA3C0F3EDFA7B39B1F8442144C4EEA714A67CAC59A76B78C25F6BA -49712594A8C82D3199083C9237A69B55678013A886FA4A6E5296071361E4B780 -467CA1EB1838818552E1E03256AD14E0AE84CF2034DC139ABB2D29BE20EFFB21 -4338D4CE010F1BB45767F72088554BD33BEE2AF94ACB6CE894AAAD575F2BD390 -9F6D3DDF9BA8A4EA17244774F2648C9F60464136B6382485626854EBAFC4A2F2 -996399BF2F97C7381BC50057040537F19967890E69691B6BAFC04608DF8DAE15 -EA853EC865E3A88E16276DBB11983BBFF5FBC013AAE53FDFFC0F884A82AE0701 -FBC6B117EF3A45B6959E93D0F811A85243DC3FB13219CD14106B12608CD7336B -CD26EE6F3A13AD6EAFF464ABBFE54515FF2C44D27EEAD7FDAE9CC5BBBC71F7F2 -6B0F21E1D28B7562BE8A81E0B942467AB3AD918209A02C85048149633794F3EC -9A4170F3994042671B63BBA3D7E1562EE494BCF10A46B5305D9AF0EDACDD6D9F -B31FB080C264278AC82C9683EA626A191AACCEBB88E2CE31FBD5D0A7A32C90C9 -03C17D842450976AF1FD86B29CAE0ED6104E017723B18B849344A92E348C8AFB -53DDBB08E31AB5F82283DD8EE248E691C1FE0CD9E2E57FC66D42856393B83207 -AF58C7265445940B8CF8C3A9F6356FA06255CFF230298068D0C0B51173C10B95 -90134D7CD4F54BBDB4F9FA66FE4855DAA0CB58962DC9EEF28931766F866A1F15 -0A80FE86DD8B38343A03BD67489B7A1D08A28B5E776405DC35A11D4EC08822F5 -DD00FA83DFC9EFC62217E5DCBB775AD0EDC26FFE1EE275E496B92A6E0FAEB92C -6ECFE9E4F778ED08D0F2BE1571D988424DE1B50A8BB534748FF1ECB464C9A085 -206EEE7A0DE7CC4D5335A40AC51106CD3FC6D75A5E400CA9A0BB610F677D1816 -1BC717F63E3FB497800684E212F8DC5047B00E0F8EDAFBD5D3F1ECEB1F951B23 -C18E0CC93DE2B369B21950C4DF4981DC69725872081E9C1B4556779428603DFE -1339BB8F5569E649CCAFD9F354344782498B8755D881B07E9C0FE50ACF956141 -6E4A36301DA057C7078D52FFB8D213D3E9086F91BE387CFB33C7744950F62C97 -1589728691863E297CF0894E6C69B3C2981664F69F095933762BFBAA6D5DDD1C -DD1D090F0C4381B28F07E61403AB616858A86E9BB765D09B30B28277EFFF409C -FC8009CB393B3AE2D2890A808CFEAA804FFE8C42C0E05C67959E5A23D4B2D3D6 -7CF35FA9650B37A25EC2853E9259AE291DFCFEE4822B9DC9F68EC86A1312283A -9A789FD180C3ED673D706352785AAF7E8DF79EB323C769DD86E78FEF1D074FC7 -F501DC0D268040A74C54752A5FB0648BBD0A7D3A594C2DB890145C6B74ED5FC2 -D41466AF4F10D74E161BC5EA1C274D222AAD86F1C0EA9D51F6CB7D5FE1A6FCA1 -BA0DDEE4588814A09E5794E6BB1994F7E5CD35E3649601CE6466C8157C87377F -3D096CCBAC9DB3B66BA616BCE5B8D44062AC65236F294C199017CBFB8BD6505B -AA7A22D146DD002D36772C4F5162D109227CA4B92E9EE314E43B52174C593F79 -C532E1B4C5E72CD0872DC9891FDC532CD5774EFB23F82FA10B6449FC05EEE066 -2D083C30C5F288B452FBFD5BEA23B7A19EE07083CBCA87A2503B6AC0FFF65497 -6929F65E9E88B6388A84408CDCEB2874BDC72D06B033B886F448948AF3F9E581 -C4EDB3DBF7C4F22FCAA0C54B3C9CBFF77235D5E8F6CB55B48CCC5B7EE1F56358 -25B9E72DDEF7598FF08036634989CB8A416205A8A9532E2F3071A8921B2CCD4C -370B29DB1D9406BEEE4C93C2022E3075D4D5A94292212EAA9E260ECED28A438D -2CD8711837287D130D76A5132C8E6E09DC1AAFA65CE31C376A7DF9062AA3E3E5 -F7AC561729F9D3FC358DA3CE1D296662ACCCD3AB2779F13C8FEB5E2F0566C1DA -9269FAF2CFF44AD65F18BD6ACE9608898139AD229F73B4C1A310890BE0775C52 -A51486A8D721E0BA5E6C2126EADFCDE9AC9CF25EC0CBAD7208C921933EF4765E -EC4172C9E2DCD6711D770085A752283C785124317DBD66DCA7384FE9764A7CDC -A4109FC5278C13E2646034478D6A1781FDAF21D9CD3104A2261C412E9072B617 -65294BF1E3E1994BE3670A0A51E4C8AB05B18E337808A386E1FA85C3FA4E9108 -3ADFFE6AE72E28CBC0A8DF3BFED6777390591D1261F774444885730A5B3E6C67 -5CCC8CF984129C4408BB0EB714EB4DFDCF5F8EEF9F4872518F54EB58987CEA33 -F4C2241CCAFDF2566DD874D6050C094A7969BD831EDE4E40B138824196B460AB -15E6014BA2311D103ACF26DB9CB79CAB968943F4873D92370D367FFA082C93B4 -B4461D199ABA8129AFFFDCD69E98F5C27E1F849EF22FF0FF625D561EBC90F182 -8271DCC654627C1035B5DA0E0BD56830AC185520533EE701638D74FA392403D6 -24A9350C7A695186F896D514AA511063B2B668D8E7C1DAD8EFAD88B78B90986B -93F59E3F3375CC2F5A84C17D43857455404193CFE58DCD7CB725C71B24844B46 -8C63970C22366756B6B0CF8AF0F5F78080CC6B1E96207E232918719B23329EC0 -0171C78C0E5DEAE224C9FCADFB6A5AAEF93DB384F44C35B5CAE6FB41736B0DD7 -77DCDB5C06CE91E862327056CA27BB2D512AC904295188EDF9DBFEBE4175F55B -37A3CDFB2E84A9EBF74761A345363A7F10F3E99DE38D1F3B9BBE32B28588B40A -9D8A5267B485E38C489ECC00B4C81B92DC72B5C7051448766FF9D1FAC49A7BBF -28E672021BA5CAA75CFEDC9A2439D47D0936DD4E7D870ED4B4F4FB7A85EB21FA -AE2A93065233AB5256BC1B97DCDADFEEE49B4317EDA13FA14F6F5B0516535981 -046AA626A560CE8ACBF67EF302115944EEA6C17E6FC19EAAF1E46231F9B8607F -B6B1CFF13E0F2B8CB7258151CDEACB85FE82DE96F72347E6349AFA9F4DAEB0A4 -AF8D5D14E2F34C4A9C51AB1989DE4C4B164D356C30302C77053ADC1CDB5A55A2 -A20957CC440FDECF7D32C208E3F2840D37D65E817D1F677C812CD16B67933CC5 -F3DA679DC7B150CD17BF41F89687EC6B4FB201FFB8B819C5B990BD7CE655A4F8 -DF77295082E3087AA86DAC4C16B145E85ED81D45A504E39389DD1EF62E7C5432 -B66D9BA1F8E2FF7D85F83DDF43FD9AAE7E60AFF215A22F79BF128CA5019EF7AE -7DA8501754C0D1FDF05FD87E32E4FC3F1A4A681A7CA04237B072BF59FBBB75C8 -69F6837210B528BDD8F9E9788946458347161F55D26B52AAD431606632884829 -B3B9B60191C15E89FA1F20E9CF10A1158EB130E937E79EEAF943B747AA3A3554 -01F3C8F2A7195C32A85BF892753C0AF336ABFDB001C178D00631084D35257355 -44413849A5D963EDD74F7BFE9A9EAE9B7BDE07F3CBAA5B9998F792C6F4BA0055 -3406E4839974EFF70C3774E63E317636594CCA6C14A3772CF8B4032281B76F77 -33E1034E27BF474F0968F299C17DD2C2B8A0EA3ACD5201598B41518B14CB7092 -D79F08BE6870DBF673F60F816C69F440F112035C6BD22126CB013AA67492D9F2 -126970A7A8A0F058BF7588AB4D8BD180B8CF063623AAFDD7879E98EABE7019F7 -FD0F80D4002C7258F53E3EA9B8887D9D5794A7B3423200143FCF2DB62DFFB0D4 -B58C2C91A112924AF820541F7C4D85857926245E47EE4D1A08F9CBEFA442A8B9 -46028B56C398406BFAA30BD67421C96E096E870416A6C2B7E0A2F4A61294CFB1 -568EF5C36C6F91EEFECD67671213BBC7878455DB996EA4177790E5CE860A6A1F -38B82FE2BFA86436ED46E60BDD900B4674358CBAFF643901AEA043F330790F9D -E5257D95ECD588145CA9CE752EECCBFAE874AEEFFD9EA12A334FB63D6DC6B0CD -E0B86A4889736F24BBEEF7FD381AE7C4A3337BB08C650B2A8B7C89CF13D9B620 -C5149075325CEBEEF152A4409F53A3AA3EC9ADBFEF6A16C7CC4671CDEC51006F -E5C543189EF555778D3581D735880162627CED42B13E4F2FEE33C419AA518884 -E2DFB6D6F1C9759B260E7346814DC0A7A001F33A6372F945D060222DA5D7A57B -440CF0C215F125B9D327FBF3742C7F74A850FE6BAE73CA89B17A598CBB738AC4 -564AC942698A45A9F81008164DD56A6497751C55F1BF3D1F90851DD8E2F8C43B -542EEF57CB577FC9733C254D44E9A1CAA3102503031F638E68A59BAE6AC1C7BC -3A34C7D84AD76D55C7B096F6AD59E94BCC1674FA04CBC0E549C968A814632C46 -C632C393FAE776A024C3262DCF08347C4ED40D259ED7B0DA5E89B688B3F35E02 -6015A9303964EA2D5F4AA60ED1A39BABCBEA725E3504741B5E36D9E63E248F05 -A908DCA18AE5D6ADED8026CDC356D70EAD9BC7690B632752079C0C45098DF5DB -0E3D771E61D21B20B0360530DE3A32279D16DDB6B16EA1631979CEC0065E1B28 -3C4D59FECD235B616737229EEF4F35814A51D66E2119F6EAAC11BC90A26FC3F2 -804357330EF1763CD4B456B179D133533DCB37AC701CF7E8E0BC088A154FF096 -CB67B3FAF7E2580BD4AA600CE885F7BBB02327093C1FC596AB60981141031792 -EBF76D709C573F7202BC8F8C5F19876671062C7A3F13FEB3E1BC9B4D20B0D1A2 -D1CCCD0D8AAC6490BB3D412F3DD0740BFEFE8C9EB8D8303957D68688DCA33166 -6CB2E1E15CF38094933FF947E357D9759F240006B6B64A8B8BA46A6E43D4D26E -7A54531E3A3A900FC427887043367A14D88D5D85CC010193DAB07C2D4914DD8B -8BC94F066A8680337453DCFC19207627515CD5B3FFD2A5C6EB109B503B353CD9 -03BE5110D30C2356D9F751A4D777425ABBBEE997A0C37809989410B5988AE768 -8F1F6E76709C1DAF36C91CB44D3DFC812D289D2F470DEE365D2F3D3A8375CD7B -28DDF31CE000B7F885DB7286E06975EA1ECF72006765EABA9F75EE34D138E941 -80EC363FDE8B122621A1C18124202F274345C2D2DB2E7075541860DD2531A66F -71386B3387C2788E5F0BC9CC472CAF6A8F7BBE0A0B004D85A7A5BFA067EBE167 -C5B672A4DE0DF0A39467094774E472854E19EFB3D743ECEB342180E5A97A9254 -44FA677D4440CDC88101A4113CBBE7931433D7FC85AC2FB59AEE3175F22D9270 -1813D82E1608629C5D62E5344D672B8604E7206ABFC39F00A66100E4D560D7D7 -ED8FCF0368E48F3F8551B8CF1D8011C079E20F93A37840D969583A12F4632E63 -8273C351C4803F0E1E99AEB36D69E7DB704365791F4208139FFF42CC0C355812 -9AED12F62F6F61087D7550CDF95A5DEBD271F415CB72A13010A792F81D0A78DB -E7E03325A4832848112CF0F4DE539A06FBDDB6CA46B78E59DAA89D061F39463C -44B80A9B8283CFEA9C258D2F2CADEB36BD58C5DA2EE26D4E08F39C48E0204E64 -536E8078BC73D3EF26D9D249F20628784E3C8CC40A54B2C25555473CF727D387 -9D3F2D4BD0CDB02F41F597DC51B74D078271F71806E48EBCDE350040F8B76174 -3D4E6C8202ADD34E5B7319733EF19BEBA4BD57011A60C954FA1ACA3B14CD28FE -7BE9B4062277F681EA3F10AC9F9835B5FACBE7B918F2C93049B3F23CE9D99E51 -B1295363F246128C2923F8A7859FCCBB211B7426B3B19658FAD95E3467B89165 -630A85BD1542B5AEE76C7D6EF46FCC2C933407ED1FD864C9116F2F1F3CA39BC8 -32C0DB66A7E31B9C17BA34EAF0C64FE043D7FC8B512C8A79AA3374A78DC6D558 -602AC803FA2833118F5EF378A54F70A14B6DCC65CFC0760870E829176BFCC9D7 -F9F6B3219BF6835B42EFE93141C72CEBD230657B1CDF41F74DAB153694FA2FBC -039FE701EE119540F6E7C7F7B5A303A6CF48696495B902A8EBAEDB378BF291DE -1D9BBE8F9F82C20EFA58EB948CF5D8EDE0F1C18484534CCF51BCF65CFC833C27 -0DA24723ADA64769F7A9756B57409B3A8D0417CF7379AFC924D683B05BE96319 -4595214CC1203744C828F37B4A03F0345A3A28C87733D1A8D80F8E09C2E43A7E -AEA179623A29B4DC070B700D3EAC2B00555DC2ED46C834D80690A64E14A8DEF9 -17F06944A47B8C800F25CBD3FC4AE700CFC30459755D57EDBEB3AB92A62F5744 -B5D19C2B6E5EA782440088C609979595F13299AD237A00CFCD8B05A1569395EC -8D152AD848EAD77EBE4DD9F43E6A6320299823872D2095B90D65FCC36C3A28C6 -81C54FA91BDC185A6A4DDF63F76D68C79052D4B73A5DB18C5D867E69A446F4AF -7768F227B3B85D336EA06C78535D44AC8C862BE38E135477FF0E13DFA18D957A -5C576AE1D3290C6C79B7D95C201D1FDE254D9EB2494B3EAC175EAA43AFFFA682 -0C0A0FC25E362525154D9A0E869E2591C885E2FF480AF885B115956A5197DD9C -D206EE00C4742D4AC78B80A6B7B3503050093C7E4E00685CBDD042E9DF3A416B -250584D8849B7DE26A378BDD8199BA91295C7081F563D65D8A768A936F3FC310 -A98915827CD8F40AA0DEE30A63B2CB9FA1FDB58B1C7DA3F0F1AFFAA6226A13A4 -56A1FCC427844A3BA1EACCA1964E9293D3EC2AABD04E5963F5E3B1144B0796C1 -A12FB28FA42F6D68C4811582A79A341F84343DBE17B6299F538C89919C618260 -CF0D632AD2F14235BEE555BF5F70BDF168AFB7DE2433424C4124B9FC314B5F37 -8679077441C0FC4F8B2D8E4F13243AA1952E8B5A3A035328EE7C8C09800B531E -0F70026C7E68189D7C94BE0BDAA917ECCA799E1405CF618FC6CB26053DACF36D -DFC3ACA8EB6D20F2BC5E679D61505D23047A7C93EDB79034C2829ED267E82A82 -49BD89672F310A69B949AA35FD8CBF3CDB387C48646F81F51B909B3B86A8CF51 -1FA1637F574722576198D8AECD2CD9185481FFEFC722D929B573E1FD54B7B8E8 -CBC86FF89C45548CB06014E68CDECAADB8369B39A2ACEF79D964FAF4D821E4F6 -EF6810D72718708E1E64CE6936E58A4DC928D3E9E4AA5FCF04BB2E27353DA3C9 -7E84D43E59307E078013700155356B5F134F1D5FEB290C6EBF21DDB7E46CB54A -5E6D4FB62C00950B02741D5344E0C265211BB6F6C55E83C27348F8D6D2761DC1 -2098A0B68DBC1C5CE163A21ED18BDFC84144E364FCEAE6A9243609DBD1B4363E -877F2E26AF42F34E13B6C2E1E485C8BB9C7F1391122A682B9E9D5F00868EA0F2 -8080D7EEAF14E89DFCC25942E8BB917A5DEE2246DDE18F485667B2430056AF40 -524E708DCDB14DA6EA1269AF4BA225AB7BD49C86EE3B9AEBA2C8B1530A8D72FB -7FF7602257F185DC18F8C41765CEA7BD9C054DD0CAE1C7E725D2D8D9F0195516 -555596010C69833A45506984745E6321F2C7218C07828F2D52D9A54D042B0673 -9EC77314B4877225EEF527056982395EBEB7BE86DB016ABF99C941914BB8F89E -BAB0FBD6D390D2AACB75E4A1C0E81BF8918579E91BDCDF21DAEBA4A3B7F1A144 -C603DB6B498B5639BA86FDB53E381D3BD62BE5FA1127DAC61852A980D26A6794 -D1534DAA3240798581929CED645AC2D5B0B64850B1B4CCDEB7F8E5116990D862 -430A4C5A282AA682FA09EE612E6912405EE9B7A1AD2F329A0068CFD84E3114C0 -895DC2A112F482DE127F4825FD0C0B1A38A548596431E23099DD454A7BD9EEEF -24DDF1E299A3C0AF869AD77DB0382A32AF58542903E9E773CB7A2847C0598855 -C372BCB4BAFB7AEC7276AEB101602415D50C021A3144CAC78EF339CAC4713A34 -20C435062AA9AD9088B3F72CF88D541B8A2914A2144D4E3BAAF8FBC29ED32C52 -EA0A4B8CE949610FE35D78D1A1195D64EE01AF77418C9D49FD7F3DC2D6B6AC03 -0712C54E2ECDF64319343C5A544AEA526EC66F956117FF7C7DB4B171F6ECCA9F -02DC60EFEA273E3EA814B810BB44BE1A2A9FCC6126DD9312F55095D09891ACE0 -42839B6E743F729BFCF055EFEF6B49395B39A9D937AD3DD6DDC133AA88421EC1 -38118D5339EE09008149BE8D2CBD7D522595D53F0A7FCFFB00D61FFA185F653F -0765F9C61C732E1B6EA5FD070DDC048C1F9864A31886C0E68BA6616A34D3FF27 -49922B75F719EDD3A2C083C973C5A5756016393AFB68D0E8759628170B0641E7 -7B851DCBA6090DEB21F6B805EB66234E6BA5A3D1FECE2721648747568E01D01F -60F0147F20EE9EFAA3A5C6EFA8B72203836467EE18382EDD8723ADAC84C7AB5E -ED8774E3A3A94CD5D6806A93CEF48CF1B50EC9B387B40C2A29F0543DC9F70425 -1C18913567DD72E7811B907FE0AB9149AE3540ED2C51B6EEC62A08BB66B29C90 -7D09797FD3EE73E9E6047DB4A02A70B974F0C1F65E94D6817F9963A8E669B036 -0ED7655B15DA44DC802AF0F667EEE2C9A0BCBD3353F6BB5DBFB3B6EEDD712274 -2DFCE6BD0253A9F42CCA1A3DE7C49D39F1FB313FBC823D21CC2B598BF4D5FA4E -9BFA1E4DE80D12182C38F424C271F8BBCDF82253E448A59719A13E80E3DFB1DC -B0A3E4540043FDED9EC93A66287149B751883044F673492E625F4B09F79236E9 -CD69ABE887FFE13FC076DE57C84023C77673D69E2016A8343DCB2C60CF457A85 -086C8B6602F7F1885E1C21891BA9046E0396707B7E6C28CD4383ACE90D189077 -312C10E3E5E72BD1971148429565D3E87FA4CE5D3ACAF4F8D942CF7D6265E11E -0AE49A2DCC9A25536F272EE9E49779B158A4212F060395EBB011FF00A86070D6 -5B25B9A7028C12B7423F50F7C6B42316DA90A769B9AF0A954AB962CD8889CC11 -41CA39142313F4B953B79261D7F0BFDAD9F07C17E8B82A5E0CEE6CBC357D6E28 -6CDE8C65EF662E95B9E3B86B97DA7FBFEC49766808FBB0A8DC78B81DCB8332D0 -E47303767CC0122F4C7FB3C8749A995E72AB1D31572D4D3F688F685C32171295 -A71B398B524E50C59C64F3E8AC9EE15D7122A3689DCD293D7BE7E7D42E508150 -31A359793D72EC27ED3F367F9777587CAB3BEFE14DC2888E1F43B828618DBD02 -88B10C7EB71DA8818CE5407101D00C4E457E53A2FEC98707F407EA519BF1D45D -9C4184939FDA36445FA204D572FA795D9FF4FB7797D50FD67931007A73FAE4C7 -234A28CAE7EBEA14B545EF35C08FE94D5D75463B8FC02ECEEECB9D65B418F2BE -B7C6AE5C12943265ED0258F9B06E7120A59575F0DFCAA167AC38A306F7C67875 -5A8AC63E125DD07BB43909A3C6DB9D28DB0B89B2C76A007670A22403FD8D47B5 -AF8FFBF331374F803A164A0A52EF5F4380F30BB4D81C892C46A5E75F6B10DC44 -FFD825A545C957EB39F4662A5C313D2A4609E680B46BE4C1F6EE4C0DD44C9DE5 -9B03436297794A81473D9A5E4665420C6A392E98E62258155F63F5F4C43638E5 -60FFA20829DF6056B10D647F1EB2CB956A3208D6BF939A646700958F2E2DEDEE -DA5259D90360BD586FA73F0DC23DDF7640578BBB4F8ED37D19C5AD282DF493E7 -5E1CEE7F172221CB588EB3EFB4C2F1F6889C65EA47242250B28E67C86FD054AA -946335046D1D686849FCC3A6E1E3142BA920303B1B0884648CCC03BA7C288F3F -000304F1BD486DDDA1D6B03E6FC5F8D98A0702ED31E043C40CB6F8FAD751CA59 -EE49D32A26A70D96AC1D18F1FF57F22F0DF11C7A7596AC01814BE9F8569BBEC4 -80072664548BBB66EB0AECD471408284E98A297D15505E8A09A4A18687B0292E -683095D5868329B4D1BC6D44D8ECCE3E0CBE1BE8EEB80BC8CC72DE4B8AE3F4E9 -C946BD645857CFA918545309318A9064DBF3E706909E1BA3B05082CA9BE71186 -99F9E5723FA347879A8DF1B90AA81920F4784CB2B812B0666C5143FA24DB3128 -B6DC3ABA582941AD2D087063F470E120DA9410F8C219CF0FCE60996175F85FE1 -B89BD179F58D75440D7354410B03BD566AE2E5EC520B9E3452A6A71FAFFA5C28 -8AADDB077561CA7429AEB1F6864C06E5707962D4A1993D445A587FC5BC497739 -237635C313B9A65D1A6B53B129439D42C31373AAA8F7D687A4F988D7C82D4C81 -932A09B76C29A27716BCD438D4D08BA2B467FE0E2C3B50E82DC04A4B0E351B26 -2C3D421BA2C7403A5D587C62DAA65899DCDA98BDF2BE0554AEA617CFAA1298BC -1420CDE9EA38C1EA87DCA25E25F6BB1E6279258A96BCFDED6BB2F98BE47354CB -FAA54B69E2E74E8B7D09F7E43E3101CC7133B51159B971D566FF27B6F4EFDB38 -86C3CA1D5F2CD03D0DD7024F6CE4FA5C8F3298F4C3E58F086DD2F7B0DA9CE34C -B0477FC7AD5C1A4ED5B94EA6E145C0FD195736527C9A2727655E134CF5EC08E5 -C0ACC6BBE2D09FD95EFC123A77D1428765CCB7F8A8529205CC4E1EE8AB4BF3BD -66448CAF34110D7A84EAD50BC8D60CB3C37A86DC0045F5F3B87F08ED2D4AE659 -94A75FA7F021997AD683FFF284CDC8A5D2F0AFE9827F6E28BE008EB1F773B7C0 -B161996761142A37673674F1A6B0AF2C5AE6B981FFA447F1C4016CDCFEEE533F -A95296CB5B6D53F76F3F39F01ED4552FB98B24177E385B26B180E6586A63E815 -E45E2FD4C49E9F8E0238CA0701071C2B65580E0477683257F5167F5AA91051D5 -90D70DD37239 +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C +5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 +62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D +6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E +1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5 +648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1 +FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6 +754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A +E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE +E75FE714FFF3D54D09C9747ACA01CEFD260985C6E87477C9C7843343C7E9E3F4 +0537D461EF019E046DB8B5BA258462B2FAEA1826B3410BA3333480CFE0DECE61 +CE2731FDDF7FCF2AEF7CC2B1EE7095F480B3B27932ADC486BD9CC130D94BBD05 +43872FEBA04FB8866ABCB4D379696E73B84BBE98FBC4A16CFF22F8A7AF754624 +2912C228030FF7EF23D51DD61BEB5171AD31E2B630475E16B6E0F3C78D44AC30 +712D165DB658FDA800798803C3CD32B841E159AF0F748400314FAF5038EAD574 +57D57A34CABDBE4B8D145E439A11585A0CEDB161559AEE6459EB57592ECBF980 +681ACF9AD4AA4BF09071C600432BC884639C5F2C3AC4B53CA6285AD78B3070A8 +4912ADB3C55A03A6E1A795BE1026EBB6C6E90DB03B110D3F098CB97BFFD836AB +EFFE06DABB1B3AF419BB3E10009AD2DA9CB7B01EDC45BD60B4BFF2C7E54036E8 +5B6BEF57D32A76AADAB3B1683A49F317F6ADC62E5AC8BA5514F1B560FE8C3394 +7B6536F37C106A2F7A346EFD1B0279949DDAB840CB184F55E74A1517222483F2 +F8DD0E850E93B6F294F711DBB234D59406AC5BA131B55185128B95723E5F064A +8C00EF33860A0467B3ECF05E9CCAE87111A62D6FAE5A661014C7D1E7292AF006 +F77D59DD6993FA330DFF85CBDAC37A18D22AF83571E74E93E55AF28C9438D71A +CF5AADB51C830DFB43104B9094BCF1241DCF70C3481D70B0A96718ABA59A9912 +3D012E528626FDE23D941ABACDD35F58F19DA750BA17D5785FA604F4D91FFE46 +B0AB1158E2E16D72C6C1D563E647AAFF306E3156A8DE6384030E1F83FA970026 +795E8C9905CCF7E0C355BF05638D13FA6B0DF34FC42F166AC2B66607E3DD6A0B +0F19D8DBE03FEB652D9962B9CAA991223F58B3B945FD7E893EC56412F1D6DCE0 +2BC705DC83EA7109A632270F024264A2DA7311C4E185AFADC8D2C6B58C0BD2C3 +4B38AFDB4EFE7E6E03F76E53C4B9751C138349D42FF32951B446AAAF50C4A9BA +90650B757DAC00A06C047685725F0D1D8E0A7534B26261AB4E79B5B88182AE6D +E6FBB991E6BA763687CC9FCBDD922BEC387620F818A7389157AB8D41792E7CE7 +649B1FDF4B05EAAAE1B7301710559EE1E232AF70DD2E137157657237DC466C09 +183D1EFD1439003BF9D14D4CBAD51274816E094ECDD8D4477FE9D58122AA92A3 +1BA2D3F48A9951FDCACEC51FF9835B21C8BC0E1ADDDCEBBD3FF56BE075236F90 +31A61C56B7AFDDB9AA121A24F1D48FCE58E1C584F05B5556592B80824BD2F9E5 +88ED93DB19CFE5082E12B3158444A5F955A2392D840B3E52C74651ABDF75263E +68C8B20F6108EE6EEBDC836838FF413958C294E140FB3679963224E6288EF036 +654CDE66C9FF8BB505AF95F29A5EE796B58B7205698375727743A69920D43D65 +C1F9F203722B0C6F400BA4F72AF4973CD6772BE36E304EF8983793547EBCB7E7 +5B93EB6160FF8860E4B0DC3BEB649C7D8E8BBFFE919E67661C00A7AAD0E92D38 +5BAB4A07BDF83A31AA8CAA6B995B8B7D0CF168E7488D4CD98A7AC3F0A03E2BD1 +0F6D9E915C1511976BBAE3C6000D428A52114A7DEBE35275E642B01C92BF9F8D +E48CAAF7DF91E17359FCB334E5189359A26848FB3D21368120A93965C5E695BA +49D584FFE6A7463499E10AA7D453B7B39A4E69395C9142150AFC85B6EA0D59D1 +D2749DF1E7B14F7C1977C9117A1D7295F527D4FCAC5610CFCA887632DDD84014 +7104D659F4EB53A4C92D553EFED124192BAC43D6BDEF60F3CE6A8F7E1946A2D0 +125435F0889CD55C6B77B5BCB9A76D142E802B56CDF2235A070B88AF1CB857AF +8B11DDE2A9086BF1D250C2E355A4C72A20956992B43013F0E5258165467AFDE4 +9CDF57B377F18E497004A59EAC9D60F72C8138AF828A73AB373D97AC2654E2D2 +58150C99F15AC779ED77FC223B3E7945A29C8F12653ACA9A717CA5FB39209005 +2894F70E3D5F027319264BD398F94E4445E4A4D54E3CA1EEC859118192E0118E +78F9ED10596D2F87816D710DF57315BE9FB0BDFE63E74E4023A8320DE5CDCEE3 +44534F95653A5109043AB0AE1E838A85538DF788BCE8C3603DA2A51909B61DF6 +046778206655ABD87C14583EABA345328C776F58DBE125AD481D4E922593B8D1 +15972DB2E1C6BED5870572216EDF4C19D7C12ED2C37E49E6E6CF552B0E9D9EDD +4F659CB21F3EBD36F28275D69105BF903309C8A7B20258A9642B0541E033646A +61601867A46F2A577265222BE3978E6F84C29576F2DDFAE642CB5F42DF45FB24 +FA36EC2575A286E4CDFA7F27D535E408716EA40BDCFD7096A5358E9A98F123D7 +92E8314B8D51D763A84993E7D45BEA3195EC3DAB2998DE69CBE2C92A15680F91 +76A05F32B384AFF81750D6A1662179FEE5C1CA80AC689148F3D99E0726D68566 +2256010D2B2274742DEDEF94B338525FEF89E5722CAD34EC2C2BA8AD1E7A1CC4 +E5B71EAA6D0069DE687C6306C3419A4F9BD7E5C9D9BB215E410FFBBD6436B57F +C4B18AFB2A3412EE490726FB568CDE52E15CF7F12B360DFD08F6F43F295C4E9A +6FA45D706C707B37FF0CE27BCCFABFF5417DE624A266BADCA629870EEFB43B41 +C5859A5219C9520087C213583AA21695E020B4A4743C06F3A1557AC56CDD305D +D68D482A6D43F8E9E6135EA1C1F2AEABF167FF4869B46F57207502A39DFD1DC1 +25270E5A3BC02A042E2F98539F53A563364793966D809E17DFA9C91089D7B8F7 +B0169FF8AD8D88BB5903406070AAC303369FC4B7CCDC42105A69674BADCD17FF +F90270B5CA84DE742E5593596E1ADA971066DE7A9A6AAF884C9312BA73313289 +28F80F803BE810B0C62278C925B41E22441F3018DBEFB30E9AF1C11712CCCB23 +E392DF6721C557E3523478F913EE3CB5CD1A0F6FD60E32D5F00E281B87E1846B +C629E4896288B86097A2F02DEA398F16E09681886C1453CB71FB4EED50EA998E +36F164980A2663428298DEEC9851F7174394DB1D21EFE96A3960A7BEC512162C +72D1E85E823B0FE1600C36971B94A505A085E3FF9BE58FB6205ACB7353C03FE3 +71F64580C76AE11F25425D9C0682F42E9316F5BFCEC0F5D8D9D830FB41AEDA9B +C02D1A77C1CE5FC6442311150BC3E4ADBFD779DC186592D4A548634F07A16C26 +B79B9D641EF2AA8FE056AF840F16FD232AE1A530B8D23B99D0984D7E98C90B55 +CF4D97F40CC83455CF898CD9A6F8051C30B151219B60F9468790F0A7F4CD053E +542E1EFF158D94F4ADBF05DAAE0581F56E0F5C8952470EA0D1245680A5AE661F +D2C83B8D7339D55401690648D47AE9828D233DB32F6C9D9493255E9BAB57C9D5 +3D08E5975F1A844CDCAAC830DD6D2B99C6BE2D2690726A913FFC41DB353B905B +5B6AB3ED132B53F19F52A6F82ABA5077E0E5E7CFB1087A01B311E943CAC3F44D +72F28E989AD53808A158A37E73B8E5AB83A920AB36C07BC8EA85A9C78B12E68F +359661C847BCAB2A6D223CCC012528D868DFCA908C09C0FC39785CCC20D87781 +F165109222779410AF291A3655E2E8199314278E52CF03F93F02502D878583CB +F75E27B85DFC0B00A2D475201786A32059E04B7F0FAD834A622932600BBB4747 +8A62B566D161E96ABD0195F7164CD84632372541A039E98F75B5B3947281F5B1 +FDD2A16FC8A06A9D16A3886216E1B7DA3EB4E07D25BA5841A21E926072050BF0 +FBD35652E7F3E33B911280C1D2BB6F62CDB5F5CC92540E34949B0BE3E8591084 +6946C8345A0A04BB51574D376C0BC65C7A10F2B1109DB99E62B75B591830BED5 +295C0204A5199E70974A10E61F5DFD751092EC081D9986A1D39D9035237AA552 +CFF4CEAC9CCCC5E5BD17E52E1E80CD0EEFF7F54A9F428D2D6EF035C8434FB215 +1F64D22D77A744D02291B06BFAA9EF6602E0E0DCDE7CC0F45A778D9793FC5281 +8D4269E2F9B61EDC1A3B8D8A75E65D4DA5B3EAE95153EF55504373C24C43D768 +A6D1E210D22FAA4D08F99474BDE3C4E0CBEFA6AB7F6E0153AFE7B2D3A6FC2B4A +9C4955C15873D2460C94519A5605040F866AB6DCE24200ACCC6A7F685BB96737 +5F82C2B20D6D33E8C482241B82BF228568C542758207B3F26BED5AFE57A0BBC6 +589A676A958E8B444EB839F1508FD1B8D995969BFA5D4DDF345D536F24DA0052 +6C626FD8800C04C8E41A523B9DC0C4EE10D456995C2304C36CD4E867DFE91510 +36D534CF0C8E60CA8DC1815C6256484010BED831F0CB0CDD8FA8303A504B7BE7 +75C5DCA66AB89167236F6983219DE903DE58DB7EE2F04A501E573AACBA610D77 +F4445E54AD79B901DA24C399DDCCB7AC66249E53DB1C3E8AB1B7CD20F0183412 +D10E911CB758B93D6BABECCB29621EC1F1487183603C68AF7130E06413CDF3D8 +9E7EE2263B5D753ECB3795E8E6ACE1BD5EAD4E646F1D76A482BE76D09DE51427 +EB3CAF3876095E404BBDAC2095D8BEABE73C3E97725C34EE9D4449A1F998C318 +A85F8D78F772E4F67B2F84368E1E77BD9B9610BAC6FAD54E047FB71F824568A5 +7AFD5293F486E26BCDB1D39972A30C87D4385088F7D5982D9845F8520CA165F7 +E78E259C139520722D213C9BC811979E84AC1C2054C46D560135F19B87D7539B +E851A4F76AEC7773F782CCDB2B6DABDEB5711E4CD431A86F5CEFEA6A4C60CC03 +1A1034EE91202F9941FB29D9486042B3BF9A70F9FE0B6D85C50D9B96BE3EAE92 +03331644C25882D3CD9E082D3A2A52798F51DD903CC927AA44C766B782D5A9B1 +54EC47ACEC605C2365E206980EB767E1ACE381154509BADCDA7C1EB736DD01CA +DCB8D7F7F235A8C7D2E34A5C989C2098AC19067AB250D7C16ABBBD2FC8E4D79F +F07B9CD3667D19FBFF96BB389F3F753645BA0DEC0A123621D506BC31E9095722 +10EDEE90C92670CDA95C17E4D7CAB6337C8FC0F20152DAB6D3BDEB16D336F478 +FE9A56C823B84FB62AB0AE6C4DADF7A0E7371AB52354A1DF0E9119746808255A +95013629C536E1DAB1D4288171244D5F5135003EA03D23E222E805EC2E00271F +9894A9E82B1F9EB36061D92836F31DE252E30954AEE7CAF8DBDD66114FA2B2F9 +9CAC74B353B7656E05835172735979E7DB48681B641A7485F18E460398028B02 +AC62210C0F36A7FECC771106BCED57DF6334EE566E0FE2BAA03E6557AC99D81A +CA025C8D1D2719861FB05F3901C313AE4189A403BDC9A7D648CAC3561612E0F7 +3F668F58CCCEA9A1C6F4229D575B397FF16FE843C9875D7007408CEE84F6EB63 +5DB941E9AB63B18DA328A44D401AE71A13CA2164C4A5BA7BF78B0EF2AC20EA97 +780F5BE7AEDBB15A4D135BE7B322254E32EAEE7DE78EDC69872E6AA4D15BABF9 +EA2D5723EE875ED677D294CE2A476731E010D3C204CA8063D56F1EA7FAFDA2A6 +A906C3F80DB19183D048D140AE163BD785E3DD7545432F25FC63D2368E506EE5 +6326065BA138CEFD02AF2055D38E5918CAA4BF97C94418EC6F3E14F70140CFEB +432923B2EE162EA0C3DE430E908DF4545B058ADE35FAFD0C82AD8018ABA534A6 +946ADAB80E5D410F034EB0E22938953E2A1855387CE4FE9A5AA9CE5A74864B19 +E0E9100B09A76442AA75BB5CB4F622AA74319EDB66E30F16CD3FD203362935AA +180EE9918F4CAFB782E0741EE6196B640E3F0F2AD00B9E9EE198C85AFDA53319 +180EEA95DE8A78F9781B9787529A75E890E9014A2AAF772520CDEBD3DB92A429 +E125581B1CFE03FB7570FEB4F821AE0889D05B9E011643EF88E888801FF81457 +ABFE4B89A160C84C69B129A8434EA9F396DE4011A4E89DF1D27967646FAD2339 +78A9F37E1F730EE96EE3A1D98851C45C5F16122639B326DA74B63F637084678B +30DAD882C0F0D25AB93A7A4DE413A41381A35E2927D4444257AEF9ADB5260A35 +8E74E6A8CC720DED20CA0C1539FB47F96156450C57E7C0FE5DEAF92F47F2E0F5 +BA9FCDBA25BF9B8326004755A4F4008EE63FD7789666788AB1F3613AE5ADEC78 +0A5ABC85E7DEB5508BFFBA9279C50EF9D5E9907E38EB0225C7562B8D857548A3 +EBCFE3A8F0EF5C3DB8955FB995BA5A482F9FCE4987FABD8D375AC72E4FF7C774 +F48C17F9B55BF5AF12906AA0FAD20934C7F080C49BCBB3F321A222ADEF47D283 +859755588716B89EAD7AB3AD5CF9E0DCB524EEA4A6353BDCF51A5AA45F7F830C +606181EA7158FE373CADAEA1EE6B0528D95DA03C7A03A1BB2CCE4136198972BD +445CE59483ACD728B42C40DB7A072F6C82C7F4FF01F8C9FC525E4A2DCC965FEE +20880CC3A8543F15082C382C30F4FE654A6092B10DFD020B790B2D74BAC86D04 +D16E66EED137407055A86070985E41312C5DE0E899EEFDC13C070CFAA40AA4FD +3CF1B702A713E877B3AB844E8F639ACFBCF275003F6A3A1B5AF4FBBB0AB04AA0 +52CF9E7B50CAAF2A7D76AB50236694CE617A75AAA31C0DB404298234666CF92C +9D80B402E7711C7F5489BA6E08CDF0E47866D8EE5F74755BF55B10150D59CA85 +3395C4AD476C07C9E3F2F09698FEA720AA3C1B63611CCB1B56193594A24D5F41 +E6ACEF5989585051EA8650A20D727C179C17C40C6CDC9A7B796596EBA4BDF916 +7A3110FF3D5400ECEB533BFA9D16A931FCFDFC36C1C62F7C09A0AB3E08489F4F +D6ED312B44B5A8FBCD38F04C89E3BD0BD14C2746C499B08DB1C2922CD7AA770F +0506823B6007604A490950D6790D024FA38A62762CD693EA10A147CE22107376 +AAED22AE7F02FE1B4810A96A3840741F12AF3E57FC5849A4DE53E296A2B78E7F +58085E498B304CC62F513ACDF0EA9EA29E8A39E67AF057CE3735E8612F98D9EE +77EFA7B090BC8169534E3FFE43F392292D231BD04591AD35BBCF6AC5B29E805F +79994B73DBE38ED215A3DBAA3E4FE249E59CBF889E3129C99590536BB69EAFDE +94946A9E58AB3488F0E6B820E64D50D65C4D399AC35894DCFBD1358802F5C0F1 +0F628AD4048701ADE6522EEE704105230336F14FB81A3F2D84ADE5EEC2439A87 +BA5A647767EB8A7273CBAE6DB0E5DB87C00AD1C8CDF539F6D00DD61F102DA4BE +EA6637A9681163EAD32D8913200EA059833DC67AD40A0B69427A588F0DC0A93E +E86697619084EB4B3B3952EDC511879FC526C4A702B7E6453B16727E51610E5F +BAB227F6C24874BDEFD5428D9254D4A87526A3324AD6F63557F7296B377CE53A +A6E27FCFCF9F6170289187C5F9701B35D822E764C1E25296C5747A216384DD55 +B641F02F3756BAFDAA08B7D2BB293D9028D8392551F5BE3C9906926FC2F5BE7A +3124813C8AF7BEE14C184AEA21515452C07B0D3D4EA3AD6AB8F9E5B7093112D7 +ED9E958AF921B6EAD2DCE5CC74D651996F81F5A5EC55D438C7E4DD3248862F57 +3DC28CAE798B543C6B8FEF03B55B158C96340D27A5A57B39A53883D174ED7A83 +0A2CBF5DF06999630A74A63B59888ACC88E96A13BC788F02C5433A0044D86DBC +7F8F5D5FC2CD8C6AE4E0867DBE1140B2E2C90F4CEFB00692765854327A9A73CC +9B52513076AD8B265E94CB4B8FC0033CEEF644EDD772CAF83DF7F0949BBDBD2C +F681D17D257787B3B93C4FC5B5ECA7DC18466FB5DD0F2A3D360A9B35F39D57D0 +105A0A5FA461AA14DDF1A95CACDBB531755D85867336F5491A1B147DC530EA8C +1DF6660FE3558EC163C8B0BB9E4DE424AF228819DE1EB8168C3187C6590372C9 +2FDAB4A0E5A08F1121A7F2642946DDB6D1E278B44F9337D31DAB725A2B6250AA +4CDD4FD6D91CC78EC693AFD3FD30F697446B3B45DB48467CCB4903C25B0BA209 +24EA4BCB450A1FF5153ED0FF51C4C2767821A63281070E8458501627BDEE7B62 +166A66F840493795981162D9C4F19787C4EFF2058CD685DF1DB94102FB88F631 +87B546184C81D6953BA2D749203FAC6520DFBC1898DD01D18F7A3ACA2FEAEE7C +F013E36C83CE5B56A79FB90E3F3BED6CCBE8433C8A9699DC7CEDB60BC1534271 +4CDFE08C178BDF612E4EB8FAD203B08EBF8D43F0762F09E1773715E75138E932 +B291DBBEBDBF9269833A2605A3DD5C36804077C7A408A1055EFA2A1776E1F9DC +914C5965795508E5A65D185596A37BF91CF5D72FF27BB20FC9013F7EA391C892 +8BC7C738413CA8D3FBEC8E1DFEAE2DD22E768B5D503A722A430DD6B88E69B2A9 +1AC29D68B111019886484CCDC696C6A87F1F67462D3232C84F431588D38EFBAE +D8C9D1418D81561F75632154173FA6ACB8A8CD8B7DB19B50A54A265C0CA7B0BC +DFA77DB810691538ECD0D9615528F7DDD83CD80F97534C7B79ACB57E7DD37038 +B0FDED1E2A80716D2687C4ED42669C280CC14A116FFD9218C0FA289D24A03E51 +2DF267ABC9F9AB70CEA856A0A5EC28017174BF03E32ED851734DA4E20C282201 +3090E1A218C3BF3B1AA3B28732A4D8F552E9A9163BCC6EA10F708972A8BBA763 +9D489A1CC41FE78302CFA605583450FC7215E141AE43AAFFEB28C19411D5F5FF +2F43DE7454CE4F6AF1A4CD704E8EAFC757AB202753DDF31D8676730D737F4051 +54A920003A0F336567F245356C6EDF40810B532AB5B475E116045C7798EFD152 +D76F0B5AAFD5A581AEFDE044360CA79D5F6776D75BCDBCDA149C2CABE1CCD237 +D1DD3C5166D7C3782540C9EFD1EB34B735C943A5CC7F7B804F92110A5AA95E7F +8AFFD2884BB7522392AE92A89913DCEA0F28B7B89A244C992A15D0B8881E6F37 +D5B1ABB54B970B61DE93578A12D81E4CC21861BCB1D287CAC00502477850CC0D +0DDC29D2DE7B362703D7CB938DEB1A64935B5C07B25F589E3C2369E1CC12CE57 +5BE15FADB9E65068B94B16242D3F0181DC92BF0B04C81716F4E197F04C17C568 +416ED85007EF4CAB706BFC780F584633922547178C2D4AE60A8D2B7BC2628674 +15D8AFEF916B6A2EAFB651697BB665A9D53DD0D0B569F8270C1E35C24DD5D2A6 +90257BE909FD3F2FC2BA7EDDE451764CB87897823AFDB0D2109AEDCC5087362C +783D3276D3388841FFEFE969601A775CFC5AB41137D5E2B86F30C5A2DE485434 +F372BFA764BA67A1B7F54BBD37FFA74A7A927C25CB63032C194F1CEF1D861829 +2EBA90769496984256A7BD0F2A427B76964882486906BACCE372616088E59E34 +603A6862A0AA2CF780DADBD2FEDD4C74FEEC3DD5E9DE299EA4FE3E60A2EFDF13 +EEA265F9988A2DCEF04FC29753F88E30AB8AC6F11935D4863F57BC12D38EFDA5 +CB566A8FCBB2211B58B4E99545EE6E1BD1478B3D4191799E3234132BCCF021C1 +D4FCD08752F2BF8F4A2A05E5ABD47F163D95CF160CDCF82429A6BDB4F72D497A +8C3C4847EB6F91BDB98786FEC2150C0707D9F1D7E4FF61685EF0BEDA88765072 +E29ADDCE776BDAB6808573E82ED790444457D1584004DA42192932A06ECC3F52 +42EBC78FAD914F5A85E892FEF5EFD24D011C5F0A177D61688A7877B5EEA3F9BC +97DFE25CC815A67858FB7A11D40EC1538B1879051120FA3A55C089BB9090360A +5D4BA4A68C8F94D99142E37D619723534A00DC29AF3F1031A6B6F9B2B3CFE40F +9E538DCFFA89CDED0FE65BAACCD42EAF4AC81E0E3544C118A4223D87C9D82B4C +E7F3D5DF5D04423A3F809B3806481D689AF165EC25FA0BBE9F052DCD8FEC161A +1491AF032649472B5ED62E74CAE799A744EBAFA9EAFD33B09BFEDAB70ECC45E1 +461F22F533596013B865CE7C6B0DD363AD150085615C36F4012B0C2367898DEC +6367112417D2C477D1674C091F1B87575F0107DE1E6919A0B3E23089D6371942 +93E2454C74599C144AFC5ED60AF6B27671821F08063FD47B6BB88D37B2D7074F +D0CCA9AE060E99856D7612BCAAF9AA1F38879B07D1D7F568D872194A862C211A +B959CA73B5042E1F024FF6C46D1CCB93179B8EF60B7C003FEF273F4A8BB18F3C +F51F479543497B252548A219EF8C3643383362D6CB8D990415579589DB86E011 +457535ED6E63B9D9ACC38959D6C68069DFB9D3F72A9B0E0707EC0D6B89A5CAD9 +A8D74A1A1FB61788514579DD347B64681BC247B4E2391B92198BB9B7A16C8D5C +C29B1F2EE9C5E2484D915EB6862034DEF5D7757588CD8F44EFF325293A8E2CAB +3D75CDF690359CD1BB95A8DBFCCCB815A5B1DB3B8C7EFC795D1F5B07A08C6E42 +01C46FC11BCCE630AF5055380EAEF2BBE7B124FABD4702D0C620ABD776AEDE72 +E7EE27B34B23CF701C3E305B3D06087658BA8443DF6B6530EE3D2F548463EFB9 +3F86D99FEE1640753685D68ACAE49ABC661CD9408D49588161B2B8F5C9760B62 +90EF02FCCE05EB43BDEE228B11A0F2A0E25AF8DEAA21ED34907094D57602F530 +93B2FBF0BFEEE3AEB27E97D19AB6751A7D7091B58912EB954EEC6FC62CA1FEAB +3F878C9214BD5085D49ECD04D8A811047F9B1E3D9E23510BF03F4D2FCC62AD51 +C36BB125B68D83A57CCD1B5C06876793C373FF0F201A83F3435CEB3A67C44048 +65D41E0EDB005F84318BE1947C8C66D79F36DECA043975383524A20A3A71D703 +613F52BBB49FE292871F5D87F18D24B4AB1D4492EC457856915A1DB3F13A6E6A +445A3CF286DDBFD282FFAA768C2B019C8C329B2E61EC3DCC8D16A5DC2D781C7E +0FF005826FA22BECE6978B61C4BE296D35546EC1D754A9A916C236BA6ABA545C +A5ACB0C001365EEB32CA78B773C81EE63299CE728C349F28589D5DD4E9C3A81B +2EE0DA75AA8ED5C6B23FC630C5C3907BBBCD01C83D5F2D07E936AC4B09333C78 +6004D36BB2943B4A5B644636C65753899448E04E967A7F48B186EAE079041782 +C75552B617052ED972D7B6FC5520266582D1F487EB4EF1A3FBD1E0848C80BC20 +066B7443434F1E2CBBDEBA68BBFBC8A38279178D4227821E8DFC21D0E2EBE901 +F9B5A8040AD1132B312A6B0EE9D79B2922C972A24BDA1349A3564C3CC5F02E91 +E3DB08FB2DA6DE7E255907B259FCF7E164154AB4D72CEC17F2E75085B0D1868A +8A58A959BA88E506D8BFC0A184EC7888EEF77C5E2B5BCD22ACC4E6B00B139783 +E39069AFA2A37B2B4967AE46B9AD37659A3AE9A3DB12FEF79CB6AF18AA1D7A5C +B2DFE741C367C6C4CA243309056EB3B1E108D9FB6EC8AD273DCD90F47FA5E2B1 +AA7C4F9FDC46E6BDDBC9F1322F019F105BE7DBED29488F3CA28F9190095A552C +CCF84B07899129672812CB1569716951E8F5725BED497AF4E30359682C293BD7 +C6A56260826EED8D01A243CEB4E90F199AC0E13B169DD71031A34DCD0416F6E2 +5F64628BE29EFEA5F2D1BB19E16801A3E1141031B26A8FCBE9A743200179E8D7 +1119B503EB36E2948DF7FA999B9B727341FE50434ACE2C3C652CEBC5F6BFF03E +2A33576E534068DADDD223AF11E43B8C4BB5D1200B4254CCE5643CBD73398234 +0C23EFF923ACA9153E65E63E37274D9BEBC952914026E0D661C41620027B5B3B +016EEC9C0442F1C3C59F8F38BEB118FEB9FCB2815BEA7763B5917A2C6F46949A +3D1D30605B4AE5D3298F4E96C2094D7B2AD397E4931CE82CC820928B215C70AE +5A48E61E9B457E869D2D99E34023553B90836C6A836791C8B8E817C57BAE9348 +CBC2EC7A2438FAF387BAC96986380BD874C29EE03DA2C9783C84CDE58F15773C +15568C23154F885838BF4E8F7F9A0BE9E9480D0CE94E769EDA4AB3BDE1DD30CE +B2A8B8ED3843CE96A201A423E39E3A45986537A3ADA499C61FC9F5D538A291CC +F6CF384AF64B8E1348673CC6B317B02AB47A88C4BAA6F8FFA0FA674F600C0120 +98314DEA39A7B5099F513283D572127EEA6439F9ADACCC981CA002E9E9052846 +B5B6CDF69389187DF7BC8942408C71B87C1BDB0E500E9B2E4212FC21340045F3 +E4C421BB9BE10E4C5802524500F4031AA36935F92D8DA29782A13D8D80AC6A57 +D2ECF2235FBCF6E0488C4523B69448D4D6D2040F7204FA910F09973EE65502E6 +4912276255CCC93F30471E517B2636754BFEB588A110BB0992A8AC423E83B22B +5591FF12D13011F30C5D8C6A3E53F72195C815AE0E613551D4A5BF7ADD5EE851 +78459EFE389D7213812607C981F3F336D3872DC617E687E4C8639F5F58DF1B0D +9F8F89EA14EB56A0F6BB0B40F9E98EF7F1774F756E8A1249BDF018B7C106B6E5 +E3DA46DC768B2BC9E6E0BFD0948F28FF5186B81A6D9ACA6F87979BE5B243819B +C341C6B5F9FBD2709D5DD4514F55B16EF6C20A6DB1EEE8D06AC53D6A593596E3 +5CFFF0EED18A48A8A94217F8F656E7FF0815C7A99DEAE190A46F6705FE75EA36 +F4F40100E125A77EE96425FB83E4B470E37AB52CB7E12D57B52C5C856BC1B634 +5A9FD75F12854EDEC5B49A4EB5A4506A073971BA96D86E8EFBE4AA55A80F08E4 +F9FE6F7EAD3BFE9D6AD23CE23A42508B3D1F0C5C706C1EEBEECDE969D33880D1 +DC553F44709645866F3BD1BCB8E768B0921A5EF72DCAACC194A56F970B363E20 +6F427BB9F981224745489CFB750C01A3F0B7FA898E23A3FCEC7ACBF263A4CD6B +9BB07614881C937DC99A90AF67A9D7F98D90CB6BC7E68A35A198124F3C4ABBA1 +B2166DAB62F411469AD070C81C11D79FD6B7698E45759695CBA05E7B7880DDB9 +E4E2F989CBCEED6C0F3F164ADCC88967C29D59FADA20AF5FC2FEE18FD0201DE8 +F49D96FE359741C7FA44FDF60BB354DA8116FD5B1910D5A26DA3693AF9EDAA68 +21955C318B5BC1C0C020ECB1AFB1090F4584B6BB616BCE5FEF3C0FEEECC545D1 +DE92766EC499E8BF2CE72DE9FE7611CAF4929E7B60DBF82175757080DCD053E3 +E6E8AEE50B540A0C27BB02D4ECBD3EE8B7ADC3312FA31F6C2586DD03505FE6DA +B462E28B67938BE4B6748B6C8C8A773D454C7D537A695EA8AF0D84D846CF3B27 +D43D15B2263E8ECB5C3BDC91DC45A4E1A3E74DF11CFBB148472B9B320CAE6035 +57DD58C6C05877AC98507619AF78FF76F8C31F04487D82D11CB645C8927D3421 +0C9F889882086C4082B91D3737DC1222FCB6304CC8582628F84D7F88411DAF98 +D2B31E67725F103EFA380555C09A9C01778A05EAD5549DC599CC377D38AE5300 +5AC88D41BDD304409891F0162D3903075A4277813378ED1530310EE75A28EEE5 +489BBED315CEE9928C012B9210E7DD4598996CD7A4A896DAE05724EC43FACD97 +1511EE90285EDA062C703A602B14872122778BE37609FAA932EF0CE234BB4941 +562C19702DBB1016FC64D60CE11C1BF1A5C4CA404CEC577A350C27F87CDBBCB9 +29720680F80556201296302B64B82782C34DABC6222A36CBDEAC67306AC65870 +B4CF79FBC80ECB5F99121058F1609E1EF924181D1A819602B5398845A70A5D6C +424E3A5C6BDA08FD2937871ED1D82C616F78D56C9307A62D654E2F41EA6CC1D9 +595963C8F308A250B855DBDDAD4A608B9A1579756B70E643EE3850010C1D8B7D +35252716C4806A79BE13FE4CAD5269EA3B2134EF402478A5A0ED0A0D27AF1EED +36F9F96A058957C383A19015531250B07A63ADF11769031F86AC1925A0FEE3C9 +ABA906808A9D8CFB58C3D09593ACC2B735B956E21B5C1139AB40CBC12F9C3C9F +EAF0A42CA26A61424B047531F5C32E0A331960A08BBA8107608BAFC9DB2C76CC +974E9EDA3840ED36B798902674A27352645858730DFEB91DCD0C2EA4514D5D37 +B4E4BBAE31D3F6282800B92D9B76AD55121D66F35BF1650B09F058D728ADF379 +1D9F342FABFF3EC15D45B8580599C10D0F5E82A490BFF210B8439249A483BF18 +64B6CE120278AFF67DAC16723E1A9056163215EA597947555C22C196D92A6C4D +2BAEBD772B7CD296EACCE2555DB375D7435A0AFE58D9C6BC8744DA241A1E5836 +75C54C03CC4065A8FA402518FCE53BFFB202403352B6CFD49B83D50B1F1AECCE +2D03FDE4CA913E7CED2CA42BE3F96CBCAEE028E4F619C788CB5AC5436EC8D21E +26A3098D6F093002BFD7E71A8F3A024AC612A38759DE7F0CE54767C2122FC1E2 +5EFF6B6A88CDE57566FC4CB6883FC070A0043E847A74307798346E0CDFEE858C +300E92C2AD0A625E2A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1599,25 +2443,41 @@ E45E2FD4C49E9F8E0238CA0701071C2B65580E0477683257F5167F5AA91051D5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSL10 -%!PS-AdobeFont-1.1: CMSL10 1.0 -%%CreationDate: 1991 Aug 20 16:40:20 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSL10 003.002 +%%Title: CMSL10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSL10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup +/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSL10 def +/FontBBox {-62 -250 1123 750 }readonly def +/UniqueID 5000798 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSL10.) readonly def /FullName (CMSL10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSL10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 45 /hyphen put @@ -1662,285 +2522,480 @@ dup 119 /w put dup 120 /x put dup 121 /y put readonly def -/FontBBox{-62 -250 1123 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142 -08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C -30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF -C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A -BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78 -5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D -43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1 -374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23 -DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4 -B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83 -63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B -89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A -5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2 -C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5 -7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B -EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850 -4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5 -7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40 -30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9 -2E080C10DE923C18AF86D75FCFFAAC63768D4F985185710865FA3225EF531068 -487FB30531B1C2A4B4AB83F8C1494E6D72B1F6A012E10A2A4ED6658E5B081DCA -1A3FA683903F4354E3F6808212A7B2765AE1F7BFBA912B153A0C7051A50BC080 -C9DFC891A623F1F8EC6223CB3B1F2F7CA0C0E1922A3BD031801B31F970493F3A -9954C467A04D1D826C9C17155D6D441F123FA232B0908F15EFD9BDB4B8D53E0D -0ABD89C56213BB393753AA61EA26272566D164A8BCCD6331AA9F20393FEBF998 -E8EE3A54FB522C5ED971A45428116679B75E438CD522CE02F372141B456394F1 -D3D9B8B226AD7911D9B71F419E6B4EA2680F41EF3835715528C2338652222CF5 -07EB1831C27272592E0D7FE16F87710F2C50AB7C4F10626F7203D68FF23CC4D7 -B81B3922914942AC520B3183603EF0198C0A10957302E97A907F8CA7D499B85D -1F849566DA34D8690ADE3A4DAF7A97E1BF2C2CC784F97F4313DD69F9F06255E4 -B15E5FF86E48FC4644A59BD7D396B64EC5DB796D909A75711742C6706229DD25 -D775B208B14D7E2C129AB980CF9359AE105504F77BFB4ACE3649995C8C5234F9 -0D312AD195458F9F751C62901AB81EADB1762D31C769D55E9FCDC64A7EE3C59A -A13401859F5EF336EDF438E85B8E7E0EE5127B59ADED11E4075657A5E7111067 -50243C97F57BB93CE988C547F4370BFCB852D4571A3F24D0DDD387F8C366F031 -1C8188B7502BBF0DE92C5E1A2425ECF70E4F8CFF80E60680903871D565CB9B73 -12AAF237EECF3F6A4DB19FAE884D02436B2A4CFAA75B7C0787AC2C4FFE2A0CEA -522EA455BB048CAD8C89A42361C81475EEB3C2AD1C4104C3CAB9E94C1C932A40 -6B6A582FB7CB0C7776630D3266665A275A9AA25939B6ECD5EDB28A301EA5C475 -C9BF1E6A1841D887358166BD353C506BC26D813DDF90271698E84BFFD2D71FE6 -39F6BCDFD90D5127F385BFD9C0588CB64A2D6EC213FC46DD481B990F022F42DB -7CCBA22C48489FAF12E89524E9990C5BB71D6A8DBECDB453D4D85D3BD7BBF72F -33D40A451DED6AA8AC14A6AEA2E0C2B300F96DF9E94ED2CE865224C5E8DFDE38 -BCF426323F00E47B62726021CE7991089BA2327C8356C32267EBA52AD586CF82 -E9A7B46857CCF56CA461B902183012FDF684C649F656CFC2284B5B7C315FAECC -AB4E9F43EBBB945DB6E0EFD7ED536D672830F7B588592504BA5D9AC1DCFAA3E6 -94DDB28C5BDDCF3B88C6AF36DA732C2F8128AC6C6363D2AC2D62912F5736DF85 -20F2F403D712BD25932EFDD1158AD393676F41CA17F624619FC8D45F6A3A7754 -5ED156AD3BB137B036E5ABC5638260E6EEA46372771AFE123F331B4C9B2CEDB2 -C3F2196245EA2C5CC76800F336259FC8BEF686AEB4F3B1EC48BD2BF903985988 -5554AE3D7D810E2C12A6667BBB93F5CFDB223D1594E37D680CF0EC6A49F2F13B -590B9376A0597EAE084EC0742B17C52D0214E634764CBC2289B072A7D7BF7E42 -E21F3F33DBB9B3F0DBEE1D9B4830F3893A80A6374ECD4A265D13C2950BFD73F9 -ED3867FD35A5156DA284BDD6D0540FE242E72EB708480240F876C66739EB8500 -1285AC4CCB214850B45FBE616160EF568F3F7E2A905D3D7B97B04429DC4E6E3A -0CDB03A0238DA527F0E53F72ACA15149AA4BC4245B13BD2458B46C286C8FB1AF -F2B8536B90A608E857B522230D32CFBD0677650DF1F48E419634A288D5120D87 -AF8648593973A460DF22B9DAB20966754EBA97A8ACA98C1F95C6C2B74E390536 -3FD20B0AADE98306888F17B41822B5FB6C7C0A9E6D7B2F6B4AC4387A645F6620 -0A24144292CF6DC22C80CC7CB653D804A33025DCD98D2856ACFBF6B5004205D6 -1AB0AA4C3AA1701897501C53291787DF77700F153E3F3FE9AF8CF7C27D371B74 -DCE77974D266CD81CCAEFF573083BCD7FBDCF9030D08D9A903D4F302471D08EB -7A4C9A356821D436F9D612FD574ECD6FE5CAB70A1E732538BE79F53AA7FBD568 -F6CC89149DB8BB9B7427E8894DA272513251336D74D7FCB5D8B7F895667DE628 -7888E5E1EE45019B86966913C5C81ED6531649E4AC3277AF8732D51B1A0F26D3 -30DE8E8F8575F1D13348F08D76EB61275C5BC636A81A462A65E23D56C5487157 -68693587B3505F4FCE2AFEDA2E10BD7461C276BBA43DEC9271AB4F814915414F -F7537E32A5A53B636754F1DA3F3E14DE5D18D7D57332C2F83E70D9D39450FADF -A6D705C4A394E0DF31BD26C1130700579B61E2FC30A10ABB11098EE70506C68A -1A1B03AEE61C841063A9ACF4A64B44B1168527B7DA12A00DECC26E9122384782 -6A8D34002A244F5BFE9D26A9ECECFDB475FFF537351BB0CF5400814B3B0083E4 -6C83B60EBE0C106125A5D95CA52857847E7E3EBF983FC00F2026E51BDD81D015 -09DF78C69D2D842009E05CBD4CBC40E1B52929E73F01922E8416C3A8DCE65673 -06D8BC8A6F08C4AF791D0154666D7945CC0904247399C216752EF57113DA6AFB -86463D3E5820EF7F73B6459E160BD79B509BCFD02E6346F42A69B43ACCF56334 -71B053140539FDC4F1DA19CAF0691D6F81C21BAFC0B173FE185FA352E7DB9008 -AAB5F0E00BF6DB69CFAF548F51DCED2B737949C20CEDCB5A2DEB72A9BCE98B24 -3610D1CB43A1368044F7DB21215BB899AB3BD138D0DEA278F27FF808F37CE15B -E3976C5A54C69D54EA7D5BB5E9785D8064C44DC4BDDA4F4B8B1AB4450C6468B1 -B2BEF80BE3329BDC0AD7D12F53C4AF12E248CAD37C709982DD1C256AC8B548EF -9B2CECA35089376E92731458C5BC0DE099F17950D6F04522093D2B7BB5ACFBD3 -993A0D4254A9C70820A5D894035A8850E449DE7ED7912273F19BAE6244EC1EF4 -AC66BAF2950ACD6714252DB1A0DBB64FEB0E65F32DC52F541219D73EBB3B66B8 -A2CFCC124B4710CA9F0D734057E658040A42D1724E5F6E3DFCD83DE7BAD51FCC -B70D8025C343242D7176F5D733DF6D439A33DA3834CAD95DC7C992FA6797F572 -FEE1DA81A9DB18F47C780F06AD6CEC736305AA41F8BA41A0F1153E8283BD1E17 -FCD9C2AA203F3835C9328FEF20459E58C595745F872DE784E8547AC485531D81 -EB2636D7D630F28D83B9F0A77CC9CA5DD2FFDACA4B178D961D08D2A18FF05D0C -0F7CEAE2CA6DB6E11D0CD966E496B2D234F253AE97DABD9F55220EBF886B6DA0 -D60108BCC2AFE066BCBF51E69514EDF5528ADF86CC9534A6BDE291D6BEFA20A7 -F293FBFFA1C0F4A37F92C064D5F3B0623575D1002C6F70CAD0608A67E2840827 -4E9E45AE544ECD99B9DC909BEC3A45C8279A3A971BB17870FF93BD3C1ED35D3D -E11F99DCEDB6FFF77FEC6DE3734B3607D4D49DB7DBFEA7E3BD4E9906B7F99FBC -55309B394046AD63F2E59D568113C109D9CF04DCD2B1B0C15F71763F6C531B2C -83B7E96E0DB04952A9241E71B75DBA88C19109C4ABD60FF7DE9B23E991F14A63 -8827593DBB7E248992E302D6C4AB51B665FA7F66520D67F15E9A221324AF89AE -8C67B418D06A6B4B6128B149F8069DF7CBE3DA963B110442724A9E16BA691D72 -F3613865CB566D7B3B22F19292C7F39F70BA29D9EBA147B0A72D4F7FB6D07944 -33721F94B04FF9507E82DB7C2E5682A2441610C70D9D8672F3F31ACD9BB583A9 -D1585B5D2D5229A1C99F8CCD16B6CA6C1AD5FCB0254D64EBCC72867CE6C9EEDF -BDC5538AB3E02C835C2A135D8712307A338880EA270661CFB8E03EC3944D8247 -2CF9CD961C3C0B6CF8FDD8C3AADF769FD19E357142C793D0FBC6D5CBD69D9ECA -AE8A3F266932466EEE0DD3D32E9913BF8699F2014D1442DC5BF61A3449A6D366 -1B7F4AF08B5DF7072048C4A2DB7E527259AD046C2AC08A202D3741801C6768E9 -3465CAF7CFD73C50C019C7E60C14510FDC51832DDA6FFE385A596F69CCD153D5 -3AB08D09BD5C3AB6BB5908E460921921281F8CF6700E66BFAE45F547DA7E109A -2526164AD366CCE796A18E73DDC09F0E0E3B480D27E2049661E435564020935C -EBDF2079886FEEA8B84226936A59F4419F4D10045509C17A8602AFD588080586 -ADDCC0B401D1600247CC2C9A482482883192A4EACD89D3E37D475B7067275175 -399CB330DA1B148686CBF57D8A8EB10AE7DEBBF437EDF24E2ED1968F0C03B91E -45EA897ACD82550C2316D49017655061D0D92A21FE8B23B23A895CE16DC9528C -7624F3D349982CCE20ED8DF66446742B1DA0945D87BDE9905865BE3CE8A7B41F -03066CFE9FE10C2A84751CBADBED2BD074450E130548D58A07FD4119160A081E -987F4CF71B68DFE39A6DB5562E6368ED7D2A67165EB605E4F7B50073B822C7BB -5568F8434880D1835090D0F0737B0726E661623A2971F6AFB2BA86C82051F794 -1035D35D34FE0071AA2BFC13ADEF981B63BF6F647422A2DDDFEB9900FFA8DB91 -06A08010A9428D1C52CB2636BEF03605BA3F148851CA6262B4963BABBD015FEE -2A6F888BC9D19917C5DE5F730725D03E95B951B2DB240A74883123D40CD2788E -3F22D9F517664D4E20AECA03AD05F6481176E37B5E68383D070A9EE5CD5578F6 -713F5720EE1BDBC20242BAE097C55605A9BE333FC2A67DEF096A6EF03723D702 -562A8031828B4A22B06C4B31626BAA2E90DB509E1FEBD522F2F288FA4075873E -2C2769DF4942DF150032010767DA0984A2EA10FFC05D5AFFC654C16B4EDC812D -EB8DA97B59B28583D7C7C5981A704B25886EA32D2094006AD52CE372D211A51D -D34E86C0ACCB53966B3E4BA9793DABF6E0AEF06757BB30C141982E55017DB1F2 -A9A0BF2751B1C03E276690146B5A6D5A664D74D597EE88545DC5132C61ED4EDB -51B4743C6C9777CBF428C4FEEBDA8D860D33121DECA25792BA03125B3A8BCB82 -8D33D87B5F0AF0DDB979A79240BE8B99285E8CA00D80570457BA6154B711D5F4 -613F0F48C6778264C938B08BDC0416510D0A17684593996690B86A4F5FF2438A -1377231FF3B1E27E279BF7CEE12DA82B6E7C45B86CC5EB311211BF7AE6B51A51 -F84E990B2405C9EE8F9F3490008B9E6977B1820A13FA829507D9C6B9B1CB5EF7 -BDC181FDEE7C1A8E48B48BE985A036B153A6A486084B82AD3E72F919BBC149AB -FD4346DDE9C577315A7A8C498BEA3C5C4744B9E35BCC7449F98568794D9E4F8C -F1A6FC967F6EFDBDE2D3BA012F12771843637DBC36CD96DCFD211A702E316152 -E9B7A792F94C50DB2CEF650588CF1BD3A612227B09BE1FCC99EEA4DB9266001D -DE800C3DFCF92F1BC2CECAFEBD6E0FFF8CFB71D644CBD75EDE2470B25DBF4382 -183DFCF9AE2B6E9DE049E17FD7CB5D5E75F69D2A5E1B456AED863F862AEFACF0 -B9A18BA25125934D99E1D68832376640271D9BF3BDE78191C286A1EA5EB52684 -3EB6EC3D1DCF031584113B0EC8BFD77A85969C11032745A8138F0C0E46ECE1B8 -A14D8FAAA919955A7D476E956DD11556EBBF0A093B5493E631BFB38DAC211615 -EDE56ADEBD3EDF75BD1BD87A90F273D4D0E221A1458552A0414A82FA53239798 -85BAE93A73DFA0C78B10F726E3D8DF94BBFA3FBC98817851DD701C778EEE1557 -26499A30C842BC1A194A764F995AA7043F7F91065A2380C846393C7CA6B9274B -B15C45F7FC74D449769F20A7C57049AA4925158DFDB916872120333C998C496F -73731B7B055F642EFE27DABE4C3A9411929F78C4AD869FA00E6CB649AD915206 -138C6EDD92F116E34EEC551E7ED1279C454F41E815484AEA44E5CCE017269AB2 -6430C6C3EB0589A247C163315DEE3BD11525FBE7F17490306CD1D9E68F574AA6 -37A1459E4C44F1B7963A7726357F42CBB30E5C2C4558EDB9A5BC066CEE26F18C -63C0B37113A4481EF346C46EB5160CDFA6F8CABA14422FDBAD2C21E91F697CBD -A2E38CC8E4B64A00E4A4A046EB1C10310EFC9249DB8303FF599CBA910DE000C7 -5BF7229CF4F475198971421DF4C7D0BF565537497E3E701E7DAFB766E722FEDE -3EFBCA1D24776F14E988CF494CBF99B58CAE07BE36D678305AA742A4622EF268 -5F44347F7312730FFE21993C15E15188DBA3B137B997B7F0DBB323CE9B244ED5 -3409C50DE3F798AE64B703C8160BB009B40A05A6173240FDE6C9B01476D20E83 -3F9108DAA1AB3BAC0EAE04549DB2F8A7AC7FA78FA81A448F6549596BF6667947 -48326A07281D2EE40BAA1252C79FEABD510D72D53F45CF25BF7BE5858926A465 -C71CCA6927EFB422B8C23C0BD6FEFEB66FA1375B0B8C772CEE1C7C72D6DDD5F5 -7702E88ED8BA354A889A171C1304106BB08012428B5A792F9C94B8C43B6F2090 -37CDB8793C95F2310222BFCC7E1A66AF164D524F49D54A206A2E31AFD481F751 -CB4981B6916D0C624657909761348FA49DFECB3E40C22B3768D1949126EED61F -6336803CE8329861202E2E44BDA2000286C2BD8E915CF155E27D22C53453FFF8 -46B15E1A6FB0B360BF3CEF320293A0CAE1F37A9C1123EC78B94999D8DAF0CC4C -A69F129B1206A0CD5CE5C4C3F701B335C2CE6372A8A2E6E07A5D95C10E8D1E1A -FFC85AB9D4D3E5A956E8116D3732001F444BBF29C59AD4BACA82D0BF6C143FCB -E9898A6596FB71747723DA5E1F3BDD041238FBF91DDABC81CA4FC9CBFF5DE5F4 -058710E5246B8469EC1B97965D2E809DAAEEEA9DA2DAFC83672989E2A798FDC3 -A731DC25D33BA638C90CFC36250AB855E25F873981C1C134DE9E40F45CFBE0AE -1656638D45537D94ABA65A99A66AECEC7854514DB7D2EF752B0265A0EA1E503F -125B18BE0E1F2537F4B98DCBAA19F820088AA18752C806B74FF9E65E3F2F66C6 -ABA7B44EC7729000A951C5D470B0FDDE2D774F82D34E766069C3D242AAFCE6ED -1E68D95FA3E18770A99040289DF75F4604CB036A67AE7D158D0A07FBBA7B64F6 -6B1F750191AC9F2291A2439DD398434D84F91C4D0ED3B457E53C7B5D8E730716 -6DB507367FC947C7DFF700504E7B5001FB683ED86B75D7326E16F40ECF8ED7E0 -76ED443BEC5337DC2A776776A0C266670378E9134EB595AE449D0D48F9BCAD81 -7147F6B3203DFD0A38227376F0696D0ADEC9BC7F06B66DFD8116FD51982019BB -F463F6BE6563D173085A1C2A777621801FFC3220F459C77BD1302C1F6BD834B3 -742FDB9BCFB1342931DDE4CF94CD2E9F7A443A67268232853803BF62913B5BD0 -0AD7F4AEF1BBBF89961BA4282D227B1969050802DBC9A788C00E1580C4FA9A71 -ACEA2700E5A71D327345FD65F329177BF2BC1CB7111C6B46ACC4F5795B0C9AA1 -34B39915FB16EF49BCC0F3D2DA4D33F7EDD1E5707B0FF5DAAC677D2DE279A7BF -D034EF78D146789A2D4BD929F59CD9F208236D6FD4895BCEB920A2316B520B28 -87EAC2F6889F9B53103BC5B959444884CA28D37738298600CACB58C5ABE97F0D -D49C2C684A46B04D628A28D519BF0917E1A691921A227403D4D0C219F33CD495 -E15C5720BB584D770343520D00C15BE696642AE43B035737E29C4356BEC12269 -5B3E6D14F37011DA04B724299159BB62AE708644099CD6EB298CA66D1C0DE25E -BB2D83615F3EE99542F0C6C82C9106F9E8284828353D5DBB4B525781F288E9EE -C208F9355958794D41EB1350FFB308094A68C09F2E2F8CBC77385B7337A4DB71 -A37149024FCDFD6DA887243F71F48101B70665F850BA7F733EF90407BBA8CF8C -52ECA8D93406BC12800CF57F1DC12B355A10483AE4ECE41F9EEA5840672423E2 -1D75F2306012063AF3CE75677BCAF8F048756C3D3170E256C2F863BD1E0B78E8 -6ABB9F135BD4F0EA2216B631A392B2A0064CF9166FC9A73EB7142440821029EC -A31BD024C4262BA37BFA3FC5527772604547E09EAD0B23B7CA97FF613B340347 -D7233CEE647221C363F0F534D934CD179DE2BEA2A508DFD1313BA51136C7944B -7253C1AFF379611C58D41EF51EF55297129294D9FC25F593E2092E83F4346A2C -2A5E7FD1AC5823E2FDA0222D4FB31B16CA235005530012EF7DF63A7E1AC6AD24 -0629EBA16DB9943399C88201C10DA43C158D5CEF40821F3C7474846DC44A2803 -321F258F5D553D03F5B171A722CBCE7AFD8FE2F4E29B0FCF35EBF0D5ACC1A7C1 -E25934498D044430F545111A7E371F7E3A521661A47B9D525D81350305653D33 -C35E4231BC182DB7C5E9E3FBFA93D6F29C6A714F2E8D7FF27518245F05B13FE7 -12D77D9677E551F80A65F0D058BAC7E0036BEB3DCB6425D19D9AE6347C0F008D -177F55FE1D89D4FE6ADD4CE00084B944E8F249B421D3D2778198A5AE996DCFE4 -F6BDAD4D1581BC25BCC621C07DA2C8027DBD0211E975F80A0FC73D42C1FA335F -96573E9C69F023200B0FD6CE61797A88DCAE042B4C82CB3CF74309A392DEB8CF -0054009E777DF45B649ABD9E549E61D66439A66FDE06CAA712EAE20EA2233E05 -D4BFC80600F8E1C4EA899874CD019D4E514CF8945E022B3F0288F7C89BD9B32B -F683AA7BE2EDFF16C851A82CA15DC2E9A9FCC3297FFF9117522BD9741201BA93 -F471535EED70599310B05569A4241755A25D080F99F1704321708C6A4AEB60D0 -70AACAEF1675C67086021CCC3AD12979280F8999CCA21DD006462C83B88E98C9 -C785171F08636A58004A2609F4B6E58719215DF7EEABE2E9E2A33D7E38E4036A -A48FB0EE221C10668B482E9422BF3753ADB09FEAE829E35FC8004958C576AE86 -FAF18B1BC2B15E15955661E262D6D7190744DB9105151F2DF569DF2FA2153377 -0D5B1DC947C08EB11951D5CBFB941F1892F2AD72AB54333468C0B5967A1BE22D -2CF668465ED282FD7B3826D0BFCBE569D543EA0BC146865AB50FBE4A4800E8E3 -3E86A443F3D786BDE8FB2FB0313D8623E7895E1FE1EF78835444269AC3B55AC3 -352D7946E6032A32A86DE3F7E315AA09DB7D677EAB2B327C9A63F8FE89603707 -EFE8704ADB66CA6FAF412EB99AFE47C73CCFE17A6C6CD994E542EA044FD48A8C -84D4EA0BC1CE5C2F997232869F0F2A3D206DCB6DAFA49ACCEDDECBC380C73592 -FD44AFBEE9392DC921CC31E8F9181AE15DCFDAD134346E25492BAB25AD450EF4 -BA0FC540E9A26744147BDD9D187B6C1CE6768086894C05017B5A70629C3F24E4 -CADB7D762E9B4168F5340D10DA9EA293889BE0590FB91EFBFE73D51348E505B9 -37A517756A19D1C720566407306BD1A97144C6FB8A9F50386D09321399C0A8B7 -BA893A54C2F514984ED7D95F3F555862A60A6A02881EECF007A59FD8BC7A05F6 -55064C5FE3EF5BA371413125EB92025F144AF939965FF75A59D9D2E154261A5A -2FA9BA49716889B4202149988B1BF84F64AFE278E079C06F6E177AD07011A258 -FEF05A860299FDCA8AF7D6264C4881601C1E30B29A82CFC7C6D4AAB7883210EC -2E9C5E1A1F4340CF1419E015B09B5F7E26024B40383F710C534D721C74C2D5F2 -FCBE7B48928C31D2086D769646222FC2C382C72404BB3C5461D55004B27180E8 -E82BD7C3CC78C6F220798058F15776288493570D177E250005449A6E0310957E -F45B7D859026A071FFFFEA238915639A98B5C79FB693C37F43E4838FA8E4A8C9 -7F5EDE1DC63014DC81F7620C8A2119E8E5828B8D175FF91B87FE1F68DC817E91 -FF01989160665315034669B45A59BFC2F6E17D151476058FC8B4F0E2E2018ABA -053085E4B95E8674E9738AE36295FC923D8F058ECA7467736609B738806DA807 -847D2F92D02E0597BBB24B0F28D6BA9D281B0635079662ACDE0293BBB8698B58 -A80F23EAA8BFC44262F260D932223131B47F3D94218CFB21DAC1908B6A31AC7E -FAABBC90A3C3C3394D86ADF67D227D8CEE1876B2E343923017B1703635D3AE9E -9DB6DC06E52745795255065A5321D22CDC5EC2B2B9F824C23E409B8ECC6B4490 -3D0EA2CC23BCB3CA8A60958541695F97F2D940223BA42C3B49844B628225ADCA -6930D5783B6FA6EC5E472BA243C0FFA71AA738825EE334975A364548853F824F -9D5149EB346E8F2D074F4715B29764F114AC0DD2B777C170AF827B157D02C2CF -199D61FB4566D74CF4FC7B31CF5D3C2353117E7B39233E4B84B98C4535FFAD79 -8FE8593B490B484EC730B9CA552A45388103E8AAFE7E62A86C8B24A642C8BAD3 -C9919FA9619CB718AACCCB0F07945D336BA8CC7478DE959DD738441DEC374E9F -79D2B328211873D480E5CD0ACD94AE8F57FF0E0E3B235FEB865F680A0C817A16 -7D795B8ED5CD3B5EBCBCF748DB6BC52BEFF719714E9B93C5A0800E380542DB76 -4B12A2580D76CF3996B61FCE2C5C34D06487FF1595628E977D3EBC395C6BEE24 -5EFF7388468EE52154F1030AE786DFAE691564EFDD81BF390B9DDCF1F84BC16F -DB2E2BC4ECF193352B3C6B4BE06025BC43D0A97856D66661B80C460FA48BCB8A -F7E7BE633E1CC52EDE7EF01258A3693D8746574B0AEC82A2618856B0B5CA131E -B6D624ACE129E935D8C3674715D542AF4F0084B0D7C993E2B0691BB1FEFBB735 -0C0802658BF289C32EFD28BA582941B6552ABD8E03A4651AAA797475898BF848 -01BE7FEDF3CCBD26C235BC02C6F907DBD964ADDFCD1A5B0FCD45FBCD6AA6D940 -6B955CD5DCE4CFED6DE9AED7019A44EEEE1D64771F934A56C18BD5714E1E6CE8 -A39CA252042D8174B1CC1A93810BE59DD9F203A7D9075FB74FDB5CAD7B12C1D6 -1475E3C78D29D96D84030F5175074C436415A1E6AD9FA26E4C3F9C9F318AEA82 -E98B6B507FE1FCEB57E57FA712DC259C43A1121685948BFE52398DEB4E472CFF -C09DC6C20B0D6415BBD93B3F5FA82C03B7F3E7268F9C1CD8F8A7214FD78AC592 -8391A6FB967ABD42A63ADA78B700FCFC4817C4ACE54D8EE4FEB20490B5667469 -3B105470A08E956A71389CAFBF2E96AB9D445AAC58F5597990B0FB65A8306355 -37921A387625F7BF046E9D4D11A18F6FF8E664FC1326E9AD1E4E7696D17A4AE3 -F2767EEF4968983FB8DFD7F731D2065593488D21D2CE61DD0F106E0CA36C7616 -376464D5847B3CAF77B257C6A3D6805C154EB81B614E9DE2D314E8664F3F2928 -7DBBBE43A95B071CF577FC1D4700514C0FA042ED08AA4FEEBCECC59B730A686A -75072DBE884EECB3B6056A56A7EFF016290E52CD4E6926D0E631D454AA21CDB1 -9B355ADD5AF08D01F58A0EBF61D137CA9DEEDD270DB62FE952B457D65AE2A9F7 -70BD2AFCAF5F02F24B3B1AB9A257137CE6AD6C8415BFFDD7EF318EDA8F16C04B -92F3BFFCE429051D035726DDBB9BE7560BD44294D6B5AB3D2D470563F9221728 -25327CE19D7E770536AFA9806E0AE707BAE02B2F1D86D102EFE83389CE027FF4 -432C4117D6C8D253C17B49871015CBA55BD6046119D7A956693B2F32A4DBD2C5 -7501EF1C8A277A4FD42347F07CDFD37EC54FA6AFB26742671D66EB4A746DBE28 -791B6E63C25111FEA59E1A0F239A2E041148E2773A491E01DB47D67611F40C4B -3C862975C0A379DA1D15EF87A840008E02305455E6E13847 +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D +DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384 +7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0 +C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814 +25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5 +7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581 +299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8 +80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB +5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584 +8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894 +5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F +F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B +966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E +A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5 +9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4 +A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD +94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A +DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669 +E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929 +5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23 +8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5 +155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E +4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038 +44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D +8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0 +04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC +A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F +F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07 +111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344 +8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C +567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728 +C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214 +C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094 +51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01 +66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58 +9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6 +2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4 +4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7 +5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256 +0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9 +233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D +BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF +62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086 +B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88 +DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0 +C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA +CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC +38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D +FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24 +303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2 +8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1 +8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2 +C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53 +9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363 +4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29 +03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212 +93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8 +91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0 +FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27 +06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179 +95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954 +9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2 +7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972 +6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31 +5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262 +3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91 +CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1 +797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0 +DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112 +CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19 +8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51 +04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757 +78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE +730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F +021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79 +CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57 +90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD +97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0 +F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9 +4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394 +40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7 +3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B +362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7 +DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136 +7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233 +04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8 +DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B +C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049 +B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F +9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229 +3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE +D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2 +B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571 +74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A +44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5 +A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8 +3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1 +BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64 +01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4 +6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD +DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A +CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C +683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D +87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF +550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6 +2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB +17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB +3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E +F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F +B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B +1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514 +61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7 +124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2 +ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746 +0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246 +D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933 +F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2 +BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003 +75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A +8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3 +B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E +7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD +F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F +F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7 +322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E +523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017 +6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77 +66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633 +B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182 +5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1 +093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838 +B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72 +6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394 +EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF +A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966 +8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE +144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0 +7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F +172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9 +254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6 +5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71 +011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460 +B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC +0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E +3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB +E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E +993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E +0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9 +18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0 +ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F +CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228 +1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3 +A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A +6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B +BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20 +DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323 +1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761 +93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082 +E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62 +4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB +F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526 +4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1 +361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36 +95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C +AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0 +50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81 +88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932 +AB7916D44EC2210CB941B1455867E510E9D8A0B83CB645BCABDCDBFCD51A4E12 +60CFFEF0CCA548F654037D01CD631FC4E1F97B4F65DA9AE79D99F13A726E93DC +BBB027B7D175FD17A704C4668F6F8428262959DACA9F8C687C923CFA053804C9 +9B2005FA7E0F07D81E52A9A37AD5CEBA8EA63929093ED0DAB9F7C99C82A50E6C +6440387049A0C359218F5268C9A28F581783BB9D29E08772D7252FAFA6739687 +22570150178893C418531769CB3D96F799BF1C6415820F96B6EFAB5344E82796 +38A0DF66609F5EA332C1065274EC93027D264B84B52AA8AD82E13E2A41AED340 +B240D1888CB89FBB748FD10B214773D466A44AA2AF44371CA8B9A4450DA76EDC +0167B4015A270B9983B89EFFA023A3DFFDE181B90C51D70557B0844362B0652A +6345C6EC83DFEFE099455232455943718297254186940D6305C96EE2B9E3E7C9 +A622D25E0471AC31A8ED3AF8897BD19E322CFC3BD3860D8A0634081D9AF53A9D +84F4ED39D8127CBCAF9AD48E9CBD10A67A2CD0CF93D61A5D75A6CE175F267274 +518107BE0ED6EEC098B1DE979EEDCAE669A52158C3CD36EE89D80ADC4F907F1F +37B37B4F60A8EAB65D657DFEDD87CBA6F4A23318443ED93027964BC327B5D1AE +2719395124A77EBB2410A97BAAF0B812498AE2C9B18C7002F7615017B2672079 +1E990697B148E31DA869A76DAE831C1EDB349280DC2160C833DB3BA5C5ACA1CF +CAB1DF362D0026E6AF6D29FC09D862DCDB1BA4B69E0914A7991019208F6736F2 +0ED0AD5EB87DB341A65594255B7B73B9868EBBA57E019B49D6493CED5BE58691 +277AE58E62CA726946CDE196ABD2050D0F7617AF39781684E43FB203E7BDD2E4 +149F8DDCFC9BCDF09448C47FDF587388578AB9802528425BA2BC5F4AAAABE816 +6F0E1839C0D53B5A71BFBB591ADB521BD4619A927C7C2439B577568F0D82B68E +6C1E341EECEC3EF7EC2DD576911172EB9AA85E4C66E37308CD8960E8D89AADF0 +E5260E443B822A47B5069F752748F8CD0AA360AAD6E65F1488818636096CB526 +9021C22375246E150218C84D032D6214AC83F4183DCA78C67FFD7FB64691FE35 +0243DD0762127C3EAC0F9993418B73756D14BBF8991171DD5E558749242C4951 +9D9BE86C662A5644BA7DD201BFD97E1C8328469226CDB427FC74ED8B7191FB8C +A297F9F21F89669FCAE16C425C6B97A3C002C7B1D8ACBDD276A6A49126F674EF +9A66195A8C4078851F1B2A94ADC04CF74FDD53F695FD9A67EF434CE57110373F +B22B1B2CC2A0BF17F9FB12DD143A32FF6F4F6287636FE1215AC6020D563EECB8 +9129A0AFC39BF075EC71E49D71B2F47109088C973E0B8917DC453CC9D61FC8B2 +861CB6D8A3C680CF7C6220F5C8532D80769EA928E4DC747018D7F94285B2965E +76EC3EEF7FD75E6D8DD03DDB4E09880CA3BDBDA99E70BE806805D0DFD22FF020 +E7F192F968FF0C36DF271463CABCA0A9B5EDA91B4B06C1A73D186B1B594369E9 +7E015363219BE2DA0AE8E3E08115899D367A5EDD5AE097E79D9645BC849096F7 +FE0868AD5FEDAB9A81C00DB528E699A2FB2CB329FC68E740984B0C3F1D228A95 +9AB66F292326D60127722373BB4A9FA9356E092D462A4EE944AFD1CF700F7870 +8CB2A5532772E04039427165FAE1DDA583F9C852BC199A62297B04ACB45A0980 +C91935E27A67D66630F85923428359B2979EE364DFFF05A5CBAD417C4A1DE05B +64E3A7D83E7423630B006001EBDF78C4725A9379DA084194C5BEAE8CEBC14619 +57D71D7AD1980899523337EDA1BA949A447B9EBC0537BED02DC638BE8C266C6A +50C7E306A8F31F94F7C53DE72EBE9CB6BFAE296F15743A97187ADD3E3B1643D0 +484D85DE8C9B8C841B5F5F11E9D52FAAE7ACCB3A4B107D0828F4DA6A2C223DF3 +2FDA8F781AD806FDC412D2D2627C961A3483704A9FF0C2681B0BB17FCFD0B2A0 +BE4DC3D3C4B13E8239C369C586E7F7EABA699FF81E3D9B8F8E26F5B01BF4785C +FCA7954B37FC7C6834EFAC3FA714F11E8E32511F945E117220ECF50F04DA38FA +434F945FB07067D5215061D0456415C3A5B61D079F506919AAF44B84A2264538 +F37E3B1DA9E8EE35BE937B19354B94AB63E4D37B9AAEFD6036D83FB7ECC36E34 +3F02DC31372231452FFFCD772269CCB783DB8E06B5C5A094CD9422AE9AA4A6B2 +7E69CC663FEB5247FE9AEE2A56F86D8AB28A3157DFAE1F927A19FA11D4C09FA5 +515B4C75A9C71F3DD607D292912F2291AB2A49263F1328F0784B8E65A4F8A8C1 +D5037989CBA8717BF0DE8567F2813DF72673041379A4C5BD74623B19E6AB7E3B +A41EB7AD905120A5332E0F6ADA1E252E5C85EC79FF31EFC18D668CC80BB5C1E6 +4CD2973CF6BE85E151C0E48E84EE1A0BE7B5DBB6D9C9B63B9923C351A5CEFF69 +9A52B4797D345560CF865040444913A2E5F8F26F7A6C75F7DC3D72A4A873523A +FD0F8FFC705D895B3E7BA879011C3B09A9EE88556861F8BE9834E82D5AB844E8 +9701AF0B46B19B594ACD6F5ADFEB997BF4F16621221901B7E1E672867AC9ED16 +C00BB166E84B9A81B3E7F330D34FCAAF1EFE1DFE3E40709AE2CDC28E3FE52ECB +8899EDE8ACCF05EB29834F8E2C28F87598568BE250241516F8E92D3CD33B9C80 +31F355E315D6B5D86C9D8B535E9F2E2092DFFF39687CE11F32B9D7BB1AE71A13 +C47A2176094AF078F49D1E9CC798B759E5E4E0B96051977A747B38F786D7D512 +4929193826469DCFA0EBD9990773780F26A0E5392BBA495D5E71E68378D41184 +ACC705CDD839B67BC5D3F5EE8EE3293CF4D0B09BE8E985AC2BB19EDFC1328A5E +3C19D2E33176989ED86098641F1B0D5D01BABC235A09AE8F8111E288CAAD3683 +2BB25487385C4C29E9FB829291296056C4DC7DCA779FC799F06682961A968749 +5DD1A86FA69E04C6BE9ABB3B6FB0FE49DBA05FF2C0107F72E761B066E1681F90 +FD82D0BF8C2F6175B5E75B7ECDE48AB32DC5BC6FD4E335A151D5548CB2834A2F +E33A9E00328A4120360D91021E025281AC62478A5BA411EDB8CCF015758CAAF9 +0FC69B5DAD6FB9737480476844C7F8B624016552413E76057A9CD3D2591C56CF +A70DD3209A0BE5302E03CB96E218B9659004D22E7DD05E3637C5830E63381A15 +DA29461514AEED7BD1383725052B5B062DAE3A480D8A5A448EEFB93924130C68 +AFCDE429B1E8A10623F3E67C66545C9AF2C31FEC84AE964033B0EB9ACBC60E04 +B7F228A685F0B466B06934AC0599895426D26E384CFA7F4F32305857F4C36247 +CC592FCA44AA1D091207D57C7B0A00B5608FC7082820035FDFA9BEB0BD0FD03B +548BC380C5AC95F6B6204CD64441711B1CC8A187C7BAB09E45BC0DFF84E02288 +F2B799A30A0004A9F54125213131B4A2BB7A1AC8C6EA788998917029443A3771 +209CCA27B4B2A328201828E03390AE656222CE2476398CE9A8B38079A124065C +BFCB8A1D5C5DD43ED28857B6C6345B8D9B81AB948BA6E0F236EFBC386215F4AD +DBEA92303ABEC5D9551A848C09C97C46778F03F831B1C60721CD0FFF0B2D1C28 +890B5338A19926A5654D7C5D661A998E6EACDEC8B9248D650767E9802877EB31 +8D4E9D7BC290A43DB053F2452AE78AC296138719B432F99573315C190BFAB12D +E3FFEFE91E20643C2FD6057CD61F65AE2611B62539CA73DFD601EB411C53CCB8 +7FBA0B4D77E46249B445341FC9CE4ECDC079EBD1671A0D2BC018172F46F046F6 +9137EED70FEE7A29D49152E2964F7FD8A24AE8D52D40C26A61D90C5195AEC4A9 +DA381536466509781766F21B2D52EE19877C9A9E54479128A97C60CAEF2C432B +722282F589CCB5E480BF6A480342E3C095980BBDD863A135DF4827EFE3A17A3D +2877614C580A0A41AF0F3A67E1E6099C6DA1A42C16877AB084155AA3A2E03318 +F596DCA94225621F1C1E73BDB948A06B17FFB8F698F6777029E2FFCCD81B518E +69E106041AA0BDDFE910437E6F310573E2D42BE6DD1E62EC1760DDC1E2AA4E3A +8347B13206F20F7FAD14D12B349A9E9C30503271596A48B7F974C83CBAF4486C +8945F703387D97016D0F40E3A6624B74A96634607A7DD53214A8DD89FB51A763 +93422516DB7C4C2E944CAA0A5ABB1ACEC9AAF1C8CC732AD293A63D03FA2D09FE +FECE20CE80D64B76A6CB8FC203C4168C18EBD163162B7D16F15B5617BA4CA837 +253A6183E37940429472BE6A252F3D24A4C0699DDA810A54BF4EF2AF1F05ED10 +ABA4DF51BF0EFB5747D1AA747B84934E1BAD5775B50403046241C706AF831C23 +86A20C96C5720D9941415C038FBC668D2EA0527060DB5E12BFA9E0BCC4499BEF +78DAE8D352358111B7D26EEB52E86FFC8E0456BA2F6B33C43CD1E7709D087991 +F13B71F527D4804568118B3DB326396278C1F53C0484EDB6D5CA9A38C227F6AA +BD0FDDA8073EE53ACD4E7EAA9BDE72236B0E58DE510AE4AEAC2313B54FC6E199 +5CC699FA12C8CC1F126608B82E228482344A2D6323F643BB3B53E53238883F00 +0358F81203C5661B24A5569BF6E498EB8FA10018CC4A5CA56CE38C681DF5FD7A +957C416EE99BD7DDED32B0A0282A7C7AB54367A1D362495C78AE9723C1E66CC6 +777002EE0E290143EF572AD53F477617ADD4EE69D849DF67630044570624C18A +D0FC24EBD36EF26F0C90167BE5425BEBFCFD0709BB1A1B92CD7B21190E78AA73 +DD79BC55E77BE76B83E304EC7843609381D66A24588B2DA34F26F082E8AD12C1 +8FC611DC96A30F33A9D2825CE04C46CDE63CB084A04C6ECF052871A644DFF238 +6F73702470B7B252EB91EE2FC9DC8F521E3CBC492398EF00F7958EC9273FD9C6 +E0AFD3A8A6A44231F14D5E6C2D7D573F0E8C4A4DAD1D32CC0E35B857F1A12A7F +F5D2E57F05C53D6F36638581249F33B5383C21031B3FC3C975F95326C60084C6 +01DA86BB781A9DB96D583A16D146AACFFAE34F5C0A97E5EE842153E5BF21CF8D +E54E134DB7942A1724C1D0BF15EC0570DAE8D96595394A15B93E4111B8EEC96F +9BA1022DA26B26AAB58E8216185806A302CCF86997363831A69FA2AF27DEBA00 +C8E35F6AFFAC00BD24FEFCC672EA6B042BAC6B1B6EE09F2F2650527AF8C30E62 +1020A29C764B561C74A6CC483D8968102962DC2ABC515487BAE7D3E46CC74415 +D7C24C3605C710E9859456EE0F9932BD5DCDBB7B60D21F0179C61CA5807B0BD7 +994943C1436CF2C8F0DF2C07A5ACF3C8CCBEDEEAC3E2467061A29752BDAE7F58 +7C6B0BF363E8F71CF825878A789DEF0EA91A8DC251D5DC912166F4370DF6E9CD +E15A81BDBE2334563C17945BD691B1162E2F0DC7A0C14216E2CFEB34D4D74D94 +6B88493A16E5CBF842F6F1E5367C19E0EEB59BB4EB57B7A366FEB7B1DBB23E87 +F670885CA539D6F89910094CBED95EE2928BB2D4323688AD97E4CDB31CEEBB12 +99171E652AB5DA554CAA8B00AEFB68012C31F3A7FCE54793095721CE7A0147C0 +FD1FB417A2E22708292BF2EC9D019F18E79A22EFF4523AD070B108559E5FFAC6 +D01480F85B25A482E2464A2457946654DB1580B28DC0301E7E816EF8698EE258 +9E9643C98B6D127E8FC8007F65CCCC7E6352A31C65D47288A9D52315B13AC7DD +FEDA7CFB858BC79B9159DD926DED61EB7DAD964C6A2919B29563D7B1E650F2BE +1AA01284E9E541FA9F5A0B4845DDCCD38A78E4AE70A53974DF507E57A15A9C99 +83CF1EBC170A91F85945FEBEDF2642001DB6E41EE6B3AE4A1A353A62FC70562E +4E6E293FF671A25279930E1DB7897860271FFB50AEDF729CA23538B241E76302 +1953355EF7901ECAB00C2A087EAF92E23BCDF88E0EBAA8D1FDE1049F878F705F +938B86B0415E7A3A52F8A98C747CB5BED198E7883535140788E7718E9448F490 +5DD5D5F850AA909B26B742985E29F416A994DF15D85F46F3B1F6DB6142CB08CA +8068FBEF6C3E1BC787FB1F6F2BD7115732034F1D53AE8926A184114CDEF3554B +B86F882F9207ED34F28D0736CAF1C042A539F2C9DC401BA31AEBAE3514331635 +C9B610E1893CE5AA5BC47722D4516B921D47B379BC009088A47C9A7EC7587B38 +4D11C7BF489298DC0D3860FC965E42A1757BD66336E737C6C102C0D9FA38483B +3DD4C5C46D9A898A38FB26C656264BAF0A4E2950604C0B99085EB379BAFB5CA6 +8D261183220C536135CE78D6B38ED0CDF0EBA9DAC6672F1787C2F00A79E694D9 +B2E395090338DE0B4293C38A8EF7BA0B1DE255222D9427F5C3FBC0FDD47797CD +156458D1A096E244FFFEB0616387ACB1DFDDBD9645E03DCA774E3D400C2104F1 +CAF3BC68E0C5F62BDA81A9ABB76EDE006FC163B5FBD7692B9C0282F7290246F7 +E9E8C45D53942061DD9F193C05075088389E1C67AD220D48C98C351209AD3196 +B05FF25D2954DC9FC4BB31C8DD738D930C509B7F508E9FF533041A847F34FA2B +01FCDDF8FCFE3E5CF23C7AB317EA64CF410336B52BFE256BA60FF45C44FFB46A +93CEE3E86F52943BF2960E4F52CBB94407F8B3E0A2107963730497EBE8FE5B0D +82C2A821F2BBA66BC87696FD42107B0C0325C843183586BD218C83AA5C430FF8 +D128FE72E306E97E14E8C55D1892F42F4827D140D7A9C384AA9856AB0B45AD18 +93B5ADBE8FF79E6253484DFB86E612F11AD630C51081094B9AFFB0206A7F19FE +4D87FC9C35A82581140E78390495DDA00850F39701D9EE2364E845669C834CE1 +4D4D137CA4C0F253CCDC5398F794F42C44C085EC8C8BC48C0C791E64D09EFD33 +BDD35753513A61989A690DC6E0A19B83B0FD74F7AFE9BF26B0A51293BBA7C7C0 +9989E41C3277C36DE6BD65DA2BF7990C9599BAD5459C2AF8350EF2EB25A41FE9 +5F486DDFD2041EDD44B5DCE518F40021F501027F030ECA4BF2F94F4B4BE4547A +FB3C43474BB34C5F717D6CEC6A03523AD585418943B99DC0AA3021D4C37A227B +C0469D210FBB5D6F68367BF0BCB18480881182863DA0BF46BB13C3B2C4559323 +F52C684A25BE57998E5A4C17EBF390D8CCCAD89274E51D621C2E0B050F1BA34F +561749074CDD7F0476A9FCA21C71490FD367749A3411A5EA69F1415B2F694AC7 +BAD49471B35C349D71601FB5A718B27E8D60B951B48482F07B4967BAE49CC1B3 +3482B03ACCADD4878928D154E13D04E97B7638ADB35910DD2F8C03268C54C501 +9C6F5E435304D5D2AD6BF1066424BFC3EE5F1622F3CB008BEE546DCA7F127246 +1317FA4988C8BB56B0A653CBCA90E1E673338B8AC72283B9C05CD3745A7BF6C6 +7F3C924D5A9CE8FED15562298BD84E40D71C1F3E1698B5EF6371E0E73BF67D14 +4CBCC7401545FC2D8F3665A2DFAF96CA84AF0E2C873D00CF9C3B25C736BCFE9E +DC0691D30078B22F862B6570F4F05312DFA07DCEF662A5F07A335050696FB528 +223A8CE16D37B9FBC01409650E70010C887DBF8659971FE8AE80BCF7EE8DE253 +9E152307BA29CBDAEEBF41B6FD7179AADD8E3A6E1F280E4A4D706965FE0E17E2 +3877BDC89E1D9390880FD8AC68B84389848B3D9EB1E5F4C890777E548988C697 +16AEDC4DE63869782A3A7719FB3DC875C1F1ABC6AC83201A53FD65B887F286AF +245A7A3ABDAA76062A22E14B6B6F47FB0A56D45DCE7F02031CF9F6C2EC77621F +444FA6598A43F75C39CE8E9B1C980DF3F8E5A7DA2F71AC5177E9FF55D5B80633 +9131318664FE513722357D5916F3A71E7784D8538998FAF4591A561926C73FEA +73D3DAC4F3436A16F1555D753993C4CE9CDFD5766AFEDCD71A2682274F838005 +E1714D23510FF5021804A65D4250F45FEC02C5C77BB96CDA86BA8EA56BC6099D +7D78115787A7D23F0D56CB6E37FC20BD2DAAD00544065DB6A197B6DDD7694935 +F55BD6D1BF653FAB2102F84EBE3DE4BF408C673896236B14C3019AF3378C31F0 +6EC4AC9ECE82BEBC325B3BD4CE9DE1FED067E7965C7EC6CC59D2535980658F34 +663E319CC48F9449E119C501092C69923CAA551283C97A9610E408F779CF89E8 +521A5B4F737764310D2D706D1E33B047DE7F9EF3249BD867AD4EBAD6D141BFE3 +3C3FC0BA5AC8213E01BC138B5801922F130B947C5055D2F3546C1264FA921956 +2767BA09C4EB296EF96E78A4764FEC6E9D87A93681872452EDAD3AFB61F90688 +54CC4030ECEDE68844E0D8C9D08F1FC2463F538CD9F59B7D1DAA6A5BED3AC138 +FECFC60FA711A080905E1440F9819E6BDFE96DC7A27F5BCCB22AA35F5CF45C29 +B84C97AD2B49490BB98CE34C1F9ACF861669F7ED2FC1C2137CFBD52882B8E660 +81DBDCDB4D17BECA1F14862EE61D3AE3F772B13F0383F2EFCE3B51C10CA20FDD +3948FA5EC227CE64D4A13383ADEF0FD33FF33CC4DC07C5816BED85900433D0BA +CB69F2DC68B0F832848D06E8FC48AF9B06A59D0BF9F5D07C3F73A5B0E3A6D4DF +77A74E5E74AAE5EDA6FD8D5481CBFEAA2DD3C6570193C88B951B8BD7A989C8ED +DE73A95D65BC97AB55A5D4250C924F6F7A7B94084C24F72F841AA46FE7C3F5C5 +A0D8A504399DFF335EEF06AE1C578588A622ED5EA23C179527B69D3CC9B6EC3E +3AB568281F1ECB624893A8D42392FADCB06FAB2A8676E805CF08C9D8CC74312B +53A1108A7BA2527DCA5080D9B2A4403A9F33F389F634EF2A4D50F9A39AEE4FAB +6E77555EE4241B578BC01B8AD5ECDE9C3FEFF4F46FB16358270A3C55D63B4022 +1320C4EDA034AB6F79F125CD10BF0A57D25005F8445270C5F32FD15A00014373 +B5342B79922DF741724E8D187C5281B57A64E93AE027AA1E6A6E30FEDD89408A +57019C2DF2789033534F7CB270C7A382E3D9EE4E5996604468E450F9E97C50B9 +B2E02EB6EFFC1851413804F972E2AA795213298A23CD044B69D3AAA6C416A49E +4933D241493C212FE7314C149225B6EE11D7B4458168D4DA260B4F0E043FDAB3 +CED87E3C10620BCBE7CF2E7466B1BD9F6E620FBFB631DFB4FEEF7636A17AE5E8 +0DC5BC254BAC588F0F83FC132C9E5F876F26705097B4AD1D05A4F52929D1434E +E123A49753CA9196D1C08322B54DFE3202C7A1C320ADC10A3C140CBD9B5A9DB1 +FB270BF61F5DB27A8AE2D43E271ADD0AFA7BFA1CDE4FFA2E63E61DDC905A064D +79CF980FBEC055C345C62487B6107ABC365B2860C01AC82420D190A66237D262 +A8DDD039461C88391A27FDCB26C04EB8D6861CA2223BBAF4883A27A7F72D03E2 +4624D15B090344E6E5627D613B05465C632051701FC29CC4B4E50B33847773DA +8E66DCAB76D3DDE136C3694E42EEB74FF64A65E314EA6149BD3426A13ED87418 +663F7B44A8D1B0BBCC331D5225BF2E59E5DC5E4A4E2667266AE1185C4466EE03 +B64B154E4FD72E1A70A95C03F619E5E847EA810FED21A0CF7FB15009695EA943 +BD3118E50E9CDE7A8E69102F7A4FF2AE3BF3E0ADB0514549A09EF7E53CEC8B9F +5CFED55323713C580F91A2A5E16114979BF44C4B508C60B175A78DAB998A637C +A61D43286A02213B73067F2EA38F822F7420C6BAFA5CB3DF83CB7ED5E23AB4F5 +57ED10B7B46E53676AC7146403360B81C020FFD274948F323DB81483808B0A1C +D48B111C340E14A15EAC6C4DA4AEE1D046E2E6FBF879C195266E7A90FE0ABBEE +085F31CE8D1BCC06CC8D6F5398501B736BEC24C4642467F6AD53F817B737982B +CC25798BA05AB460B49064EF106A15DAF3B2ED51717FD3EC49C5D79513FD5F14 +D71A6842F269DC7365757F92682B03D6973214E0BB1D67408FFCF8B27AEAFB28 +263563EAEF546624CB9059E9D960D6FE59E51128FDB6BF2370125D1ECE8D54C2 +55F308A4AAF1A4B4990641483D57E10061C93B8B53C7E178B4F9A270901229C3 +50CEF638CF8361D6FDB5ABD23CD05C101DF31A39DB88172DD7478198D55E8532 +FE3C7937EEF35EE76DBE1996AC52E11D0EE3DA532DCFA4A5DD6B5B0BB8CB1A9C +605FAA474FCAD651A760311C125BEE60780C26D9753368D3D9F8164B64662081 +84E596C83637ED5E725365F007E6AC708E2FEE2810FECB5DDE0772130F6B1BD3 +9BF5819D36917EDFA4E8DFE9CE6A8FC67BB20291F5E04CB4CB8511F278326D68 +574644D573D0D157FC70614F0E1FF1713F2894D7D683848F01C98AA570C4CD83 +AA41E43F9DD9751234599CA7946A2B15B769348D2C5F5729DCF5CD6E5943E9B7 +605D327DB48842F0FE5F10F2367AF50D52A65CD81336DD9E64961A550FCFBBD8 +01DB2DDF5420C060C887B0D6BC1C3964AA08D283A2B28969D5DB67EF25143522 +9441EE91A787C0370AF1C787FE033735E54656C24C8699E6DFA65592E78C8A9E +8400FB03F34730B46AD31517884FEC16123869EA135C1F3BE5B087782E8EA356 +785926D5CD3DC14552372D1C8348A0F4DB60789647311A16C7CD803111B990EC +FF4389AAE753C4EBB688A9B47AD5A34CC2EFD0754A7F22127C67398903DCC82D +91663A2EEDC68C1F935664765A7E22A6A89443C05FC41CA2E4650256B3FAB63A +24D02AFE2CAC1A99D63EC38D0AC684EE48225C49B79184D88AC2E54F829319B3 +323F302FDBF47F431061395F1669CC593C7BC8B24ACBFF6DDF9F0148151B12B4 +809D8586F4C2B37BD871B3C83370C310919D8ED713DA9847580A84390CDFA0F7 +3B51BA7E43D5FFB974C9B09C2C5876A13015678C5F0BEA3B39B717D807604F15 +DBB52E1FEADF5884C136CC5C311751FBD6B09026B94D7894A9FFEADDDF097E2F +D0073026F57457D6BAAD83AF5AF808AB76A300A755C6B672A6537510968BB08D +4D10FE6E5AB246378DB361276DD60CA40F076F3A843D7999F92D544DA683001F +8DFE0D622242353E64B944230DD26046D752C2CAF15D3A74858C65E21136F0B5 +0B7D088EA8EBCBF80B61FF104D8785E8C1A087C12320896EBC0C67E8B9712A44 +2B176F03EF12652AC35E975BB17FF9BE61C2AFFAB4E20BC0A9DD1D188BFDDB50 +7B19507C237E75DC3B984F1E901A03FAE2B39BCD2EB8670B1B0395BECD0F4CB9 +57C60FB6628DAC59D8BFDEE0CB13D42BB07D6048B26F66FE23F4EB21C50F71F7 +E43DF2D75A3A4CF66140C80BC5E90F29A865FD4FEFB1F83CA1C3086EC977492B +4D989B20469185C1BE7B0E0171D80707208D64CB9C849847E5F66B1AC998F387 +CC6290DFF14214056EEF9D1D01CE27F9F3E3DF9C076C751C88EB75345F01714B +72416BDDC769AAC00AA63F581821C655943F21FEA1E0AF3BC738DC1734D86AAE +CFF12F5795F9CA55EDB98BFFEA96566A7FB3ED2A012B4E6501CDCB96FC6B3A21 +B90237B17DE670136C411D329BCEFA6AF3E121C4A6B132D6096F4C9EF3F91B07 +1867D351D78E610B7CFFC6F66B0AD78D909667B07397CD6CFB7AC8B1D1E5B60E +DAA2079DB71D295ED74443B7D0F0771B7BC2DB068E80219633E871354067BCB6 +D4ED193ABDC40E27B3B824A70DA042C6F835910B880A18D879B003C06F62E9E8 +CABB22B768E9401A389D98ECE5B2D4079D106D36E8CF8CB9A6C2300A8642F478 +C2C6A74DABC1AEAABAF8C0F48368FA8A1B2F16EE1CA02DDF0ADBFFF8DD35079A +FEA6620856E15785D15E48F6F69DD50B61CD25EA7B7254D520EFCBFDBF313E84 +8BE5B09CD20F2387C61D89A2A7E60AD544C7C59E1B772B9D35B3DAAB3BCB7EDF +12D82FADE756AAE4288966134524F68702E0AAD2A61F08677EB96C95D2A35D7E +F06DFF454FB5A11E1027E7170DF4E251F155EE76EC403B50CA3920B4539F5A31 +BE3915DD802C1789FD665C1D5A0C5161B0D1476AA168360E35E5005A69C721F0 +226DF8F0B79B1B0B2C048A30A06A0B85BEC10F536821FB91CE1590D774A64232 +95D12D3FC681819619A206203D333D968C6299F06FA4E1380B9AF3DA2D284B75 +BF7565D70568ADD0A0301A469D59E5DF6045C056DD3C08BEE977C43702D7EC40 +2AF6E0A2D91DDCA9B7D92556523E9DC08E80BEDA5BD02841F15FA75973A34E17 +3D623FB195E781871F0828EF8AC184779B5E36A52D018B7CBF4A47F5DD8C0D82 +456A684800A8A6B1E323AB2ED161D2AA81F06348016062EF7A3D7C463EDB23EE +C191191EEB0706C4EE51CB9AA3036B5037839AADC2A4DEAC772BC5D3191B22F6 +9F3184AA395FF6E1242264FB781DF81005465660A14B20DCD62C5DA8AB18AE74 +68EB116FA0B1E2004B95FAAF4FFCBC89CA1938EDEA1E8226C82BAAA987B1F08D +DA63799218141E265D5D607CF07E8D147384F6A802C4A458776466C597BD7566 +20AC0E6CEF3FC646DEA2C080C31285C4DB729A25482C036844612B3FDAD18F82 +679F6CBCBE648F07D65F0087FAB090E6A0BDE29907BBFE861DBD3C99E7F82F0A +EDC8BE776EFB3318E3C565478D98531E5603215625B5575D9188EAEE95AF90CF +D9ED5822739415DBFAAB82CFFAB04807DB80DAB5C965D71F408915D908EC204C +B24485B32E2200DD39A71DB6BC3E1F123F3ECD677157FD957692F14FD2C43363 +817C8370907AD6667CCBD9D2F4764D33F7CD1FCCBDEE4560F27179B78472B5BC +A50282DF88B0CB7BFC80E1F8F8F49085933D670EE8B1B451EAEBE4F0DF5744A5 +E9A8A4038E3D438262F1E7A60EDBC3DCDEE3DD0D2C8D1A36D68C5E1868F9C976 +A217D7849025ED43E219AC16C8F8D23A1D6AC83B1630CC357AE219BE6465B7C7 +81B93A80195AC14673691AAD119111BA51F1EF28F737D807E2CB59BD1D1E0192 +1F28C8EDC198A8DA3119ED57E1F2B7A6F967F2C7BDE230A96D95E040BC58E37F +4DA3C3444FBB1D6D4D37AD7B1D0B16448E900AD19CF0D41A3B476FD0C16D8093 +5E716D11C46DAD7654BCC3B41760D997BC6FDC0C617B462717892C0221AE8531 +98E2DB2676D925AE29A432B867B2F5F036D568FF241498326422F7B06D153D49 +0178219AE56D8DDB2215D822B788B445B9DC1A7F09768BEEB28E91B052F17B29 +3DE2F1349762766B65584064E2BA0E4336A493A9413CD4E0C1CF342CF6A53D23 +663E4CD6A42DE20B12CF0127382F5A7E668801E2C7CAB3437D75597696158BD6 +BB56D9847F37A9B0012E0CC7D8B7186BBAAC86F195566F47C3351243139F95E9 +C0C5DF236D3472254C85A89A05C09F17EF888E319E0F05C01840149A7C8567F7 +8D916203E835E9FE94D99F74992B042F5E3C10C8A7913106DC4572D46EA15DFF +A0FA5E8CD87DE13957648B801F7A88A22344D54F8C433F801DBF7B15BA188297 +5C774C499DD1B28E08472B699FE8FFD2F04BEA197B7D00D1A477376F080F92BA +B722FA4CEF906D122A696C0434571DA152FA241C4C95B5990583FF7E9C0A3FFF +A1B466AB96F189AB100B209159306A8F7373E3D101C057EA3047129176C11420 +865B1B5B80EE64DBD1F223E80760339907C74639ABFB8719AEF71A192E3B666B +0249A9AB24A25E9290CF115268DDF13A7E1FA35185F3AC717C1984D0AF26630B +3A0BE89300012880916CBD34922CB8871C5D1E11C20FCD6EEB1198288F2DC794 +3B9EBD1BE4BDDBC9CFDCFEE715A60A94EA71F69A888A859738FF175E3048054D +E2AFAB12130E892256246D509EC2F0831F722DA32633ACE9F40190C0817D326D +B46B8D91ED0DDEF1D245B257BC06E5CF75ABCC23448008C77D2065AD6D09F5DA +A4C1A314C4C877774EE039FB439CBE8F7421B3D7C2B85E2B4B7208058FA24CD2 +5ACB49DED05D20B6F4E6DC283379E93D1CFA152F2A4FB5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1950,25 +3005,41 @@ F2767EEF4968983FB8DFD7F731D2065593488D21D2CE61DD0F106E0CA36C7616 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTI10 -%!PS-AdobeFont-1.1: CMTI10 1.00B -%%CreationDate: 1992 Feb 19 19:56:16 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI10.) readonly def /FullName (CMTI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTI10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put @@ -1979,92 +3050,262 @@ dup 114 /r put dup 115 /s put dup 116 /t put readonly def -/FontBBox{-163 -250 1146 969}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F -21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6 -06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF -55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5 -B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86 -0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9 -1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961 -7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A -7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402 -356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B -19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2 -C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F -244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B -AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95 -5C43C8942435D0AAA3D9055FF808F2C3C887A3C469BBD98F026D0A59E26BA9F9 -C2144CFE49A9AD892D4D31764F0AE3A10644AE3966B0A790684B14D11FA49785 -EC5565D2B2E584CBFD85125F3FAC133338DE35361943DCE9AF05FCF2840CE512 -998D42CBEC52B57B79DD63F00985881E8463396ADA47189A94DDF951A78866F0 -B8A3D9197E39335277EF2294308DA70065D910943A34F7D5F2090FB4AA42ED70 -CBA469A9F64B95A6FBA4BC89DBC93765E3AE4723162DF3F9D6BDE77DD5870ADE -C8900D6346957B84C3CE88A8F9A12D46B8FCA50DF4433B0B8AED6A63B3DA102B -6DF94E62408E24154BAAC66B2B249C695BC0FA37A28699D9C0F3EE94AA32E3C5 -8F8D7F803B5D25014D43A353D719B14B247A87898A960DF68C0C0BAF70C83917 -6E9F7B3ACC64DBAEF3FDCD3A80C0AB907EE342E543D607556CBE5A9089B86D1D -E768F27D74A613F3ABF883222A8596B542EBF54E9DCE327B5682AEE5F6BCC38A -2A052EC4018AE3189DC1963BA39ACDED8F0C60C83F8873FBBF0302010956C520 -A7F3F8ECD0F177EDF5F4D5522C5984A3678FF32EEEB570B69C142AB89467641F -917155D646DAF3352E27BF2AA0746E062E48532256AF364EFC0F0AAE376F3017 -C712E89991FE883E0F1E1B613606E9AF74B88F5F6DA73D0D404213E34649F769 -0FD57EE53BA3AB1BE898A36A6C69C105794080673F792207DCCC4A2B4C286FA8 -0312B33A9868E0363A5F747EB5B1BD8C74C4F7409F719383A76416713D1C1CD5 -B6FEE2AC58A9F7C7BC2AB5BDFE432FFFD415BC5E2C87281D5AFB7F305BFB233F -C94F2976074ADCA686329630F76FE55103638B3E6789D16715124F74E738F65F -2C20A1BAA10DE8D7999BD71C25D9617996ABAC8D9D236DDFE3EC5BD58C0E23B5 -1718F4ED8FB93B5755B14432B34FBD200C85A27A8D57CA278EE5F2011424ADC2 -5EA98120F3BD3E9A5417343DE3CEAB46CD06753B4DC9748A63A1F81778E50ADD -4D11D2674990DDBD0FA549B493D2B14A328ED349A294743BBDAA591900502401 -B2EBAB6D10E6DDC915875482CEF1C8D380396CB0C9BADAA9E16AE65B90E451E4 -31164B2EF7D6FE6B01D3F51FD511FF8B0B473A15D1FA6A3F93AAB6693F514FEC -CD1DC7E680D2A4DC1F68FDC28DAF728260F61351AC7B0A94B0E41FBE9C0656A9 -74DFA32C245062C413EDB11F347A4FB0191947A7822960D1D433551BBD9B80B2 -4C455F4BD466FBEAA5172A9D6BE51BFDC5A00EB941A239DE2FA934B449F57F4D -B5E8937C4F33FB22BF6D75E896E374F6777083AE87F0AD0B589BCB37B37C77B9 -DF15CB0E26A3A6A30B38B3542CFE21E1D03B98F68FB4991823714A78D1D6C723 -02BABF34BD67A073E70AFC66CC845FF87225510DCD5173F68808C3FF59FA8AE3 -B6379AB7338F1252EA8DECF059B5348BD217A31A5EB825A92DFBC3CBC7B6C092 -08821077F26B161219EC0A31B47079DC1C596A059645E62A8407D40088F7CABE -A0E295F663A614767FAEB2DC4A54ED4DB9123B5A4038F958302D17CA2122273C -6874C6B8A0680EB2143DAA63658748D8D6D18FEA07FD9E588DE6B14E329386C8 -A1E6E605044902C17AD8C88AA4B887489AA5817944AA6061CF7AD4177AB24BD8 -D093EE6E729CC62B89B0EBAF8EF9F1E2EA2605151E3F6FFBF26FFEEA24071ADF -189E34D48D53FF6215F564954D7AECCA4BF90490DF52925650B794F41364DC35 -7E8FBC7318444A3BF37B5712AABF22D65B540EBB1D2558F1CFC742383D7A0235 -290164F4013B700C9BC36E79BFF016BD37CDC719172B808AB2E6635D6397433F -96B5419A16849E79C090293F392F325F8621595D48A3945A6EB8822FDDB24300 -9C90929A3FEC02EF47788E17C790828418D8113197B771BA8DAA9AF0FBF2E181 -B45318FF2415743DEF5FA61ED8BC3187B1BE5EE1E3A3C57363BE4D70B2A4443C -2551167A58FD9A6D4748145E7E2BAD9CB5B3862C922A2EFEDB9AFAFA7686C566 -76976BAD66FD5415E432C1E009EB49D7BF70588D598E37C6E35A47363821A9E8 -30CD209E39F5ACFA9B7F61213D7727799D110C0C007E43638DD294534D544B58 -CDDF225AFF4EDD16C38B00B4C7D42A726B855CE25217272EDF4AABC97E17BF2F -2AD297530683FDCB7FD992200028CB6B8AC77BFDD48DE6F571716DC90CD26169 -F97FB7442E07E31B71F6A20FBC47797F656E598B7F9CB395CC8417A3928C78C8 -D07AB0CFB33225AD19D886B72C9241B46E3E2F7336B4E463EB616C7A37907A56 -6FAA23BB33A5A0CC604ECC307CA975E3EFEDAB1CFA5062D54602F283272DE03E -6E9553F57CB7AA46306644B260B668BB80BCE0A4AEAD96E351A3588192579DF9 -EFE673F35B8B760FCE15FCA79A8DF1B0DDFE6F909A69B1F66517E5993D160D03 -38F36CDB4A671A4823A1BFD6F1691E09C97946A628144B376B7BC4DB13A214D5 -0C710605C5A51E2959A37E3B458BFCBD8586F9DF414E64EACE1FD2E47D5AB25F -70927E04146395F6B4F5B68B6852B9D60C8962F9E0C5E4B6954AEA6970FEFC72 -7B4B324BF21A2CB2ABD997CC48B687E529F622AF45E72557157125FC4D1C58D8 -F2E84AB96B15CBC25FDFC63D30CA8679EB0821975FD333DDC43A7B80ED69ABDB -CE8F667B2F234A12481CDDD18D6E5B468D5A5B87655D8AD2EDB8BCB88FA87E30 -A033421CB1AC2AA7C0FD0DEC85133E760A7178E7C8DC5FD394541B1796E6697B -E9C692407D0098F2259FA18D136A3E5D4124EE15B2A396D0E24E1C3790FCA795 -FE794744F4349CDF895ACFFA5A4021D582006F2BD77FC69F81640507F7553CC5 -F5 +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F3CB6A4DCBBA655E3D6E27F87E6D8BE12A15D35E1E75 +D36532B9C5000C06A58822444593A1038EEB23C7AFC9EEE3907DF8232322B09B +230015E014F1B4CEB866234266440AD3686E30ABD086CF9C0926E711F0757925 +5DEB3D39C8E6D6F0C05A364A0DBF90F6E32CD28887F7E237E04093E07A94C973 +462254BC1B1586AAC29FC7F15A80FB5993ED22E79A0FB5BF0F7362CFA24BB2F3 +D4EF7D39E1902C53053C27E2AA49C4DE54A05AFB1AA6C7CCFBD9F72150DE259A +BEBFCA5C7E828BE667E9C72222B84C4C79C2DEB885A69861DDB635B02814BAAD +9672A14E50D6A2A236AB35C6DCBFA1165F47F8F52B0787EB4B70BFE3CAA8B511 +A630E8148A51C1394C7C321156CF52EE7BFE07B6C354CB65782464D2BE42C0D8 +14EAFBE88DA3D5C90614F22E02626ABD343F3AC0A9698AE84CB97F1CC421D34F +98B69FF4C335B95F4222A8BAB77662B4A57A4B574265A679334D5EBCB073FF69 +66BD9322B1C2253AE85AB38889B26761BA509C7F638C6CBC4BBCDBBBF4BFE1AE +855973129978F707C87462B67509FE6EEFB5E0949674C34768F001827F12F1BA +77AE866711077C30DC0E40C2D8A6EF4D85355E596E26B675E8D223D4E55C3580 +5B79260E90985DA5E5B2F43DE7713D5E67080D2843D44A3585E078615BEA476C +88233D241D3A427F9B1AD26ECD535E46C137084A835CD816CCA936D0011C53E7 +B33D5B50ED7BF3F41289F48E394BDC963EB1AFD6F14F0C146E0F13B03E76B389 +8AD8E81E41F14D1682A113D8BA1482D9DDFDE71208AFC351B62E028C3D50BE01 +FC9CD5D5F36E28DADB469201F41E9F39098B65E43FD1227A26F6FF812CE452F8 +B5476C28FC1B1B3E5FEF3A3B94CD552E29288AB0A3ABCEAAEACBD2D5E9001579 +738029B0E7F635C6C4962340187558084D9CD408EF7FDCE23F465AFCAA8EAAC4 +8855BF64EC9BC75371A98095CB51BE7FF107E4C6C2107D887716F94563768073 +B8C4238F51C1E63C279B23DE3DF51F656B90880333880515945253BE08582F17 +8888FF4AB1EA0051CC41CDCF6C2D4B2F19C17FDF8A8664754A884EB6A4311C08 +074B3CFC4E20FF71191E3C1648D2C38260315702E80A6425361E89CAE7108A3F +C7FB9AD79D51427F8FAE45D1B02FA9083F76469C3378D3510246D81F10F3F48F +9CF6D65D2F32BA1B012BAD2FDD43CE879EBFE2E5DC3BEC2EF496DD2C3848D655 +AAE8EB7970EF9F9A5AC6BF1C30B61659B7E8075DC32A70F10CBCAE6122894309 +5A0250411E81644F995A049EEEB89045B21B7741FE92A75A72C8B0A406275099 +8D134C8CB0CDFFE48353CE37202D9686FD7AF16500245B88C1C5B88E3DBC3B43 +BFDA072390A1D964E90FEA605DC6AEC44AA1D700017FB1F41C13A2C37B83FB64 +E63E895CE647A545FD5CA85463960331495B05929F57DC349736AF84A5687549 +CD60A676FD984F0C50AFC2F783594DE38ADF685F5E2937C95B50D07C6316ABC0 +8495EF319D914D65E08722DCE6A5762EDB87EA4AD820C359201059F56296F608 +395942723FB853CB67F553F689BBFDF60264E90AE6A7FBF7AEF443A3F760B490 +8C3513FCA7ECCA5A363D7F72C62DFB1773CF88D2D7E1F0FD606878C4F274F285 +5A3EF87C541495A067498702A89961BEFC26B229894408B4BAD353FE06295037 +9E55663FC427EAFBF65F616CE7A771421FCB22006B241CDB156035A428CFC241 +C3FB0343C9C040CA92ABC487113E09074631B554366DAD01C246F4E082C64B7A +E9BE7C172B606786E702BA6D036D10682AD61CD0776567E40D095756D3D02704 +DA8492D994448DA3E66366CF2D712AC596DE587E976936D0B5B0E2F02724414B +5AA83C1B3F8EFE2C0DB65600DA12E74A4E6D474A985BE62E8B0E6C0AA9E739B7 +D1A6359CB3AC713C743C7CDEE58649C4B6953E5671540BFB5FE80776FDA87A1C +3B3B342B7AE56D96AA8F18DFD6A8DA83196B9F5DA844E622A6717CBCDB06B0A7 +70C750DE8AB3960E58BAA873F0C21D1157A2909231C41889BA6CFF45FC41F07E +9F56466016A3C7BB340FD6B6321A5CB19788A886D0B5909DEF40ECE8923E7EC5 +CD3881FA4311C937C0572619DDEB4618EA621867B1B8556E73DB25F5E86C0D27 +913B40450E452906B5528E86B0F08246B595BC6487543AC0B789D555594ED997 +911B9D19F01232F69A42F99FFA56DC7DB66BD6B9158E32511F945E11724CF164 +DAF26FF59D8B728188A609D1D868C2536150F333BDD1DBE091283F1884D320EF +908F80BBD8AA0C8BDFE625F34B41BDBB60DD9A6AB33298DBAF5224EB27D47B8F +69588EA13F414A6E6EF3924EB12BD7DFA8F9628C4924BB5C065A6A581B31D314 +6AC33A670CAE923A46883115C5B26E3566D2811EB20634B14B53CF46E0C66F92 +4D5906B71A17C8E38C1EDC9A45C0E3472E4BD49FBC8F8D1226C8A020932DAA0E +2FADA6A30D305693AB8E3E08897AF9EDCA74EA769AAA7D6824F01C3733E73214 +2D9AA6EF67203CC27E3E7510D09015533CC5CBDF4A4F43761B5019433B615A95 +F5D1FD30B1FF23619141C06772C69C0340C90443F192EFBC342D1ADEFCC125FC +4BCD134167487DAC3A1C5D18CB454EB3BE7F3DFE59BC6F349395066C17BAD3A9 +94F54B393C29D53A3668370DC085A703FDC91930B0CD6F7FD4EC1F338D7DF701 +E96536126691975CF22A54EB33D276E0F67FCBE601DDBC41BDC763D9EC78D386 +51A7F72FF1338CB14A6F09670E67F472D6F57C6447F5C82305B56BFDEBC0B324 +EA6FD3853C831681645B10C42B9165789D5FB6EE1BCE6B3E908AFC374688E720 +5A3930D9918DB4189CCD63E6F4BD9ED18FC1F0F3E85D51E3615FBFA4F1E9A746 +96B0F85B468281C142E707271350C29703F947292B191990DDC3A13A60A981DD +FA1F8B9151C8CB3738AEE8FF27E3390404F5C96874BE9290AE811A35E0C4727C +C7425896985C8324159C8A3A4576BDBC6EE02323CF51ACA4AFEE28A4AFE6344F +54C5064B9A124AD5E6B2B2CEE087768B97DA1468ABDE4FB32C632E1CC6BBF007 +B8C36E1D3F7696415EF51B3EA956FB3612B12FAF9B511F9D6B29DDD7C89FF065 +1752A6E7826C367ED149527468A9A8F3730DB8E6C7DA1EFD1BB1DD2693BB2421 +52733EE07D56146CD064222CA4D765AE3A1AC8366538BCF0101BD74F7DA3D330 +04575D95799244593ED3EA108FB8FCE3A8BC431416A6D60E27C9096444E8C225 +3B838FD5B8C78ADD9B7DF7EFBA6A6A466CD243EFFDAF90ABFE82CF2B9E06DCF3 +046758EFF0C168001B0AF208160B773913DEEAF4F167B0BCBA1EE3A51766C9B0 +D3440CE0A46DC741B417E21502354EB5DC09B91231A5B79FBE4F80028C01B505 +91866DE115685EA48FFF22ED898D8E64C7A9C9D8CB20451DEF0551610C6D1255 +7DEB229CD4AA2C8F0AA989EE31BB94D940835BA22BBD1607C8944C84226F1F59 +35248C1A4AA7F0AD631CB66B7A149AAC76044376FD050E367D993144111232DA +DF4650BB5F45B791FB1221B54F88798E8619A3E82EA65C4A3DDD98A3E7D6B296 +EA6739A97A0771E6270528213FC6F372DF4F1FBB80A47FF62FFD5287C9AA4F91 +5064F8D3CE7B4C71156E4D21658D626B97E01711F123719E3DEA49CF8981DEDA +CBDE3182826A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2074,25 +3315,42 @@ F5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMCSC10 -%!PS-AdobeFont-1.1: CMCSC10 1.0 -%%CreationDate: 1991 Aug 18 17:46:49 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMCSC10 003.002 +%%Title: CMCSC10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMCSC10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMCSC10 known{/CMCSC10 findfont dup/UniqueID known{dup +/UniqueID get 5087402 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMCSC10 def +/FontBBox {14 -250 1077 750 }readonly def +/UniqueID 5087402 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMCSC10.) readonly def /FullName (CMCSC10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMCSC10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 97 /a put @@ -2108,98 +3366,269 @@ dup 115 /s put dup 117 /u put dup 120 /x put readonly def -/FontBBox{14 -250 1077 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337 -900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA -87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98 -076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518 -9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A -FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD -B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9 -CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30 -40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D -C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B -7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5 -FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC -81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D -5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90 -CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2 -24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD -9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3 -933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307 -08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD3 -64512116F2751A1B95D2439E266074DB3B9FC76ED319B2851588B1F38F46C8FE -040793C860F05E26700B72A766D0BF3F6F2EDEE06A26866BF0207CEF2841BCD2 -84F5873A147D5BAD18FD74DF7B77B8CF1913AD882DC1F4A94020B2A8A73237BB -222E6B78BD1C4C0975B9B6683B5DFBFA693970DD53FB5D5CA5805B7728C11D6F -92E6293F82E628C9FDD901010DEC199055B6682D6B2A688E3EE8759F7E592F54 -43E63699F1D60CD915365B85B8713DC4EB3EC4D2860880035348966F004FBE18 -9299E1DD0D491A5D542D450C8945321BFB9E823E18D1F33178BECAADD34378BF -6FDE26691802F24E43CFA4ED1FB81C824F808A049085FA95CA518D9F4EE91D78 -26A8B8B461486419D598E7E341E9D43CED2402BF225B2C75CEE127D8B8633FC3 -6F4F69DBAF7134D4F3D669B35822FA701A441E5FBA3DC1F02A00B25C583EDB52 -4D4D488C6A810128777654B956C3CCE8FFB0D1985AE2A2735BA415941D1CAD5D -62D9DBBF01CC979B8E1509F5DDD3BA6E87B14879955F978209CB398825E40199 -2B1C7D2C55251F321BAC0764D40B80D7AE1B787E5690CB5907719044B2AC832C -C002C181088BA15AEFDA44D2305E6327358D1DC1D9B93AB1802FE9F24CF49739 -9863288D0195F5610441122648F5E38208E1AE5F01D1966DE10B8AAC02EF9F2E -27D2383BC6D5BF9DA8F9018BABA01B70755FCA281588B85BB705FB7016F6D7D6 -8607BD0739433B54DFB87614A76902A3C122F39A21E80CC1970C5A6932C6046A -771484EA9BD04CF0963E1D372B456C50625807B3557384F5368C520E757716F0 -16EF17F3A58F2F7EA42C9BFE2A64AE786F49213CC47B496B8F127696EDD017A2 -A07FD72357F4D847CE1EC8103EECDE35AA194F9CE466E733F66515749B3C36DB -6F7E83B31034687CE18CBD15342723FC21689731B45C72DA278994FF8C5824A0 -EFE9F8D734D75C3C263F9D4BEACDD86406567055B1A8A5EF73ACAB4A09255E39 -BE9AD89DBF4624E686541E2FF03742C99BE71E7CE3B4756A22CA4B0121E1FC6D -D62BB37F46B6EDA0AC3669802D1DF75B0F9F61976B2FA2DFB5AE2274CF08A000 -AB716CF047D7770A76B6577C75D806D878BC185C4117FD7BBE29E767E028633D -257C34395F8988DE13F0F9083823F028E05D16BAB6B3E9002F01AD5039CA62BD -07AE9C5FA71D6F234899382F90EBCC371C5501FE01E38646BC3C734C7E2C1AA2 -11355703BE46724DD85F5DB4051F65E48A3E8DA4CF8845BB4B3F39C47000E871 -AD2FB60C3161437D8C76A10377B98456BC205F3676D02132B174AC046658D059 -5E506F3C4178C400AD4E721AD613199FD1395413EC7AE6960F96849D6A26F695 -B78395941D62A7F7B6E25CD6824E78804A8CFA780E9919BA860C2951EB88DB5B -C2F9E9AF635BD2C95C7D6AD4BA85E4B85483EEA4EF1908E3D5451AF6EE9176C2 -BA3F1622024250AC2A1F8E66811EE9C1608FDE0E91287AFBEFB43800212C90C1 -6D2D8066C742EAC7D611CB9F0590AB2AA66C17340FC81E55C339FE83B68D060B -33A10B037B3370E351168E98E9DC4E8AB2B909879566CC28DD053B6EEB04A3EE -6016A02EBB0E8D0BDB7F0B1B3BEC8C559F48448AFBBFFF5E11051516E9CB5F45 -6F38CEADF429570FB2DEC6E13CFB2A59D5FFBF0A2396FE9F7B3A0836C76B06CF -9B9D99035BFF40EA918DC4A8CBF4576809F49DF330A9F742AB2FB385C9382076 -6FA8BB32BA81FA3E57E91BB6757C6E98047E9537A0595EC0F2A9BB2D3E093294 -023360099DC1D4EBE77960AB4E26211D1A75ADE1C764E5C2E80EC234F678159E -3E64331306FB3E2BE3AE0CFEED0FC3F583E875A98694742C3DEDC35CCD9D45B5 -D4200D69F93C5B730AF952EA0DCC88EE1F6D50B9477E249C6274EA0FD849B537 -BA497FBD6617943E7BE06CAF71A0F6B13CFFBB51AEF3E042F28BFCAD6CBA2DBA -CECBDB7BB399AF5D80487592A820F82A7255B46A0D7C739CCF16B7F60B709651 -0B91A26FF4854483DEF0336B7633C1E053BA889F4306F7398D85C3EBE21A5A41 -B7DB32141ACA892DDD4C0FE0C95328A70F53DD95940017CFA865D15FB0BB281A -13E2CF735AB238D278FE175EB8B72337218B5F66B62FFD912FCCD0E180AA69D4 -23701D46D44EC2E80D3C4275DC7B5848F50682394C4E67ED98A2E6B41C348263 -EABA9705AA74CD35EC6E1D9DD55634102C6633ED9117DD472DA7F41705DC5772 -72A3C2D8BF6B308567D07153BC750C8CE867E40355C3D50747B757E52F7575DF -9B5B913AF7FC3FDBEB317DA46DB498C7C044F83E46BAA00321A84DAE2DF14604 -12031AF813C994414F098824C30FC07E9B5307EFD8D01B56481BBD2EF648A69E -7507FED42C6605B09EA047F09DFA9BE15B59B93395DF192C0FB33F6F31F325E4 -DCC9A5DFAA157D1D5B4E5BF811F6F5B0FD1E69ED7EE1A6FBC2CE14D11D6FA699 -255370376844BFF3C2BE814A1FEDD0B0854647B9B193B4984394C8602820A17C -62704CEEC824C3C745BC615C54EE5DF86EBD79E874CC3522F8B8954C8E4A6FB4 -F715EE641A3D52C06574E8D7DCFCE83F3F8809D08A3C9C70C962D33F5B3D6128 -16EF2DCD4D6DCF0DD055AEA2293E10C1B7C2399C0DE4928F0A47E0BA652943B1 -004568BBA7CE62F12C7B58966BBF7B0327481DCCFC56218E7C4B9F0761063BA3 -BEA01AD1BC99DB3C1FE550DED79B243A7A554F2B1752F18FEE94120B708FE4DB -5948387091DF4198859CF49ECAC3AB49CE2E5F0451EA4EDF9BD49633C9826026 -BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11 -85F01604144C0E694DB7206941933B60651A800DF182E19C3BF2862E72F25F2F -2D9BD71056559C0FE547D0C752640DD4DC6110A849CF9557FCB0643A1EE77855 -512015F57A80140FC06B8CDEABC5580B89F9F30A489696AEF2 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BB89566A9BDEC70EB4F2 +048A6EB631F05C014D372103E37FC3FA317EBC9973565A638403DA02E48B7D31 +CFF6C241DC5CDB470561002FF46437C06EF93BC99352DF04393C661FFFBF4BA2 +0723ABD9B3E9CA9E63BA57EFDBAE684655CBBDBA15ADAE43E1A2C98A3CF060A3 +D16AF8FE3A49B50A24C20EEED716E49AF6013D4D38CD9CC41A91C17E4D04D79D +567E1EF49110AA9C34464E95D81A730ECEB2C9AF38FBA6B45E253288438B4CB3 +DC75B3A906D4357293BA41E59C35223A6C9CBD6FF5FC90C2D07CBB376C7320FF +435A6251822BFCBB612CE630EDF826C37E95F541C21B93FCE127591D5E38165E +2B58A34AAE37712BC58B63FFD70AB80F4F24612CFD2F1466BAAF3CA2BCB45148 +D0DEA0E9B8FBA4C4FF5B8B3CB02E461355051842BD1C94F41066B9B909DB83B1 +DCDCBEF7CD00A43E4C0B8191A29600CA197F0BA227FB8309BB539D2A620BAC70 +8A1AB2DFA51ADC9873B8E5582DCD3ED154E5D727D1665F99BD89883D69E6CC2F +DB3A57AEB612171A88E22F038461DE03FC357F771675E34E90D4D19B4B36891C +9D2333960400E97494F4FC4DBCE6A73C34A0409E433BBDC0AAAEBA7D3555066E +1CFBB4515C8B573C9B9DD12ED5B6ECEBE35AD0DDEA9DB004FC6CB540B5117B49 +59CABE5FD74C6F5B6482B42C20B5FF0467D1DBD7CED2CC651CA57852B6FBB402 +A6764DB342889132C911CAA713A7F2FDD8A5E849345D6C81025E02F5B8B682BA +90CC9B467FBC37362436EA6BF8EB62D784B01D5430147945BC09D1F49EE89F2E +3E2B8E6D439248A56F82F2E03EA5C7A922F2813BE6538A3A423BEBC55B345AFB +3B3C125306749E137C647D78028AE1FBF3E1A82C260132832A9668F454D39C41 +736717DED0A99F6B11F005F0E1D07FE84713AAB4C042FDC166AA146D7B5E9198 +E4F485BE5B135EA281FF1C1E616B5AAF02771F58C5840CB5A427FF9794F93E94 +17FD799C78AED1DC4810BCEF4C6C51D3C1504EA2C6F2B29805B7ECF97B5F637D +FE92E168CB9029E90404CB54FB312FC7AA8A9F2F524C03E61F03B1E31D4F061E +1677B39D5D30C9FD4673E1723F4AE3CCF38593AD6D7F61E9DF3C010E51F25085 +35D51105E1464BA146A78D7297D4D310AD91342A0BB942034A3EC0696B467367 +3E39D202D637E6B14D0EBCA6AD3CF22B07D4CA69C0FCBB6C93782B2F0DFC5AC1 +5D8A16CB5EDB671A0C1BA9D10F63CEAFCD0E06E42C730C8EF769CCFD57937245 +658F486036D37E8BDDE5670A212FB488A8753322A5B170C9662750AA958C0BBD +8E97D8239D2A08B30416504DEEC4E506013E037C91785C674F8A6A44E23FEE6F +CCC00CC5E4D355B0871FDB8ECD64F70EE32449BB5D6F84F8C8AA2D5B1A489BA9 +D7FF2DBAA8D0B84054E93D64D3E77850A3724824914A0F821EEC3D605DD851A7 +606936B8B9E24D6E932E16C448140FE94DD96C75AECB73850035ED9C04A1D93C +64B21E7D4657E030483EC5C3554AEF8BE4D0FE5B9743B875340B09E01273DAE8 +F256C50A1A8F2E0417440A8BB0173F59E11523E1CEF2593A4AC5AF2167627B00 +C5EA97D125EB8A4BD4C372877ABF10F5B7B149D73787E0834BFB3084E9508DF7 +072DD71637019599252059738D4D6BC57A9358E4B14F6AF9C4B31DB8E25C29B3 +7A15F9953BD73ACDE5F0445A5DC406BB4635FAE51C1D8202AE31730E6F355317 +1DC197DB0B6177307C60E5D38F4487363EE051B2E609A52BC4D45B14B6558B6B +5E1618748794B8340752CDBE7756C068975B559615D4CD5A97CE30BAA7B2B1A3 +2FEF2E055232B24FD8A21BECDE1B6A479A28EC80AE2CD16DB50B30B4A6CFCF06 +491C7CD5AC29FB964D4846415233947522676DEABDA0D9535F8507D33693930C +B4E4240A02B0CE7EA288516B8A6EF908D7F8BAF9012D052C6AC96D9F8F6ADB07 +8984F3559C5E7E3022A957982155FC9CD599C74E18328D3AB46F9DD15D1C4C3F +9B93ADB4489BA02CFCF57DE6270F3AD2F8597BE71786510EF08142F430EE5568 +4F9DDB792B7C46B6135E341DBBF062FBC50FABA80CD4A384157BAE57CBEA9781 +AA4416323265168AC097DE7E30A0D4750143A4FCE70A863A31876A8FA5327C3E +36E89589E363AA2B1A6E8B09F5AEB8FFFD0396067173465B6503383DE517A6EA +88C0FC08578398C2A721E5AEB29F4AC9BC990A50CD87BD35A11F9E81F68E7B85 +5E5B95A4F9A5D30379EF90D78E1E466DEF867BAEFC4F5ED2C762BFF099C1C2B3 +5E0DA1C2FB33BE1379413CDDB1EE6BB3A495331F72F2FAEB8152E8AD5FD334A8 +AAB0082A71D5574B618EA8D487B8FAF1B445F3395B1E21224F5492A0E06F5152 +7726835C900E2E52BE3B7B654183AEDEC68053DD0AF19EF6DBC10B6FC08EC7D0 +CC0E2C8FAF8C9A4C21FB7C34E074BBA4EE64226BEC8C928A784C1BEE35B72EC8 +E9295240B29DDC2539CD118BAC38DB3917D14CD33AB45FE47E827F2A2B193AFF +53C5396C52CEA4F43F06AC2D08C74CC85D608CBA267175EC31311EE25AB48DD9 +FE811B411AE426C9FC0B6044D1EBF130231623F1566CEA4D1C06D8032FD9808A +94479C842BC41B675CF6B90113BD681F8D43F51D5016D80EDC11D7640FB950D4 +E709A46184406ED90D0892A4CD9062938A8205697A200DBE1F38EB166EFEA0EC +4FCB45CDAF82EA103DD6FDD03D146F3E42EDA6496064DB3F4FC1C5280C9E604B +D5EBCA08BF2AAC90156C11EF68137DC76502EBF216F3AF3EE30DD2676D218428 +F41C655093F8B530FCA378B5769F262A6FDB4B66B83F18F050E77227E28D71F4 +5F4425CB8D51B3DAE872CD86D7804F870BC564A6DA1CA13EDB00D131CE4F6460 +7021661B99612629DCC20C85CF155EDC5111E015A77B0B82A8FC1EBB374B7EF2 +361419BA93B857D5C9944BB5B4AEDD86ABCC261542077FE09701C96370168579 +5F89D5AAA08D700E2643E88C2FB8D1D56D37AAA9744872E7C050B4CE046B47A7 +83F224FA9FD311C955EFBF173042C8FC66524135F579B1397828870D5C9DC71F +8615FADE2A1CFAEA90F732B6C266E2F3048FC43EDA7A6B6D98E9DB793CF457B3 +F5877E7A055C92B0246FEA8C72B3B3456F93BF36E2651D32CD614C3AECC0B4BC +F824C8363E593A6458D37408FC5B09883B280005DD24123E2D4B1B85F4113327 +EEDD9186A4AF2CD6439B46C5C168C125CA80F9EE9E68906620EE126CFBF26E15 +B269838A54224EDCFE2A373EB750D4829BFA410DE5F1541E428BB1E024AF496D +F5F1C151F5A645C8622F2EF9088D57A2811868A8A8BFCDBFCE3ACB8463AC35B4 +8B6F44E1C1232805842F56FA468F81FF37D5D55B81CA56058558544C142EB3BE +07CFB1F75DECB1E48C14D6AFDD455989AA6FFE8B8DC54F462B3C20E31D270BCE +8E68E2B43A6625AC7E9792704FAAD6CE8BBE0B341DA7189EBB3E9D5375B27FD4 +12506D5BCA50AEDC6955E6C3C7BAA84BACAF7ABDF3A270C7734EC3C6EC22793B +E67B0E288F99699D38DA8B79F2D21DD97945FBDDD132A8F0BF947950D3C0B4AA +EB7B2C435AFE54489E1930610311D718AC610C21A644F34CB2D1959B3066F39B +EADEAB5CFC6AF4D191D86B02402B00D1C5262707861C5308730579795EB53207 +A291A27A8B5C4DAE0A87A0C6A260026CA3CB620E1002E066A515D7990F3DEA29 +0FAC962E0B82B7A6C86B1EDC54007822BAECED673FAAEF88C8109777EB79A53F +AF3C58546974F2F56E70E9B5CB59ACB5C27CB01895557B2D82134D7F02029B24 +3331621F38E68717F5CB68A8892D0B9C0A8ED4F8BB56E80505170D44C6856128 +2DED0254ADA4875CF56B4D97372AAE730D4C77A2940DC8C178274DF88A9EE037 +215C6FE7B9D481EE4DE809B124C0270782411ACCCF89906A8B143D0BA8B2CEDE +E9B90465C3E57A4FD9AD2702323450256ABD09A1F8C26F08480317C08B75B720 +70A161C99715A35A94DD5C9647ED0F8A5337B774C8E54F9653AC859485A1FED5 +37B725A7E4BA58711CBCDA6054E34CBD8E9F9460179DA7DBD243D81A1531FDDE +BF2BD425BD9DBE75EAA333B1F5793669A215549A774597E6ADA16D323FE5601A +EDA41092730009A99BF5B5AAE281844A6BF3292D4D4EDE36B4FD8BCAEB6EB72F +AC5D3CD53D0D621CA9EA8D254FDCB2B5161EE9E80B266563F669805A3A15271A +0753983004A1ECC7FBADF62AFEA4DAB49A178C231759857DB910668BDB07CB3F +7E8EC24901863088B3231EE3FA563924032C91CA9D68DB398F9BD9AC0C651EC8 +9051C9F709CD784F3FF5951DECD7E869ACC34B83AECDB011E6594347855EE7F5 +28811F744A4BD70D4E9077EA7EC19FFCF612689F12B34332857AE41F13E6D16A +962DB9B6AAAC167B9FBDF0068EA13412F318384134B29F3F0C399F1973A3564E +F9C3C39B5BDD4C98D81A6CB476E565860B50704BD65ABD630A5F1372F2D826F3 +3AD47C08B8AD3176A170C369EF3CEEB190134006D6135C5B8CCDBE1C11FFF1EC +3F6D8C46E15C4F5EB9ED9F31A129594D542D40DC3815CD075A0DBB648D868AF5 +15A05C4BDB28BF23653A3AD96CF6AFC065DCCCB23D5D9A945F8CBB539DD3BFA8 +DB8F1FBF9B6F25B41EB4309995CA3D5D6ABD70CBB4A2F0C6364E5439AD1045FF +72F6B45A30BD3A548CFAADDCC6C15D46F6D783D3E520215751DC98335A4ED512 +D7D19235CDF911CC69F3CF4365B678EBF3E87C456A4E77339C74930083445588 +462529C22A96A28C5CE87AFA0C981F26CAED5A1C8DBCDDA612624DBE0373F026 +465185A4D8C73CCD8D71EE97116F8F7D341B87FD78F9CCB9FBDA2A7799711607 +6BBA855AE9D5C505870DC85FDFAAA130A351D56AADBFBD6A7D52055E3200F8B7 +8AE9A00092B55DEA8BDE224B4BA7FD4A191CB1FFC4CB995FEE1AC2883AB69E1A +AFFC09AB5B9AE311A030A5BA05E2213F9BBF016C8FA80689C069314D91274B20 +53FCC65C7D7B3A7504887525BFFA060304931672A078BCD7F269595686310E34 +E1ECA868899BC402D17EC36CE40D5041D7CEDA77F7764C9D98793F5334F574DF +E93CB10A5E8ADAE95CE63D2339557091B4B4911A4987CF21B7F1DBADBC2DD605 +8EB72473C1F2EABCC44E0D0339EECB55DA74085606C3F89D57ACFBF5755A5395 +CA8D4BD47E4EE8D8B882D3AB31A1F0C62E74654C7E041E4FF2693A38A9796064 +46526B0A37E6B5BF8E48E80EDEF81E34DA8F6CC9025936A4D0E6D709D61B7B5C +AB550397117F3F9D2F5A542A64DEA8E1178F7337124D6B56BA92F659AAD694D7 +391028731E01284BFEA635314A8DA8DF7A34EA3B6B2F8803BE6DCB423A9E8015 +55EBD90EBAE8A00298B3B6B1C02BA516AF528122C1F2B07EF69F5466C2C36643 +0D665D6561705509B7582D8301AF3C32E2F3B9433E3E04D62117C7E8A368BDE1 +0D4DAA1C415B2A6573116D2A169AFEF700A83F55D88813585E89C94C07802BA8 +3AE8F9BC3CDBFD9C2E35D062B1FD6E79E1EF104FC70B0AB09D12CA027F33F85A +22F0ECBB4AD55FE8C616B82C46CE69A600E4F767BD7A9C5F9B37A3196B038384 +5DEF76A8884425FE598A63AEB19FA698C2AF7CAA4983CEC789268E22BA051EE0 +20A40633D22D8F707626ED30E8273EAAD1C065F0B2E1718B5AC853ABE09330C3 +B0082A71D557169BC1559B6D285A3499D41C4CCF1F74884EC3917EB9C574371E +AFE8578DDCA459B8D22C0188A8D150437B05FB92022C95EB6FBCC954216B5FED +CBC7C90B9A1F061376A9840FB64390A6BA99CFC8279A86A730C6DBFD14C53C4B +7277D676BD42203677E9ABEEC8C97E13DAA626474513B06F8734DD784F2FBBB9 +B3B448B8E8221E380AB4A86D3A683B86A54129519D50DD4FE63B30954D805CED +A9A5D9A39C58B65B08E1C19555E927C6DBF7FD07252B2B57F62B905D6B488201 +213D106A41033B26FFBAC2E616DA6ADA6D560BADF10E68872806CFD6F6E19D7B +57CF1F7A030A7BAD374F16A977E0ECB8742D034ADAF9C247DA19C8AEA74EF6CE +DAFD6B1DC562FD3B77E4D008BDE4D8C7FCA9895DA1AC9EAA01C32A0DA712B082 +9438E77230D38FC4153E1711417B918BA6CC03203A5FF082AF880F48518D8271 +C1121E4F1386B30A7F1BC6F10EA98443F8A65C867A109336B808BC9A8E2A75AC +F950835AA84B56F59DA4C8A18859C3B68F6B6DE09A6675F639EA9107BDB67B0F +54EBC564BC2D781B61C14363A54956BA78A2BB89C9F966C94EEFC29EE9F4E23E +C0BF750144DC289F0DEE1F8A25BB52E54F656FAFEE4BD2DA57E1306BBE648051 +1D0CFD6A23A3DF082E3CF13197BF1B7FB22B2CD427BB78F455C9634DF989DC90 +7BB2AE247B1C99AB2062855B2948341B0F857ACD750B59E370A6698C6A1F5287 +72A4A9628A592E313956C242DF8277EDD2F1FDFB07CDC104275FFBF796D7518A +DF49FF3CDEC3BDFF1D290C382F244DF18005ECDABF0C5C2C64EEC4383E2E07DC +5C82587C071E59B46B7BEF31D268F39D9B12D534344FBA515E9DE8F166FAD1E2 +7D1558967AAAD3829D3F7EC6938D20E5379F414532976ABA844D97A5E9078901 +EAE4D0ED1F4C7EE7A2D80D891A5013D6409A38ACFA497F5A169EB7F9F4890DC4 +62FA6A89EA48267331F086992B9CA9305E16611E6AEE67DCDD588A25D37F45B1 +0DE75C802EE021E574B64B3969DE2E5061ED9364B646C38D4BBA86802CA6338A +94E135D2256920EBFB1AA22D9E90C7D16853F0DF9F2D942748EE540E4FCE63C6 +5380D7AB4ADD6CB00FE8F7867E4862D8DB432F28331428CC350CDF7F447A65ED +D7683ECA35A22ADD06E9FE6BAF060913AEEE7B2B8EE4798E437698CC9EB2428E +74CE73F84D0D2292DE709D71FFF8901C3505370E6F1D4E28E6B7372492C65A88 +159371B1D60D77CEC93B272B6C5394EE1D2EF9969DB2838B8E128553879A1BA5 +2884B0A596E8FC3D1E648B7E26A4AC57DF09B9CE09B2F91D8CA618CA52AB3DBD +D005A56A420366069B73146A6F58E88BA49671A1AB7C2070C3D42AA770285143 +40AE7D7868C0E1993506B07C086AD7D4F28CE2D15853FC5FBCBF9425D8012B9E +DB6E1E5002517659C8DA69DCEACA94F368537668843D281FC11782F1C5F71977 +CA215349EE6F20565DE3D8D8212A40E1227A4B22965FA64A0B02C62BFDE97E6F +C3C54FED4057EF9D258C42D7440C78C5E0CC58A40DD74ECED4152F70A93CE71A +1B3A57C46F74A6D27BF98C97CCD31A8EA487260F224A3E40F52C65490AB4098A +7B9EEB54A5A415C8C88568F7D9EFE74BBB785FA18AA27D9201F28BBC477A20A5 +D1307AA78EB8C7CAD409AB64B29E4115E45F5FADDCC80CA74B296C4265A40614 +37F2ACD8386AC0202D6FDB6711E8CB06442F209D781E940ADDD6D881D4F8E874 +357C533115923B90138FFE31D3577C6AAE60D768970FAAB682CD0DCA3E9A9A68 +6393E4B772691C1013ADFFC90C508D51B02D2518ADCC7E79F7DE5DF9D18B8435 +6129064DD1A3995E5A6F45D78287CC10A0EAFBF47223494C5EA934B1BC2F7C53 +686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F +D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8 +EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6 +3088F8D19CF2364A329162D39E166AC728B267758341630B00398D64538FCC4D +E3E6CF103794C29AEF7F7E56970F6B1ABA87DC8D23E280EDC77556593D02DFF3 +154883CFE4EF04E07E7539A4750FA1CF1A994E99B656E728D140C83AE1F196AD +9F049188A4184C84556C0476BE46DDA8ED86888DDA3065C5091D99EEEAC43092 +40B97AE327215024ACC0134CBE91FD761C26A48EDFF9028DA28222985FAED7B6 +A1CC891D07185666E34BEFBBF77C6C32B88FF3F1046E4EB2CD942E70746DDCDE +002E74BA03A2B15E0529E61DCAC207A71F61C89D81B3C53C5B458EAC70ADFC54 +810310CB04E1A21FFBC5DE2429EC0989A3F2B6AE4290A005FBE736750956765D +637B7CABF7F9A593D9FF6C322895835C0007A78771D1404671122F9CF898AB24 +1A5648EF8C40B27FD537612C4CBC6E584FBD058DBD4F0A00C63A79077826D3F1 +859589B221F7F82DBE392601B0A89142648EB40BCD943E382FC7758A10F978FF +6DD9C3C1D284C5642C812DBF29A75A50BF63F788CBEA5883DC1544ABB49289EE +2C99CB03C1BA72C7320904C7EC94736825A793D5629EABFCEFAB8D28B6F23858 +89A6967942A943FAB5E5B26B8567CC9606DE60329C6D890843F700FC1F60656A +38164ED7976AD47A8E54940B9E340D61353AAD260C9273D45772AEC8E9F4F045 +9CC576D152757AF3B74DFB9B6962001EA9FF7F62C2E36F71D9B76BB99DA7631F +774795B8CD1E08480153496DE5E08A1F4BEA681D0C1D6336A49A222B0537ABD9 +75A3A9D27D0B71B8913E9355F8E56C5FB3E14B9D5ACC4F87339FF9D9039ADEEC +660B5CEF75E7C1772D4A3A4D0C8976A165766D9DBD0CA8132D17E5149AE716A9 +2E255277FB5294A96194C462C74AAB251A36941768EDB3EC6DC2C481393ABA6C +8BC2F3AB0BF5A6E5619BE16DF43BB099C6CEA5044ABACC419174664232E97B29 +ED32362D219AF109E5D8CA751EB1F9F31BDD08C93AE018E5269AC327FEC67D99 +588CA80F068AEB94A7B943BAD5EC8D89C0B8D153B4345E77A5AD9B4522208A33 +DA92CDF765B44123C6EBAA06D629EB9E8D0FDD29BFD60EB582CB369474767FE4 +C0947F27DCFE0C8BD3CF5131E706E02ED136DBCE6363CB5CA637E08C3D832037 +5AAA88B746B6D915EE72D7B458C55598DA6284F362D2DBF06C51DB50A9FFFB5E +EBFD69D8D06AB0A6DF2D03F6E14FF290B1A1531109E43892B82B29395910021F +A6EA74B8420A14FC189741ECF67F81686BD3C5559DAF75DF9FEF3346CCC35AC5 +37A1E30C2602945974A2359EE3183A1AA568978F7732C35BE2B9224C27161748 +515E5899B0387F0640DE1D712F390A8A026FC5C5A893E98F46B418B7B32BEF07 +AD0EEA87737D929180B2BE697D0DFD46CF307E4FF76BC03492E66633F1357848 +AA5A594EB8CC5913E76602C9CF8B7428F67965D5BAAA29BD6C978EF6B22B0BEF +4203B223443554971EFE558FD2F51D01B35D2194A1F6820293385CF12DC1ED73 +79EA6082A30796D5EB72A67C5DB42A01F18CCBFEBE2F10B091C43C2CBACD8914 +D665B340281C1EBF92249FBDAA577CB7769974B669DA0B74E822EE5DCF3A32D8 +9C6714D8C82CE9BF3F16E6336094BC55381E73A96D45B7A70AE00F9CB8348E08 +2A64E4B40B3BD0A653B423C5D3C1ECB62F5E05393FB8C9B0C44AB26F6BF796BF +5B51601913014ED708B97731A5642351ECD0F6CA9C06832E0BCD0055E9BA51CB +7242CD34AF0B75F3594AF9235C42B974074665C5B6C934B08E5C7F55638E7DB5 +312BC541A8000E69A92ED6C63AA6485A50DFAA1DCF9B0DDAD23C43DF22F3000C +0CBF6F8F64F37BDF8F8DF321FD8F42C3FF774A388F9C033572B177A493814ECC +BE19595AD285F11763857603EAE0D6AED509225CACBC49351E6BF1457BD11490 +EDA1C3DD6DE8C7036464CF80FE562CDA51ED2EB92BBC79252FA79EAFE5E6BD4F +DC16AB83B2C902A9027BA4AE30ABADFF6D513BEA850FF35416E76FE62D8E88DC +69F0C60921B33BA59FA3EDC8F532B47FF2A5E5680BEFCDAEA4474DFA2F8FD68F +74B5837A22984A7534A5321B83459E436AE4C498702EA14A77D3F78DAEA47BA0 +1BE6CFAD95132683BCE0601F3EDDEFF5207FD5FF3CC9093ABD946CC7C1076DB9 +4DAF08C682269CEE980159541D92FFE484B7440E5AC58D7707BAE579605D1EB6 +42C396807AA13B3ACEDBF3A465CBD56F076FA9319E43907B6522904F92483537 +6102700CEAA52EE916B80AA4C5F8C98C9AC9557F97784F075D37A83649D632F5 +82A519507162012A671F3B4DBAC454D920606E9C87CADCAA1172A04E445A28A7 +0FA9545E5FFD15302664B5C2C4F479C8C760C2A015F5F5CB51EC6C0260154D37 +4A65B01E58B458ED0FEBBE74884C9DF7D50770153FB498E94F65475A5EA6A687 +543DEA3156D3E5CEE23923120DF4D561D2C082F1F3BFC5039A1DFC1C9C3A328E +6F879AB979F2C177FBA357FD63F8CC21E8AF632D6B01A3AC3EA7DE91C17B8120 +42E78A1AA2E04581B1C434A8147DBE81A87C73782DAF4BD5F309280FEA22DBAF +586AF386182364E45D7DEAFFA74E338E875B64B13CFC909B30E074D777D347ED +3A58A82D5F6A6E913054F9FABFDD9ABD8BBF54DC3480F3A90965A0081092714B +D77604CC7275050DBCCC800BCD8E2BA540B18CB07AF27D66F8887A571685600F +3FF8C7A4966A8CF8CB25DE0495CD4E048999ECE6579AFA82D1644FE160E2D3F0 +EE7CE89045332B172425D7D1443E8DD9043A12042ADD7EC106CB4DAAEAB310E5 +85F93869A1C519DC0E3CF8F4C05030F0BF7054C5859A74ECE7D6FC5644C5B84A +F3EDF0C4B2DCDD0D193599CB3CA00464A90AB55674F884001EC896726A9B374B +3A73AECDCBE06895E87FCE6267091C6CED0E779DEC36D8CC35184E00247AB90C +37161FFEE7CABFD7499859042093BCAE22D6B811FD16EFBC8AAE6283881C12CA +98E0792640063169F76B18EF543AFE7951E82EDB1DB9597F2F9C959B69943379 +CC7F5BDBD1BAFF7C77AD8D504D5F17E1B7DFFC515AC237748D33FB6B9D7DD903 +2F3E9768290A90A5FC5EA516A94C1885B17676D33CE4124CED1359E473305B02 +03C28731C0FC52B18FC14360C9494FF2A86AEE929E4022ACB78C02ADD6174FD0 +D35105BB00643F6560A9CCBB3E5CE2F79F0EB9BA774D27DC476867C991598380 +F77CC0444500CF43DAB8D729B31EA5A3184F178F82622A8B711A9CA6A770971C +521C44969E814B44D8E1927C283E6A38B78D7C258630730EA463FEEEAB263838 +2A517BA176D1C137AAE7430532FFB0FFCA8BF110DECB42B1A7A9457A9ECCABFA +D6CC11CD925518857AAA8498CEF35377CF92FEA77C09E6AE25DB2D09F1E355BD +7F7F5C72A76315F3C2B6BEA1AF7BA5D0E8000778A0FB2C60FF677ADBA9156A11 +A5B0B7AE92DB368571C040FD7A29C3DF384CCC29A0E9F40FA385630D23AC1E97 +C15C06848761CC7D19D208BC115A6A2933056BCEB3717CE2488E86D0B0D6D276 +22B2FF1E77FA719372BE62A5B6E10D3DFCA57DE70AE16C57718B86C58B6A7F3D +C6DD45D7559F9A0ED8889E707FE7622997F2D573F7688621245E0FB3D34A08C6 +40B72F4BDA0394CBF90735B9E6B3928AD56F50FEF9A5DA8B195008164EC03424 +7F5317FB8157C33F6903FD6D4B4728F82F1B02046DA16F4285DF088E08A136FD +1366494E3F5AEBED4B48B3B9072BC811A700940FF4B2A51C0434ABF225B37BBF +E4AB11F394332D66393420D4B843CAB6AAD9C32418CFE6A2A1260BF430E61176 +4B1762E3C9F1727BA47AAE4C7589E7099A56F5E1CB6BD64C0C8D026ED60EAFBC +BAD1476E98F5F12ED94BDB1E4B0D8FE9E36CF40DA6F5B2E1BC41EF5F7CB49825 +EA5058FF7C49C5FA11F9F9F575AB4D8237FFC2573F94B695CBE9BC44A1BB26DD +C6E55627BA16E5197CADA519CC7302DBE77F1FE4CF68C558D8F6E264 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2209,63 +3638,233 @@ BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMMI10 -%!PS-AdobeFont-1.1: CMMI10 1.100 -%%CreationDate: 1996 Jul 23 07:53:57 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.100) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMMI10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def -/FontBBox{-32 -250 1048 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 -990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E -6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB -DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 -59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 -D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF -8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 -6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 -1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE -03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 -95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 -74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 -3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 -47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 -AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 -42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 -40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 -B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 -9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD -0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE -E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C -7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37 -88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6 -DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1 -AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 +1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C +7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B +0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 +EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 +404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 +78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF +A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE +88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 +C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC +BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 +98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 +E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 +143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 +981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 +88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 +4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 +FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F +347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F +FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB +C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 +B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 +F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA +29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 +36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 +048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 +80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C +9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B +75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E +4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC +74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B +D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 +E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 +EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D +543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 +710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 +EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F +7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 +03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 +01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 +500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F +F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 +AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE +1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 +85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C +4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 +6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F +55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 +085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 +BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 +2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D +CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E +BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E +D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 +991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 +6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 +E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 +E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 +B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 +4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 +1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB +B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 +8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA +FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 +AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E +BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 +E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD +38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 +7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 +2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 +DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D +22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 +8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB +44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 +D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A +42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF +C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E +0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE +66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 +E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 +6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E +1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 +B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B +897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E +EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 +A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 +F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA +A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 +2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 +51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 +598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F +87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE +178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 +4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 +7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 +AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 +3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 +337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 +C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 +DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA +7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD +6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC +98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 +821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 +C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 +7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 +B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 +A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 +23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF +C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 +969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 +3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B +9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 +1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 +B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 +95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 +FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE +44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 +FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 +E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA +633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D +6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F +FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD +375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 +6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 +EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C +E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D +F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 +DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 +D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 +D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 +9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B +9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 +B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 +D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF +8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 +FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 +B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F +00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 +909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 +5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF +7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA +BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 +C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 +BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 +BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D +4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 +94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 +F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 +E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA +92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 +63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A +CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 +B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 +5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E +86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 +AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 +3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC +35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD +155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 +AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 +E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F +226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 +9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B +8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B +919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE +A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 +9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 +523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 +88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D +2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF +AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 +B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22 +CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744 +3B4593CC8944C70F30925FB48A16342CC26D444F54CA15E5A624C4A2DAA2AEF8 +404145BBA339F2A2D6FC2F3ECE54387761CA1213C8D56FF96E37C6147CA44B84 +262EA87E7CC10D931E6B5B80D7F09813498497AA84ACB4AC69BC6C8481ED2953 +084F560D7B1CF90555E69BD2AF7C5D944E8E3506165014652462BE1BC81CA341 +E1B0725159D36DA0FFF3577D1DEBC5D91AE683FB0384 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2275,63 +3874,233 @@ AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMMI12 -%!PS-AdobeFont-1.1: CMMI12 1.100 -%%CreationDate: 1996 Jul 27 08:57:55 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMMI12 003.002 +%%Title: CMMI12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup +/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.100) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI12 def +/FontBBox {-31 -250 1026 750 }readonly def +/UniqueID 5087386 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def /FullName (CMMI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def end readonly def -/FontName /CMMI12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /period put readonly def -/FontBBox{-30 -250 1026 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 -5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC -4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 -3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 -EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F -4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 -2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A -323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C -2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 -D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA -5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F -0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D -A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 -2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 -00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 -CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757 -99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA -C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D -5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295 -55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49 -335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146 -BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 -15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10 -0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8 -23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2 -378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972 +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE +882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3 +2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A +7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541 +0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69 +987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7 +609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC +182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A +CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A +1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE +C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D +3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6 +D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E +E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200 +761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24 +8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F +68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D +10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4 +262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6 +922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16 +56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26 +32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA +7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460 +7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A +46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD +754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF +88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F +CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A +7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760 +8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0 +BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B +CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25 +8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B +D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300 +135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A +C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812 +1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86 +07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39 +14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D +7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D +2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D +639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3 +D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F +90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948 +10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E +1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E +8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC +D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9 +1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33 +9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875 +EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE +DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3 +60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8 +FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D +203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608 +FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09 +DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F +2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D +244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077 +31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B +724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8 +F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7 +D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA +AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907 +CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF +01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D +CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA +287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605 +8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9 +9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1 +6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5 +7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C +192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA +AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4 +A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9 +50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67 +A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912 +3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF +CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6 +5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96 +8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE +084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7 +92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2 +AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27 +97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF +92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5 +7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824 +5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199 +13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76 +6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1 +5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5 +6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83 +F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E +A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4 +7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A +9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817 +E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962 +AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD +F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8 +0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003 +1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31 +7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E +38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8 +5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F +3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B +B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85 +15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B +AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674 +6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6 +CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322 +EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82 +A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D +806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4 +461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1 +4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361 +9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C +172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6 +69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E +ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690 +356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0 +E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78 +7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C +B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A +31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF +EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7 +98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30 +C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61 +AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208 +E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900 +76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40 +8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573 +CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7 +761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A +2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138 +89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60 +D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF +C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485 +D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8 +B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39 +AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F +D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3 +866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD +207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73 +756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7 +60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD +A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A +1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4 +A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048 +C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3 +03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321 +1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B +97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE +D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8 +4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF +94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97 +201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7 +9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000 +CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7 +29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939 +4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED +66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31 +14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53 +84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74 +6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12 +49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C +224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5 +5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4 +A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498 +1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D +5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6 +40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C +E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B +C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD +CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D +2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE +710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45 +FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8 +FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736 +5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2341,53 +4110,235 @@ BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMSY10 -%!PS-AdobeFont-1.1: CMSY10 1.0 -%%CreationDate: 1991 Aug 15 07:20:57 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def -/ItalicAngle -14.035 def +/ItalicAngle -14.04 def /isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMSY10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 13 /circlecopyrt put readonly def -/FontBBox{-29 -960 1116 775}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 -7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 -A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 -E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A -221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A -27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF -5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 -0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 -DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A -71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 -4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C -515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609 -C627A8BFEF75B4DEFAF34B44B356A516B765AFCDD3F5475B1F928731D09D2170 -B97E40F12CCEDF4F6BB3756C4734F6E98D74B7E942A954B1BAAB83D4AD727FF6 -DF6DC50B2223BCB5568A73A112E4860AD490554E64E780073FF3399CB4688D33 -9E8829667CD6EAEF25E0C7D2D44F2BBFA40E999325F9561514844221B50BC8FC -4C7AD68CA7220D69125C2AF06849A3E068D18733276F0C0A6A2936D3C2C87CDE -59CD1AF148C44F85784A5DAD569F5FF53C061056C067CE29AEF1E3BD1FD8B0B8 -71A0A638CDAC6AEEDBD5337D4683C084BB60B1859E600F59CB4E19C5FC5C6327 -EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF -0F62DB +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829 +F1795501020D5FF0AD25584C1D47BE08ED6CE96278050BA67680A3B973613647 +A93FAEC756FC253B3693FA2D6491B276EF45751EFB306961788E7C15297A5822 +AFC5A2DABD0DBBFF0BE135267EA6B9D1B4E4760ED14895FFE1F8C3F564830001 +EFA901B8442BD2D98561BAB9A0FD939E0F856E4D2EB04A9A4496704109B8A84C +EA06AB0999427B3B1BE776004AE906D0F22159C051D88CF573A0255D99B56781 +CF326CD11919AA40B096769CD6D0ADF3ACEC7957621084ACF21AF1F265416628 +86B67FCBDE9370D4F5C6F5CC67EBB0A2727E074090DBCA459AFA1A4778AED4C9 +AE5400775223E684BFCB 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2397,25 +4348,41 @@ EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont %%BeginFont: CMTT10 -%!PS-AdobeFont-1.1: CMTT10 1.00B -%%CreationDate: 1992 Apr 26 10:42:42 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse 11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT10.) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def end readonly def -/FontName /CMTT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 33 /exclam put @@ -2426,6 +4393,7 @@ dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk put +dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put @@ -2496,406 +4464,592 @@ dup 123 /braceleft put dup 125 /braceright put dup 126 /asciitilde put readonly def -/FontBBox{-4 -235 731 800}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19 -38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF -D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204 -EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727 -A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593 -F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714 -4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA -6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E -A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B -E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F -1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438 -452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF -8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369 -5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA -DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9 -BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19 -741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79 -E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712 -E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7 -D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE -C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA -726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227 -CEBEF0C9440DC034DAD9C19FB27A350233112B0A339366B7373CE058456E0E1F -139936F6CC9B50441C2F5994977426AD7DC8C717E737F8C201EA55AD94908336 -FFE9568C0E6EF3202D8CD7B7A6CC203EC601F9A7E2A4395ABA3406503DECAC56 -B03219CEBD0E465EA0F635F26D984F5942E4FB186AB874F3E74CC2F2E378BD83 -57CD1B63C9DE9963587B7457D56024D95645ADE0D95DEA748A6ECC6809C2A7E8 -6A568F83BFB184B31349A771DD72ED3FFE8D16E3138EC49EC6D7524E611331C6 -DB2E16059C9A12512C7208E3B30F04273E20BAF41EF8C96BA4B17F31572BDD15 -3FB7D15CE31684D721083208D7698A31D07160927C9A7CF8B7EBE81A83C0BD46 -9CA06245FDA37F0F2DF7948A20D121660A73E079F4ABDD8F90367BDBBA323957 -062438FF3B28A3880380CDC76A055096D30FABA4AECAF238ABC2513F089A6C4D -67EA0050A34F5DBE5FE32D9E75E67F4C87AD8115DBFC00124DB4D3F4CB62CA02 -59BFE46E90DE9ED306D6CDC51005C233BD39F41B264E2892AD23E8F93C8C61A0 -B5C5CC1021411DAB515039DCAC06E1FAEFA259E6AB07135CBB345E90E2BD64AE -37B9A46934BEB383D3AB1787A2656FCCEA6467ECC2582807E7DED181C53829A7 -1818C3FB17567D81D1A833E0559798D06163781D7895C31B1D81CC439AD51CA0 -5E33E96253064B684F3261EF86AA8452B32E9C5907153BBD692BF8BD4AC45E3D -7161488C716CEFAA695877B03781F64840D49C9C1BCE9D5E759BF1812712F2EE -054A34F2153AD6C953E795B6F40AFAB115C5FCDD1864A85C1AEF5DAF40337068 -08730BA7AC580213881F8AF1F76FC830EC76BE4CE6E090A1F91618595AB6D1FB -A885D04A4E73C9C7A923D813275810DD2B2A3AB4FAE4BDA24FC170A4BCF46E05 -572529A19B09E5ADEAADD071EAC20C5DA884C7D414F5AC5206E87E53989B7378 -BADCEEC6FCDD4B4EA03EA994FDF6A80A2E232B1A007B7554471FC1DA24901896 -9CA84283A02FA1D9176026BC1529147F19D07521A4997B70258FFC03821EED0C -D44BC9C2E67C3CD9971954C58BF1775D61115B75E26AFCC3B7CE6E5ECB8CCDFB -640DE440334737D63F539385F83BBF603B631AB2F750DBAE707F5D008591A05E -9D532C165FA35B580D690138463047F77F10FD4FDC8F724367545C0F5B6AF978 -B6AFA49624EC2AEBCB2D19E9652CC920EEE40ACB479E99C7B615DD7300225276 -D45A24AA2A607E5C90C1835AA562597FBBD42465DB1AF4867E8A1A750F1E462E -D2615B3A9E2AE194DB25B21527307997F12B45F442817D221773CF53AB0063A0 -4B188C90FC3C03EE095014485F988D8663C0EC7E1C7B99FA1CC791DD44C7CECA -600806FE76707EB7D9355A1CF21C4325E2C83651A6FD8399C79CEE9816A4BB2F -FC454A4A800E96D4E964627ECB39A108D418DAA5B57E6C0A3F191BE83A4B4BC7 -48A4B83F4EA66B0E2F6AF0F99FBBC9BD5A53B06967B36222AC42F2F25664E39D -5BBB794C37EEF11E43949250AF8F207CAF47DC0E02E93F9B41C9C11BBD7146C0 -C8994D6927D054BBE65A85AB565027CC9581619D26BF75C397AA56BE2A8DE89C -7A0E4B8E05D6A74092C5625E59BA23F65F1404A17A9DC4843A08B58234AD7592 -7BD68D345385E2B005F2B983FFCEDCE78417C904E181F3B6CF8E5CF236F23611 -D9CBE545AA643C7D1B28EBFBD2E1171057A3C8FDB9D7DABF20558C7ADE8A6B3A -FF9878B26EDA16B0F9DA421281F849A44C76D117F4AB566FE241B0A6CCAFE2BB -9A6436322D1CC54CFB602C0466B70565F9A7F9370BDB1C70F0C33E529CC280F2 -3C8E23EB2C0D25829496B005E711F5BA8E4680EB3CDF115E4D0F89C4B5DE8842 -12CC80649077D5B844B61BF557D316A59513F58FECE657F2A7EF3B0D320E4C33 -B4877334EFC38A29352B0240EE736EDF805C434ACAA59F32204DE64B85CF3D65 -24F0AEACE2F703252AC9A3FCB2F628928CFAA788221C41B6AC639655E39188D7 -A8118CE6697A20F3FBDA3564355DA3DE10EDDDD22BFF4690630E99A77C663AF1 -5D38A0827E81D805507A1260ABA8374501A2CB4F07E2354B2DB7E77921B6DC57 -926415E85A35379E6A0016993926231AB1DE35178E16839574A97E50DE7C1179 -0946A61E65BE962E7AB2A584F8972A2E3CF319EE4C59B82DFF6CBFDCEE8004C6 -1B7BCD417103A82B34665045DAD49A228E9A3F63F1194B952B67F89C32E68814 -705CA69F88EDEF44916D40C22C16F58BEA7A0082D4A579B7562319750BB14BEF -0CFB256E9EA333F3AEBEDA8665E67809576D7F1892260E43C764963B70FEEBA4 -1EBAA29B62BC37AFC35AA6BF57E504ED00650B4EC61A82B6A26EE97D71FDA25E -1358E3BDE969F1B4D04009D55D1B19DB3C8BD1671280394A19D90893347C92D0 -E4D5EABBC0E5ECB168D32491C0CBA1379E12F1E6E160290115C60706AE8C3355 -A88DDB64EC5CC2FA7539E37CCF6941F66C3275273D38DE8C370034D89BB92D1A -B965CEE8D92E4BC4A2733E61B8C766EE4E8C5F5670DDA0CFBD8D2C76B1F9F174 -23B97C475C8B9CA7EF89A2BE521F8BC3B8C8B3AF782AF6B1EB86EEE7A64C4314 -F1E2801D117BF864C72F04BFBBA8D47535772CFBE2EE0F14D699AA33FA7D3EA2 -8AD0718637E0C3027DA0B4EA7F3CB852811E620836A18C70283DC59D90F28CD1 -C6A8668A33304BA0B01C7AEAAC07DF77EF7D21A60CED0347A0C763572CC62DB8 -6F471ECC67B78D065762D99B540F2B45BDE96D18DD1F21B52EF54C3FA1F59C08 -E919E78EFF5EA634394A90131E66165B2F5657D4650B7B716CEC85F70EF33260 -72789B321F587D277D458B6EED9010B8C29B8FD82BEB1990A0C7EAF5A763FDF0 -F3AF986BDBCB86834412CA0929D98AB3FF21D401E9A6E816587F4F98BBBF78A5 -95DFE08D14A7B4B922A49AF62B6F1852F01A593975A06878D34A3925F1650CFF -A8232E51F57565371E0D28303F6240D95D3D948C0A2E27DC60EC9159502709E0 -CEAFE520F27409FE135DE680EB730F3F558F36079EB4189E4750B46154AC9B70 -13CA2182E44A20F4CFD8FB7F8E2FB368233040997C0E5659DE1E0619EF05CBDC -1D2363243BD573BA0A80BCADA2DEEFAE08A83CFADEBEE198C34F76ABE83FA5C2 -F05C1B86A1E1171071975C56CB4C7C0EA35D8449F6D2948F38DE52E67E136311 -51D137A1A58C1098336E57B1FC0A17067CD6689206E12E3AFC15E3577C10CC6A -82D177CB016609881AB665B0B5F6A1A3A9488F3C01E834D91B38DD6BF1B2B044 -837ECA3D07B8B512B4394E28B24B7477D710C8B0CEBB46F703EE77D5E56BEFDD -1F19BB594C69802B39DB67169EC082340A20EC63382EA62A93310E58C201ED68 -D805355BA00FB8695160EC7CD16F3208E69C32BD6A0A965D0EBF2C8F4D54B096 -A82C5571064EED0F461F5A6A88F1A81A30CC9F9C8FC6CB464EB348261A5483EE -1CF21254D894FBED7C83867CA3868DD97A273411FF8BC1DE955FA12BCD72C16B -B5C7F36967FC770FC35C8B8E8C91C2045B1EABCDB0ADFE148E173503195BA1B2 -435323775EC6E37099C6ED935DD7E3737AD6F112D9890019F9B949C6B20185BA -75E892A5481CC5F8F63E0ED8ADA4E501B451F6E491FB7326539C369A3A0790F0 -2F32ED0E882AF2D05F786E2F65531DCE206DFDFE1A477C71A97CDA763E33F864 -78CF67C33B0FC431BD601225ED92B2B986832A94362A9AB4D49F3FA46A82DC3A -58EFEE09DE84EC7B7246160B867A8507A6BB985261A20F4EDD2D764429084294 -C185B5EDF9F60C4C15BB718C2732AD751549006A5B359C03C15CC605591700A2 -603B101F6A6D1F9BE767D7BB0C1454BF78274CD777525C2966A4C396A3598838 -D0C417953CC8B46A560DD721B2938E8FE23ED056DDCD5DC371983BBDDFC76DA7 -FD598F62B0433936305BC861EA69A4E32B417AB2E9049ABCC46C4345F9669741 -8A0357D30D35D3EBD33CD11D021F5BEDDEC8E62ABC7F356E1C6FD7E1AE402AB5 -C0D624F0E5CBA67779F2460E2808F3ACB78164D8C1F23058C7F3E364ACA8BB30 -49F58FE6DA46AD4241D62EDC34099D29DBE9CBC13907D51374F757C907AC9D3E -113B7DBFF94040600E03D24728D49FBC5E5BFEB7F179C27EA0D6CE7197701703 -44B7A2B3ABAE0EED765B9C57E28612316B9B6D56CEBAECC05D478AB41C685641 -D12AE8A5AF427FA4E4C75E0221B0E2271F3A49BE14C3B97E36E80D8A77D45BEC -C09D87DEB41CC5C1112410901ADA51B2F0852C5FF9CBADB47946B3DED2B6C3BD -264BAF27319ED478EB6A3146C0E50E186FD80E7858675481F9DF4A4BC5015AE3 -4E05A1BECAD22851660E20507E7D600AB1CE3C1AA48BFC5F050ECF2AE550856E -4B99C1D665A6A7FA28A9C329073A478EE162499032FB51E4B3D5830EDAF10623 -DD8D478FA68B06420C29F484BB8DE89763AA12B685462B56D6945401BD0AD7ED -0590DF4EACB677982F261448D1D35C72A1BD8D2FD85393CF57E33AACAB30A809 -B092DF30CA7F7E7B80E423009DE411182E63A73D6D14BD0E47CF571E5440FF1A -D8AEA199831A918E485EF589A422BB7A4F6A2CF5EAFC028277F28016693DD955 -D0B2B171C1803C7FF2BEBFB96DF72A4256F40CA88A27B7C174826DF26BE0E9F4 -52742FB8ED72D10EBC3378C3D4F75DD787684AAC74055930E53AA52DB9212C27 -514134DABBD2C488B047460AC2E9E3468671A716D790EDCBCA4158B48D590D69 -6852E057D4CA5116BC532420BC32950BA2900C8E641D63951163C34CC89C644C -54AD91CDC59660B4AAF0700AC478222387F3DC5E249C62E4433D3C6DC997EEF9 -45784FF75384D73CA044F7A6B1ECC5F1202C2C7DBE5DD4ACD5E8D7CF5A057D58 -0BAD218558F76ECC99251B11D2FB92487FD6D7A3AA8F16FBF489A046487C8001 -64A8FD9C2D0373BB751188335332516C2F999BBED75DC6AD90CE3971706180F9 -55D8D457BF68CAE5F0BCF71EDB20B02A5A2EC92CAD3B971E9F5854BC5ACD0B5F -DE882EB372814DA4E91EFC31FD0DA662AAAA1A69EED664ABB5E418A19A459625 -E12E85E52FCD8ACE314947162767E89D9F150BAB26CF80123938D8CDD901CC42 -BC72035A3A5EC261111A576106798BCE708FCC8EE214F2946813D955535B65C7 -FF875911B2242E7042AB34CC8A722637D8F324C6FDDB25D9DB2FD2C666244F39 -74541C5C716DCB61CAD8423C8B3402D6C6E003200A4883C213E8580734F41451 -18ECB1AF8FF6505FE28D5DB6BC742BFF13C229813196277DD6499B9D0313EA3C -2F44DD9CDA19E20898D6B74A93FABC51BFDD49B5F4998A273C31468BB89BE757 -BDAE0DA6BD022AAA2F0584C916F7C837F0E0883F6B94823180F9FF55EDE706D1 -21CDCC806D00BA61D4A4AE33029B4F640E9D8226B8BC0670C5E6DF2EB062DE71 -2C57FFDD35CF8502B07A52B52D6D14886A010B5567185B790207D5214ECAFC0A -0A55803E08C9BA4B8D002C7310D22F256B8232DE47B30A131720AC4870E4B85B -6F56F74FC851E5709E914E6E46793748CB758DEBF3ADB83DE06EDD7EE36C7A21 -01A5355221898484015CEF9F9EF6F66803DA073C38CB4406BB738F57D1AA4E8B -6002E213E26A1F3206E8B10B7AF2FB5CDFA840891CD12C816E7EB41D1A7EF62C -D92D51C085EDA95874333A1ED73F63386D5A9AF817F7E94DC3BC489A36730800 -8DADACACB5CB2749D8E5F8389F93C1B596242C2B9317E26533414367AE8739FB -3C7097058371BFA929594E972CD18837C892DCDDB4384DD2133622BD0E48B1F4 -3426A7EC61CF550A6CE1BF747B7FD53DDFC95CBC5F50112B97CFEC1406816763 -B2321D3B3A9168FAA4D888BD4CEEF539B4DE1810F77C0201FD5151270D8FA365 -6D58734CDEFB41A6F0F26BCB78F83A189A91B7982F5C16973E407A50BFEE424B -AF4F1956EB06FD15BDED6C6A10F7CDEE426FDFA4B03D15BFB1CBB5919EF8DCF3 -FD3D7CA45C2DD173060FCC4AD5EAF86B1966A449B2BD255759B16D0BBDC3EB32 -9B0A9C7CA05D6D5232BB0441D182E52895FB7BFAEA92FA1DB585C78A8EAF1DD0 -13AE43CFBB182EA0ABFAD44FF4EFA5D3BFFB53945A7D36AB480645046F8A032B -12DD38DAE64C6A6B628BEFE7E3A60FE551E7AB07A65F3C57D4BFCE9A8B5BF8AA -F754FEA7EB86867029836D9EB89E75E154E34814E86036E279DE57BD2DB024F9 -EAE8E0DB7A36D6E01484AE6A42560189A24269CFC2EFFE3FAD0F200411D75591 -52F7FEECAF445BB88C3989B0E095C6C50A74F66221A16D990C5EABE9C2E979C9 -7A71EF59C049DAA808A09955BB8E5D3F5A266F552A9C97FBB969F87348A87CE0 -79BF91312198EC39246CFB3F30EE757AFE025B54C5880A6DCB85F67A36DE92B0 -8791F5955BEEBA9EAA842005D2A1078016D7ABE4E350553A2777E050E769A7EB -2E91FDB7BA1D89306D0D0CB2089DC7CB2E6E8587E71A96B8DA4DD6281E20C1B1 -5F09FA228F6B99518815C0CD67795991006DF4EC59C62F083F11513434C0B469 -0F899EE4DE7481E18EDD0FD4808F0E29179EDCE6A85A87081F060AB738A0B834 -CDC1F889127395EBC582D8EB68391D779D4F25AD0E38945D53A836733F9B4B6C -8874506F34DA3F1BE2999FDCF0D830A01CA0511605EBBA9F5002B2F0065ECC89 -9231086688B187E0742C2745CF291313FE6C95B2A8F09F38686B9CD8F15A3BD9 -683139DCA0CB799A8BBD4DEC071D17119B80C1B15D9AA564187F46DB9DC5C885 -05D4CF7593FEED08AE35852F6F233B8A3888E1029F5F60E39891A7CA92196429 -645CC8545C24A0EF4B71F86266F1C03D578D66662C560B54F219052433C99E20 -C7476D5BB198568B6282908A6B972589FD9DF13B291FAA6BF80AA07EBAE0DADB -2A5C290163EE73C4F159DB4465797447517183D3016560167789B3FB8DDF3680 -0AD0D46B59B05BD0F8E291A970F856C9797AFE19FE207F124D65A987E6BAA0C3 -9824D499C3A9E0EBFCED03B7E8AC0EEB7EC4B26487A864E8514F91A4B993BF0A -D2DBAE348926515E92CAAB6950B867701101DA64B59DA1246441399AD08E8926 -D49440109403612C41427CB4C3450CA80EB07D8674AD84F7899AB32A18C3351A -1645ADBCE41C2B7BF5CFB9376F38F865FB980B94C042AF0D1D8476FC567E7114 -CB300784A257F39D85CC8EA614EA0C48AD378BF4DF1A2767E6842234389AB724 -60AB73BC51F84542B59A5DB53B664D181AC5A1A5CFF2F3971CD910F5E5A5CD38 -D09CEC52616232E8E20C4255EBCAAEF1F9192F10EBFB34AB54C8D5B8D36B579A -5421CBAE787A0655FFACF05AD8E8E8F689B36064F058BBB26D0E6454C703B39C -F795FECBA78C88842B44842049E90883A88039633D876ABFE54202F35BD9F9D3 -70A3E0C31AA08CF8A8966D1FCADCB91EBC5FDC24ECC9CAB104828A931F338C4E -AE87AE252D0F3403E14600B4FA5CD4CEE37DF8C7A901444F70E3EEBB2C4137C6 -9E3EC4FB00D1313C6EC1C2BC5380F3434CF5F2635D424DA21E6316EA75FBA5CF -7EC2CE9631201BEDF7D7982D476ACCABBC5A452B0C1C76A00B1B6AD23001C1A3 -C494E6B82B98EED261F19255CAB52A09448FDE4E523E89F2B2773863EFDBF526 -F6415FD6DF91BCFC3D93E95EBC6A53D3AB8EED7563939DFD84BF364798E656AE -FF4D41430D9FCE65BD2F85125E5E42C1193D0235108E6312C7B97C1FEB7FCD6A -3D79F70BE07093FDE9DC099B282F3B7F2A41C67FE72E86EC7818DD66BCE93E46 -DD9AEB93A25FB47AC96DEEAFD80BBC7114DA109FCAE205B1D08A3AD8641A400F -F2B471D677402C2B3890EA01F971C511FB4DF6F5AF9C68FA87E44977072A29CD -4257AB3F7EC5B6804C20D4B127F02832FDD5666AC4FDD2C0005649CC6E4F914A -9196BE5AC7D85D4767796CB01542EFDFBFD1E51C9C415371E4A5F3D68BE2536F -F8EDBAE2521FCFC34A4274497638D4B9B39C14CD6E31C95F32A2CDC9F78917F7 -0C004ABA38A32EFF4DA64623A454C9755A43047355D0F187A779275B00FE5764 -30E1208D1E12CF6D908D84758F236BA6185333B56AFCB2C1B4677A7B6642D4FE -E229F34ECAC2C9DE021B051C5E7D6DECF456D161EF9E3888C38E7F477CDEFC01 -97920D696B2722340A5951953B2BDDF103C6D0C690CD04445F241CD531C81838 -ECA1A02C4ED91032106D142AA4B899ACBB21177D905B42D04A280C0B61A0F8CD -B510DFC46E922E8FEFFF31EE58AC1BE7AF1C70D2BF11727FF8C66D628695067E -E6EABBA97AA5A75F955FD9E9A1B21E71A8078418766FC4AF8431B4E7C674A6F8 -4E82447B81F15D6703074BE8A13BF13399722CA91E136A552E9764333F41FD8E -2DABA04817F8DE361C2E7BC23E9A963DECE999A6CBBEC7DE08652A8888AA1137 -EE0A0E4032A4B400C9A2488A55D8E25166A8E9805CC80E7D6C2D1E7C071C2E9B -F2E652536A4591576D99BF1DD118244BA09A8255CEBBD18FEE5C0175D4177524 -9309626DE05FF0144BE9F2EB05FB51CE924EDC4A5C6376C758A7138BEFAF9BAD -C89BC9834A8DF3790256119864AE0652E92FDAAE5A132557910C307C8C0C3FDE -EE3E0C17D32CB28B6A21B8DC6ED6525F8D25EE0270704828DB9006F514EFB75D -0671DD3B138DCFB01156B43D5B775B78AA95CF109628F5FC501927741031E60A -D46466203CFA84D9A8EF065C43101E8FE1BA60E82E01A9CA67D7329B93A11260 -4CE84119FA0CD0E41EA3B645CA3F06059E7895526876F7C2110264C84B7681ED -0784F82E6A160B7D3A6C520E430452B18DE47224A861D1CD872433844D7BEC16 -514AA67319F17771D796C88C2A928514D4907A1E58FBC561EE444292AB0A4759 -F809BE67A4EA7F152BA841FF3C838B9725F8F89C5EF28802C586A542131F9B93 -DF668AF74A34287FD1914BCCC8B3D2C698A8109D21BFAF245274BA33AA71D9C8 -531695BB46EA91917C40FF37F46A2A69D0AD619CF7EAE936FA1EF33CB85FFF35 -A9E78CEA2C74AC6148E612E880A58DD4FE573D6A10A0EEECA7E5DFC219E89E0D -90843757F05759785D04F6F3E7DA269888170A90488097B5A3DD1B61CF3B618D -05C68B2940DE15065AF933A83BB9145629BB3759B49F7C86D70E5282B52D3CC0 -331FE4C8208DA7005C2E44E683E24FD0188655DA87D01C8313FB35AC1EE14448 -B1681BD5ED81F7CA640248552B7A3EFB65ACA6DC132D09BE6B608E439A9DD0AB -ADF752BAA226A75986D226714DA5F1AD47B8BEAC12E7E32A0992CDC54CC054B5 -4287D8531E25C390CD8293776D82149E60597DAE8B2E6D332D04AD39A8786E38 -6045D1417B3E88BE4467A0BBB146C04632E5C0B7693B0BFA5512101462605402 -E089EEAEBA41666BA74FC026C200A6DCDC7781DD9A3D184C71CABDCF53CDDDBB -84A4926F982FA96E3A14FC3ECDAD8D9C1851CADE2BB68F88E736B4F6231366E2 -D31364FF60950EE333B36A0F02A35A355B4271C4A6B067C979E440BFF3FC69FB -CE0998138FBE60ACB07A24261DC334C900BB422328D3EEB99B8D01FBEED832D0 -2D44948433DE5A22F0701447E03E7E6280273B87BC477C8C90AABA2883C2155E -F130A10ABB57C94E43AEE5D9D65DA7D816C3289A2FC470215F4F9C42699E52E4 -D3FAD53FE861435C255B887D7AA50176BD2E93418BD0D53BB0F86D267207282C -41E2AD75BF872A2FA4C39A9DF160244E592FD344BDB3BA471DD7A8EF658605D5 -51223D007026DB71F97D9AC1AB7955015C9A4C4317E9F9E219B77E2C46F97741 -78ADE503EFEAD4243473D329B84C60BB96ED07D171C49D2801762C40EA7BD7C3 -B216A1401727CB6E7E7233B23CFCDE2C3D62462FF15AB69568A0BAA15E10FC2C -C33EC5E22A4FFE258E73B59D28BE7AC90A9DE63D329353B165087D8B58194815 -9BD0A3A335E7DAC0C49B880C7D85A242D5D562F2AB1087E1A46DD94F895B074B -F632CC49C3765B417D6CA0DC7A355C672EA4F91DFB751B468FED48090BEB0232 -0959CE3E6E40C197DF33C03DE81999F0435D46E6225EAD2226438A0E19458BE5 -579699FBEA9BE41F3D997DC4CFF1C7591289617BC2F2AA7B3A895F025E2137EF -B9FA6565C04E516228C59DE70340C275670404E519409BC8BAA33B2802992DA3 -A721FE0B5717181621A0161811DEAB802897A06B807B2035297A7A419D3D0998 -B30D68F6B4D586FF370A0EDED183A45ECF4C517B786A67E15FFE4B6A83CA0C8B -6F9A740281F668009D1918BB427D1B34C7355EC2D4833778CF284A21A753EEED -664A4F84173CEA11870081F1628850457EB8AD54823C01DF2D15A1CF4B33E0A7 -4B3F3310011E6625CBBBB8E775A650F0E0631F8897988BC2EFEECB8876B48DAB -156CFD14BBD7BDF14489A025703DACEE33A25C9D9E552FC10EB121BD990A093A -D9BDB0334A8396E6B58E9C9285F88FB9E4E990E347F532AF0827D9F0970FCC93 -6D17A43BF518CDE57DDDC9FA18381304AC09C7E255F76D26447A1217C70258DE -6D3078E3128216FFC5EC01A82BE8D3958300065A227F77D236B6067222E8CFD6 -208EE7ED58446D94989279689241038F67A891614078D312E5F90783906578A2 -C818ACE8990471741AD58A7CF126C552AB44027B6AADC2501AFA286B5D65C7A5 -B6463E73BC9E888A0B231351F9A90E5991C4F0E2920107B3D966ECDE01763FFD -DF9D0635327242732B6AE089A3D7FDE1742A7D74BD0749684602447B490BE0EF -E01BBA07497B817CF0F73D4D2F14A1B29505311D52ED90F0812EEE440D815B14 -CE44F3BCD5EA5B822073A775C137A59DEED383F80C16CF859D8187335220FB73 -217A045C39B0C3C6661A4D536880DDE06366F403F27DD632BF659435E2411A08 -C30016C471B4206531776F98DCCDF313E62F08E93EEC8FADA4C6B5EB22D5D832 -FBB0DE8BCE851FE3D6D70504242B2E720F74AE49F0DE3CFF787E9CCD3D1502FE -1622E86CBF9088F3B65E844145C879B2CE74AE24FDE843B657F9B8876DAF23DF -81F133F5AB4652331126F0ABF1C2CA21127CC1062C06D1C430A12740DE92A00C -B95A50696164F5AE380C643BBC7E4982881F17BCC8F9A8E3B5E38E6F4E32419B -19CD0D69F986F5D80B7620E42509FF0A3E4EF0D7826E543D0D8D80F3D3C0A699 -4B5CDD02272D224A0B02CBADB71524EBBA68FB57FE024A54B9DD7A74BB6BA892 -EC5241A5C20D5BDA591AFE863BFD64B63F02C77B74EC2AD5D39589AAE2245F0C -90AB09FB11A832F0791FB9FD8F892ADAAFB519BD8EE3756E6A5E1FE67735C694 -08E7996275F52F4AFDB24FD73E8F5C1B34296D4F41CF111FF08E88E3AF691122 -F196D4DEC545F68C76A68E4DE57C2CC706D0EB631367F288A4077044979D9E5F -9EEE710C2130FA491D114A742D3C0EA68D50AA44B88C66EFC1F281AB320F2C8C -800B1A4A4708B96CCFBC1B4726787096D3018AA87B2DC422E563BC4751D30E2E -63554771794D0F4F055C20F20ED3CC9E20ADF726A6C5E84D7743B5F0FA99A0EE -4958B8D53948E195ADDB8B8E4F40E387B36C14806025A5D96DB4F6B9ECAF177A -1A0492B360759EF671DD4616E25746919511057F40FE14F69E4F4BD67BF11EAE -E89026AC1DED805FF27846D642EAFC51E37C8E94C6B4141170988E314D8988F2 -00D56A9D1A89D3EAE006C604060B43F328A08DCA73991776A314C20441FAA4FE -077CA7F6ED2FE421E90E83ECEBBEB42187DB5D3EB5003A27D69DE33C56AFCB9B -25BAFF5F4F03E8CE5AB1A619B5973FF9FA4F0AC0DD867F7C0682609FFD7F10F3 -B7E6ADF7A62368DDC8E4CA4CEE3DDD15F02281672E41FD6C2FBB00E08EB201D3 -233E7AF3718BB51996C5EAA6B848E1076A825D8C5B0CCA4A2852A6C9352137B7 -D40F18FAFD9085155798496DE75F33E972B040B6197692E3E6D43CBFBE9FE71B -700B062083A2099E74D90F3E05D60AC091D0EA1B4C17F383ECEF98D6A50B1D91 -A82741FD6D9AFEE053B38B7CE59DD5F2782B5B360CFF78A09DC6C2093FF58127 -CD74355F7FB083746618FF6B61ED1E12E07582FEE7C78195C625BC7E90262C52 -8FC10144B4B6F99303ADDD66CCC93ABB0387E1E61C90CEFFCE16DD8CE4F6B6B4 -4F7ADBB0111456B7C2DAA99C5FF8B04FFA77DBC0D8063796296D8B8700544437 -0897BA71750E947209330045EC9DFAA919E64BCB8F1B56985D15DBA491E8E2EA -14FC8B31CD552DC96FA440AE98D04954D3E7E5BDA0681FA27F32F9BFD5D4C365 -128BBC8AF47FAE2039F90D0F30D3DCC141B99DDA8151E0DB243E6210A1835CF1 -7154C96DBC2C723A7576580747AA18452EC87ECC2F55F41935C8FEB80A690351 -5D3F3E67970FA93DBBD626A519EFFF4756B33641F56F7D16B7712FD09C726572 -0932166A7BAADA3B47E725D74564A155E0BC1CF8E5BC05F2D4970ADF60BFF161 -01F6E31EF577F8FB7560B2CDF775834A2DEB6B337D096EC2BDF113ACF27E2A79 -6E670C2F1739206DF052D43619D20461E52DFEEFD7A7A7F31690B71EF062EF31 -C9FF3205FDBD1A2A3DEA550BD3B6373C59F4CE5CB845F9C6297FE5641EB90231 -D4F6A2F919164779CD527F1C142AD7E47A63ABC26DACAC5C278EF4AB6B4121CF -793443E1E171870E95A2ABE098CE0A147CD373660BB20BF4ADADEFF4642FA1C7 -398796EA9FF642270D6176ABF5DFF5BB002C2C01A9C42DC3FBA1453B6632AD67 -A7EAC9074CD11D2CD46675DA0F910CB13BF42A155DFA30FE582D4FB19C6D45B1 -2F3C92947A8A2B26B81CC97421A1F5946C42171675F0A19464758E0D64A9D324 -3E3C45CE9E556FC942572D4508485E9543239F26C084D0D659D5B301928F014D -D8574A69D9046A2A4FBA6C993341C118E0AA7366CBC7C45EF717D6233B9D3F19 -C46ED705D06962E80383E102896587999E2A9F04F020348A0EE5EE61054810C0 -26C53DFD608E885B6F2F2E2AB9E8FD67E6057D42440102D5CE2AA06982B16A3A -6A9284F59E13EFD3EA8A5B1679864E055A8783FE74E4B2A28C5B968401836C83 -0B94AD89084B0A31B577E1CCF157851885E41FE7FF0D5D218EAECEE2D2130A32 -2FEDEDEC8B9F9223CA33A47B8CE042DD7BD35B5B24BB9F115F5D5204BCC0857F -CE329655D72CAE8C8E15F53740727441F8B2855126BBE70F144E989C327173AB -6996AEDAC678F5BDD16A92C2837C4EFCDCF43804BD2A145DD54170B0941BCE81 -A17771E520388AC4D0E22D6084BAA83F1F4EB1D8B2E0CB84954EDDC8E9B3A616 -ED3A91CEDDB972848E83E3AC3ECE3BA865BEC7C96A4586955682E4680B4C2364 -8054ED58647C18A3CDB8AF5C736C1E5036CB7A09CAEBBC6FA47B698DDF0AC81B -2407B47FE67EB74B7DDAEC1AA8F0327BB005D4E375150D8FC69444FDB6D7B68C -39CABE4C7A0FC3CD161843EEFB1A3003F109C7F187781E19CB060054FEFA21D4 -C9778A937812E8F06DD70C56424D57B4441A8D118769587B1E49F090CD179081 -3C33AA3309F3CBC69108104C7F68BA89C8C1D503507DE3A2FD2C81491DB1D511 -9876EB1AD7E66FCCC675DA4BF25F150BD3D0F622AD73C6C805F3DA6B265CBAE1 -83AEDFF42461D63EA338502AE6261988068E1C52E5EFC5BE1D0E017C2AB7FF2F -B27E42A4A7D8CE86CB6F36F7C218CB880230EA737CC971E8D70825C7520E5E33 -C2110E3E26F51D30B8F058228E5D2C45966D9107725141908E74BBB213339E7D -7437EECEAEBAC39BAD6A5595EF66E6B4BCE2C565596B0FC5069CFC1CF8B39600 -EF3B2BA9222991BEE9C55D4434AD761684DA2B61EA399A2B53A2D2E89CEFB6B9 -D3606854873444F53CE1A2230E3836B1DD652464551AB8ECB94CDD297C2AC906 -35B980680E12A891D6F39DBB7DCADF853394CF46FECCF0C80D8FD0A82009256B -22926139A5CF6A06FFE6F4EF6D1843436DA4F3F2ECB504D3C91961DCB8F78ADF -6A8D05D40225E125F7ACE0530B28BD86BEE2499AA4B62FB53329AEF6D66B1428 -6731C3E6A5AF5926F9D407E9999FCBF9580627F25AAE06DD34BDA8CBA179634C -8558B9E23E3CDE30053F8763BC64CF595B25E8CDCEBE15915E791E7387A2F979 -20A0EACC18A38055AAF917E6C768981BFD94380D7C33EB04086236ED74FB3B50 -56B9892412BCA67DCDD27CC508CC94AD51F7FEE2D6133BB310293BA9E36DEC27 -E014283EBB9A46DA887CAEC8B98E64F9A4441D254DFB203D7897FEA54E8B6A95 -2F2D00B75E4AB45881DC1361C37AC1031AB89F280929DFB9FA92BCD87E065F50 -7D0FFF1309AD49D259D59AFA825F892EE7FB303DE51AED493436B5B0BADC8941 -D5AF414E47B3D949C5411A47E5872731E797B385AA807D2D6651A78E45A998DC -21DD8B1F94370ED46CF165915E884537DD1B64489BDE456028592EF0C6041E59 -DC634B564B96B3A5861497DBEA1F6F06EBC125E74C94BB85022343A2BBB7B725 -C2AE27BA791FA69EEFF1B0DD3BC5B80B7CF56B52729BAE6E54810AC9D00C29B9 -C9455F039CB5EDAABA887F8598EB390D5D28AD387F429321A8D5FAF61BD8DCA8 -A25ACC7130C80D9EFEF633D47BA80022AA9CF477EC073D2FC3CBC4D685CBD238 -28E9E89BE648DEA20B1467FCFC4838141BC6ABFC046C5A80C250663637CB356A -B58080178FCF7B78E552415D071D11625081AF4708E78D843737B7357E638DA9 -501BCEF113EE961C84339E91202E5E2AC57BE8C636141F03A9CE8E97C7C8F374 -6AFA335DCE0B6B68C7D94C1B6D0C73DFF832580B2D1B1193427578DDC1895DC7 -1A9D8B9CE3157FFD118CF111BA33F1FBD445DBEBC1D7CDA5713858CF4CDA224F -38201BE52F2947D08F028378E787A2837AAFB1EB738EBEF4EBF2B34BCA1F0526 -8295CBC517E30CE49B86F196C26D982FFE650BC2B276583D716D1DCAF24267E7 -A551006687684174D71D920D7C1E2FA12A7C8F6B5CD4E77942D6A96A112070A8 -BCB56BCBEF93A1CE255984B93E92AA8854690A8AE7D416450869534787FDCC5C -23AAE383E05AA31581E3F2F31531A41F516DFFCCA33BD147F100CE8C11D3D3C4 -CAB8E10DF7425F2FB07B105F60BBCB8F7429201180B4ADBBF92B992038394E5F -346A7D4B3C12CD9A2A50884D1A465BCC81EDA8D081108DFF1D8BE67BC9C39812 -12B65A712D3ACD7527976CFE1276BEFF410D08043FA52A3EB2C6E363D5E86D24 -3D464A688F9482A7937D9F6F468B2ACAD117378FC99D98238AE59DBC628C2EDD -04B9D0A1199A8979BDC68D0B820C22E65937CE89170483FDF9C4B3BD8B17DA90 -377561E6D1F40ADC6549A5FD336DB23AB4852E4B696DD1DF77D9C0F70F61335A -811EC0B0D8D9C3C37CD98A906F5A2B4489C29DF8F47FD4D3E8961458135F6AA6 -77EDB4F176F23CC16D18FEC0B3911F6C75AC0909D42974887641F376E5B3EBE3 -B20B18FF22225F0C21F795D202B5F942547F427617618993AAA2B32A817F6572 -69B1FE76FACD292337F7F1432236C168A0F0D51CC6507CA9D7C8F77C784C50DE -BD2DB783C82D68EBA9943D389E442D231DDB44F37C185B7957B623E2196CDE38 -7BBE1072868E5D91D6EF1F06BCAC2469686B7155FA86710AF9513641E0F8E260 -464C85B44E51A7C3FB93F99465D4668F996643EB238E3E550610246E00216666 -A49A3FDD0CAA12DAD03A3F6222E97CF41FAD4AC3687CE9311C742E1E7B4988E6 -F6CD130CC8187873CD106317C2217E590710FEE707DA5F2DCA5D913344E2E499 -74D0D0C519DFB8B734EE6CBDA83B09AAD538CCECFB665FF3187EF0F649EFF80C -4498A585716BCB9EEB79CE45FC74A25D59F9F254C0F1901A655FF43F72BEE91B -123E2CC86388FAE4E2B00C53B6137C649650D097763816B60ABD8ED1DE810EF4 -F1A080341F88874B09C1B0693653566681BB35553CD0BF07EC5322228555D459 -AC9C0E77D320C0AFB57FAC1525347AE502D6862897B7CBB9C35B7799D18EFF32 -6DE271A2C8D8B7C0929E69477A77F37858ABC14BCE690230AF617BF8AB621689 -D2C9676B355C672EA4FF369617DD0D36845DB212AB7E35FA521F8F2309228F8A -A8C47A01259D8E4B7AC730D853357689F0654969C4FF6E8CB5331710735672AB -CFE17A87DC58953C778736AE0CC5DB0D7CFE41AF06EF6DE0CF11B025D85999C1 -AF52A405F3081103D5A219ED332444BAB77D418B6080A7A4A932000009A60745 -AF4239B9E19485FF61A1FF624621718A798C370AE385F6F30CB522ABD981278D -A771E952399ABFA74DB1E7505ED748DF4A794333C135AEEA368AE4FB80280565 -09BCEBC737FA30D660117415EBF6D883CCE0B9B52562424D2B874B1B70787222 -BD13ED345A6CB186F1B3686561D4E757758DE9E3A0B3287635BDDC69A3A33F27 -5BD1C166309961307C4C3FDA4D8BDE6E08D03B941FDC40105FFF53226742613F -A43AF882FD2D142187D698B81571374A3EA501F6E6750261D2AF3C737532FA87 -7988FFAFA6A95706BB79E6D01A8114E48DC93BE207CA1037D83881F29591DE1C -AF9098347780DC77F393469C7012C42D31A1D9CE4AE2FAD4E3948E2A50AAAE30 -292BAFA6F980DFA687FFBF8F72B4A0DA16671AD2CFD65DC351D3FE3AF51D666D -3E0D56B5DE2A0AF4C432243E37BCA75428F6DDF078ED501F9190D1B13085EE00 -C65067368012314DD1CFC7BC946F626F8C1339A7922FE1FE7A69ECB6DD695FDD -1D988652EE8707D2909C5D8E0CE9B4998CDD755044450F314D760CE3128CB512 -F852E26DF056F7B5E3A2A54DDAAF6351193DD4BA2923EF40D6388324AA7913A8 -49B4EAB2E6E552DE7829C0CC6FD60C0F9109411B9EDCC8ECE40E96422F0A871A -8B2EBC60F3D77F9F25802CCEBA7418E8C1B9D9B9D64503F96CAC529082AAE772 -2B0A0A7E +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E +A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 +931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B +CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 +E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 +4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 +2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE +F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B +E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE +E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE +251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 +7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 +46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C +E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 +DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 +F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 +507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025 +46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49 +2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C +C3ECC63492962B685F789DE4E796D1EE2F23B7C9F9A1656B85982FFAD6E2889C +7A667DB07ADDE075297F9E5808A98A05DA37D8F23C62115D1C08A331532770B1 +E0C7B867A3C0DB7557FC8207C80F6E3717180E7D4F3D6B66C7406275A3206C80 +4CAB4DA1D6EABF67CB1B8D2E34F25900927BABC9BB12685D7D153D0960692BF6 +93BFCD7FD07158CECA1F10A5D75C8B02FB448147838490E80AFCBB1340C523C7 +E247273704AF5EFBC8FE5526AE4159CCFE773D9AD5893EAFABB4C4259D5A5BE2 +1B50B7377C8D45B3D39C45726F023EA52AFCD5C7FC6577880BEFBFF509D61A27 +A58C80AAFD09CBB71E088D7C414275F6256511CF4FE9B3F3E74D8B491F2E775A +0495EC4C7C74092A337AF57451EC45DD1BE65EBB4F6F2AC454F58EDCC6B7AB68 +0728EBB958A1D5AED112BD7193A3047D23C8AEEAC26C7FFC1E78386C0FA6BA73 +DBD43E42A5C77201D4CD352EC3E9C496D2EA2BF7995852A50B29D3E2B16F9DE4 +A769ECC02C227A8487D22BE8EBA57308B5992B9433D88982233FA0C895FEDFB9 +10B63714A2FC8B9396F9D625DEC3240EB2AD54E3F08238AD01C665529018529F +D078C2C287675D7315CA64E907C3D428ECF2F3283C5CCE860EC461D403251DC1 +75E7ACB31F8958132F3D57AB5E34F05EA9F5042786C108E51B07635DC743D063 +11AC9348380109216561C53A74F4C3D595426A1A86E9150D3A9EE3B09D7670CD +D4F33FE94D92E8981FEAE708E978EBCE5A6D17B4A1D1D9161156127EC0AB5B6E +22B801EF92649437D89CE344D6E4C92F942AC811710D83589A03AA83B229D3CE +861D48CFA69CFB61BF3A6176FCE2E406CFB30ECBA8F9595CA3405C8F0FE23DAB +A06D1300C586F8DBD775F22F2368B6714FAAE85868C9EB6F7548E63D6E08EAB8 +B6764FEA41156D3FAF9BCFDC75113B8E73AA4F31F475BE491B45FAC197ADA3E1 +57E0DFC05232D2596F7B69CBD593181849FCAD6FC6CE7217D6C6CAA328BF57F4 +FBEE4E16CE5035383201CDE43EF601624AA1E9061821345302A49C06AF6B003F +14B42E6CE14F978F194F0502B7E610DC069791E52CE628CB5452BD6080C37F1B +0A7E8F6FB6C40329A70AA824616CE893FFECD2EDD9F8EFABC788BD415FF70F0B +F584471FC7DFFCDB8B5653DCBE2D191E1BCDCB83FAEDE288C9FC34C6D35E6738 +64F02C8A76BD7CAD08F318050E711C1687BB8C208C8ACA101470AB06D4975F82 +65EC88DFB0CE26289E3840E8D3E7146C9A03F3CE9D6434B04B0310308C221E7B +8D8709D363DED43CA5FF1C8CE6CD13B5906236DDC75FF76DAB5A38765CADE270 +3BB52ECACFCEDB884D1453E01A9653816ED352AAED96DE3D2894D64D1FE67656 +57E1E7E51CC85CCA202965C0AB8DE87E729BE4D7F1C631B6DB9F0C901E83D397 +791E4DAAE3B96B8C7AE44F70AAFEFA1E8FE0EE6A8E811652DBB48F2336AED844 +3BFC598A713C268C171BA0331D042C38001800A4C8C647055A0B064DB18A9D3A +AC9798AA8208FB2862002C164D0FCF6FC38B33F2AD7E48C29D349583E02248FD +61E03C71E686B96B4D4E0124EE78FA97082369335AAAD3429F5A961BF05A228F +11A453C158B731A5805EDA613947AE9FB40782C1077A71E5C95228916E337821 +DCE43615341DA9FA362007D0ADDAF128E4E336E0DC8190C5CE43B13C27519FD6 +8638AABF83D71DBA3B68D64A5E62CD663F9D79E56AABAB474EEBD3B4BC812DC5 +165D4777602F732DCC2A342BBDBD3215CC7360DE6902096DADAC86D9C2D17F9C +23C68E22931E91FF5DB218AE2CA8EEF4F3FBE930FC47141078B466AB2C564FAB +EA33AE882A540B806AB69CBD2A8E55D3C26BDF7A0FF87FB47A2839A2A7896502 +47F1C68F882E38CA6994D57D8EBC8F15FF8E091E3F1C87CB83A65571ABC8BC42 +F2D2E63D7D777AF0C2DD7E5BAF96F20E29D2F08BB1290FD43DCCB7C0C7F7B5FB +BF67E1289014DA74C35B6734D3618489DB97DCDE55F701A63A70E3F59A3DDB7F +C6A25976EC99019C6680BEB374214E92BB04498556D84BFE289BF1E02E07486E +91F9E5E5FAD11E65FA0356054F352E3489ED93DF3A241CA4A354EDF0C5858517 +4C7B889D256FF8721CCC80D14C7B40B6CE001EB5EEFA0E2C991EFA6B80D1E6AB +19B86AEEDEAEA08876BE071C01D801489F0775E46460F6DBAAB3F2C2C7F95394 +4CB70205A4CF5DF4CBCC45E8FCA893CCF96BFB8D08F2E439DD00EB511CA34AFE +22AE0ED77D48EA49EAC1E2EA81594EBEBD0539801393C118CA227A95968FCB1C +0AC1B08AC36A6CAC79E033E4283A38BAA3F3081D9AF5108E5185175C2D1CF1FA +CCCBB612308A6A8ED21199759C04CCCCD3BEF1631AF6EBE4437900A3A581ADAA +3DEF3F55C84532F7A083D553E91A965A732388B1440116903A65EB8D151C7135 +AB91DDBF69A6386B15C104868DB82ADB1FAAD169531A04FF73D89C8ED2356F8D +6E6EC6D1476B8345D340D8B6827760CEF6C191E8843F12F3772EED191E596728 +80651E10D1B307DF76A84028EA7E64321F59B4EB9149B347248517A513750E53 +E61A74BE0CAF41F18C7AA88EEEDE0ED3D5CD84754657A92669CC9BFDEFAB9CE8 +11355329988AF84EF116B0E2F68451E799EDBA2007CDF555637E247F5E01D3EB +CE40A4264D275863AB55D61C0533A4F49D64EEA8E05B2EB93366C64FCFF33D6B +718706490AE470C0F297A27F4C1A269A3E9B75E9EE8CBEFCC44FE045B62B66FD +47A2CDF0F19DC5210B65EECDA51DA371BE25DBABB2D13AB45F3B7BCAE838E26D +B5319199372E44FD4BBE1C09AA6DB28CBA5D2EA7B9486B36BC7613A0F0246543 +B3824B039C624E2A05E4D3E10656D67DB6D7E5B4C2EF7D50C3A6F64CB2F35563 +43366F65963EA1EA05FDFEEF8A833B17DE2F15F77E8D1545EA1AF87EE6F50A85 +ABF31B62E3BE1DD013BFB96A574738360B1A6C9F649FD44176F5D4FC98A44707 +DCF14B274F902BC4580FF1E61176AAA10879A94A8BE4B7B8F191B2E624482DCA +F73DBE465958ECE3902EB75059E17F3DCA96CB235B22332CB80FA23DC537231E +02A005794EE621B1814B612EA22ED5710DDBE8F6616F1D67F8909018DF3377FA +D66C42BD2C15D185C7B9CE30E8B27E6A142E89E6EA90FC9A02A52F5615394448 +923B60EE0CDB61683D6D6F786A20316B992FA8D6BA3738BB66CD55C1988F572E +627FB1ADE7B5D74A54A8AF5A621AEA30899A3B1D45D75252AC88A7933ED97847 +B972F944716D8664A2E2E4BC4C28358583BD960AD45261866136E0A626C36842 +93F9D95A23EC5721F7783BCEBCFF7433D1FB87E6FCE3F16FDEAE6A34EC296E4E +BE5A6B30FBB47562B4D2E8A1B3FB5F2AB273CCA2B4F32353A51541FD44E76060 +8889B4A454C42A159A0239B1E451987846DC2B5A1795DF53458AE0995EEA0521 +867422FD27F7DE1F177F9DDE065C882EB1AE2ECCDD5646D93B7FC13379451C78 +DA50030751DAE5776B8CB90DC02512BFA79391BF8B8BD3B7E893FDC359A36822 +536F79289BA4D82FAF112AC06A4EE34C8499CC7AE22F3F5DF7E096FC1748D1F1 +CEF00A20701BF1E476E19B8C904B4302D80D18F49E30DAAE2548EA21BCD8519D +F1EF0D99125463A8E9B5E6943D1C18E1FD1DEA5073B6DDF91CC8D4FABDB5446D +73F0A0CFB4BF1C4C74BD32FC0E299E355F3FBDF6E0A75285E2EEEA66E4EB2513 +995F1117FC751D55BB5B66CF37573A8A932A34AC29581D46D5AB5ED21A5C6AF7 +938C400AB449B328285B211E54FB22F2620E1908DB3F3396F91C5A87C4C4726C +C8A54D630E9F3D878592520AE5E5B53668BE3FC3D1E4D263FF5C6A84BB5D55C5 +467BF67904172EF0CE6772759EB0F75D2403F8A0B40D6DB9F5D74C3A5FB6C30D +D04B316A8B11B9611743BEA5CE92D8730E577B13B84283BBD970DF44BBB87A80 +959D4303F25033127E48173120E3C3595D095843F2467A3473C498CEB9075A20 +5DBB9F82DB7125B631139286D6C5633F94C4D5097EC8B7A8D096DFADDBC89C22 +135440B7929C0724EB1FB9D8C9D5480E97BB4606EE6976418A96B42FB0556928 +ECC51275CFA1D0ACBFFF46FC0B04CC70CF302406767C7FA493DF1EB10A5F9CEE +B3AED9CD32F93D862FA2FFCADB986F443F088DAFA906D950D3257F24C64DFEEE +C48CE69284FABA482D68FF726EB83685DD48052F130E18132954B3E44FD3E22F +B39515841BEB0A79DAD72984C39DD4FB8C4FC508AFF5B45ECB4B23789F0EE906 +9EABEB099EBC24D1393866FD9F4CC79BC57C87D5F027501DA894F237A87BB9FB +B09039B4E9CA8E767319630FA2CE444EB878069DA89D36AE4D9CE4E7F8ECC5B0 +06D85CF8ED33138F3F7D664E275D9041BA70C6CB4F9BF26EC2B9C5EF2BB9AA2A +B5FF38657170B736D0A06F148970A385895F4C2F524A582CE0E224E778585652 +7C186BA249BEE06DFC457D728C6226027B8F92A0DF24E7F9E3A7AAE93FDF6F87 +E694DD95CCD0BC2504F3D9087210CE220862D34139D33EB505D90D39E7DEE3D9 +4DAF699231D57B5AC3DC301B2DD84F6B64D3EACF5D0B690D0BB7007693A72DD7 +949C98D8EB9035A0ECECD035CDC6E7B8A007BFD3EB3D8DFCD130158E473E636A +3D00F8A2183766C422991EA3FB1A6F5DC967EF9C8736FB190191154216B7AC75 +F5E269CC1AB5FD8B1B8F1632E9496BF02CECAA66532357A0DB3AE03D98351FF7 +0A2AC142089A891607B075019E60BBC5CDB1AB6E31DFECD6500C7D2BF2FC30DC +F01AB50F30D846DE8324B6906A7B803B4B68E8D223CFE37DF3B7AF8134CC4F47 +7A7480F7D15CF7C3325A323FE82020CC0612109A3CC42B711A2424CE5BE9D9A3 +8580D6E18003D481215067B85309D01CF552CEE8A4CE229F1DF34AA051CD265C +844AEA21EA62B9D32B100F3E3D0356C7D6AB6BE4CC0DE6B38D60E53DE4B6DC74 +FF8F6B829082ACC5F05107AA165879BC7B65A6AC4FD1469B1DBA07B8179A8715 +B0A8876D79FC5BD11F18A5694141E1E1B253334550C08C45922AE297F392377E +D572BC910D908FB5C9A82B081A615DA1A945373C5708913DF1350EC8CD823FB2 +CFF9459187061FA975B9DE40B505BBA694E969B8FB91D5D70F7780CFC82E6EE2 +6FC3728BF89897655750871CA945D71EC75327BEDECACFC93D54A83B5AFE42DF +8D4C73D376210A519E5D6809C8DCA265EFD1B78A4F79C2D5DE44DA2F941CB57B +710A1DF1383E15E19F75A6EA4E8160D3443AB76B043FFA545EDE8EAE35F9210F +04954B40EB0E8266080E03ADD276015A8266B3ABF13CE2DDD71C256E4A9FDEC8 +CB6266083EE0FEECD91DB9871D482C74D78329E64F6A5DC107C0D5EB12F1FD94 +A39B06987319791CEFAAFCE7FD20DCFB93040394103B6484BBF3EC67BEA74B35 +4C0769F378A159CF556F099B2CB8812562182E131DB04E222FA8EFF0356F4053 +A620904FB48262680E469F55C63DA2AA370AC91947714A4C395EB7AE43F1429D +E65A7DF7D025289B9697360FD086AF88289EEEDA7037BACD1195FAD825935648 +8026D3EA9A8482B40266A67066A5883C45E0A59D86E6B5E85EC5E9AAFA5AFECD +2A17591593AAC5E8194110F5C5105E6DBA0ACB7BC4A2D699D5C1A06B6995CD1E +80E988FFB362671B46BDD7015EF0A7448235B7735157147B765F5DDB701B597A +875F3521A1C8086B51866A7619F336ED12351862DD20FDE12FAF404E7BE5C680 +DE0F61E7B727C4D74E1F2746456EB22A7BC3F87F3BC1CD528B80D9EE933F8774 +34B5340FAA4B5AB5DBAE5CF08E93FA62070DF7E62E25CEBC9E71978280C67530 +45741E8029ABC5986BA0FFD9C93F6E292EEC0FCA3BCFF7BBB72A4E359CE8ADCC +8DB71DB3DFC28F40040BA616190B7CB188DEA75CFCC51A29C0FA1370A2073C37 +967546F898FA085A321699921AFA3C62EB4AECD5E1A38F798C7D2A298859A4DC +6254850B9DFDFBE4B3FACB7EF18D3665B519CDB7E237338C270A101519F5CF54 +AFBCEC5FB113A76F513512EB30F9FF153DE81E6054E339E8B6882AE01DF6A152 +BC35124ABC160369DD987E35A8FF34BED266BA5F47F457F7597C89B880956C65 +4F2D85887702B5D844D95DAA978BC08F87039AA1C41FC2971BFD4A2E99618909 +B14E3D8FAEA37D137898FC9E61132515E70E88333B66DCE1B50D7E73B29419F7 +31DCB71CFACDCA26125EC8C31F5DA690E001122B94186395717CB3B6C205CC68 +D73B036E086DB2150CEC23229BFACA0785AA219F4D0D01DB2C2C5508C7E004D1 +DB633B1D96270004E5C61CCA0AF777054BD11CD3D2585BA67F788193052E3656 +A6A0AF2BCB038543035A4136139CFCB07FEC241417AA42EFB8D8709FBB42E5B1 +943CE84B1B236F2616E294978B7998DC56BFAE5849E49325AECB45F2E433CF98 +79B1CDC7560D57DFD4EA193F7ED84F78C8A17FEBF46CBD2BCA1AB0740BF90733 +1D2372D1B5C98385229072D5977275D827199BA3A1B4EF26D68C306A75C72A26 +03EA819822023917473295767AA2CFEDE5E047943ED3E32879A84DCC81E275BC +94ECEB7B99B5C34C05A9FDF7D5808376163975DB899F48E8A8CF84740D67BA73 +8993AAA68F6071992F0380CA8B863A24977BAF2D7088538E17489A2DF9F9A32C +565ED05120BB512E5D9128B121FB499064A45A2E0A28D80AD3B4551608D0BA1E +4AC96A2C30BBC76DFF9FD079311CA301EE8BF7F102D65DE54761D48A0897776D +82A8B3FB58A4519FAF442DD383E874D0AF2E6847624E01848846901A907295CC +BDB23983E9FF6A9F07D1B465A551B952F2937A7907719CA93A5A656AC9458C15 +F76588BA96987E6FC21269D171AA2515C26F5C55037EFE995669A6B83D729DF9 +AA281A0531A677099EFE0C9232665F5E35D8BD361D524FF1197608D9F989E9D8 +E3D8E8C7E1480CE21039CA03E0F9052C86240F4C90AB6DD6D171AAC77ED7292D +8F879A1B79E9D1552AB3E19DA983D1D5A950572612E4E6FDE9E69C71980463E3 +C722C595B2A86827FC4C909590B584CBD7D3E24CDE36207E1AAFFE33B7860B61 +CEE9FCA44D8524929D01E5AB1943E5750B1DD99E9AEB25C52853002EAE192A11 +5F27FE0A63FB2FA3E73A0D9730F779027FA425EE4F235A48648EA4E0F5D19628 +1F356E43716DF1A220B571D2A90AEC085DD46E2A5DF1AF183CF3E92E6461B270 +D8DEEA934E4EEB8A64CB2C20D8F2EA26EE35348FCE5D39BC04067BA121BDC7BB +48191B0BBD4A202329F20B96C6679501E078B368328C1100C3082BE82353C0D6 +306B1DCD86266BEF5A71D66781FC901B2527CA8DA8F76263C2C622FF2CC6ED9A +1EBAACEE27AA9D25D259B5891F92369E9379CEECA6BD66E2FA21A9BCF44DDE4A +AE60DB1F2D197B01B7879DB5C9269011DE3B16C87FE72BA7DAB6D80304862FDD +FDEB38D10ACB5A9D7B25F38E9954D25BFB12A2B8418168DF7636FF117FB35D21 +C1F55FB01FC6110A9FD772EB2B8E1C2C35BD8563EA1649417136F66FFB4842CE +4D21A92A7B64A5FE1A318CE6318116ADF9D192C20CC096A492130ECBCF4FABC7 +50C1E68562D86572A90D9E057F70E8B709998897D91C7EEBF937FA2AE51FC70F +A05103BDF452897DCDFE1EDA5557C660840F432E24C14C7449FE02AC59174207 +1F6223B96572D7AEE53DD4E360296622292CF73FEF83499155DF434D48B5C5A7 +A4FD10323821591C2712E1C7058C22C9F80540023D18819409F08B2F01DE39BE +36C5AFB090097100D50B38254D60DAB4AD09809403283C234D2433BD523074F9 +989D577E3C4BEABB44BEFBB16D501C8EDF23BC29C90C4C66EAD79DA27446F808 +BA1FA9A0711D04EE3667923F05A70FA3D6C514581271D03250347E7C64A82DF0 +47BFF057939397176F69447F3224620468948FD17D8E01ADFC71C5F898C40809 +639725A04D51FD74E2CE327E7BBE8413269A4845ECA1B2ECEDEF15EFF612F89F +AB02ED248DA47A6CFB73291ECDE8EB8F21B09934621109B5FB12A0004A664776 +F0A7D13F8FA4AE3549FBA43E3D116ACD78EF378DA5AD57AA1ECF3865D6896A36 +E6B323FD31D98395035F2B21BD1263CE8963DB0E66581716C489BEAC1EEC747A +38D54FF19BDD64FB6D29C60BA9FED7274F4338B9FD9497A7A5C990800BB19F85 +C43BA6F4DD2934935F5AF4D0D467F5AE425DB20FA8C62661FEBF77CB8B1039F0 +9DB57000EDB0ACCFCED5E10C27CE898F93F4789C7300A8431736B32B8B327BEE +5CFB1DC3305C8C5FAB9F301FE6900069D4802D7B20AEBF979C3FAFB222838B42 +0789CED59803CEA24CB8E40B432A72BDDFBED38C1F5AF6B53E120BED34DB66E8 +6CEB33AD20F76CA376DDB0CFCB41DEE81C8E5DDAAEED06216C71E988D3BDD49D +5A3A7A1C5A70E0EA117766451F27437C79193DAC7547FCA3234F8311768F3829 +85767D0A573CCC48325704A30F55B21548209D89438187316067A1F6BF1CE0AC +85E725133837507C3BF78290140C2D51EA3444E6ACE981BE4D9B3923810E1417 +E9668B180E5F843D71976F9F5ECEDEDD9C0D2DCDD416CC167C3F48165EC004B6 +CE1113D64B375A59B41BA38FA35AFB458D467ADFED5E72F41A386540A3B68C99 +F29836F918332BF171BE5DDD0C9EBF34A14DB5E4DAAB65F7EA0D2EA8E82B7AC8 +01411A2E6F1F7620F2BE468EE935F5BFA9598A101EA265260A394B6948DB87B0 +6CBD5DA5FF81E7034A0B0332C4F7A1A9332A26AF80978F0545C3CF847324A38E +B9938E305C484BE9DBA023039DB4A5D1AFB139B3B7493A492B8A8511EB2A762E +95734FDF9B759B29A3224534034775C03C1100D8EBF3CE1B55748FEBC613E11E +5D418E4C9F1ABBC812450C808EABC5CEE95B59086CDF27A81583EB5E999831F2 +1E6909788D689599D14A0D075785E50BA7174A30BFA0E4370A4EB59C3CE9BE46 +A238ABFBB5E951A82881292CDD4362F2D1959C306EC4A4BE51FD2D4604C08E4B +E4CA91C5B1E8FE430EBE9D981CD0066E8294201589C4989E5262A6867EEC3153 +405A49080CD60053FCE99A84958209C94A0B36776BE153C72216C9AD3CFE3ECD +4B0409369DB51A7636D48243B526027043ADC287EE39662564D609A179A9F203 +10C9E244E9150D3003F919A36807EE190D488F9D1B6B0FF9B2347F642697C669 +DCEDFCD72AE48A6828A6875B5F629482BEBCECC17774EEA93BD31F6F11C6F5DE +EE483B14BAE3D73F933C3629A894BD5080BBA757B24E3E9092B65764B2A8B614 +8DBBBE9AF190EDBCF631C733A5FF8DB69B1C7EE0B2B7BF76BB921A85B40A07DA +65F1250C1D2F5F4873CD80AA44A68BA601F416F91701A3410AE272E7087B04ED +7A7A6159AF6067593BA6C8C2DB390FA2BF1C1BF264674B9D3248E0B6DB496E27 +6E5CA50B01D847967C31AB3309731E77A3062F8872578CF37B8D0596B708384F +FA3EA8D9EE4A73F696D9BAF8351E46D2E9C413EF5937C7297EE9E20E68F86C00 +C35FF23DA9E343E1B86F324D4A95B1412ABA88EBC765EABAB90264973989A3AE +787268BF358DABBB74F04385ED7F430D88BD45A958763473C203893CB0F46774 +01504F6ED812AFF4E35844791413A2380D1BBBCB6932BAC282643C7A18BF414E +5013111E69889FFD8BB711AF2172FBB317DCBB1C1FF12E5BFED589627F976891 +9F53E7915C9B9FABA2B8D2D442B3EAF14BB73ACD5674EF76F03700437603C802 +354E32C5B2CD02FC470533EE8CB6EBB5A83CFA3F1565C3F6341134EDAF4C7F8F +2D8FB57630AA264665D154CEBEFE4FAAF88AF6BA659EA31A4CA4FD688B2A51E5 +D24E96A55373328287CF954F8727BD760E57EE2E8BDBACC29E5CAB8DA1B58A5E +FD8416398145A5F0E50DF18C110B518BEF42E6954C3CCB1E18BBDE1E2B6FDC4E +D7339D7326B8EC9A1D979367B1A9CDFFCD34029404A018A1E42BE7347DC05D93 +15BDF40ECE8318EB9D25DA7216C4CA8994D091A0DE6E5F189B05E4AE951C6526 +AC9113A0A25EAB299108C3A2487187FB78DA98338CA7B9A3F74AE32D61C73533 +2C4E1233495DA9C0D3471C14E2AB780128DE8CC99D14E2C4000403766DCA344E +E09A4D796BE9085E4DC06838BA17481E0ED70B5DD973C64B7311E47420E3F750 +DA46A3E7FF1B2300F2E78AE703B83C14213EBEA42AD7DCE3F0523883383D6E04 +5C2E597138AFB94098EE8621B2E5EE5315C3163A5EAD6278B65B88C497D2A2ED +71660428739FB1E9A3E2DC11FD250E6EF346AA43309480AD7F3777EE5AC41042 +1C395F67D61726B397120C859923FCFD36BD4A86C589AC3A9E125C8CCFBEF7C9 +A49C3319D069844B2F2BAF76E916805C5EA06B90B3382701200A0CB279BB4693 +57922CBE713140AAA954CA7AAAB76AEC2E33A9A0048C9EDC101A8CBDC342CA04 +449DF8AA026885F767D45CDEA73F405AE7ECD1E118CBDE17B7F9F109F36E410C +E4486A1C7FE40C214B4AD7A715A003FA496686BAA306AA3F97BD49B512DE1EFB +3D5A9A8DD33FB117121B04D8DF25F8634499B54510D394310A5117666DACC963 +2DD41B688F2CFC87750A45BE221979075AAD06FDCFF45044FC09DFE41F3DED63 +42D2F296D337C1DFF439FED0659652CA4500815C7172686E0B4D1C410E9C451E +1DDD94BE8BD441D09C6D8E898A0DD102135C854816E66C6E79FE476744CCE245 +8CABDD95A91D03EFF4FB5CBA2D8D0D97313E5EB3B923730E72C6E1B04E976DE3 +F76B5DB805E9B9FACB88A7F175A33A517C2C2183DD53F4D15F2192ADB4E524EA +DB1CBB45CBB0A40A36D1D685B16735C90EE914BEC1CBFC2683532F1D3B44E0B2 +F98725D89F233AC99AB45891D383C3D7276C8239494EADAF676900F089E37101 +7D3F958A07A74CC7455B55C0310CE104700F674AC222B9E5E4351D4F0510E2E2 +720AB917341BF9FF91D095F22EEB64AABE29367300AD0EC3F7BC12A385824380 +AAF5D2A4DD4026324E41D8299DE8A5A905A621DACB611ED1CC9E855039EBA0C9 +CCE46F79F36F97D3E15667B12611AADCB2CE1BACD56248E3CAA720DE09045AEB +5F70674EADD8442734E302C0CDAD357F02A0813DA689E031C3B04CC545D3128E +FEAB24F2A30813BFF909511E0F8A221633943E4AEEE93D62D653AC0290B8B6EA +C086BD0C97F800C3522C59E39AFFEF43EA20C8E833E842B85804B94C8DDAF027 +727337A4AAC37B089F196142317C4215C533A6E5D42CAB2CD22FB9C4719D03DA +599B6DD3F11C6C94EDC46EFF4E5D0531D63BD97EEEFA8ADE254E23002D4D034D +64DE4FBAE45CC5CDE42BE8E8F17E585B3C0D5C65D4BA1AA413171A02F4115D2D +7FDA0098104AEEE3FC1EA2C2AADDEA317AF0D73C74147DA6115B6D91ECD8E66F +8107525A506B277AFCE3023040BF2D69585927081BC5306B4829FE4BFF531793 +9336A51846CD02E346BFB7334D2DE477C13087E110FF8B168E8EB510CB6DC834 +7630BFFFB5557F43071144661DADF55FCA0C106164D208FBA2FD762FBD606E6A +7835A82103FA89231484FA9C9E4AE0F426D3EB2D3E519E79E39FA70871E3D329 +ACBD432BE3D4BB05813C5F7350AE1712FEAF9937B76AC683D52F702A6D2B578E +B1CDA48A37F09083C2B38C0AD334DA683ED3CA881B626B0611B68BC5F42F4BD2 +FA1213AA8B75FA3002DE7E87D6C091891D6494838F533970BD62AEED67CF2C7F +39466438C53CF548D7D86563500E7D8D0C0CEE994A2C1A992E31F6A8D32F1D96 +F4F69E28C3F7A4B92A9F7E5467EE2B115AF8F3E8539203926A84F09DB1AA1E5F +ACE1A907CB2C6C89B65BE9DACA624CD10442B189FE49331E87B1714C1F8BCF57 +7C1656D7EBA4D8CD8568CD948FE85A7ED797796256818A2963D37AACD082E405 +7BE8562CE78A54FA6C08755DFA26DDCC4669DE91AFDD1073542EF1FB04813BB9 +42334FD59AC8167F05B1B963F4DDDDBF7CF177C7B1E181E28348AB12E083AE0A +7DF434EBE4960070AF2655C63B1F9114D3EA51B7BFF6F70F756406002FA2421F +56BD35B9F0F399CA89102FC688FE8690ECE6FE9078920726F5325740F9F15591 +B27312E42881D173ACD0E6752574F135F7DE5CE5CD376E6E1EBC98468DDA9FBF +65A0A0F24E1157BDCB90A0F00F5DF9FE167B83D7460558BDB3E6B51A9EA1AEDE +83E7C462522236BFD2EB75E0A1743B59C5CD781130C3450908BB9309C790B81A +726A5DFFA753589C05AE88E5B0AAB069FDB597ED006DF7499DD73689205A7B06 +0D00CD4285C9254C4671F6746BD385AB76E376D2C8F9CA89523E0FCCAC1AFE2F +D21D3541474D46EE3756FE9846C6D27BEFF024487A0B68895E14BDD5EC5838C3 +B18276B88DE43E949FD14C65AED312B831B120FFB0D11816CD1B11F285496F47 +C4F06AB615C651F3B0CEC80D098A58D3D6903A243F1B64E2C1DE434676948F2E +F120F94DFEC20C1E028CB0DEA2F9B856F73BA9F92E7907BF360D288262CD8D21 +0DF5C898EFD5115C486ED15F346BECF6AA2BA4E59DC3F860F5DB383E235E0AD3 +8A656A2311770ED4B902642BD30E97BD60DB26102E2895ACD22F67AD22C6F0E7 +912DD49F6FAEDFA568702D57D86BC176907D08B53280D1BD1093FE696EFFC553 +D8E20CB6C5871A3BF7F93125CFC5084250C3EFA20150F9AFAEDDC014EAF973DA +1C934EF9A0E2146448F922FC2FEFC8D893C90547E076767ED9428B0D96DEC3E6 +82B678E9F5B7F7FC77D419705DF05CF6F17E8F3636E0E51CB00CFACE3DDB1173 +1BFC5B5D81EEF8C28D59DE074A7A63F45EE061106B837B3933F36C44BFAB49FB +A61C1C6F5EC9CEDC870D226DD47D576D51446E61E0A9A9E1CAA5E94B08560766 +DC3248AB4B788D13F495C6A7EE9DF3ED79EA1EF6B1BA6E3B3F00CCDF619F06EF +502C07F28171F5F93E65144504AE40EF7451662297926F87F1859DB516931484 +BD3D7DB2BE1F192678681FB18F22B6544E9B51928848F4E635FD79F309FCA94C +C4FB2E04AE984EE0AA48C54F4A79F7180D2B158F31ADAC46B6827509DA86ECF6 +5872099655FA5A7C9DFA06C4FCD33CC12384D0EE1F646FA74D14DDEF8F2321AE +966D7EFED0DF0FADDC8762BB671761CB643D32393CB2E201537C5D87D9E44BB3 +AE88232BB580669A5EB79669FBF2B116F9845CB9AFA54A8C852F572FDE1176E4 +56F650BB69AA195F6315D0EAF88ED671B5B26EAF84F4A59A573D0F649948253E +C51D3B4CB623B63D0A4B513DA7188BC08865DFBD7C78BB0DA0A5FC8D7910D07B +07A4737B05E41FE3FF9CFE5BD35A9CA84E2107A0C47FABAC9DBE051F0C9CDB8F +2C98B80C7A945743B0A87CC75C7E211D33F68FBA841D97D5D25433B14211FDEF +005D470B1E5C29A8B3110C0ECAE381BC8CFE5C52D59454871B0411166EFDB76D +09C3C6F54A0FED793E0B19DB23A48B99A5583A172987685243EEBD56E31C5E77 +1623F16CE8F1D822221276B5210AECC885E83167E1E66446A2681A88BB40EF6E +82073899AD81700F9230ED476E90B38AB6815083C254E657ABD8761ECD173870 +98417DA59075CE7788E3B279D89DC565746F120208E593CEA999E6F40370231A +644738834021ABB4DD630B523FD969A5D79D8034D70C5625C14B8B70F26447EA +7EADEB97E2294414560FE2359B8C0F3E8E2BE47E0D79AB32837AD9155F2E4A1A +27129BD9CC0E2F6E72EE7E43BDBC49F44388434096CE46A8367850BB70059308 +CDDB676CA17E963F6073B19AAEE7E12C76D6165564DEDFEB517102655293A942 +DD67998256EEC2D21A844181ECC8DFD7A9FF26C64854B1AF3F304D09E264B18A +8F26004866D01BCB4A823FDC800C45740A543A036EE4785ED09CDE35F7C6E579 +9FD4C16E2089FA7C22C7C7A5296B165689D2C26B4D64DCEC325FB1ED3BDF3F90 +9B90E84072EE1F2AFA0D61E7043C22749CC71E561BFB0D20E7135EEF7B2DE8FC +2C2AEE15F8A17E739E489F9001A063F452B899EA26734F78ACA3964077BBD523 +538660F290A2656966B6BB9036E3E63674847E35E02E54E8ABF1CA3C31807CCB +16A349CFF5DC7CB54934F12890E3CA0B9D76B692E7714035F3A64A6A877DE24F +A42D526B7D32C480D44215610EB46E17C295C70D6D105EC0240D36E0B3C29DBE +76269CD8A66DE579C88353547EDCAD1FFF1F95D76E0923A24FC3A9F9C2A7D910 +B8FB62163DE7A02B3A919C06FC23F1AEA27E338BEE68D0297E8281EC47320D01 +CD201378228D6860C71EAEE0900BF462B701E57909F02824D1424C444B9D6F50 +0229794506BCC56B503293BC69B3C6F28CA4C816A8F2AA2992253A408A822D1A +952079FD015DD41F3C93D9F0FF6EEEDF50C1629A76B0D03BA0037845ED1DC89E +53335C804C71AB80D025E49F4313E797ECB16C7F39B963476A5C57256F083CE7 +FA22C560B68DC95691724A56632484BE7F0DCC403E915EC2B115EEAF3F8B7F1D +D1460DA180355E3BD2DF1D459A179317B5781D0C86D9245B62B159F1EF46D3A2 +94AE78E79A69302C17520FED89AC397304BE804CC2D620523FE203B4935E0A08 +F843C562D352CBE1202538E0BC63CD3CDECD197989CE794BAE7E0FD9EB5A8333 +827FDA2233058977663741CED6E55E4E5A5AE4F4E6CB57F07E1D4579D18C178A +49428C7CECAFA604C8C64F6A00FC9D6CC34AEF674672329279FA7F3DE0BF959E +8B8B4E9EEC0F406A91C51E62C583FA54F391F5177FE1E29F6A81FD3E98B4D80C +9F1289FF4B55FB319FDED440F59F421F062E6554ADCD00600C4DCCCA97F32890 +49CA92115DD0C894F37FBDE59FBC8510F2D6901CECB70268982D49A47C7B037B +F55446CA03BD401B4826BFCE26D55C80337D3F2B10DE20AE6B7563D61778992E +CEEFC6515DD496AC6209BFD515FAF56B42D331C0981F4FDA4A033B407008A4C5 +034E4BAB5F833148164F563A9FE8D8F7B6E9D6CCF780FA857149E2E610497C37 +5997969165907BBA244FF5679BFC346A2DEA84F66C046D613192C06D35A5A372 +9C281B8696DFEAFA164E0F2C86FCC43783AB3CF735F013488F40CB1EBCED4DB5 +1B892E6FEB72A60CB79A529528E20DCE7AD6C983B1E0AD8482581C10C5923466 +485B25BD384555BE05AA2A1C9A449A651357564CE0D8293CACA18C8B520DB97D +EDC0BC13AE0A5C709B4523CD32CE0B6C3A43A684384E98CD042AA39CE119983C +08B789000E3D887B76048AFFE58FC01E50359EDA5D579B4A99BE63E027FAA499 +FD3637CD7EE3DB8FAC7A7B49EAF466A258786257FA59E9DAB9DECBEAC369D7BE +C0D40B594D973B17885248C445426905AB12B617FD88E09E80AD8E3A6EDD5AD7 +4F184B6929B879463ADA22B7E42DB8801B842D433575B03DDD0FAF179EE4683B +D1080F2C9A08FA1DCEC4862D18ABB3204E84754B44E7CAD9831A67235DE21FFC +6AB91313F29574062015729C03204D895014DD676BD2BF94292F3C1A79841C08 +92D804BDE4740AC1388896E0C83F3BB8E93DE19E9E2088140B3EFF9AB00799AA +BEF0D6208DC9435106F4E160E2C172A39670EE21C887B82AE4E0B5E8F3C556C2 +C01353F5BD0D6E7D1B675C5C15841895863217F32476B02EC0E8909FE1D5E443 +78DD61A1DB513FFF4997F22F3A9B03F0A645A152F00DE39BAFFE9F338CA87E8D +0ADB94F94532A807C65B095001A83E03780C61F8C6D175F9405987E7431636E1 +9BC9CEA79500EB0AFD5292A50C34B7ED0C6FEE3E395A9EC246CA7851E979F086 +EAE04235C25605B4ED0286C746FC0099CCC04961C0B7D8A1ADD5A50E48EAC5EF +0E1000C77ED1BFAA3210AB496B2B9C1AD5A197B2EB435F2FD01DD5FD39111CD1 +D496210BB93C418A64B3476D7FD53900AC2F689CB16BEF3D60A93A171B216403 +1D611A41408881AA571B936726E7D703A0D8F2D0BE3E32882EB78150A9BA761A +6C7F1212FD52512C56C42865D910423EFF3EEDE621466A59E0104BF420847F6B +B927BB31090FFCDEEC85E729B99D78BF42906A2986129A933C2493BB216EF00F +60EF04214F0B5118DA3A2738B9A55FE06DB2AE5A2F535D095CD138545B7A0A4F +A1F80FA197317253879321A5E78D3C6BCF487B6B242F1C6F1FBBDDE5D9BCB191 +9DDBC945E0A5AB2F752AC425F421A92B26E87C6945ED317B36173EFBCDF0B67C +89345B03640A2E59CECFB8F351948121BCA6D196FDE5601C7D545EEF9A0B8B91 +590F8712FBB88A87EBA115C565D6B3B9EFD53545F079B60D9E833F41DA40D176 +5328B8891A5CB1AB952FC77A93BB871EF8A17C79045BEDD65A9B7893FBAE62B2 +90EEC774E889C7A02496FBA6C1FD8E42A35E37DF49A2B914CCF4726C985A306F +D8C83FCC6BB9EA66A193E350458C52592C2B16AA812628DD8FB16A4AC9897BD9 +CF1BFBFAC5BDEFA1E856FB2B130794F44C039C01DBECB2086F2B6B367603EEDC +2025844C5F492CE76052B2B6D69F805BEB62C5539DDB1CD5D861CE15E1200B25 +ED83F8D7CB26C3401BC30CBD2AE8CF0221FAE4B1884FC4CBC1F0ED39ABB25593 +957FE70694E6AF2FD8748AA4396DF453B587C6A31522A6F52F1E9DC1953EA4E0 +A2D0689DE808E32BD30D1D7DDEE920D1F5B859B8381F7AC8C543DE6C0A477F6C +7D27AA483A9ECF4EB9BB2A455C664538B9D7B6D7EB3BCBC7825BE1C0B3541572 +429E73EE263BBAD84659F47EA900CE69F8F5174AAA951A8B710B86F7D1648CC4 +D16587DC76196A5391062DC4EDEA970590722EF6C40E1BDB1282A7B6BF4FEBD0 +313257B86A5573E362D0BF6480703F27613B787B0A939737252B558E22FB3F07 +E3D41D0DE9FE12B2FB8E38F9968C3A542579CA6C36943A162164EA3B27748D75 +354223F4AA01E2FED87A70C8C2A099B1EB1601AD93A025B58658CCC3C5E1E104 +CB33771CC91BFCBDE5F90BEC75BBAABBF5FAB63FD631086FE97CD3654A5415D5 +13B9EF1C38B243EB96B27146EEA7CDC8E17C74676F43BCA3D0FA31A576581C2C +1F232E73DF1544DA33AB3D45654D54C890025CC17E33989E875FAABE340CE6FF +F5F5C5844D37F5B38BE18F29ECC4E390AD9BD270F9B6368FB038D9A9D9168BB0 +0BC3D6156AD8D4099EE878A762B7D725093DBA56C9D6B88152BEADFD7D0AB6E1 +D14B487A609D37BB815280A5F5EBD105E6AD2773D00CF996BC39C4965E08791E +CDF69FB205A8EE0CEAD9145DAFA7A2B028395D938AFDFFEF2EE37FCA8A948216 +B85AC1B885D4AA9A6AC8203CAAA7716573D061407DD2B1DDF1CD6026EFDBC1D3 +61B5C61371A248DBE267CDAAD1F0CF3E66BA16CC47A41CB5C49DDBEE015CA0B1 +7B2D0201374A35EB3EE70EAEEE44078DC8CE4F516DDEF10A61F500DFFC8C02C1 +337E2DA9EDD7F3FF4937D0999572E6BFFF9FA3F2FDB01308DE7D6FB8D0A67E00 +F4284882F2043063C03DE5CA05F97A36260FEB8C4BE95DE9F2DF7D2CA572DB0D +478BCA15D32BD8A95109DB5F92B318AB831168A4150A437679076D7CFE5EACCC +14E866A65FEB2EBCBE51E792F5A644BDC6AB9F1F576077F718D29BB7DE82B829 +B0DCE337CA18225E470E412E1FDB18CE8BEF93F26AEFC1C6073E0A1173CD5E83 +89A72C279856E4FD31837BA43B603A28D71D427BBCA52207220EC3E14234E7E7 +F3F1172B3998887BBF98C4E3D3B1B01A33387340CDDAD0CBB223B58BE51B027F +9795CA7142F703264069FCE544AAD50B2F2E8EB5A1B7330B31409A873FE3A1EB +8C22C80BB164AD35EB68A1B20DB47DC61B0AA72694B10904C9FF8B890B096EA1 +7DFA7B09D784BF68D70DBFBE84568B4A62FAB8BA46748420CA6CE88FAB584A40 +D0A153513AE867F772284B966D4BC5FB7128184F55BEF9AAE0D61402AF14E1FA +F59D22F240C60AAD06BE5E1C77D29A072AC5C0AE669053AB5B1C5A2A45A624D9 +0AF27A204DB9269F9D1FBDAD38C66EEFFA2D1F2C773754A8C47A5665F0D8D020 +05E6AEF66E79A14E5850D79DD6A0E46F1115D8E2842698BC 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2905,6 +5059,7 @@ F852E26DF056F7B5E3A2A54DDAAF6351193DD4BA2923EF40D6388324AA7913A8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +{restore}if %%EndFont TeXDict begin 40258431 52099146 1000 600 600 (rluserman.dvi) @start /Fa 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39 @@ -2939,7 +5094,7 @@ rf /Fh 135[56 2[56 1[42 2[51 58 56 4[27 1[58 49 51 1[54 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 48 1[48 3[48 48 48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 1[48 3[48 -48 48 48 48 48 1[48 48 48 48 2[48 48 48 48 33[{}77 90.9091 +48 48 48 48 48 48 48 48 48 48 2[48 48 48 48 33[{}78 90.9091 /CMTT10 rf /Fo 131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 @@ -2953,54 +5108,43 @@ rf /Fh 135[56 2[56 1[42 2[51 58 56 4[27 1[58 49 51 1[54 %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: Letter -letter +/setpagedevice where +{ pop << /PageSize [612 792] >> setpagedevice } +{ /letter where { pop letter } if } +ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 150 1318 a Fp(GNU)65 b(Readline)g(Library)g(User) g(In)-5 b(terface)p 150 1418 3600 34 v 1873 1515 a Fo(Edition)30 -b(6.2,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31 -b(6.2.)3118 1623 y(Septem)m(b)s(er)f(2010)150 4935 y -Fm(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 -b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11 -b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11 -b(oundation)p 150 5141 3600 17 v eop end +b(6.3,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31 +b(6.3.)3218 1623 y(Jan)m(uary)f(2014)150 4935 y Fm(Chet)45 +b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l +(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 +b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141 +3600 17 v eop end %%Page: 2 2 -TeXDict begin 2 1 bop 150 3024 a Fo(This)38 b(man)m(ual)h(describ)s(es) +TeXDict begin 2 1 bop 150 4413 a Fo(This)38 b(man)m(ual)h(describ)s(es) f(the)h(end)f(user)g(in)m(terface)i(of)f(the)g(GNU)g(Readline)g -(Library)f(\(v)m(ersion)i(6.2,)150 3133 y(Septem)m(b)s(er)30 -b(6)h(2010\),)i(a)e(library)f(whic)m(h)h(aids)f(in)h(the)g(consistency) -g(of)g(user)f(in)m(terface)i(across)f(discrete)150 3243 -y(programs)f(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m -(terface.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 -3377 y Fl(\015)f Fo(1988{2011)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F) --8 b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m(ted)g -(to)f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g -(man)m(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f -(and)f(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g -(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8 -b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g -(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8 -b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39 -b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28 -b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8 -b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28 -b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33 -b(texts)e(b)s(eing)g(\\A)g(GNU)g(Man)m(ual",)h(and)e(with)g(the)h(Bac)m -(k-Co)m(v)m(er)390 4194 y(T)-8 b(exts)33 b(as)g(in)f(\(a\))h(b)s(elo)m -(w.)47 b(A)33 b(cop)m(y)g(of)f(the)h(license)g(is)g(included)e(in)h -(the)h(section)g(en)m(titled)390 4304 y(\\GNU)e(F)-8 -b(ree)32 b(Do)s(cumen)m(tation)g(License".)390 4438 y(\(a\))f(The)f -(FSF's)g(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext)31 b(is:)41 -b(Y)-8 b(ou)31 b(are)f(free)h(to)f(cop)m(y)h(and)f(mo)s(dify)f(this)h -(GNU)390 4548 y(man)m(ual.)41 b(Buying)30 b(copies)h(from)e(GNU)i -(Press)f(supp)s(orts)e(the)i(FSF)g(in)g(dev)m(eloping)h(GNU)390 -4658 y(and)f(promoting)g(soft)m(w)m(are)i(freedom.")150 -4902 y(Published)d(b)m(y)h(the)h(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 -b(oundation)150 5011 y(59)31 b(T)-8 b(emple)31 b(Place,)h(Suite)e(330,) -150 5121 y(Boston,)i(MA)e(02111-1307)150 5230 y(USA)p -eop end +(Library)f(\(v)m(ersion)i(6.3,)150 4523 y(6)e(Jan)m(uary)f(2014\),)42 +b(a)c(library)f(whic)m(h)h(aids)f(in)h(the)g(consistency)g(of)g(user)f +(in)m(terface)i(across)f(discrete)150 4633 y(programs)30 +b(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m(terface.)150 +4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fl(\015)f +Fo(1988{2014)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 +b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h +(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s +(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 +b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26 +b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43 +b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8 +b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46 +b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31 +b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8 +b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390 +5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8 +b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end %%Page: -1 3 TeXDict begin -1 2 bop 3725 -116 a Fo(i)150 299 y Fk(T)-13 b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fm(1)135 b(Command)45 @@ -3038,7 +5182,7 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fo(4)399 1764 y(1.3.2)93 b(Conditional)31 b(Init)f(Constructs)e Fi(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58 -b Fo(10)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14 +b Fo(11)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14 b Fi(:)j(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)44 b Fo(11)275 1983 y(1.4)92 @@ -3356,13 +5500,13 @@ g Fe(inputrc)49 b Fo(\014le,)g(con)m(v)m(en)m(tionally)e(in)d(his)g (home)150 1924 y(directory)-8 b(.)39 b(The)23 b(name)h(of)f(this)h (\014le)f(is)g(tak)m(en)i(from)e(the)g(v)-5 b(alue)24 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)25 b -Fn(INPUTRC)p Fo(.)150 2033 y(If)34 b(that)g(v)-5 b(ariable)35 -b(is)g(unset,)g(the)f(default)g(is)g(`)p Fn(~/.inputrc)p -Fo('.)50 b(If)34 b(that)h(\014le)f(do)s(es)g(not)g(exist)h(or)f(cannot) -150 2143 y(b)s(e)c(read,)g(the)h(ultimate)g(default)g(is)f(`)p -Fn(/etc/inputrc)p Fo('.)275 2272 y(When)f(a)h(program)f(whic)m(h)h -(uses)f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f -(is)h(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275 +Fn(INPUTRC)p Fo(.)150 2033 y(If)30 b(that)g(v)-5 b(ariable)31 +b(is)f(unset,)g(the)h(default)f(is)g Fn(~/.inputrc)p +Fo(.)38 b(If)30 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h +(b)s(e)150 2143 y(read,)g(the)f(ultimate)i(default)e(is)h +Fn(/etc/inputrc)p Fo(.)275 2272 y(When)e(a)h(program)f(whic)m(h)h(uses) +f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f(is)h +(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275 2510 y(In)26 b(addition,)i(the)f Fn(C-x)i(C-r)d Fo(command)h(re-reads)g (this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m (hanges)150 2620 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g @@ -3373,7 +5517,7 @@ b(lines)h(are)150 3065 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h (a)g(`)p Fn(#)p Fo(')g(are)h(commen)m(ts.)73 b(Lines)41 b(b)s(eginning)f(with)g(a)i(`)p Fn($)p Fo(')f(indicate)150 3174 y(conditional)i(constructs)e(\(see)i(Section)f(1.3.2)h -([Conditional)f(Init)f(Constructs],)j(page)f(10\).)74 +([Conditional)f(Init)f(Constructs],)j(page)f(11\).)74 b(Other)150 3284 y(lines)31 b(denote)g(v)-5 b(ariable)31 b(settings)g(and)f(k)m(ey)h(bindings.)150 3432 y(V)-8 b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e @@ -3381,17 +5525,17 @@ b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e (the)g(v)-5 b(alues)41 b(of)630 3651 y(v)-5 b(ariables)34 b(in)f(Readline)i(using)e(the)g Fn(set)g Fo(command)g(within)g(the)h (init)g(\014le.)50 b(The)33 b(syn)m(tax)630 3761 y(is)d(simple:)870 -3890 y Fn(set)47 b Fg(variable)56 b(value)630 4019 y -Fo(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f -(the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 -4128 y(use)k Fn(vi)g Fo(line)h(editing)g(commands:)870 -4257 y Fn(set)47 b(editing-mode)d(vi)630 4386 y Fo(V)-8 -b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h -(are)g(recognized)g(without)f(regard)630 4496 y(to)c(case.)42 -b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630 -4624 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f -(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the) -g(v)-5 b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8 +3890 y Fn(set)47 b Fg(variable)e(value)630 4019 y Fo(Here,)29 +b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default) +h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 4128 y(use)k +Fn(vi)g Fo(line)h(editing)g(commands:)870 4257 y Fn(set)47 +b(editing-mode)d(vi)630 4386 y Fo(V)-8 b(ariable)36 b(names)f(and)g(v) +-5 b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f +(regard)630 4496 y(to)c(case.)42 b(Unrecognized)31 b(v)-5 +b(ariable)31 b(names)g(are)f(ignored.)630 4624 y(Bo)s(olean)c(v)-5 +b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g +(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5 +b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27 b Fe(on)d Fo(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v) -5 b(ariable)630 4844 y(b)s(eing)30 b(set)h(to)g(o\013.)630 @@ -3409,415 +5553,458 @@ Fn(visible)p Fo(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g (one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110 408 y(`)p Fn(audible)p Fo(')j(\(the)i(default\),)i(Readline)e(attempts) g(to)h(ring)e(the)g(terminal's)1110 518 y(b)s(ell.)630 -664 y Fn(bind-tty-special-chars)1110 774 y Fo(If)45 b(set)h(to)f(`)p +676 y Fn(bind-tty-special-chars)1110 786 y Fo(If)45 b(set)h(to)f(`)p Fn(on)p Fo(',)50 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m -(trol)g(c)m(haracters)1110 883 y(treated)36 b(sp)s(ecially)h(b)m(y)e +(trol)g(c)m(haracters)1110 896 y(treated)36 b(sp)s(ecially)h(b)m(y)e (the)h(k)m(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110 -993 y(equiv)-5 b(alen)m(ts.)630 1139 y Fn(comment-begin)1110 -1249 y Fo(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of) -g(the)h(line)f(when)f(the)i Fn(insert-)1110 1358 y(comment)e -Fo(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5 -b(alue)31 b(is)f Fn("#")p Fo(.)630 1504 y Fn(completion-display-width) -1110 1614 y Fo(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used) -g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 1724 +1005 y(equiv)-5 b(alen)m(ts.)630 1163 y Fn(colored-stats)1110 +1273 y Fo(If)26 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(displa)m +(ys)g(p)s(ossible)f(completions)h(using)f(di\013eren)m(t)1110 +1383 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67 +b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110 +1492 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fn(LS_COLORS)d +Fo(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110 +1602 y(is)30 b(`)p Fn(off)p Fo('.)630 1760 y Fn(comment-begin)1110 +1870 y Fo(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of) +h(the)h(line)f(when)g(the)1110 1979 y Fn(insert-comment)26 +b Fo(command)31 b(is)f(executed.)42 b(The)30 b(default)g(v)-5 +b(alue)31 b(is)f Fn("#")p Fo(.)630 2138 y Fn(completion-display-width) +1110 2247 y Fo(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used) +g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 2357 y(when)28 b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5 b(alue)29 b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110 -1833 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39 +2466 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39 b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110 -1943 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e +2576 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e (line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630 -2089 y Fn(completion-ignore-case)1110 2198 y Fo(If)d(set)h(to)g(`)p +2734 y Fn(completion-ignore-case)1110 2844 y Fo(If)d(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i -(and)e(completion)1110 2308 y(in)j(a)h(case-insensitiv)m(e)i(fashion.) +(and)e(completion)1110 2953 y(in)j(a)h(case-insensitiv)m(e)i(fashion.) 40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fn(off)p -Fo('.)630 2454 y Fn(completion-map-case)1110 2564 y Fo(If)22 +Fo('.)630 3112 y Fn(completion-map-case)1110 3221 y Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(and)e Fe(completion-ignore-case)31 -b Fo(is)22 b(enabled,)i(Readline)f(treats)1110 2673 y(h)m(yphens)29 +b Fo(is)22 b(enabled,)i(Readline)f(treats)1110 3331 y(h)m(yphens)29 b(\(`)p Fn(-)p Fo('\))j(and)e(underscores)g(\(`)p Fn(_)p Fo('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110 -2783 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e -(completion.)630 2929 y Fn(completion-prefix-displa)o(y-le)o(ngth)1110 -3039 y Fo(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h -(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3148 +3440 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e +(completion.)630 3599 y Fn(completion-prefix-displa)o(y-le)o(ngth)1110 +3708 y Fo(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h +(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3818 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s -(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3258 +(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3927 y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e -(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 3367 +(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 4037 y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible) -f(completions.)630 3513 y Fn(completion-query-items)1110 -3623 y Fo(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h -(that)g(determines)f(when)f(the)i(user)1110 3733 y(is)i(ask)m(ed)h +f(completions.)630 4195 y Fn(completion-query-items)1110 +4305 y Fo(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h +(that)g(determines)f(when)f(the)i(user)1110 4415 y(is)i(ask)m(ed)h (whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h -(displa)m(y)m(ed.)41 b(If)29 b(the)1110 3842 y(n)m(um)m(b)s(er)d(of)h +(displa)m(y)m(ed.)41 b(If)29 b(the)1110 4524 y(n)m(um)m(b)s(er)d(of)h (p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5 -b(alue,)28 b(Readline)1110 3952 y(will)f(ask)g(the)f(user)g(whether)g +b(alue,)28 b(Readline)1110 4634 y(will)f(ask)g(the)f(user)g(whether)g (or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 -4061 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 +4743 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5 -b(alue)1110 4171 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 +b(alue)1110 4853 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110 -4281 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g -Fn(100)p Fo(.)630 4427 y Fn(convert-meta)1110 4536 y +4963 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g +Fn(100)p Fo(.)630 5121 y Fn(convert-meta)1110 5230 y Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(Readline)f(will)f(con)m(v)m (ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110 -4646 y(to)33 b(an)e Fh(asci)r(i)h Fo(k)m(ey)h(sequence)f(b)m(y)g -(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110 -4756 y(an)24 b Fn(ESC)g Fo(c)m(haracter,)j(con)m(v)m(erting)f(them)f -(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 4865 -y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(on)p -Fo('.)630 5011 y Fn(disable-completion)1110 5121 y Fo(If)36 -b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h -(completion.)60 b(Completion)1110 5230 y(c)m(haracters)28 -b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h -(had)e(b)s(een)g(mapp)s(ed)1110 5340 y(to)31 b Fn(self-insert)p -Fo(.)38 b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)p +5340 y(to)33 b(an)e Fh(asci)r(i)h Fo(k)m(ey)h(sequence)f(b)m(y)g +(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)p eop end %%Page: 6 9 TeXDict begin 6 8 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fn(editing-mode)1110 -408 y Fo(The)28 b Fn(editing-mode)e Fo(v)-5 b(ariable)29 -b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 -518 y(ings)25 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f -(up)f(in)h(Emacs)g(editing)h(mo)s(de,)1110 628 y(where)j(the)g(k)m -(eystrok)m(es)i(are)e(most)h(similar)f(to)h(Emacs.)40 -b(This)29 b(v)-5 b(ariable)30 b(can)1110 737 y(b)s(e)g(set)h(to)g -(either)g(`)p Fn(emacs)p Fo(')e(or)h(`)p Fn(vi)p Fo('.)630 -883 y Fn(echo-control-characters)1110 993 y Fo(When)g(set)h(to)g(`)p +b(Command)29 b(Line)i(Editing)2153 b(6)1110 299 y(an)24 +b Fn(ESC)g Fo(c)m(haracter,)j(con)m(v)m(erting)f(them)f(to)g(a)g +(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 408 y(The)30 +b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(on)p Fo('.)630 +555 y Fn(disable-completion)1110 664 y Fo(If)36 b(set)h(to)h(`)p +Fn(On)p Fo(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60 +b(Completion)1110 774 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h +(in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110 +883 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p +Fn(off)p Fo('.)630 1029 y Fn(editing-mode)1110 1139 y +Fo(The)d Fn(editing-mode)e Fo(v)-5 b(ariable)29 b(con)m(trols)h(whic)m +(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1249 y(ings)25 +b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h +(Emacs)g(editing)h(mo)s(de,)1110 1358 y(where)j(the)g(k)m(eystrok)m(es) +i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5 +b(ariable)30 b(can)1110 1468 y(b)s(e)g(set)h(to)g(either)g(`)p +Fn(emacs)p Fo(')e(or)h(`)p Fn(vi)p Fo('.)630 1614 y Fn +(echo-control-characters)1110 1724 y Fo(When)g(set)h(to)g(`)p Fn(on)p Fo(',)f(on)g(op)s(erating)h(systems)f(that)h(indicate)g(they)g -(supp)s(ort)1110 1103 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m +(supp)s(ort)1110 1833 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m (haracter)h(corresp)s(onding)d(to)j(a)f(signal)g(generated)1110 -1212 y(from)e(the)g(k)m(eyb)s(oard.)41 b(The)30 b(default)g(is)h(`)p -Fn(on)p Fo('.)630 1358 y Fn(enable-keypad)1110 1468 y +1943 y(from)e(the)g(k)m(eyb)s(oard.)41 b(The)30 b(default)g(is)h(`)p +Fn(on)p Fo('.)630 2089 y Fn(enable-keypad)1110 2198 y Fo(When)23 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g(try)f(to) -h(enable)g(the)f(application)i(k)m(eypad)1110 1577 y(when)h(it)h(is)f +h(enable)g(the)f(application)i(k)m(eypad)1110 2308 y(when)h(it)h(is)f (called.)41 b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g -(arro)m(w)g(k)m(eys.)1110 1687 y(The)j(default)g(is)h(`)p -Fn(off)p Fo('.)630 1833 y Fn(enable-meta-key)1110 1943 +(arro)m(w)g(k)m(eys.)1110 2418 y(The)j(default)g(is)h(`)p +Fn(off)p Fo('.)630 2564 y Fn(enable-meta-key)1110 2673 y Fo(When)40 b(set)g(to)g(`)p Fn(on)p Fo(',)j(Readline)d(will)g(try)g -(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2052 +(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2783 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h(is)g -(called.)76 b(On)41 b(man)m(y)1110 2162 y(terminals,)c(the)e(meta)h(k)m +(called.)76 b(On)41 b(man)m(y)1110 2892 y(terminals,)c(the)e(meta)h(k)m (ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56 -b(The)1110 2271 y(default)31 b(is)f(`)p Fn(on)p Fo('.)630 -2418 y Fn(expand-tilde)1110 2527 y Fo(If)d(set)h(to)h(`)p +b(The)1110 3002 y(default)31 b(is)f(`)p Fn(on)p Fo('.)630 +3148 y Fn(expand-tilde)1110 3258 y Fo(If)d(set)h(to)h(`)p Fn(on)p Fo(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h -(Readline)h(attempts)1110 2637 y(w)m(ord)i(completion.)42 -b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630 2783 -y Fn(history-preserve-point)1110 2892 y Fo(If)41 b(set)h(to)h(`)p +(Readline)h(attempts)1110 3367 y(w)m(ord)i(completion.)42 +b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630 3513 +y Fn(history-preserve-point)1110 3623 y Fo(If)41 b(set)h(to)h(`)p Fn(on)p Fo(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f -(p)s(oin)m(t)f(\(the)1110 3002 y(curren)m(t)35 b(cursor)g(p)s +(p)s(oin)m(t)f(\(the)1110 3733 y(curren)m(t)35 b(cursor)g(p)s (osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g -(line)1110 3112 y(retriev)m(ed)h(with)f Fn(previous-history)c +(line)1110 3842 y(retriev)m(ed)h(with)f Fn(previous-history)c Fo(or)37 b Fn(next-history)p Fo(.)55 b(The)36 b(default)1110 -3221 y(is)30 b(`)p Fn(off)p Fo('.)630 3367 y Fn(history-size)1110 -3477 y Fo(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g -(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 3587 -y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g -(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110 -3696 y(limited.)630 3842 y Fn(horizontal-scroll-mode)1110 -3952 y Fo(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f -(`)p Fn(on)p Fo(')g(or)g(`)p Fn(off)p Fo('.)57 b(Setting)36 -b(it)g(to)h(`)p Fn(on)p Fo(')1110 4061 y(means)26 b(that)h(the)f(text)h +3952 y(is)30 b(`)p Fn(off)p Fo('.)630 4098 y Fn(history-size)1110 +4208 y Fo(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g +(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 4317 +y(list.)51 b(If)34 b(set)g(to)h(zero,)g(an)m(y)f(existing)h(history)f +(en)m(tries)g(are)g(deleted)h(and)e(no)1110 4427 y(new)e(en)m(tries)i +(are)f(sa)m(v)m(ed.)46 b(If)31 b(set)h(to)h(a)f(v)-5 +b(alue)32 b(less)g(than)f(zero,)i(the)f(n)m(um)m(b)s(er)1110 +4536 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42 +b(By)30 b(default,)h(the)g(n)m(um)m(b)s(er)e(of)i(history)1110 +4646 y(en)m(tries)g(is)g(not)f(limited.)630 4792 y Fn +(horizontal-scroll-mode)1110 4902 y Fo(This)35 b(v)-5 +b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p +Fn(on)p Fo(')g(or)g(`)p Fn(off)p Fo('.)57 b(Setting)36 +b(it)g(to)h(`)p Fn(on)p Fo(')1110 5011 y(means)26 b(that)h(the)f(text)h (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m -(tally)1110 4171 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i -(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 4281 +(tally)1110 5121 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i +(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 5230 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g -(line.)39 b(By)27 b(default,)g(this)1110 4390 y(v)-5 -b(ariable)31 b(is)g(set)f(to)i(`)p Fn(off)p Fo('.)630 -4536 y Fn(input-meta)1110 4646 y Fo(If)f(set)g(to)h(`)p -Fn(on)p Fo(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it) -i(will)f(not)h(clear)1110 4756 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h -(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110 -4865 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68 -b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fn(off)p -Fo('.)69 b(The)1110 4975 y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m -(ym)g(for)g(this)h(v)-5 b(ariable.)630 5121 y Fn(isearch-terminators) -1110 5230 y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e -(terminate)j(an)f(incremen)m(tal)1110 5340 y(searc)m(h)25 -b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g -(command)p eop end +(line.)39 b(By)27 b(default,)g(this)1110 5340 y(v)-5 +b(ariable)31 b(is)g(set)f(to)i(`)p Fn(off)p Fo('.)p eop +end %%Page: 7 10 TeXDict begin 7 9 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(7)1110 299 y(\(see)45 -b(Section)h(1.2.5)g([Searc)m(hing],)j(page)d(3\).)84 -b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110 408 +b(Command)29 b(Line)i(Editing)2153 b(7)630 299 y Fn(input-meta)1110 +408 y Fo(If)31 b(set)g(to)h(`)p Fn(on)p Fo(',)g(Readline)g(will)f +(enable)h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110 +518 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f +(reads\),)j(regardless)c(of)h(what)g(the)1110 628 y(terminal)g(claims)h +(it)g(can)f(supp)s(ort.)68 b(The)39 b(default)h(v)-5 +b(alue)40 b(is)g(`)p Fn(off)p Fo('.)69 b(The)1110 737 +y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5 +b(ariable.)630 894 y Fn(isearch-terminators)1110 1003 +y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j +(an)f(incremen)m(tal)1110 1113 y(searc)m(h)25 b(without)g(subsequen)m +(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110 +1223 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j(page)d(3\).)84 +b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110 1332 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h Fn(ESC)d Fo(and)h Fg(C-J)g Fo(will)h(terminate)g(an)1110 -518 y(incremen)m(tal)c(searc)m(h.)630 689 y Fn(keymap)192 +1442 y(incremen)m(tal)c(searc)m(h.)630 1598 y Fn(keymap)192 b Fo(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h -(for)g(k)m(ey)g(binding)f(com-)1110 798 y(mands.)81 b(Acceptable)47 -b Fn(keymap)42 b Fo(names)i(are)h Fn(emacs)p Fo(,)i Fn(emacs-standard)p -Fo(,)1110 908 y Fn(emacs-meta)p Fo(,)99 b Fn(emacs-ctlx)p -Fo(,)f Fn(vi)p Fo(,)j Fn(vi-move)p Fo(,)f Fn(vi-command)p -Fo(,)f(and)1110 1017 y Fn(vi-insert)p Fo(.)64 b Fn(vi)38 -b Fo(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fn(vi-command)p -Fo(;)i Fn(emacs)c Fo(is)i(equiv)-5 b(alen)m(t)1110 1127 -y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5 +(for)g(k)m(ey)g(binding)f(com-)1110 1708 y(mands.)81 +b(Acceptable)47 b Fn(keymap)42 b Fo(names)i(are)h Fn(emacs)p +Fo(,)i Fn(emacs-standard)p Fo(,)1110 1817 y Fn(emacs-meta)p +Fo(,)99 b Fn(emacs-ctlx)p Fo(,)f Fn(vi)p Fo(,)j Fn(vi-move)p +Fo(,)f Fn(vi-command)p Fo(,)f(and)1110 1927 y Fn(vi-insert)p +Fo(.)64 b Fn(vi)38 b Fo(is)h(equiv)-5 b(alen)m(t)41 b(to)e +Fn(vi-command)p Fo(;)i Fn(emacs)c Fo(is)i(equiv)-5 b(alen)m(t)1110 +2037 y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5 b(alue)32 b(is)g Fn(emacs)p Fo(.)44 b(The)31 b(v)-5 b(alue)33 -b(of)f(the)1110 1236 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31 -b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 1407 -y Fn(mark-directories)1110 1517 y Fo(If)38 b(set)g(to)h(`)p -Fn(on)p Fo(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash) -g(app)s(ended.)1110 1626 y(The)30 b(default)g(is)h(`)p -Fn(on)p Fo('.)630 1797 y Fn(mark-modified-lines)1110 -1906 y Fo(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p -Fn(on)p Fo(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 -2016 y(terisk)f(\(`)p Fn(*)p Fo('\))h(at)f(the)g(start)g(of)g(history)g -(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 -2125 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fn(off)p Fo(')g(b)m(y)g -(default.)630 2296 y Fn(mark-symlinked-directori)o(es)1110 -2405 y Fo(If)44 b(set)h(to)h(`)p Fn(on)p Fo(',)i(completed)e(names)f -(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110 -2515 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5 -b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fn(mark-)1110 -2625 y(directories)p Fo(\).)38 b(The)30 b(default)g(is)h(`)p -Fn(off)p Fo('.)630 2795 y Fn(match-hidden-files)1110 -2905 y Fo(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p -Fn(on)p Fo(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose) -1110 3014 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fn(.)p -Fo(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 -3124 y(completion.)75 b(If)41 b(set)g(to)h(`)p Fn(off)p -Fo(',)i(the)e(leading)g(`)p Fn(.)p Fo(')f(m)m(ust)g(b)s(e)g(supplied)f -(b)m(y)1110 3233 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f -(completed.)53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p -Fn(on)p Fo(')g(b)m(y)1110 3343 y(default.)630 3513 y -Fn(menu-complete-display-pr)o(efix)1110 3623 y Fo(If)f(set)h(to)g(`)p -Fn(on)p Fo(',)h(men)m(u)e(completion)i(displa)m(ys)e(the)h(common)g -(pre\014x)e(of)i(the)1110 3733 y(list)k(of)g(p)s(ossible)f(completions) -i(\(whic)m(h)e(ma)m(y)h(b)s(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 -3842 y(through)30 b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p -Fn(off)p Fo('.)630 4013 y Fn(output-meta)1110 4122 y -Fo(If)35 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g(displa)m(y) -f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 4232 -y(set)h(directly)g(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s -(e)h(sequence.)59 b(The)1110 4341 y(default)31 b(is)f(`)p -Fn(off)p Fo('.)630 4512 y Fn(page-completions)1110 4622 -y Fo(If)j(set)i(to)f(`)p Fn(on)p Fo(',)h(Readline)g(uses)e(an)h(in)m -(ternal)h Fn(more)p Fo(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 -4731 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) -47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fn(on)p Fo(')1110 -4841 y(b)m(y)e(default.)630 5011 y Fn(print-completions-horizo)o(ntal)o -(ly)1110 5121 y Fo(If)23 b(set)i(to)g(`)p Fn(on)p Fo(',)g(Readline)g -(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 -5230 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c -(than)g(do)m(wn)g(the)h(screen.)1110 5340 y(The)30 b(default)g(is)h(`)p -Fn(off)p Fo('.)p eop end +b(of)f(the)1110 2146 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31 +b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 2303 +y Fn(keyseq-timeout)1110 2412 y Fo(Sp)s(eci\014es)25 +b(the)g(duration)g(Readline)h(will)g(w)m(ait)g(for)g(a)f(c)m(haracter)i +(when)e(read-)1110 2522 y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h +(sequence)f(\(one)g(that)h(can)f(form)g(a)g(complete)h(k)m(ey)1110 +2632 y(sequence)j(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f +(tak)m(e)i(additional)f(input)1110 2741 y(to)g(complete)g(a)f(longer)h +(k)m(ey)f(sequence\).)49 b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h +(within)1110 2851 y(the)43 b(timeout,)48 b(Readline)43 +b(will)g(use)g(the)g(shorter)g(but)f(complete)j(k)m(ey)e(se-)1110 +2960 y(quence.)c(Readline)26 b(uses)f(this)h(v)-5 b(alue)26 +b(to)g(determine)g(whether)f(or)g(not)h(input)1110 3070 +y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m(t)f(input)g +(source)h(\()p Fn(rl_instream)d Fo(b)m(y)i(default\).)1110 +3180 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h +(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that) +1110 3289 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g +(additional)i(input.)37 b(If)22 b(this)g(v)-5 b(ariable)23 +b(is)1110 3399 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f +(equal)i(to)f(zero,)i(or)e(to)g(a)h(non-n)m(umeric)e(v)-5 +b(alue,)1110 3508 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h +(k)m(ey)g(is)f(pressed)g(to)h(decide)f(whic)m(h)g(k)m(ey)1110 +3618 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5 +b(alue)31 b(is)g Fn(500)p Fo(.)630 3774 y Fn(mark-directories)1110 +3884 y Fo(If)38 b(set)g(to)h(`)p Fn(on)p Fo(',)i(completed)e(directory) +f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110 +3994 y(The)30 b(default)g(is)h(`)p Fn(on)p Fo('.)630 +4150 y Fn(mark-modified-lines)1110 4260 y Fo(This)k(v)-5 +b(ariable,)38 b(when)d(set)h(to)h(`)p Fn(on)p Fo(',)g(causes)g +(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4369 y(terisk)f(\(`)p +Fn(*)p Fo('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f +(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 4479 y(This)d(v)-5 +b(ariable)31 b(is)f(`)p Fn(off)p Fo(')g(b)m(y)g(default.)630 +4635 y Fn(mark-symlinked-directori)o(es)1110 4745 y Fo(If)59 +b(set)h(to)g(`)p Fn(on)p Fo(',)67 b(completed)60 b(names)f(whic)m(h)g +(are)h(sym)m(b)s(olic)g(links)f(to)1110 4855 y(directories)71 +b(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)f(\(sub)5 b(ject)70 +b(to)g(the)g(v)-5 b(alue)70 b(of)1110 4964 y Fn(mark-directories)p +Fo(\).)37 b(The)30 b(default)g(is)g(`)p Fn(off)p Fo('.)630 +5121 y Fn(match-hidden-files)1110 5230 y Fo(This)21 b(v)-5 +b(ariable,)25 b(when)d(set)g(to)h(`)p Fn(on)p Fo(',)h(causes)f +(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 5340 +y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fn(.)p Fo(')g(\(hidden)f +(\014les\))i(when)e(p)s(erforming)g(\014lename)p eop +end %%Page: 8 11 TeXDict begin 8 10 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fn -(revert-all-at-newline)1110 408 y Fo(If)29 b(set)h(to)g(`)p -Fn(on)p Fo(',)g(Readline)g(will)g(undo)f(all)h(c)m(hanges)h(to)f -(history)g(lines)f(b)s(efore)1110 518 y(returning)f(when)f -Fn(accept-line)f Fo(is)j(executed.)41 b(By)29 b(default,)g(history)g -(lines)1110 628 y(ma)m(y)42 b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i -(individual)e(undo)g(lists)h(across)g(calls)h(to)1110 -737 y Fn(readline)p Fo(.)38 b(The)30 b(default)h(is)f(`)p -Fn(off)p Fo('.)630 902 y Fn(show-all-if-ambiguous)1110 -1011 y Fo(This)f(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h -(completion)g(functions.)40 b(If)29 b(set)1110 1121 y(to)f(`)p -Fn(on)p Fo(',)g(w)m(ords)f(whic)m(h)g(ha)m(v)m(e)i(more)f(than)f(one)h -(p)s(ossible)f(completion)h(cause)1110 1230 y(the)39 -b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i(instead)e(of)g -(ringing)g(the)g(b)s(ell.)1110 1340 y(The)30 b(default)g(v)-5 -b(alue)31 b(is)g(`)p Fn(off)p Fo('.)630 1504 y Fn -(show-all-if-unmodified)1110 1614 y Fo(This)38 b(alters)h(the)g -(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a) -1110 1724 y(fashion)25 b(similar)g(to)h Fe(sho)m(w-all-if-am)m(biguous) -t Fo(.)41 b(If)24 b(set)i(to)f(`)p Fn(on)p Fo(',)i(w)m(ords)d(whic)m(h) -1110 1833 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e -(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110 -1943 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h -(don't)f(share)g(a)h(common)1110 2052 y(pre\014x\))30 -b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i -(instead)e(of)h(ring-)1110 2162 y(ing)g(the)f(b)s(ell.)41 +b(Command)29 b(Line)i(Editing)2153 b(8)1110 299 y(completion.)75 +b(If)41 b(set)g(to)h(`)p Fn(off)p Fo(',)i(the)e(leading)g(`)p +Fn(.)p Fo(')f(m)m(ust)g(b)s(e)g(supplied)f(b)m(y)1110 +408 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f(completed.) +53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p Fn(on)p Fo(')g(b)m(y)1110 +518 y(default.)630 664 y Fn(menu-complete-display-pr)o(efix)1110 +774 y Fo(If)f(set)h(to)g(`)p Fn(on)p Fo(',)h(men)m(u)e(completion)i +(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110 +883 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)s +(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 993 y(through)30 +b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Fn(off)p +Fo('.)630 1139 y Fn(output-meta)1110 1249 y Fo(If)35 +b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g(displa)m(y)f(c)m +(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1358 y(set)h(directly)g +(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 +b(The)1110 1468 y(default)31 b(is)f(`)p Fn(off)p Fo('.)630 +1614 y Fn(page-completions)1110 1724 y Fo(If)j(set)i(to)f(`)p +Fn(on)p Fo(',)h(Readline)g(uses)e(an)h(in)m(ternal)h +Fn(more)p Fo(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 +1833 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) +47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fn(on)p Fo(')1110 +1943 y(b)m(y)e(default.)630 2089 y Fn(print-completions-horizo)o(ntal)o +(ly)1110 2198 y Fo(If)23 b(set)i(to)g(`)p Fn(on)p Fo(',)g(Readline)g +(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 +2308 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c +(than)g(do)m(wn)g(the)h(screen.)1110 2418 y(The)30 b(default)g(is)h(`)p +Fn(off)p Fo('.)630 2564 y Fn(revert-all-at-newline)1110 +2673 y Fo(If)e(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(will)g(undo)f +(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 +2783 y(returning)f(when)f Fn(accept-line)f Fo(is)j(executed.)41 +b(By)29 b(default,)g(history)g(lines)1110 2892 y(ma)m(y)42 +b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h +(across)g(calls)h(to)1110 3002 y Fn(readline)p Fo(.)38 +b(The)30 b(default)h(is)f(`)p Fn(off)p Fo('.)630 3148 +y Fn(show-all-if-ambiguous)1110 3258 y Fo(This)f(alters)i(the)f +(default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40 +b(If)29 b(set)1110 3367 y(to)f(`)p Fn(on)p Fo(',)g(w)m(ords)f(whic)m(h) +g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause) +1110 3477 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i +(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 3587 y(The)30 +b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(off)p Fo('.)630 +3733 y Fn(show-all-if-unmodified)1110 3842 y Fo(This)38 +b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h +(functions)e(in)h(a)1110 3952 y(fashion)25 b(similar)h(to)g +Fe(sho)m(w-all-if-am)m(biguous)p Fo(.)41 b(If)25 b(set)h(to)h(`)p +Fn(on)p Fo(',)f(w)m(ords)f(whic)m(h)1110 4061 y(ha)m(v)m(e)32 +b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s +(ossible)f(par-)1110 4171 y(tial)43 b(completion)h(\(the)f(p)s(ossible) +f(completions)h(don't)f(share)g(a)h(common)1110 4281 +y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g +(immediately)i(instead)e(of)h(ring-)1110 4390 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fn(off)p -Fo('.)630 2326 y Fn(skip-completed-text)1110 2436 y Fo(If)i(set)i(to)f -(`)p Fn(on)p Fo(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s -(eha)m(vior)f(when)f(in-)1110 2545 y(serting)d(a)h(single)g(matc)m(h)f -(in)m(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s -(erform-)1110 2655 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f -(w)m(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110 -2765 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h -(that)f(matc)m(h)g(c)m(haracters)1110 2874 y(after)c(p)s(oin)m(t)g(in)g -(the)g(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g -(w)m(ord)1110 2984 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g -(duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 -3093 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g -(after)h(the)g(`)p Fn(e)p Fo(')f(in)1110 3203 y(`)p Fn(Makefile)p +Fo('.)630 4536 y Fn(show-mode-in-prompt)1110 4646 y Fo(If)35 +b(set)i(to)f(`)p Fn(on)p Fo(',)h(add)e(a)h(c)m(haracter)i(to)e(the)g(b) +s(eginning)f(of)h(the)g(prompt)f(in-)1110 4756 y(dicating)43 +b(the)f(editing)h(mo)s(de:)63 b(emacs)43 b(\(`)p Fn(@)p +Fo('\),)i(vi)d(command)g(\(`)p Fn(:)p Fo('\),)k(or)c(vi)1110 +4865 y(insertion)30 b(\(`)p Fn(+)p Fo('\).)42 b(The)30 +b(default)h(v)-5 b(alue)30 b(is)h(`)p Fn(off)p Fo('.)630 +5011 y Fn(skip-completed-text)1110 5121 y Fo(If)h(set)i(to)f(`)p +Fn(on)p Fo(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s(eha)m +(vior)f(when)f(in-)1110 5230 y(serting)d(a)h(single)g(matc)m(h)f(in)m +(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-) +1110 5340 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m +(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)p eop +end +%%Page: 9 12 +TeXDict begin 9 11 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(not)41 +b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g +(c)m(haracters)1110 408 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f(b) +s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110 +518 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45 +b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 +628 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g +(after)h(the)g(`)p Fn(e)p Fo(')f(in)1110 737 y(`)p Fn(Makefile)p Fo(')c(will)i(result)f(in)g(`)p Fn(Makefile)p Fo(')f(rather)h(than)h(`) -p Fn(Makefilefile)p Fo(',)1110 3313 y(assuming)d(there)g(is)h(a)f +p Fn(Makefilefile)p Fo(',)1110 847 y(assuming)d(there)g(is)h(a)f (single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5 -b(alue)1110 3422 y(is)30 b(`)p Fn(off)p Fo('.)630 3587 -y Fn(visible-stats)1110 3696 y Fo(If)h(set)i(to)f(`)p +b(alue)1110 956 y(is)30 b(`)p Fn(off)p Fo('.)630 1113 +y Fn(visible-stats)1110 1223 y Fo(If)h(set)i(to)f(`)p Fn(on)p Fo(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s -(e)g(is)g(app)s(ended)e(to)j(the)1110 3806 y(\014lename)e(when)e +(e)g(is)g(app)s(ended)e(to)j(the)1110 1332 y(\014lename)e(when)e (listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p -Fn(off)p Fo('.)150 3970 y(Key)f(Bindings)630 4080 y(The)41 +Fn(off)p Fo('.)150 1489 y(Key)f(Bindings)630 1598 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g (init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630 -4189 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i +1708 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i (y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630 -4299 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j +1817 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j (the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630 -4408 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h -(do)s(es.)630 4545 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g +1927 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h +(do)s(es.)630 2060 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g (the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g(the)g(init)630 -4655 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h +2170 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h (bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630 -4765 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 +2279 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g -(and)630 4874 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m +(and)630 2389 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m (terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72 -b(The)40 b(name)h(of)630 4984 y(the)35 b(k)m(ey)g(can)g(b)s(e)f +b(The)40 b(name)h(of)630 2498 y(the)35 b(k)m(ey)g(can)g(b)s(e)f (expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h -(what)h(y)m(ou)g(\014nd)e(most)630 5093 y(comfortable.)630 -5230 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h +(what)h(y)m(ou)g(\014nd)e(most)630 2608 y(comfortable.)630 +2741 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h (k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 -5340 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g -(\(a)h Fe(macro)5 b Fo(\).)p eop end -%%Page: 9 12 -TeXDict begin 9 11 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fe(k)m(eyname)5 -b Fo(:)42 b Fe(function-name)35 b Fo(or)c Fe(macro)1110 -408 y(k)m(eyname)k Fo(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s +2851 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g +(\(a)h Fe(macro)5 b Fo(\).)630 3007 y Fe(k)m(eyname)g +Fo(:)42 b Fe(function-name)35 b Fo(or)c Fe(macro)1110 +3117 y(k)m(eyname)k Fo(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s (elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350 -541 y Fn(Control-u:)45 b(universal-argument)1350 651 -y(Meta-Rubout:)f(backward-kill-word)1350 760 y(Control-o:)h(">)i -(output")1110 893 y Fo(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h -Fg(C-u)d Fo(is)h(b)s(ound)d(to)k(the)e(function)h Fn(universal-)1110 -1003 y(argument)p Fo(,)f Fg(M-DEL)e Fo(is)i(b)s(ound)e(to)i(the)g -(function)g Fn(backward-kill-word)p Fo(,)1110 1112 y(and)g -Fg(C-o)g Fo(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f -(the)i(righ)m(t)f(hand)1110 1222 y(side)30 b(\(that)i(is,)e(to)h -(insert)g(the)f(text)i(`)p Fn(>)e(output)p Fo(')f(in)m(to)i(the)g -(line\).)1110 1355 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m -(haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110 -1465 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37 -b Fe(DEL)p Fo(,)22 b Fe(ESC)8 b Fo(,)20 b Fe(ESCAPE)5 -b Fo(,)21 b Fe(LFD)5 b Fo(,)22 b Fe(NEW-)1110 1574 y(LINE)5 -b Fo(,)31 b Fe(RET)7 b Fo(,)29 b Fe(RETURN)10 b Fo(,)30 -b Fe(R)m(UBOUT)7 b Fo(,)31 b Fe(SP)-8 b(A)m(CE)5 b Fo(,)31 -b Fe(SPC)8 b Fo(,)29 b(and)h Fe(T)-8 b(AB)5 b Fo(.)630 -1730 y Fn(")p Fe(k)m(eyseq)r Fn(")p Fo(:)41 b Fe(function-name)36 -b Fo(or)30 b Fe(macro)1110 1840 y(k)m(eyseq)k Fo(di\013ers)d(from)f +3250 y Fn(Control-u:)45 b(universal-argument)1350 3360 +y(Meta-Rubout:)f(backward-kill-word)1350 3469 y(Control-o:)h(">)i +(output")1110 3602 y Fo(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111 +b Fg(C-u)94 b Fo(is)g(b)s(ound)f(to)i(the)f(function)1110 +3712 y Fn(universal-argument)p Fo(,)124 b Fg(M-DEL)107 +b Fo(is)i(b)s(ound)e(to)j(the)f(function)1110 3821 y +Fn(backward-kill-word)p Fo(,)75 b(and)69 b Fg(C-o)g Fo(is)h(b)s(ound)e +(to)j(run)d(the)i(macro)1110 3931 y(expressed)45 b(on)h(the)g(righ)m(t) +g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p +Fn(>)1110 4041 y(output)p Fo(')29 b(in)m(to)i(the)g(line\).)1110 +4174 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m(haracter)g +(names)f(are)g(recognized)h(while)1110 4283 y(pro)s(cessing)40 +b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 b Fe(DEL)p +Fo(,)42 b Fe(ESC)p Fo(,)g Fe(ESCAPE)p Fo(,)f Fe(LFD)p +Fo(,)1110 4393 y Fe(NEWLINE)p Fo(,)31 b Fe(RET)p Fo(,)f +Fe(RETURN)p Fo(,)g Fe(R)m(UBOUT)p Fo(,)h Fe(SP)-8 b(A)m(CE)p +Fo(,)31 b Fe(SPC)p Fo(,)e(and)h Fe(T)-8 b(AB)p Fo(.)630 +4549 y Fn(")p Fe(k)m(eyseq)r Fn(")p Fo(:)41 b Fe(function-name)36 +b Fo(or)30 b Fe(macro)1110 4659 y(k)m(eyseq)k Fo(di\013ers)d(from)f Fe(k)m(eyname)37 b Fo(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f -(denoting)g(an)g(en-)1110 1949 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s +(denoting)g(an)g(en-)1110 4769 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s (e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in) -1110 2059 y(double)29 b(quotes.)41 b(Some)29 b Fh(gnu)h +1110 4878 y(double)29 b(quotes.)41 b(Some)29 b Fh(gnu)h Fo(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as) -1110 2169 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s -(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 2278 y(recognized.)1350 -2411 y Fn("\\C-u":)46 b(universal-argument)1350 2521 -y("\\C-x\\C-r":)f(re-read-init-file)1350 2630 y("\\e[11~":)g("Function) -h(Key)g(1")1110 2763 y Fo(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 -b Fg(C-u)64 b Fo(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110 -2873 y Fn(universal-argument)39 b Fo(\(just)k(as)h(it)g(w)m(as)g(in)g -(the)f(\014rst)g(example\),)49 b(`)p Fg(C-x)1110 2982 -y(C-r)p Fo(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f +1110 4988 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s +(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 5097 y(recognized.)1350 +5230 y Fn("\\C-u":)46 b(universal-argument)1350 5340 +y("\\C-x\\C-r":)f(re-read-init-file)p eop end +%%Page: 10 13 +TeXDict begin 10 12 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(10)1350 299 y Fn("\\e[11~":)45 +b("Function)h(Key)g(1")1110 447 y Fo(In)64 b(the)g(ab)s(o)m(v)m(e)i +(example,)74 b Fg(C-u)64 b Fo(is)g(again)i(b)s(ound)c(to)k(the)e +(function)1110 556 y Fn(universal-argument)39 b Fo(\(just)k(as)h(it)g +(w)m(as)g(in)g(the)f(\014rst)g(example\),)49 b(`)p Fg(C-x)1110 +666 y(C-r)p Fo(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f Fn(re-read-init-file)p Fo(,)c(and)j(`)p Fn(ESC)h([)g(1)g(1)1110 -3092 y(~)p Fo(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p -Fn(Function)e(Key)g(1)p Fo('.)630 3248 y(The)g(follo)m(wing)i +775 y(~)p Fo(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p +Fn(Function)e(Key)g(1)p Fo('.)630 961 y(The)g(follo)m(wing)i Fh(gnu)f Fo(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5 -b(ailable)32 b(when)d(sp)s(ecifying)630 3357 y(k)m(ey)i(sequences:)630 -3513 y Fg(\\C-)336 b Fo(con)m(trol)32 b(pre\014x)630 -3670 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630 3826 y +b(ailable)32 b(when)d(sp)s(ecifying)630 1071 y(k)m(ey)i(sequences:)630 +1257 y Fg(\\C-)336 b Fo(con)m(trol)32 b(pre\014x)630 +1443 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630 1629 y Fg(\\e)384 b Fo(an)30 b(escap)s(e)h(c)m(haracter)630 -3982 y Fg(\\\\)384 b Fo(bac)m(kslash)630 4138 y Fg(\\)p +1815 y Fg(\\\\)384 b Fo(bac)m(kslash)630 2001 y Fg(\\)p Fn(")g(")p Fo(,)30 b(a)h(double)f(quotation)i(mark)630 -4294 y Fg(\\')384 b Fn(')p Fo(,)30 b(a)h(single)g(quote)g(or)f(ap)s -(ostrophe)630 4450 y(In)d(addition)h(to)g(the)g Fh(gnu)f +2186 y Fg(\\')384 b Fn(')p Fo(,)30 b(a)h(single)g(quote)g(or)f(ap)s +(ostrophe)630 2372 y(In)d(addition)h(to)g(the)g Fh(gnu)f Fo(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g -(bac)m(kslash)630 4560 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 -4716 y Fn(\\a)384 b Fo(alert)31 b(\(b)s(ell\))630 4872 -y Fn(\\b)384 b Fo(bac)m(kspace)630 5028 y Fn(\\d)g Fo(delete)630 -5184 y Fn(\\f)g Fo(form)30 b(feed)630 5340 y Fn(\\n)384 -b Fo(newline)p eop end -%%Page: 10 13 -TeXDict begin 10 12 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(10)630 299 y Fn(\\r)384 -b Fo(carriage)32 b(return)630 451 y Fn(\\t)384 b Fo(horizon)m(tal)32 -b(tab)630 604 y Fn(\\v)384 b Fo(v)m(ertical)32 b(tab)630 -756 y Fn(\\)p Fg(nnn)288 b Fo(the)35 b(eigh)m(t-bit)h(c)m(haracter)g -(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 -b(alue)35 b Fe(nnn)e Fo(\(one)i(to)1110 866 y(three)c(digits\))630 -1018 y Fn(\\x)p Fg(HH)288 b Fo(the)40 b(eigh)m(t-bit)h(c)m(haracter)g -(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 -b(alue)40 b Fe(HH)1110 1128 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e -(digits\))630 1280 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g -(macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to) -630 1390 y(indicate)23 b(a)e(macro)h(de\014nition.)38 -b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f -(name.)38 b(In)630 1499 y(the)22 b(macro)f(b)s(o)s(dy)-8 -b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m -(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 1609 y(will)j(quote)h(an)m -(y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 +(bac)m(kslash)630 2482 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 +2668 y Fn(\\a)384 b Fo(alert)31 b(\(b)s(ell\))630 2854 +y Fn(\\b)384 b Fo(bac)m(kspace)630 3040 y Fn(\\d)g Fo(delete)630 +3226 y Fn(\\f)g Fo(form)30 b(feed)630 3412 y Fn(\\n)384 +b Fo(newline)630 3597 y Fn(\\r)g Fo(carriage)32 b(return)630 +3783 y Fn(\\t)384 b Fo(horizon)m(tal)32 b(tab)630 3969 +y Fn(\\v)384 b Fo(v)m(ertical)32 b(tab)630 4155 y Fn(\\)p +Fg(nnn)288 b Fo(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 +b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fe(nnn)e +Fo(\(one)i(to)1110 4265 y(three)c(digits\))630 4451 y +Fn(\\x)p Fg(HH)288 b Fo(the)38 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e +(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 b(alue)39 +b Fe(HH)1110 4560 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630 +4746 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e +(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630 +4856 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21 +b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38 +b(In)630 4965 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23 +b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j +(are)e(expanded.)37 b(Bac)m(kslash)630 5075 y(will)j(quote)h(an)m(y)f +(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 b(`)p Fn(")p Fo(')h(and)g(`)p Fn(')p Fo('.)69 b(F)-8 -b(or)630 1718 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i +b(or)630 5185 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i (mak)m(e)h(`)p Fg(C-x)j Fn(\\)p Fo(')c(insert)f(a)h(single)h(`)p -Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 1849 y Fn("\\C-x\\\\":)45 -b("\\\\")150 2042 y Fd(1.3.2)63 b(Conditional)41 b(Init)g(Constructs) -150 2188 y Fo(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f -(in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150 -2298 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g -(bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s -(erformed)f(as)i(the)150 2408 y(result)f(of)h(tests.)41 -b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150 -2560 y Fn($if)336 b Fo(The)31 b Fn($if)f Fo(construct)i(allo)m(ws)h -(bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g -(the)630 2670 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g -(application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test) -630 2779 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m -(haracters)i(are)f(required)e(to)i(isolate)i(it.)630 -2932 y Fn(mode)288 b Fo(The)20 b Fn(mode=)g Fo(form)g(of)h(the)g -Fn($if)f Fo(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline) -1110 3041 y(is)29 b(in)h Fn(emacs)e Fo(or)h Fn(vi)g Fo(mo)s(de.)40 -b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110 -3151 y(`)p Fn(set)h(keymap)p Fo(')c(command,)i(for)f(instance,)i(to)f -(set)g(bindings)f(in)g(the)h Fn(emacs-)1110 3260 y(standard)23 -b Fo(and)h Fn(emacs-ctlx)f Fo(k)m(eymaps)i(only)g(if)g(Readline)h(is)f -(starting)h(out)1110 3370 y(in)k Fn(emacs)f Fo(mo)s(de.)630 -3522 y Fn(term)288 b Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e -(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 -3632 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f -(output)g(b)m(y)g(the)g(terminal's)1110 3742 y(function)24 -b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g -(the)g(`)p Fn(=)p Fo(')g(is)g(tested)h(against)1110 3851 -y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s -(ortion)e(of)h(the)g(terminal)1110 3961 y(name)k(b)s(efore)f(the)g -(\014rst)g(`)p Fn(-)p Fo('.)50 b(This)33 b(allo)m(ws)i -Fn(sun)e Fo(to)h(matc)m(h)g(b)s(oth)f Fn(sun)g Fo(and)1110 -4070 y Fn(sun-cmd)p Fo(,)c(for)h(instance.)630 4223 y -Fn(application)1110 4332 y Fo(The)21 b Fe(application)j -Fo(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h -(set-)1110 4442 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h -(Readline)g(library)g(sets)g(the)g Fe(application)1110 -4551 y(name)5 b Fo(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h -(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to) -1110 4661 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g -(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 -4771 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey) -f(sequence)h(that)f(quotes)1110 4880 y(the)e(curren)m(t)f(or)g -(previous)g(w)m(ord)g(in)g(Bash:)1350 5011 y Fn($if)47 -b(Bash)1350 5121 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word) -1350 5230 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 5340 y($endif)p -eop end +Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 5332 y Fn("\\C-x\\\\":)45 +b("\\\\")p eop end %%Page: 11 14 TeXDict begin 11 13 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(11)150 299 y Fn($endif)192 -b Fo(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous)g(example,)h -(terminates)g(an)g Fn($if)e Fo(command.)150 458 y Fn($else)240 -b Fo(Commands)29 b(in)h(this)h(branc)m(h)e(of)i(the)f -Fn($if)g Fo(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g(fails.) -150 618 y Fn($include)96 b Fo(This)43 b(directiv)m(e)i(tak)m(es)g(a)e -(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g(commands) -630 727 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 +b(Command)29 b(Line)i(Editing)2107 b(11)150 299 y Fd(1.3.2)63 +b(Conditional)41 b(Init)g(Constructs)150 446 y Fo(Readline)c(implemen)m +(ts)g(a)h(facilit)m(y)g(similar)f(in)g(spirit)f(to)i(the)f(conditional) +h(compilation)g(features)f(of)150 555 y(the)31 b(C)f(prepro)s(cessor)g +(whic)m(h)g(allo)m(ws)i(k)m(ey)g(bindings)d(and)h(v)-5 +b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s(erformed)f(as)i(the)150 +665 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f +(directiv)m(es)j(used.)150 824 y Fn($if)336 b Fo(The)31 +b Fn($if)f Fo(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i +(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630 934 +y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f +(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 1044 +y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m(haracters)i +(are)f(required)e(to)i(isolate)i(it.)630 1203 y Fn(mode)288 +b Fo(The)30 b Fn(mode=)e Fo(form)i(of)g(the)h Fn($if)e +Fo(directiv)m(e)j(is)e(used)f(to)i(test)g(whether)e(Read-)1110 +1313 y(line)44 b(is)f(in)g Fn(emacs)f Fo(or)h Fn(vi)g +Fo(mo)s(de.)79 b(This)42 b(ma)m(y)i(b)s(e)e(used)h(in)g(conjunction) +1110 1422 y(with)c(the)h(`)p Fn(set)29 b(keymap)p Fo(')38 +b(command,)k(for)d(instance,)j(to)e(set)g(bindings)e(in)1110 +1532 y(the)32 b Fn(emacs-standard)c Fo(and)j Fn(emacs-ctlx)d +Fo(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 1641 y(starting)f(out)g +(in)f Fn(emacs)f Fo(mo)s(de.)630 1801 y Fn(term)288 b +Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e(used)g(to)i(include)f +(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 1910 y(ings,)38 +b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f(output)g(b)m(y)g +(the)g(terminal's)1110 2020 y(function)24 b(k)m(eys.)39 +b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g(the)g(`)p +Fn(=)p Fo(')g(is)g(tested)h(against)1110 2130 y(b)s(oth)k(the)h(full)g +(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s(ortion)e(of)h(the)g +(terminal)1110 2239 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p +Fn(-)p Fo('.)50 b(This)33 b(allo)m(ws)i Fn(sun)e Fo(to)h(matc)m(h)g(b)s +(oth)f Fn(sun)g Fo(and)1110 2349 y Fn(sun-cmd)p Fo(,)c(for)h(instance.) +630 2508 y Fn(application)1110 2618 y Fo(The)21 b Fe(application)j +Fo(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h +(set-)1110 2727 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h +(Readline)g(library)g(sets)g(the)g Fe(application)1110 +2837 y(name)p Fo(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h +(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)1110 +2946 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h +(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 3056 +y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f +(sequence)h(that)f(quotes)1110 3166 y(the)e(curren)m(t)f(or)g(previous) +g(w)m(ord)g(in)g(Bash:)1350 3300 y Fn($if)47 b(Bash)1350 +3410 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350 +3519 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3629 y($endif)150 +3788 y($endif)192 b Fo(This)29 b(command,)i(as)f(seen)h(in)f(the)g +(previous)g(example,)h(terminates)g(an)g Fn($if)e Fo(command.)150 +3948 y Fn($else)240 b Fo(Commands)29 b(in)h(this)h(branc)m(h)e(of)i +(the)f Fn($if)g Fo(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g +(fails.)150 4107 y Fn($include)96 b Fo(This)43 b(directiv)m(e)i(tak)m +(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g +(commands)630 4217 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e -(from)630 837 y(`)p Fn(/etc/inputrc)p Fo(':)870 971 y -Fn($include)46 b(/etc/inputrc)150 1171 y Fd(1.3.3)63 -b(Sample)41 b(Init)g(File)150 1318 y Fo(Here)27 b(is)f(an)h(example)g -(of)f(an)h Fe(inputrc)k Fo(\014le.)39 b(This)26 b(illustrates)h(k)m(ey) -h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150 -1427 y(conditional)j(syn)m(tax.)p eop end +(from)630 4326 y Fn(/etc/inputrc)p Fo(:)870 4461 y Fn($include)46 +b(/etc/inputrc)150 4660 y Fd(1.3.3)63 b(Sample)41 b(Init)g(File)150 +4807 y Fo(Here)27 b(is)f(an)h(example)g(of)f(an)h Fe(inputrc)k +Fo(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)h(binding,)e(v)-5 +b(ariable)27 b(assignmen)m(t,)i(and)150 4917 y(conditional)j(syn)m +(tax.)p eop end %%Page: 12 15 TeXDict begin 12 14 bop 150 -116 a Fo(Chapter)30 b(1:)41 b(Command)29 b(Line)i(Editing)2107 b(12)390 408 y Fn(#)47 @@ -3827,13 +6014,13 @@ b(This)g(file)g(controls)e(the)i(behaviour)e(of)j(line)e(input)h g(FTP,)g(Bash,)h(and)g(GDB.)390 737 y(#)390 847 y(#)g(You)g(can)g (re-read)f(the)h(inputrc)f(file)g(with)h(C-x)g(C-r.)390 956 y(#)g(Lines)g(beginning)e(with)i('#')g(are)g(comments.)390 -1066 y(#)390 1176 y(#)g(First,)g(include)e(any)i(systemwide)e(bindings) -h(and)h(variable)390 1285 y(#)g(assignments)e(from)i(/etc/Inputrc)390 -1395 y($include)f(/etc/Inputrc)390 1614 y(#)390 1724 -y(#)h(Set)g(various)f(bindings)g(for)h(emacs)f(mode.)390 -1943 y(set)h(editing-mode)d(emacs)390 2162 y($if)j(mode=emacs)390 +1066 y(#)390 1176 y(#)g(First,)g(include)e(any)i(system-wide)e +(bindings)h(and)g(variable)390 1285 y(#)h(assignments)e(from)i +(/etc/Inputrc)390 1395 y($include)f(/etc/Inputrc)390 +1614 y(#)390 1724 y(#)h(Set)g(various)f(bindings)g(for)h(emacs)f(mode.) +390 1943 y(set)h(editing-mode)d(emacs)390 2162 y($if)j(mode=emacs)390 2381 y(Meta-Control-h:)91 b(backward-kill-word)43 b(Text)k(after)f(the) -h(function)f(name)g(is)h(ignored)p 3971 2401 42 76 v +h(function)f(name)g(is)h(ignored)p 3970 2401 42 76 v 390 2600 a(#)390 2710 y(#)g(Arrow)g(keys)f(in)i(keypad)e(mode)390 2819 y(#)390 2929 y(#"\\M-OD":)379 b(backward-char)390 3039 y(#"\\M-OC":)g(forward-char)390 3148 y(#"\\M-OA":)g @@ -3937,404 +6124,436 @@ TeXDict begin 15 17 bop 150 -116 a Fo(Chapter)30 b(1:)41 b(Command)29 b(Line)i(Editing)2107 b(15)150 299 y Fn(next-history)27 b(\(C-n\))630 408 y Fo(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i (history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150 -573 y Fn(beginning-of-history)25 b(\(M-<\))630 682 y +558 y Fn(beginning-of-history)25 b(\(M-<\))630 667 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8 -b(.)150 847 y Fn(end-of-history)26 b(\(M->\))630 956 +b(.)150 817 y Fn(end-of-history)26 b(\(M->\))630 927 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150 -1121 y Fn(reverse-search-history)24 b(\(C-r\))630 1230 +1076 y Fn(reverse-search-history)24 b(\(C-r\))630 1186 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g (line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630 -1340 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m -(tal)i(searc)m(h.)150 1504 y Fn(forward-search-history)24 -b(\(C-s\))630 1614 y Fo(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g +1295 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m +(tal)i(searc)m(h.)150 1445 y Fn(forward-search-history)24 +b(\(C-s\))630 1554 y Fo(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g (the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')f(through)g(the) -h(the)630 1724 y(history)g(as)h(necessary)-8 b(.)41 b(This)30 -b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1888 y Fn +h(the)630 1664 y(history)g(as)h(necessary)-8 b(.)41 b(This)30 +b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1813 y Fn (non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24 -b(\(M-p\))630 1998 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g +b(\(M-p\))630 1923 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g (the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g -(his-)630 2107 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m +(his-)630 2032 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m (tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630 -2217 y(user.)150 2381 y Fn(non-incremental-forward-)o(sear)o(ch-h)o -(ist)o(ory)24 b(\(M-n\))630 2491 y Fo(Searc)m(h)30 b(forw)m(ard)f +2142 y(user.)150 2291 y Fn(non-incremental-forward-)o(sear)o(ch-h)o +(ist)o(ory)24 b(\(M-n\))630 2401 y Fo(Searc)m(h)30 b(forw)m(ard)f (starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn') -f(through)g(the)h(the)630 2600 y(history)d(as)f(necessary)i(using)e(a)h +f(through)g(the)h(the)630 2511 y(history)d(as)f(necessary)i(using)e(a)h (non-incremen)m(tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i -(the)630 2710 y(user.)150 2874 y Fn(history-search-forward)d(\(\))630 -2984 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g +(the)630 2620 y(user.)150 2770 y Fn(history-search-forward)d(\(\))630 +2879 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g +(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630 +2989 y(start)36 b(of)h(the)f(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m +(t.)58 b(The)35 b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the) +630 3098 y(b)s(eginning)32 b(of)g(a)h(history)g(line.)47 +b(This)32 b(is)h(a)f(non-incremen)m(tal)i(searc)m(h.)48 +b(By)33 b(default,)g(this)630 3208 y(command)d(is)h(un)m(b)s(ound.)150 +3357 y Fn(history-search-backward)24 b(\(\))630 3467 +y Fo(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g +(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 +3577 y(start)g(of)h(the)f(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.) +58 b(The)35 b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630 +3686 y(b)s(eginning)32 b(of)g(a)h(history)g(line.)47 +b(This)32 b(is)h(a)f(non-incremen)m(tal)i(searc)m(h.)48 +b(By)33 b(default,)g(this)630 3796 y(command)d(is)h(un)m(b)s(ound.)150 +3945 y Fn(history-substr-search-fo)o(rwar)o(d)24 b(\(\))630 +4055 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g (the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630 -3093 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m -(t.)55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56 -b(By)630 3203 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150 -3367 y Fn(history-search-backward)24 b(\(\))630 3477 +4164 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m +(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere) +630 4274 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h +(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e +(command)630 4384 y(is)e(un)m(b)s(ound.)150 4533 y Fn +(history-substr-search-ba)o(ckwa)o(rd)24 b(\(\))630 4643 y Fo(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g (the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 -3587 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.) -55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56 -b(By)630 3696 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150 -3861 y Fn(yank-nth-arg)c(\(M-C-y\))630 3970 y Fo(Insert)37 -b(the)g(\014rst)f(argumen)m(t)i(to)f(the)h(previous)e(command)h -(\(usually)g(the)g(second)g(w)m(ord)630 4080 y(on)32 -b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 b(With)32 -b(an)g(argumen)m(t)g Fe(n)p Fo(,)g(insert)g(the)g Fe(n)p -Fo(th)f(w)m(ord)g(from)630 4189 y(the)k(previous)f(command)h(\(the)g(w) -m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630 -4299 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f +4752 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m +(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere) +630 4862 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h +(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e +(command)630 4971 y(is)e(un)m(b)s(ound.)150 5121 y Fn(yank-nth-arg)d +(\(M-C-y\))630 5230 y Fo(Insert)37 b(the)g(\014rst)f(argumen)m(t)i(to)f +(the)h(previous)e(command)h(\(usually)g(the)g(second)g(w)m(ord)630 +5340 y(on)32 b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 +b(With)32 b(an)g(argumen)m(t)g Fe(n)p Fo(,)g(insert)g(the)g +Fe(n)p Fo(th)f(w)m(ord)g(from)p eop end +%%Page: 16 19 +TeXDict begin 16 18 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(the)35 +b(previous)f(command)h(\(the)g(w)m(ords)g(in)f(the)h(previous)g +(command)f(b)s(egin)h(with)f(w)m(ord)630 408 y(0\).)69 +b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f Fe(n)p Fo(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630 -4408 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fe(n)e +518 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fe(n)e Fo(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e(if)630 -4518 y(the)e(`)p Fn(!)p Fg(n)11 b Fo(')29 b(history)i(expansion)f(had)g -(b)s(een)f(sp)s(eci\014ed.)150 4682 y Fn(yank-last-arg)e(\(M-.)i(or)h -(M-_\))630 4792 y Fo(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous) -f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 -4902 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m +628 y(the)e(`)p Fn(!)p Fg(n)p Fo(')f(history)g(expansion)g(had)g(b)s +(een)g(sp)s(eci\014ed.)150 798 y Fn(yank-last-arg)d(\(M-.)i(or)h(M-_\)) +630 908 y Fo(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)f +(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 +1018 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m (t,)h(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Fn(yank-nth-arg)p -Fo(.)630 5011 y(Successiv)m(e)26 b(calls)g(to)f Fn(yank-last-arg)c +Fo(.)630 1127 y(Successiv)m(e)26 b(calls)g(to)f Fn(yank-last-arg)c Fo(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i -(inserting)630 5121 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp) +(inserting)630 1237 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp) s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i -(of)f(eac)m(h)h(line)630 5230 y(in)36 b(turn.)58 b(An)m(y)36 +(of)f(eac)m(h)h(line)630 1346 y(in)36 b(turn.)58 b(An)m(y)36 b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g -(calls)h(determines)630 5340 y(the)d(direction)g(to)h(mo)m(v)m(e)g +(calls)h(determines)630 1456 y(the)d(direction)g(to)h(mo)m(v)m(e)g (through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e -(switc)m(hes)h(the)p eop end -%%Page: 16 19 -TeXDict begin 16 18 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(direction)23 -b(through)g(the)g(history)f(\(bac)m(k)i(or)f(forw)m(ard\).)38 -b(The)22 b(history)h(expansion)g(facilities)630 408 y(are)28 -b(used)f(to)h(extract)h(the)f(last)g(argumen)m(t,)h(as)e(if)h(the)g(`)p -Fn(!$)p Fo(')f(history)g(expansion)h(had)f(b)s(een)630 -518 y(sp)s(eci\014ed.)150 727 y Fd(1.4.3)63 b(Commands)42 -b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150 904 y Fn(delete-char)27 -b(\(C-d\))630 1014 y Fo(Delete)41 b(the)e(c)m(haracter)i(at)e(p)s(oin)m -(t.)66 b(If)39 b(p)s(oin)m(t)f(is)h(at)h(the)f(b)s(eginning)f(of)h(the) -g(line,)j(there)630 1124 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i -(line,)h(and)d(the)h(last)h(c)m(haracter)h(t)m(yp)s(ed)e(w)m(as)g(not)g -(b)s(ound)e(to)630 1233 y Fn(delete-char)p Fo(,)28 b(then)i(return)f -Fh(eof)p Fo(.)150 1403 y Fn(backward-delete-char)c(\(Rubout\))630 -1512 y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40 +(switc)m(hes)h(the)630 1565 y(direction)23 b(through)g(the)g(history)f +(\(bac)m(k)i(or)f(forw)m(ard\).)38 b(The)22 b(history)h(expansion)g +(facilities)630 1675 y(are)28 b(used)f(to)h(extract)h(the)f(last)g +(argumen)m(t,)h(as)e(if)h(the)g(`)p Fn(!$)p Fo(')f(history)g(expansion) +h(had)f(b)s(een)630 1785 y(sp)s(eci\014ed.)150 1995 y +Fd(1.4.3)63 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 +b(ext)150 2173 y Fg(end-of-file)27 b Fn(\(usually)h(C-d\))630 +2282 y Fo(The)e(c)m(haracter)h(indicating)h(end-of-\014le)e(as)h(set,)g +(for)f(example,)i(b)m(y)e Fn(stty)p Fo(.)39 b(If)25 b(this)h(c)m +(harac-)630 2392 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m +(haracters)j(on)d(the)h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s +(eginning)630 2501 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g +(it)g(as)f(the)h(end)f(of)g(input)f(and)h(returns)f Fh(eof)p +Fo(.)150 2672 y Fn(delete-char)e(\(C-d\))630 2782 y Fo(Delete)35 +b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g +(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2891 +y(as)e(the)f(tt)m(y)i Fh(eof)d Fo(c)m(haracter,)j(as)f +Fg(C-d)e Fo(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g +(e\013ects.)150 3062 y Fn(backward-delete-char)25 b(\(Rubout\))630 +3172 y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40 b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630 -1622 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150 -1792 y Fn(forward-backward-delete-)o(char)24 b(\(\))630 -1901 y Fo(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h +3281 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150 +3452 y Fn(forward-backward-delete-)o(char)24 b(\(\))630 +3561 y Fo(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h (unless)d(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 -2011 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s +3671 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s (ehind)d(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630 -2120 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 -2290 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2399 +3781 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 +3951 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 4061 y Fo(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h (v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630 -2509 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150 -2679 y Fn(tab-insert)e(\(M-TAB\))630 2788 y Fo(Insert)i(a)h(tab)f(c)m -(haracter.)150 2958 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o -(\))630 3067 y Fo(Insert)g(y)m(ourself.)150 3237 y Fn(transpose-chars)c -(\(C-t\))630 3347 y Fo(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g +4170 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150 +4341 y Fn(tab-insert)e(\(M-TAB\))630 4451 y Fo(Insert)i(a)h(tab)f(c)m +(haracter.)150 4621 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o +(\))630 4731 y Fo(Insert)g(y)m(ourself.)150 4902 y Fn(transpose-chars)c +(\(C-t\))630 5011 y Fo(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g (cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g -(cursor,)630 3456 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m +(cursor,)630 5121 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m (ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end) -g(of)h(the)630 3566 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h +g(of)h(the)630 5230 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h (last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 -b(Negativ)m(e)25 b(argumen)m(ts)630 3675 y(ha)m(v)m(e)32 -b(no)e(e\013ect.)150 3845 y Fn(transpose-words)c(\(M-t\))630 -3955 y Fo(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g -(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past) -g(that)630 4064 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 -b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f -(line,)i(this)e(transp)s(oses)g(the)630 4174 y(last)j(t)m(w)m(o)h(w)m -(ords)e(on)g(the)h(line.)150 4343 y Fn(upcase-word)c(\(M-u\))630 -4453 y Fo(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i +b(Negativ)m(e)25 b(argumen)m(ts)630 5340 y(ha)m(v)m(e)32 +b(no)e(e\013ect.)p eop end +%%Page: 17 20 +TeXDict begin 17 19 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fn(transpose-words)26 +b(\(M-t\))630 408 y Fo(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m +(t)g(past)g(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin) +m(t)f(past)g(that)630 518 y(w)m(ord)c(as)h(w)m(ell.)41 +b(If)27 b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i +(the)f(line,)i(this)e(transp)s(oses)g(the)630 628 y(last)j(t)m(w)m(o)h +(w)m(ords)e(on)g(the)h(line.)150 792 y Fn(upcase-word)c(\(M-u\))630 +902 y Fo(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i (w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630 -4562 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h -(the)e(cursor.)150 4732 y Fn(downcase-word)d(\(M-l\))630 -4842 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i +1012 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h +(the)e(cursor.)150 1176 y Fn(downcase-word)d(\(M-l\))630 +1286 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i (w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m -(ercase)630 4951 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m -(v)m(e)i(the)f(cursor.)150 5121 y Fn(capitalize-word)26 -b(\(M-c\))630 5230 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m +(ercase)630 1396 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m +(v)m(e)i(the)f(cursor.)150 1560 y Fn(capitalize-word)26 +b(\(M-c\))630 1670 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m (wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h -(capitalize)630 5340 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f -(mo)m(v)m(e)i(the)f(cursor.)p eop end -%%Page: 17 20 -TeXDict begin 17 19 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fn(overwrite-mode)26 -b(\(\))630 408 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48 +(capitalize)630 1780 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f +(mo)m(v)m(e)i(the)f(cursor.)150 1944 y Fn(overwrite-mode)26 +b(\(\))630 2054 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48 b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,) -h(switc)m(hes)630 518 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37 +h(switc)m(hes)630 2163 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37 b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m -(t,)i(switc)m(hes)e(to)630 628 y(insert)30 b(mo)s(de.)41 +(t,)i(switc)m(hes)e(to)630 2273 y(insert)30 b(mo)s(de.)41 b(This)30 b(command)h(a\013ects)h(only)e Fn(emacs)f Fo(mo)s(de;)i -Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 737 +Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 2383 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f Fn(readline\(\))c Fo(starts)k(in)f(insert)g(mo)s(de.)630 -872 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j -Fn(self-insert)c Fo(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630 -982 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75 -b(Characters)42 b(b)s(ound)d(to)j Fn(backward-)630 1092 -y(delete-char)27 b Fo(replace)32 b(the)e(c)m(haracter)i(b)s(efore)e(p)s -(oin)m(t)h(with)f(a)g(space.)630 1227 y(By)h(default,)f(this)h(command) -f(is)g(un)m(b)s(ound.)150 1427 y Fd(1.4.4)63 b(Killing)42 -b(And)e(Y)-10 b(anking)150 1600 y Fn(kill-line)28 b(\(C-k\))630 -1709 y Fo(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of) -i(the)f(line.)150 1870 y Fn(backward-kill-line)25 b(\(C-x)30 -b(Rubout\))630 1980 y Fo(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s -(eginning)g(of)g(the)h(line.)150 2140 y Fn(unix-line-discard)26 -b(\(C-u\))630 2250 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor) -f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 -2411 y Fn(kill-whole-line)c(\(\))630 2520 y Fo(Kill)37 -b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g -(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630 -2630 y(this)30 b(is)h(un)m(b)s(ound.)150 2790 y Fn(kill-word)d(\(M-d\)) -630 2900 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f +2520 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s +(ound)c(to)j Fn(self-insert)c Fo(replace)k(the)g(text)g(at)630 +2629 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h +(the)f(righ)m(t.)126 b(Characters)59 b(b)s(ound)d(to)630 +2739 y Fn(backward-delete-char)25 b Fo(replace)31 b(the)g(c)m(haracter) +h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 2876 +y(By)g(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)150 +3081 y Fd(1.4.4)63 b(Killing)42 b(And)e(Y)-10 b(anking)150 +3255 y Fn(kill-line)28 b(\(C-k\))630 3365 y Fo(Kill)j(the)f(text)i +(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f(line.)150 +3530 y Fn(backward-kill-line)25 b(\(C-x)30 b(Rubout\))630 +3639 y Fo(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s(eginning)g(of)g(the)h +(line.)150 3804 y Fn(unix-line-discard)26 b(\(C-u\))630 +3914 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f +(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 4079 +y Fn(kill-whole-line)c(\(\))630 4188 y Fo(Kill)37 b(all)g(c)m +(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s +(oin)m(t)h(is.)59 b(By)36 b(default,)630 4298 y(this)30 +b(is)h(un)m(b)s(ound.)150 4462 y Fn(kill-word)d(\(M-d\))630 +4572 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f (curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h -(the)g(end)630 3010 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8 +(the)g(end)630 4682 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fn(forward-word)p -Fo(.)150 3170 y Fn(backward-kill-word)25 b(\(M-DEL\))630 -3280 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40 +Fo(.)150 4846 y Fn(backward-kill-word)25 b(\(M-DEL\))630 +4956 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40 b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g -Fn(backward-word)p Fo(.)150 3441 y Fn(unix-word-rubout)d(\(C-w\))630 -3550 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f +Fn(backward-word)p Fo(.)150 5121 y Fn(unix-word-rubout)d(\(C-w\))630 +5230 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f (white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43 -b(The)31 b(killed)630 3660 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f -(kill-ring.)150 3820 y Fn(unix-filename-rubout)25 b(\(\))630 -3930 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e -(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 -4040 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g -(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 4200 y Fn -(delete-horizontal-space)24 b(\(\))630 4310 y Fo(Delete)33 -b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41 -b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 4471 -y Fn(kill-region)d(\(\))630 4580 y Fo(Kill)k(the)f(text)i(in)e(the)g -(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un) -m(b)s(ound.)150 4741 y Fn(copy-region-as-kill)25 b(\(\))630 -4851 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f -(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f -(a)m(w)m(a)m(y)-8 b(.)630 4960 y(By)31 b(default,)f(this)h(command)f -(is)g(un)m(b)s(ound.)150 5121 y Fn(copy-backward-word)25 -b(\(\))630 5230 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m -(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries) -f(are)i(the)630 5340 y(same)31 b(as)f Fn(backward-word)p -Fo(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)p -eop end +b(The)31 b(killed)630 5340 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f +(kill-ring.)p eop end %%Page: 18 21 TeXDict begin 18 20 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fn(copy-forward-word) -26 b(\(\))630 408 y Fo(Cop)m(y)31 b(the)g(w)m(ord)g(follo)m(wing)h(p)s -(oin)m(t)f(to)h(the)f(kill)h(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s -(oundaries)e(are)j(the)630 518 y(same)f(as)f Fn(forward-word)p -Fo(.)38 b(By)30 b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150 -684 y Fn(yank)f(\(C-y\))630 793 y Fo(Y)-8 b(ank)31 b(the)f(top)h(of)g -(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h(p)s(oin)m(t.)150 -959 y Fn(yank-pop)d(\(M-y\))630 1068 y Fo(Rotate)36 b(the)f(kill-ring,) -i(and)d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 -b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630 1178 -y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p Fo(.)150 -1383 y Fd(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 -1558 y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j Fg(M-1)p -Fn(,)h(...)f Fg(M--)p Fn(\))630 1668 y Fo(Add)d(this)h(digit)g(to)h -(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new) -f(argumen)m(t.)630 1777 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i -(argumen)m(t.)150 1943 y Fn(universal-argument)25 b(\(\))630 -2052 y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g +b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fn +(unix-filename-rubout)25 b(\(\))630 408 y Fo(Kill)37 +b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e(white)g(space)h +(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 518 +y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g(sa)m +(v)m(ed)g(on)g(the)f(kill-ring.)150 693 y Fn(delete-horizontal-space)24 +b(\(\))630 803 y Fo(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e(p) +s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 +978 y Fn(kill-region)d(\(\))630 1088 y Fo(Kill)k(the)f(text)i(in)e(the) +g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g +(un)m(b)s(ound.)150 1263 y Fn(copy-region-as-kill)25 +b(\(\))630 1373 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h +(the)f(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m +(t)f(a)m(w)m(a)m(y)-8 b(.)630 1482 y(By)31 b(default,)f(this)h(command) +f(is)g(un)m(b)s(ound.)150 1657 y Fn(copy-backward-word)25 +b(\(\))630 1767 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m +(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries) +f(are)i(the)630 1877 y(same)31 b(as)f Fn(backward-word)p +Fo(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150 +2052 y Fn(copy-forward-word)26 b(\(\))630 2161 y Fo(Cop)m(y)31 +b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h +(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630 +2271 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30 +b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150 +2446 y Fn(yank)f(\(C-y\))630 2556 y Fo(Y)-8 b(ank)31 +b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h +(p)s(oin)m(t.)150 2731 y Fn(yank-pop)d(\(M-y\))630 2841 +y Fo(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54 +b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630 +2950 y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p +Fo(.)150 3165 y Fd(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m +(ts)150 3345 y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j +Fg(M-1)p Fn(,)h(...)f Fg(M--)p Fn(\))630 3455 y Fo(Add)d(this)h(digit)g +(to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f +(new)f(argumen)m(t.)630 3564 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i +(argumen)m(t.)150 3740 y Fn(universal-argument)25 b(\(\))630 +3849 y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g (argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m -(y)f(one)630 2162 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h +(y)f(one)630 3959 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h (leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630 -2271 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b) +4068 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b) m(y)f(digits,)i(executing)f Fn(universal-argument)630 -2381 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h +4178 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h (otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630 -2491 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y) +4288 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y) d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630 -2600 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e +4397 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e (the)i(next)f(command)f(is)h(m)m(ultiplied)h(b)m(y)e(four.)630 -2710 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f +4507 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f (executing)g(this)f(function)g(the)h(\014rst)e(time)630 -2819 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e +4616 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e (time)i(mak)m(es)f(the)g(argumen)m(t)g(coun)m(t)h(six-)630 -2929 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h -(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 3134 y Fd(1.4.6)63 +4726 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h +(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 4941 y Fd(1.4.6)63 b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42 -b(Y)-10 b(ou)150 3309 y Fn(complete)28 b(\(TAB\))630 -3419 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g +b(Y)-10 b(ou)150 5121 y Fn(complete)28 b(\(TAB\))630 +5230 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g (b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630 -3528 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42 -b(The)30 b(default)h(is)f(\014lename)h(completion.)150 -3694 y Fn(possible-completions)25 b(\(M-?\))630 3804 -y Fo(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s -(efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630 -3913 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i -(columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 -b(alue)33 b(of)630 4023 y Fn(completion-display-width)o -Fo(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 -b(ariable)38 b Fn(COLUMNS)p Fo(,)630 4132 y(or)30 b(the)h(screen)f -(width,)g(in)g(that)h(order.)150 4298 y Fn(insert-completions)25 -b(\(M-*\))630 4407 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g -(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s -(een)e(generated)630 4517 y(b)m(y)g Fn(possible-completions)p -Fo(.)150 4682 y Fn(menu-complete)d(\(\))630 4792 y Fo(Similar)d(to)g +5340 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42 +b(The)30 b(default)h(is)f(\014lename)h(completion.)p +eop end +%%Page: 19 22 +TeXDict begin 19 21 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fn +(possible-completions)25 b(\(M-?\))630 408 y Fo(List)35 +b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s(efore)e(p)s +(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630 518 +y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i(columns)f +(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 b(alue)33 +b(of)630 628 y Fn(completion-display-width)o Fo(,)g(the)j(v)-5 +b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)38 +b Fn(COLUMNS)p Fo(,)630 737 y(or)30 b(the)h(screen)f(width,)g(in)g +(that)h(order.)150 883 y Fn(insert-completions)25 b(\(M-*\))630 +992 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f +(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630 +1102 y(b)m(y)g Fn(possible-completions)p Fo(.)150 1247 +y Fn(menu-complete)d(\(\))630 1357 y Fo(Similar)d(to)g Fn(complete)p Fo(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f -(completed)i(with)e(a)i(single)f(matc)m(h)630 4902 y(from)37 +(completed)i(with)e(a)i(single)f(matc)m(h)630 1466 y(from)37 b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39 -b(execution)g(of)f Fn(menu-complete)630 5011 y Fo(steps)i(through)g +b(execution)g(of)f Fn(menu-complete)630 1576 y Fo(steps)i(through)g (the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i -(matc)m(h)f(in)f(turn.)630 5121 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g +(matc)m(h)f(in)f(turn.)630 1685 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g (of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5 -b(ject)36 b(to)i(the)f(setting)630 5230 y(of)f Fn(bell-style)p +b(ject)36 b(to)i(the)f(setting)630 1795 y(of)f Fn(bell-style)p Fo(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57 b(An)36 b(argumen)m(t)h(of)f Fe(n)f Fo(mo)m(v)m(es)i -Fe(n)630 5340 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e +Fe(n)630 1905 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e (matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f -(used)g(to)p eop end -%%Page: 19 22 -TeXDict begin 19 21 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(19)630 299 y(mo)m(v)m(e)40 -b(bac)m(kw)m(ard)e(through)g(the)g(list.)65 b(This)38 -b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s(ound)e(to)630 -408 y Fn(TAB)p Fo(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m(y)i(default.) -150 554 y Fn(menu-complete-backward)24 b(\(\))630 664 -y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p Fo(,)d(but)h(mo)m(v)m -(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g(p)s(ossible)630 -773 y(completions,)d(as)e(if)h Fn(menu-complete)26 b -Fo(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150 -919 y Fn(delete-char-or-list)25 b(\(\))630 1028 y Fo(Deletes)k(the)e(c) -m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s(eginning) -g(or)f(end)h(of)g(the)g(line)630 1138 y(\(lik)m(e)k Fn(delete-char)p -Fo(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)h(b)s(eha)m(v)m -(es)g(iden)m(tically)h(to)e Fn(possible-)630 1247 y(completions)p -Fo(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d(b)m(y)i(default.)150 -1433 y Fd(1.4.7)63 b(Keyb)s(oard)41 b(Macros)150 1598 -y Fn(start-kbd-macro)26 b(\(C-x)j(\(\))630 1707 y Fo(Begin)i(sa)m(ving) -h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m -(eyb)s(oard)g(macro.)150 1853 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 -1962 y Fo(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m -(to)i(the)e(curren)m(t)g(k)m(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i -(the)630 2072 y(de\014nition.)150 2218 y Fn(call-last-kbd-macro)c -(\(C-x)k(e\))630 2327 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard) -f(macro)h(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the) -630 2437 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m -(eyb)s(oard.)150 2622 y Fd(1.4.8)63 b(Some)41 b(Miscellaneous)i -(Commands)150 2787 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630 -2897 y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g +(used)g(to)630 2014 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g +(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s +(ound)e(to)630 2124 y Fn(TAB)p Fo(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m +(y)i(default.)150 2269 y Fn(menu-complete-backward)24 +b(\(\))630 2379 y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p +Fo(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g +(p)s(ossible)630 2488 y(completions,)d(as)e(if)h Fn(menu-complete)26 +b Fo(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150 +2634 y Fn(delete-char-or-list)25 b(\(\))630 2743 y Fo(Deletes)41 +b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s +(eginning)e(or)h(end)f(of)h(the)630 2853 y(line)50 b(\(lik)m(e)h +Fn(delete-char)p Fo(\).)96 b(If)49 b(at)h(the)g(end)f(of)h(the)f(line,) +55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 2963 +y Fn(possible-completions)p Fo(.)35 b(This)30 b(command)g(is)g(un)m(b)s +(ound)e(b)m(y)i(default.)150 3148 y Fd(1.4.7)63 b(Keyb)s(oard)41 +b(Macros)150 3313 y Fn(start-kbd-macro)26 b(\(C-x)j(\(\))630 +3422 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m +(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150 +3568 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 3677 y Fo(Stop)e(sa)m(ving)h +(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m +(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 3787 +y(de\014nition.)150 3932 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630 +4042 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h +(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630 +4151 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s +(oard.)150 4297 y Fn(print-last-kbd-macro)25 b(\(\))630 +4406 y Fo(Prin)m(t)30 b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned) +e(in)i(a)f(format)h(suitable)g(for)f(the)h Fe(inputrc)k +Fo(\014le.)150 4591 y Fd(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands) +150 4756 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630 +4866 y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g Fe(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d -(or)i(v)-5 b(ariable)630 3006 y(assignmen)m(ts)31 b(found)e(there.)150 -3152 y Fn(abort)g(\(C-g\))630 3261 y Fo(Ab)s(ort)d(the)h(curren)m(t)f +(or)i(v)-5 b(ariable)630 4975 y(assignmen)m(ts)31 b(found)e(there.)150 +5121 y Fn(abort)g(\(C-g\))630 5230 y Fo(Ab)s(ort)d(the)h(curren)m(t)f (editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5 -b(ject)26 b(to)i(the)630 3371 y(setting)j(of)g Fn(bell-style)p -Fo(\).)150 3516 y Fn(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p -Fg(x)11 b Fn(,)29 b(...)o(\))630 3626 y Fo(If)e(the)h(meta\014ed)g(c)m -(haracter)h Fe(x)34 b Fo(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g -(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 3736 y(corresp)s(onding) -g(upp)s(ercase)h(c)m(haracter.)150 3881 y Fn(prefix-meta)d(\(ESC\))630 -3991 y Fo(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 +b(ject)26 b(to)i(the)630 5340 y(setting)j(of)g Fn(bell-style)p +Fo(\).)p eop end +%%Page: 20 23 +TeXDict begin 20 22 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fn +(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p Fg(x)p +Fn(,)g(...)o(\))630 408 y Fo(If)e(the)h(meta\014ed)g(c)m(haracter)h +Fe(x)34 b Fo(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g(command)h(that)g +(is)g(b)s(ound)d(to)k(the)630 518 y(corresp)s(onding)g(upp)s(ercase)h +(c)m(haracter.)150 667 y Fn(prefix-meta)d(\(ESC\))630 +777 y Fo(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8 -b(.)630 4100 y(T)m(yping)30 b(`)p Fn(ESC)g(f)p Fo(')g(is)h(equiv)-5 -b(alen)m(t)31 b(to)g(t)m(yping)g Fg(M-f)p Fo(.)150 4246 -y Fn(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 4355 y Fo(Incremen)m(tal)h +b(.)630 887 y(T)m(yping)30 b(`)p Fn(ESC)g(f)p Fo(')g(is)h(equiv)-5 +b(alen)m(t)31 b(to)g(t)m(yping)g Fg(M-f)p Fo(.)150 1036 +y Fn(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 1146 y Fo(Incremen)m(tal)h (undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150 -4501 y Fn(revert-line)27 b(\(M-r\))630 4611 y Fo(Undo)33 +1295 y Fn(revert-line)27 b(\(M-r\))630 1405 y Fo(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fn(undo)f Fo(command)630 -4720 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.) -150 4866 y Fn(tilde-expand)d(\(M-~\))630 4975 y Fo(P)m(erform)j(tilde)h -(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 5121 -y Fn(set-mark)d(\(C-@\))630 5230 y Fo(Set)33 b(the)g(mark)f(to)i(the)f +1514 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.) +150 1664 y Fn(tilde-expand)d(\(M-~\))630 1773 y Fo(P)m(erform)j(tilde)h +(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 1923 +y Fn(set-mark)d(\(C-@\))630 2032 y Fo(Set)33 b(the)g(mark)f(to)i(the)f (p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g -(supplied,)f(the)h(mark)g(is)f(set)630 5340 y(to)f(that)g(p)s(osition.) -p eop end -%%Page: 20 23 -TeXDict begin 20 22 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fn -(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630 408 -y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43 +(supplied,)f(the)h(mark)g(is)f(set)630 2142 y(to)f(that)g(p)s(osition.) +150 2291 y Fn(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630 +2401 y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h -(sa)m(v)m(ed)630 518 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s -(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 711 -y Fn(character-search)26 b(\(C-]\))630 821 y Fo(A)f(c)m(haracter)h(is)f -(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s -(ccurrence)g(of)g(that)g(c)m(haracter.)630 930 y(A)30 +(sa)m(v)m(ed)630 2511 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s +(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 2660 +y Fn(character-search)26 b(\(C-]\))630 2770 y Fo(A)f(c)m(haracter)h(is) +f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s +(ccurrence)g(of)g(that)g(c)m(haracter.)630 2879 y(A)30 b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s -(ccurrences.)150 1123 y Fn(character-search-backwar)o(d)24 -b(\(M-C-]\))630 1233 y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s +(ccurrences.)150 3029 y Fn(character-search-backwar)o(d)24 +b(\(M-C-]\))630 3138 y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s (oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of) -g(that)630 1342 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f +g(that)630 3248 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f (searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)150 -1535 y Fn(skip-csi-sequence)d(\(\))630 1645 y Fo(Read)i(enough)f(c)m +3397 y Fn(skip-csi-sequence)d(\(\))630 3507 y Fo(Read)i(enough)f(c)m (haracters)h(to)g(consume)f(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f -(as)g(those)h(de\014ned)630 1754 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g +(as)g(those)h(de\014ned)630 3616 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g (and)f(End.)60 b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m -(trol)g(Sequence)630 1864 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59 +(trol)g(Sequence)630 3726 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fn("\\)p -Fo(e[)p Fn(")p Fo(,)g(k)m(eys)f(pro-)630 1973 y(ducing)31 +Fo(e[)p Fn(")p Fo(,)g(k)m(eys)f(pro-)630 3836 y(ducing)31 b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e -(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 2083 y(command,)f +(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 3945 y(command,)f (instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f -(editing)h(bu\013er.)44 b(This)31 b(is)630 2193 y(un)m(b)s(ound)d(b)m +(editing)h(bu\013er.)44 b(This)31 b(is)630 4055 y(un)m(b)s(ound)d(b)m (y)i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150 -2385 y Fn(insert-comment)26 b(\(M-#\))630 2495 y Fo(Without)36 +4204 y Fn(insert-comment)26 b(\(M-#\))630 4314 y Fo(Without)36 b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36 b(of)g(the)g Fn(comment-begin)c Fo(v)-5 b(ariable)36 -b(is)g(in-)630 2605 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f +b(is)g(in-)630 4423 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f (curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g -(supplied,)630 2714 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55 +(supplied,)630 4533 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55 b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g -(line)630 2824 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5 +(line)630 4643 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5 b(alue)31 b(of)f Fn(comment-begin)p Fo(,)e(the)i(v)-5 -b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 2933 +b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 4752 y(c)m(haracters)42 b(in)d Fn(comment-begin)e Fo(are)j(deleted)h(from)f -(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 3043 +(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 4862 y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h -(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 3236 y Fn(dump-functions)d -(\(\))630 3345 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g +(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 5011 y Fn(dump-functions)d +(\(\))630 5121 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g (their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630 -3455 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h +5230 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h (output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 -3565 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k +5340 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k -(default.)150 3757 y Fn(dump-variables)26 b(\(\))630 -3867 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5 +(default.)p eop end +%%Page: 21 24 +TeXDict begin 21 23 bop 150 -116 a Fo(Chapter)30 b(1:)41 +b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fn(dump-variables)26 +b(\(\))630 408 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5 b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h -(output)f(stream.)630 3977 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is) -g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a) -m(y)g(that)630 4086 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h +(output)f(stream.)630 518 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g +(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m +(y)g(that)630 628 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c -(b)m(y)k(default.)150 4279 y Fn(dump-macros)c(\(\))630 -4389 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences) -f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630 -4498 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e +(b)m(y)k(default.)150 787 y Fn(dump-macros)c(\(\))630 +897 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)f +(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630 +1006 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e (supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630 -4608 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e +1116 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e Fe(inputrc)35 b Fo(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound) -d(b)m(y)630 4717 y(default.)150 4910 y Fn(emacs-editing-mode)e(\(C-e\)) -630 5020 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h +d(b)m(y)630 1225 y(default.)150 1385 y Fn(emacs-editing-mode)e(\(C-e\)) +630 1494 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h (causes)f(a)h(switc)m(h)g(to)g Fn(emacs)e Fo(editing)i(mo)s(de.)150 -5213 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 5322 y Fo(When)k(in)g +1654 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 1763 y Fo(When)k(in)g Fn(emacs)f Fo(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g -Fn(vi)f Fo(editing)h(mo)s(de.)p eop end -%%Page: 21 24 -TeXDict begin 21 23 bop 150 -116 a Fo(Chapter)30 b(1:)41 -b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fm(1.5)68 -b(Readline)47 b(vi)e(Mo)t(de)150 458 y Fo(While)32 b(the)g(Readline)g -(library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g -Fn(vi)f Fo(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150 -568 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52 +Fn(vi)f Fo(editing)h(mo)s(de.)150 1996 y Fm(1.5)68 b(Readline)47 +b(vi)e(Mo)t(de)150 2155 y Fo(While)32 b(the)g(Readline)g(library)f(do)s +(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fn(vi)f +Fo(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150 +2265 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52 b(The)34 b(Readline)g Fn(vi)g Fo(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s -(eci\014ed)f(in)150 677 y(the)e Fh(posix)e Fo(standard.)275 -812 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m +(eci\014ed)f(in)150 2374 y(the)e Fh(posix)e Fo(standard.)275 +2509 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m (een)d Fn(emacs)f Fo(and)g Fn(vi)h Fo(editing)g(mo)s(des,)g(use)g(the)g -(command)150 922 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h(emacs-editing-mo) -s(de)i(when)d(in)g Fn(vi)h Fo(mo)s(de)f(and)g(to)i(vi-editing-mo)s(de)g -(in)e Fn(emacs)150 1031 y Fo(mo)s(de\).)k(The)30 b(Readline)h(default)f -(is)g Fn(emacs)f Fo(mo)s(de.)275 1166 y(When)g(y)m(ou)i(en)m(ter)f(a)h -(line)f(in)g Fn(vi)f Fo(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f -(in)g(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 1275 -y(had)f(t)m(yp)s(ed)g(an)g(`)p Fn(i)p Fo('.)41 b(Pressing)29 -b Fn(ESC)f Fo(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')e(mo)s(de,)h -(where)e(y)m(ou)i(can)g(edit)g(the)150 1385 y(text)35 -b(of)f(the)g(line)g(with)f(the)h(standard)f Fn(vi)g Fo(mo)m(v)m(emen)m -(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g(history)f(lines)h(with)150 -1494 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p -Fn(j)p Fo(',)g(and)g(so)h(forth.)p eop end +(command)150 2619 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h +(emacs-editing-mo)s(de)i(when)d(in)g Fn(vi)h Fo(mo)s(de)f(and)g(to)i +(vi-editing-mo)s(de)g(in)e Fn(emacs)150 2728 y Fo(mo)s(de\).)k(The)30 +b(Readline)h(default)f(is)g Fn(emacs)f Fo(mo)s(de.)275 +2863 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fn(vi)f +Fo(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s +(de,)g(as)h(if)f(y)m(ou)150 2972 y(had)f(t)m(yp)s(ed)g(an)g(`)p +Fn(i)p Fo('.)41 b(Pressing)29 b Fn(ESC)f Fo(switc)m(hes)i(y)m(ou)g(in)m +(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150 +3082 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f +Fn(vi)g Fo(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g +(history)f(lines)h(with)150 3191 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m +(t)h(lines)h(with)f(`)p Fn(j)p Fo(',)g(and)g(so)h(forth.)p +eop end %%Page: 22 25 TeXDict begin 22 24 bop 150 -116 a Fo(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 @@ -4464,55 +6683,55 @@ b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g Fo(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j (LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j Fc(SGML)f Fo(or)f Fc(XML)g Fo(using)g(a)g(publicly)330 -2504 y(a)m(v)-5 b(ailable)42 b Fc(DTD)p Fo(,)g(and)d -(standard-conforming)h(simple)g Fc(HTML)p Fo(,)g(P)m(ostScript)h(or)f -Fc(PDF)g Fo(designed)330 2614 y(for)e(h)m(uman)g(mo)s(di\014cation.)65 -b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g -Fc(PNG)p Fo(,)h Fc(X)n(CF)330 2724 y Fo(and)h Fc(JPG)p -Fo(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can) -f(b)s(e)f(read)g(and)h(edited)330 2833 y(only)54 b(b)m(y)f(proprietary) -h(w)m(ord)f(pro)s(cessors,)59 b Fc(SGML)54 b Fo(or)f -Fc(XML)h Fo(for)g(whic)m(h)f(the)h Fc(DTD)g Fo(and/or)330 -2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5 -b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j -Fc(HTML)p Fo(,)330 3052 y(P)m(ostScript)31 b(or)f Fc(PDF)h -Fo(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output) -g(purp)s(oses)f(only)-8 b(.)330 3203 y(The)34 b(\\Title)h(P)m(age")i -(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f -(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3313 y(pages)28 -b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30 -b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h -(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g -(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e -(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3532 y(means)j(the)f(text)i -(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m -(ork's)g(title,)h(preceding)f(the)330 3641 y(b)s(eginning)f(of)g(the)h -(b)s(o)s(dy)e(of)h(the)h(text.)330 3792 y(The)j(\\publisher")g(means)h -(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i -(of)e(the)h(Do)s(cumen)m(t)330 3902 y(to)c(the)g(public.)330 -4052 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g -(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330 -4162 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m -(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330 -4271 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g -(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m -(h)330 4381 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e -(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29 -b(\\Preserv)m(e)330 4491 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g -(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e -(that)h(it)g(remains)g(a)330 4600 y(section)e(\\En)m(titled)f(XYZ")g -(according)g(to)g(this)g(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t) -i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to) -g(the)g(notice)h(whic)m(h)e(states)i(that)330 4861 y(this)34 -b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33 -b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330 -4970 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j -(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330 -5080 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8 -b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g -(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h -(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31 -b(COPYING)p eop end +2504 y(a)m(v)-5 b(ailable)42 b Fc(DTD)p Fo(,)h(and)c +(standard-conforming)g(simple)h Fc(HTML)p Fo(,)i(P)m(ostScript)e(or)f +Fc(PDF)h Fo(designed)330 2614 y(for)e(h)m(uman)f(mo)s(di\014cation.)65 +b(Examples)38 b(of)h(transparen)m(t)f(image)h(formats)g(include)f +Fc(PNG)p Fo(,)i Fc(X)n(CF)330 2724 y Fo(and)e Fc(JPG)p +Fo(.)64 b(Opaque)38 b(formats)h(include)f(proprietary)h(formats)f(that) +h(can)g(b)s(e)f(read)h(and)f(edited)330 2833 y(only)54 +b(b)m(y)f(proprietary)h(w)m(ord)f(pro)s(cessors,)59 b +Fc(SGML)54 b Fo(or)f Fc(XML)h Fo(for)g(whic)m(h)f(the)h +Fc(DTD)g Fo(and/or)330 2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g +(generally)i(a)m(v)-5 b(ailable,)71 b(and)60 b(the)h(mac)m +(hine-generated)j Fc(HTML)p Fo(,)330 3052 y(P)m(ostScript)31 +b(or)f Fc(PDF)h Fo(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s +(cessors)g(for)g(output)g(purp)s(oses)f(only)-8 b(.)330 +3203 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m(ted)f(b) +s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f(follo)m +(wing)330 3313 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 +b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f +(in)h(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 +b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e +(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 +3532 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s +(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330 +3641 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330 +3792 y(The)j(\\publisher")g(means)h(an)m(y)f(p)s(erson)g(or)h(en)m(tit) +m(y)h(that)f(distributes)f(copies)i(of)e(the)h(Do)s(cumen)m(t)330 +3902 y(to)c(the)g(public.)330 4052 y(A)f(section)h(\\En)m(titled)g +(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h +(whose)e(title)i(either)330 4162 y(is)d(precisely)g(XYZ)g(or)f(con)m +(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f +(translates)h(XYZ)e(in)330 4271 y(another)e(language.)40 +b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f +(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4381 y(as)i(\\Ac)m(kno)m +(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f +(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4491 +y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s +(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330 +4600 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g +(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W) +-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m +(h)e(states)i(that)330 4861 y(this)34 b(License)g(applies)g(to)h(the)f +(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36 +b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m +(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f +(disclaiming)i(w)m(arran)m(ties:)330 5080 y(an)m(y)e(other)g +(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39 +b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330 +5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199 +5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end %%Page: 24 27 TeXDict begin 24 26 bop 150 -116 a Fo(App)s(endix)29 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603 @@ -4940,8 +7159,8 @@ b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e) i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh) m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468 -680 y Fb(Copyright)42 b(\(C\))79 b Fa(year)88 b(your)40 -b(name)9 b Fb(.)468 767 y(Permission)42 b(is)e(granted)g(to)g(copy,)h +680 y Fb(Copyright)42 b(\(C\))79 b Fa(year)g(your)40 +b(name)p Fb(.)468 767 y(Permission)i(is)e(granted)g(to)g(copy,)h (distribute)g(and/or)g(modify)f(this)g(document)468 854 y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i (License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h @@ -4955,20 +7174,20 @@ b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k (T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 1559 y Fb(with)40 b(the)g(Invariant)h(Sections)g(being)g -Fa(list)f(their)g(titles)9 b Fb(,)41 b(with)547 1646 -y(the)f(Front-Cover)i(Texts)e(being)g Fa(list)9 b Fb(,)40 -b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1733 y(being)e -Fa(list)9 b Fb(.)275 1868 y Fo(If)34 b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 -b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8 -b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150 -1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e -(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f -(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m -(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g -(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h -(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31 -b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m -(w)m(are.)p eop end +Fa(list)f(their)g(titles)p Fb(,)h(with)547 1646 y(the)f(Front-Cover)i +(Texts)e(being)g Fa(list)p Fb(,)h(and)f(with)g(the)g(Back-Cover)h +(Texts)547 1733 y(being)f Fa(list)p Fb(.)275 1868 y Fo(If)34 +b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f +(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g +(of)g(the)150 1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g +(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2112 +y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g +(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150 +2222 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m +(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43 +b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s +(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p +eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/doc/rluserman.texi b/doc/rluserman.texi index 3d54520..ba6b0ad 100644 --- a/doc/rluserman.texi +++ b/doc/rluserman.texi @@ -2,33 +2,25 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename rluserman.info @settitle GNU Readline Library -@comment %**end of header (This is for running Texinfo on a region.) - @include version.texi +@comment %**end of header (This is for running Texinfo on a region.) + @copying This manual describes the end user interface of the GNU Readline Library (version @value{VERSION}, @value{UPDATED}), a library which aids in the consistency of user interface across discrete programs which provide a command line interface. -Copyright @copyright{} 1988--2011 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. +Copyright @copyright{} 1988--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', -and with the Back-Cover Texts as in (a) below. A copy of the license is -included in the section entitled ``GNU Free Documentation License''. - -(a) The FSF's Back-Cover Text is: You are free to copy and modify -this GNU manual. Buying copies from GNU Press supports the FSF in -developing GNU and promoting software freedom.'' +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled +``GNU Free Documentation License''. @end quotation @end copying @@ -49,12 +41,6 @@ developing GNU and promoting software freedom.'' @vskip 0pt plus 1filll @insertcopying -@sp 1 -Published by the Free Software Foundation @* -59 Temple Place, Suite 330, @* -Boston, MA 02111-1307 @* -USA @* - @end titlepage @contents @@ -66,6 +52,7 @@ USA @* This document describes the end user interface of the GNU Readline Library, a utility which aids in the consistency of user interface across discrete programs which provide a command line interface. +The Readline home page is @url{http://www.gnu.org/software/readline/}. @menu * Command Line Editing:: GNU Readline User's Manual. diff --git a/doc/texinfo.tex b/doc/texinfo.tex index 03c2998..bfd765d 100644 --- a/doc/texinfo.tex +++ b/doc/texinfo.tex @@ -1,13 +1,13 @@ % texinfo.tex -- TeX macros to handle Texinfo files. -% +% % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2009-01-18.17} +\def\texinfoversion{2013-09-11.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -24,13 +24,14 @@ % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) +% restriction. This Exception is an additional permission under section 7 +% of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org). +% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% http://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % @@ -65,7 +66,6 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} - \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -93,14 +93,13 @@ \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ +\let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top -{\catcode`\'=\active -\global\let\ptexquoteright'}% Math-mode def from plain.tex. -\let\ptexraggedright=\raggedright +{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode % If this character appears in an error message or help string, it % starts a new line in the output. @@ -118,10 +117,11 @@ % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi +\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi +\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi @@ -160,15 +160,18 @@ \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. +\chardef\ampChar = `\& \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! +\chardef\hashChar = `\# \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; +\chardef\slashChar = `\/ \chardef\underChar = `\_ % Ignore a token. @@ -199,36 +202,7 @@ % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % -\def\finalout{\overfullrule=0pt} - -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} +\def\finalout{\overfullrule=0pt } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, @@ -246,7 +220,7 @@ \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\undefined\else % etex gives us more logging + \ifx\eTeXversion\thisisundefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 @@ -257,6 +231,13 @@ \errorcontextlines16 }% +% @errormsg{MSG}. Do the index-like expansions on MSG, but if things +% aren't perfect, it's not the end of the world, being an error message, +% after all. +% +\def\errormsg{\begingroup \indexnofonts \doerrormsg} +\def\doerrormsg#1{\errmessage{#1}} + % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % @@ -267,7 +248,6 @@ \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} -% For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks @@ -301,9 +281,9 @@ \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% - \the\toks0 \the\toks2 - \noexpand\or \the\toks4 \the\toks6 - \noexpand\else \the\toks8 + \the\toks0 \the\toks2 % 0: top marks (\last...) + \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...) + \noexpand\else \the\toks8 % 2: color marks }% } % \topmark doesn't work for the very first chapter (after the title @@ -342,10 +322,13 @@ % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). + \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} + % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to @@ -358,7 +341,7 @@ % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; - % it needs to be + % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. @@ -577,7 +560,7 @@ } \def\inenvironment#1{% \ifx#1\empty - out of any environment% + outside of any environment% \else in environment \expandafter\string#1% \fi @@ -589,7 +572,7 @@ \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else - % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 + % The general wording of \badenverr may not be ideal. \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup @@ -599,85 +582,6 @@ \newhelp\EMsimple{Press RETURN to continue.} -%% Simple single-character @ commands - -% @@ prints an @ -% Kludge this until the fonts are right (grr). -\def\@{{\tt\char64}} - -% This is turned off because it was never documented -% and you can use @w{...} around a quote to suppress ligatures. -%% Define @` and @' to be the same as ` and ' -%% but suppressing ligatures. -%\def\`{{`}} -%\def\'{{'}} - -% Used to generate quoted braces. -\def\mylbrace {{\tt\char123}} -\def\myrbrace {{\tt\char125}} -\let\{=\mylbrace -\let\}=\myrbrace -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \c -\let\dotaccent = \. -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \t -\let\ubaraccent = \b -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi - \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% - \kern-.15em - \TeX -} - % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and @@ -694,7 +598,7 @@ \def\:{\spacefactor=1000 } % @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} +\def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak @@ -709,7 +613,7 @@ \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. -% +% \def\onword{on} \def\offword{off} % @@ -719,7 +623,7 @@ \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% + \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% \fi\fi } @@ -801,15 +705,6 @@ where each line of input produces a line of output.} \newdimen\mil \mil=0.001in -% Old definition--didn't work. -%\parseargdef\need{\par % -%% This method tries to make TeX break the page naturally -%% if the depth of the box does not fit. -%{\baselineskip=0pt% -%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak -%\prevdepth=-1000pt -%}} - \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. @@ -873,7 +768,7 @@ where each line of input produces a line of output.} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. +% class. WHICH is `l' or `r'. Not documented, written for gawk manual. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} @@ -920,6 +815,36 @@ where each line of input produces a line of output.} \temp } +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). This command +% is not documented, not supported, and doesn't work. +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} + % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} @@ -930,6 +855,7 @@ where each line of input produces a line of output.} \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. + \wlog{texinfo.tex: doing @include of #1^^J}% \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes @@ -965,7 +891,7 @@ where each line of input produces a line of output.} \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} - +% \def\thisfile{} % @center line @@ -973,36 +899,46 @@ where each line of input produces a line of output.} % \parseargdef\center{% \ifhmode - \let\next\centerH + \let\centersub\centerH \else - \let\next\centerV + \let\centersub\centerV \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% + \centersub{\hfil \ignorespaces#1\unskip \hfil}% + \let\centersub\relax % don't let the definition persist, just in case } -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% +\def\centerH#1{{% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break +}} +% +\newcount\centerpenalty +\def\centerV#1{% + % The idea here is the same as in \startdefun, \cartouche, etc.: if + % @center is the first thing after a section heading, we need to wipe + % out the negative parskip inserted by \sectionheading, but still + % prevent a page break here. + \centerpenalty = \lastpenalty + \ifnum\centerpenalty>10000 \vskip\parskip \fi + \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi + \line{\kern\leftskip #1\kern\rightskip}% } -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space - +% \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment - +% \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} - +% \let\c=\comment % @paragraphindent NCHARS @@ -1095,109 +1031,6 @@ where each line of input produces a line of output.} } -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a \ character. -% FYI, plain.tex uses \\ as a temporary control sequence (why?), but -% this is not advertised and we don't care. Texinfo does not -% otherwise define @\. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \catcode`' = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - \let' = \ptexquoteright - } -} - -% Some math mode symbols. -\def\bullet{$\ptexbullet$} -\def\geq{\ifmmode \ge\else $\ge$\fi} -\def\leq{\ifmmode \le\else $\le$\fi} -\def\minus{\ifmmode -\else $-$\fi} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} - -% @comma{} is so commas can be inserted into text without messing up -% Texinfo's parsing. -% -\let\comma = , - % @refill is a no-op. \let\refill=\relax @@ -1262,9 +1095,8 @@ where each line of input produces a line of output.} \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as \undefined, -% borrowed from ifpdf.sty. -\ifx\pdfoutput\undefined +% can be set). So we test for \relax and 0 as well as being undefined. +\ifx\pdfoutput\thisisundefined \else \ifx\pdfoutput\relax \else @@ -1279,50 +1111,24 @@ where each line of input produces a line of output.} % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. -% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html -% (and related messages, the final outcome is that it is up to the TeX -% user to double the backslashes and otherwise make the string valid, so -% that's what we do). - -% double active backslashes. -% -{\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslashdouble{% - @catcode`@\=@active - @let\=@doublebackslash} -} - -% To handle parens, we must adopt a different approach, since parens are -% not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens, with minor -% changes for Texinfo. It is included here under the GPL by permission -% from the author, Heiko Oberdiek. -% -% #1 is the tokens to replace. -% #2 is the replacement. -% #3 is the control sequence with the string. % -\def\HyPsdSubst#1#2#3{% - \def\HyPsdReplace##1#1##2\END{% - ##1% - \ifx\\##2\\% - \else - #2% - \HyReturnAfterFi{% - \HyPsdReplace##2\END - }% - \fi - }% - \xdef#3{\expandafter\HyPsdReplace#3#1\END}% -} -\long\def\HyReturnAfterFi#1\fi{\fi#1} - -% #1 is a control sequence in which to do the replacements. -\def\backslashparens#1{% - \xdef#1{#1}% redefine it as its expansion; the definition is simply - % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\realbackslash(}{#1}% - \HyPsdSubst{)}{\realbackslash)}{#1}% +% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and +% related messages. The final outcome is that it is up to the TeX user +% to double the backslashes and otherwise make the string valid, so +% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to +% do this reliably, so we use it. + +% #1 is a control sequence in which to do the replacements, +% which we \xdef. +\def\txiescapepdf#1{% + \ifx\pdfescapestring\thisisundefined + % No primitive available; should we give a warning or log? + % Many times it won't matter. + \else + % The expandable \pdfescapestring primitive escapes parentheses, + % backslashes, and other special chars. + \xdef#1{\pdfescapestring{#1}}% + \fi } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images @@ -1332,13 +1138,16 @@ output) for that.)} \ifpdf % - % Color manipulation macros based on pdfcolor.tex. - \def\cmykDarkRed{0.28 1 1 0.35} - \def\cmykBlack{0 0 0 1} + % Color manipulation macros based on pdfcolor.tex, + % except using rgb instead of cmyk; the latter is said to render as a + % very dark gray on-screen and a very dark halftone in print, instead + % of actual black. + \def\rgbDarkRed{0.50 0.09 0.12} + \def\rgbBlack{0 0 0} % % k sets the color for filling (usual text, etc.); % K sets the color for stroking (thin rules, e.g., normal _'s). - \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}} + \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. @@ -1348,7 +1157,7 @@ output) for that.)} \pdfsetcolor{#1}% } % - \def\maincolor{\cmykBlack} + \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} @@ -1378,32 +1187,34 @@ output) for that.)} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % - % pdftex (and the PDF format) support .png, .jpg, .pdf (among - % others). Let's try in that order. + % pdftex (and the PDF format) support .pdf, .png, .jpg (among + % others). Let's try in that order, PDF first since if + % someone has a scalable image, presumably better to use that than a + % bitmap. \let\pdfimgext=\empty \begingroup - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{PDF}% + \else \gdef\pdfimgext{JPG}% \fi - \else \gdef\pdfimgext{pdf}% + \else \gdef\pdfimgext{jpeg}% \fi - \else \gdef\pdfimgext{JPG}% + \else \gdef\pdfimgext{jpg}% \fi - \else \gdef\pdfimgext{jpeg}% + \else \gdef\pdfimgext{png}% \fi - \else \gdef\pdfimgext{jpg}% + \else \gdef\pdfimgext{PDF}% \fi - \else \gdef\pdfimgext{png}% + \else \gdef\pdfimgext{pdf}% \fi \closein 1 \endgroup @@ -1415,8 +1226,8 @@ output) for that.)} \else \immediate\pdfximage \fi - \ifdim \wd0 >0pt width \imagewidth \fi - \ifdim \wd2 >0pt height \imageheight \fi + \ifdim \wd0 >0pt width \pdfimagewidth \fi + \ifdim \wd2 >0pt height \pdfimageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else @@ -1431,10 +1242,9 @@ output) for that.)} % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive - \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% - \backslashparens\pdfdestname + \txiescapepdf\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % @@ -1443,8 +1253,8 @@ output) for that.)} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. - \def\urlcolor{\cmykDarkRed} - \def\linkcolor{\cmykDarkRed} + \def\urlcolor{\rgbDarkRed} + \def\linkcolor{\rgbDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines @@ -1466,29 +1276,24 @@ output) for that.)} % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. - \def\pdfoutlinedest{#3}% + \edef\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else - % Doubled backslashes in the name. - {\activebackslashdouble \xdef\pdfoutlinedest{#3}% - \backslashparens\pdfoutlinedest}% + \txiescapepdf\pdfoutlinedest \fi % - % Also double the backslashes in the display string. - {\activebackslashdouble \xdef\pdfoutlinetext{#1}% - \backslashparens\pdfoutlinetext}% + % Also escape PDF chars in the display string. + \edef\pdfoutlinetext{#1}% + \txiescapepdf\pdfoutlinetext % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup - % Thanh's hack / proper braces in bookmarks - \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace - \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace - % % Read toc silently, to get counts of subentries for \pdfoutline. + \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% @@ -1542,25 +1347,41 @@ output) for that.)} % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % - % xx to do this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Right - % now, I guess we'll just let the pdf reader have its way. + % TODO this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Too + % much work for too little return. Just use the ASCII equivalents + % we use for the index sort strings. + % \indexnofonts \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% + \gdef\rbracecharliteral[}]% + ] % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 \fi \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \def\getfilename#1{% + \filenamelength=0 + % If we don't expand the argument now, \skipspaces will get + % snagged on things like "@value{foo}". + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else @@ -1573,7 +1394,7 @@ output) for that.)} % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. - % + % \normalturnoffactive \def\@{@}% \let\/=\empty @@ -1657,9 +1478,6 @@ output) for that.)} \def\ttsl{\setfontstyle{ttsl}} -% Default leading. -\newdimen\textleading \textleading = 13.2pt - % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. @@ -1671,6 +1489,7 @@ output) for that.)} % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % +\newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 @@ -1692,7 +1511,7 @@ output) for that.)} % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) -\ifpdf \ifx\pdffontattr\undefined \else +\ifpdf \ifx\pdffontattr\thisisundefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap @@ -1943,28 +1762,34 @@ end \fi\fi -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). +% Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). +% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). +% Example: +% #1 = \textrm +% #2 = \rmshape +% #3 = 10 +% #4 = \mainmagstep +% #5 = OT1 +% \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble -% emacs-page end of cmaps +% +% (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. -\ifx\fontprefix\undefined +\ifx\fontprefix\thisisundefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold +\def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} @@ -1979,9 +1804,8 @@ end \def\scshape{csc} \def\scbshape{csc} -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. -% +% Definitions for a main text size of 11pt. (The default in Texinfo.) +% \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} @@ -2102,17 +1926,17 @@ end \font\reducedsy=cmsy10 \def\reducedecsize{1000} -% reset the current fonts -\textfonts +\textleading = 13.2pt % line spacing for 11pt CM +\textfonts % reset the current fonts \rm -} % end of 11pt text font size definitions +} % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. -% +% \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} @@ -2201,7 +2025,7 @@ end \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} -\font\seci=cmmi12 +\font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} @@ -2233,29 +2057,28 @@ end \font\reducedsy=cmsy9 \def\reducedecsize{0900} -% reduce space between paragraphs -\divide\parskip by 2 - -% reset the current fonts -\textfonts +\divide\parskip by 2 % reduce space between paragraphs +\textleading = 12pt % line spacing for 10pt CM +\textfonts % reset the current fonts \rm -} % end of 10pt text font size definitions +} % end of 10pt text font size definitions, \definetextfontsizex % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. -% -\def\xword{10} +% \def\xiword{11} +\def\xword{10} +\def\xwordpt{10pt} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% - \wlog{doing @fonttextsize \textsizearg}% + %\wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. - % + % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi @@ -2305,7 +2128,7 @@ end \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% - \resetmathfonts \setleading{25pt}} + \resetmathfonts \setleading{27pt}} \def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl @@ -2433,12 +2256,14 @@ end % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% - \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname + \expandafter\let\expandafter \temp + \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% - \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname + \expandafter\let\expandafter \temp + \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } @@ -2451,29 +2276,32 @@ end \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright +% \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright +% +\let\markupsetuplqkbd \markupsetcodequoteleft +\let\markupsetuprqkbd \markupsetcodequoteright +% +\let\markupsetuplqsamp \markupsetcodequoteleft +\let\markupsetuprqsamp \markupsetcodequoteright +% \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright +% \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright -\let\markupsetuplqsamp \markupsetnoligaturesquoteleft -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - -% Allow an option to not replace quotes with a regular directed right -% quote/apostrophe (char 0x27), but instead use the undirected quote -% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it -% the default, but it works for pasting with more pdf viewers (at least -% evince), the lilypond developers report. xpdf does work with the -% regular 0x27. -% +% Allow an option to not use regular directed right quote/apostrophe +% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). +% The undirected quote is ugly, so don't make it the default, but it +% works for pasting with more pdf viewers (at least evince), the +% lilypond developers report. xpdf does work with the regular 0x27. +% \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax @@ -2485,7 +2313,7 @@ end % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. -% +% \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax @@ -2496,33 +2324,85 @@ end \else \char'22 \fi } +% Commands to set the quote options. +% +\parseargdef\codequoteundirected{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxicodequoteundirected\endcsname + = t% + \else\ifx\temp\offword + \expandafter\let\csname SETtxicodequoteundirected\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% + \fi\fi +} +% +\parseargdef\codequotebacktick{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxicodequotebacktick\endcsname + = t% + \else\ifx\temp\offword + \expandafter\let\csname SETtxicodequotebacktick\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% + \fi\fi +} + % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 -%% Add scribe-like font environments, plus @l for inline lisp (usually sans -%% serif) and @ii for TeX italic +% Font commands. -% \smartitalic{ARG} outputs arg in italics, followed by an italic correction -% unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else - \ptexslash\fi\fi\fi} -\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} +% #1 is the font command (\sl or \it), #2 is the text to slant. +% If we are in a monospaced environment, however, 1) always use \ttsl, +% and 2) do not add an italic correction. +\def\dosmartslant#1#2{% + \ifusingtt + {{\ttsl #2}\let\next=\relax}% + {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% + \next +} +\def\smartslanted{\dosmartslant\sl} +\def\smartitalic{\dosmartslant\it} -% like \smartslanted except unconditionally uses \ttsl. -% @var is set to this for defun arguments. -\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} +% Output an italic correction unless \next (presumed to be the following +% character) is such as not to need one. +\def\smartitaliccorrection{% + \ifx\next,% + \else\ifx\next-% + \else\ifx\next.% + \else\ifx\next\.% + \else\ifx\next\comma% + \else\ptexslash + \fi\fi\fi\fi\fi + \aftersmartic +} + +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. +\def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} +\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} + +\def\aftersmartic{} +\def\var#1{% + \let\saveaftersmartic = \aftersmartic + \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% + \smartslanted{#1}% +} \let\i=\smartitalic \let\slanted=\smartslanted -\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} \let\dfn=\smartslanted \let\emph=\smartitalic @@ -2572,34 +2452,12 @@ end % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} +% @indicateurl is \samp, that is, with quotes. +\let\indicateurl=\samp -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} - -% ctrl is no longer a Texinfo command. -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. +% @code (and similar) prints in typewriter, but with spaces the same +% size as normal in the surrounding text, without hyphenation, etc. +% This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. @@ -2618,18 +2476,18 @@ end \plainfrenchspacing #1% }% - \null + \null % reset spacefactor to 1000 } % We *must* turn on hyphenation at `-' and `_' in @code. +% (But see \codedashfinish below.) % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. - +% % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. +% and arrange explicitly to hyphenate at a dash. -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active @@ -2643,15 +2501,38 @@ end \let-\codedash \let_\codeunder \else - \let-\realdash + \let-\normaldash \let_\realunder \fi + % Given -foo (with a single dash), we do not want to allow a break + % after the hyphen. + \global\let\codedashprev=\codedash + % \codex } + % + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. + % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -. + % E.g., given --posix, we do not want to allow a break after either -. + % Given --foo-bar, we do want to allow a break between the - and the b. + \ifx\next\codedash \else + \ifx\codedashprev\codedash + \else \discretionary{}{}{}\fi + \fi + % we need the space after the = for the case when \next itself is a + % space token; it would get swallowed otherwise. As in @code{- a}. + \global\let\codedashprev= \next + } } +\def\normaldash{-} +% +\def\codex #1{\tclose{#1}\endgroup} -\def\realdash{-} -\def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) @@ -2663,13 +2544,12 @@ end \discretionary{}{}{}}% {\_}% } -\def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. -% +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. +% \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} @@ -2683,13 +2563,162 @@ end \allowcodebreaksfalse \else \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg'}% + \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% \fi\fi } -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} +% For @command, @env, @file, @option quotes seem unnecessary, +% so use \code rather than \samp. +\let\command=\code +\let\env=\code +\let\file=\code +\let\option=\code + +% @uref (abbreviation for `urlref') takes an optional (comma-separated) +% second argument specifying the text to display and an optional third +% arg as text to display instead of (rather than in addition to) the url +% itself. First (mandatory) arg is the url. +% (This \urefnobreak definition isn't used now, leaving it for a while +% for comparison.) +\def\urefnobreak#1{\dourefnobreak #1,,,\finish} +\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \ifpdf + \unhbox0 % PDF: 2nd arg given, show only it + \else + \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url + \fi + \else + \code{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% This \urefbreak definition is the active one. +\def\urefbreak{\begingroup \urefcatcodes \dourefbreak} +\let\uref=\urefbreak +\def\dourefbreak#1{\urefbreakfinish #1,,,\finish} +\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \ifpdf + \unhbox0 % PDF: 2nd arg given, show only it + \else + \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url + \fi + \else + \urefcode{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% Allow line breaks around only a few characters (only). +\def\urefcatcodes{% + \catcode\ampChar=\active \catcode\dotChar=\active + \catcode\hashChar=\active \catcode\questChar=\active + \catcode\slashChar=\active +} +{ + \urefcatcodes + % + \global\def\urefcode{\begingroup + \setupmarkupstyle{code}% + \urefcatcodes + \let&\urefcodeamp + \let.\urefcodedot + \let#\urefcodehash + \let?\urefcodequest + \let/\urefcodeslash + \codex + } + % + % By default, they are just regular characters. + \global\def&{\normalamp} + \global\def.{\normaldot} + \global\def#{\normalhash} + \global\def?{\normalquest} + \global\def/{\normalslash} +} + +% we put a little stretch before and after the breakable chars, to help +% line breaking of long url's. The unequal skips make look better in +% cmtt at least, especially for dots. +\def\urefprestretch{\urefprebreak \hskip0pt plus.13em } +\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em } +% +\def\urefcodeamp{\urefprestretch \&\urefpoststretch} +\def\urefcodedot{\urefprestretch .\urefpoststretch} +\def\urefcodehash{\urefprestretch \#\urefpoststretch} +\def\urefcodequest{\urefprestretch ?\urefpoststretch} +\def\urefcodeslash{\futurelet\next\urefcodeslashfinish} +{ + \catcode`\/=\active + \global\def\urefcodeslashfinish{% + \urefprestretch \slashChar + % Allow line break only after the final / in a sequence of + % slashes, to avoid line break between the slashes in http://. + \ifx\next/\else \urefpoststretch \fi + } +} + +% One more complication: by default we'll break after the special +% characters, but some people like to break before the special chars, so +% allow that. Also allow no breaking at all, for manual control. +% +\parseargdef\urefbreakstyle{% + \def\txiarg{#1}% + \ifx\txiarg\wordnone + \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} + \else\ifx\txiarg\wordbefore + \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak} + \else\ifx\txiarg\wordafter + \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak} + \else + \errhelp = \EMsimple + \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% + \fi\fi\fi +} +\def\wordafter{after} +\def\wordbefore{before} +\def\wordnone{none} + +\urefbreakstyle after + +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + +% rms does not like angle brackets --karl, 17may97. +% So now @email is just like @uref, unless we are pdf. +% +%\def\email#1{\angleleft{\tt #1}\angleright} +\ifpdf + \def\email#1{\doemail#1,,\finish} + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi + \endlink + \endgroup} +\else + \let\email=\uref +\fi % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), @@ -2704,7 +2733,7 @@ end \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle option `\txiarg'}% + \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} @@ -2714,111 +2743,321 @@ end % Default is `distinct'. \kbdinputstyle distinct -\def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + +\def\xkey{\key} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +} + +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. If the current font is already +% monospace, don't change it; that way, we respect @kbdinputstyle. But +% if it isn't monospace, then use \tt. +% +\def\key#1{{\setupmarkupstyle{key}% + \nohyphenation + \ifmonospace\else\tt\fi + #1}\null} + +% @clicksequence{File @click{} Open ...} +\def\clicksequence#1{\begingroup #1\endgroup} + +% @clickstyle @arrow (by default) +\parseargdef\clickstyle{\def\click{#1}} +\def\click{\arrow} + +% Typeset a dimension, e.g., `in' or `pt'. The only reason for the +% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. +% +\def\dmn#1{\thinspace #1} + +% @l was never documented to mean ``switch to the Lisp font'', +% and it is not used as such in any manual I can find. We need it for +% Polish suppressed-l. --karl, 22sep96. +%\def\l#1{{\li #1}\null} + +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\selectfonts\lsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi + \null % reset \spacefactor=1000 +} + +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\plainfrenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi + \null % reset \spacefactor=1000 +} + +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode`\_ = \active + \gdef\mathunderscore{% + \catcode`\_=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a math (or tt) \. +% FYI, plain.tex uses \\ as a temporary control sequence (for no +% particular reason), but this is not advertised and we don't care. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \catcode`' = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + \let' = \ptexquoteright + } +} + +% ctrl is no longer a Texinfo command, but leave this definition for fun. +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + +% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. +% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, +% except specified as a normal braced arg, so no newlines to worry about. +% +\def\outfmtnametex{tex} +% +\long\def\inlinefmt#1{\doinlinefmt #1,\finish} +\long\def\doinlinefmt#1,#2,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi +} +% +% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if +% FMTNAME is tex, else ELSE-TEXT. +\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi +} +% +% For raw, must switch into @tex before parsing the argument, to avoid +% setting catcodes prematurely. Doing it this way means that, for +% example, @inlineraw{html, foo{bar} gets a parse error instead of being +% ignored. But this isn't important because if people want a literal +% *right* brace they would have to use a command anyway, so they may as +% well use a command to get a left brace too. We could re-use the +% delimiter character idea from \verb, but it seems like overkill. +% +\long\def\inlineraw{\tex \doinlineraw} +\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} +\def\doinlinerawtwo#1,#2,\finish{% + \def\inlinerawname{#1}% + \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi + \endgroup % close group opened by \tex. +} + +% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. +% +\long\def\inlineifset#1{\doinlineifset #1,\finish} +\long\def\doinlineifset#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax + \else\ignorespaces#2\fi +} + +% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. +% +\long\def\inlineifclear#1{\doinlineifclear #1,\finish} +\long\def\doinlineifclear#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi +} + + +\message{glyphs,} +% and logos. + +% @@ prints an @, as does @atchar{}. +\def\@{\char64 } +\let\atchar=\@ + +% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. +% Unless we're in typewriter, use \ecfont because the CM text fonts do +% not have braces, and we don't want to switch into math. +\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} +\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} +\let\{=\mylbrace \let\lbracechar=\{ +\let\}=\myrbrace \let\rbracechar=\} +\begingroup + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux/toc files. + \catcode`\{ = \other \catcode`\} = \other + \catcode`\[ = 1 \catcode`\] = 2 + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \ptexc +\let\dotaccent = \ptexdot +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \ptext +\let\ubaraccent = \ptexb +\let\udotaccent = \d -% @clicksequence{File @click{} Open ...} -\def\clicksequence#1{\begingroup #1\endgroup} +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} -% @clickstyle @arrow (by default) -\parseargdef\clickstyle{\def\click{#1}} -\def\click{\arrow} +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi + \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. Perhaps eventually put in -% a hypertex \special here. +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) % -\def\uref#1{\douref #1,,,\finish} -\def\douref#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} +\edef\TeX{\TeX \spacefactor=1000 } -% @url synonym for @uref, since that's how everyone uses it. +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). % -\let\url=\uref +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{% + \ifx\textnominalsize\xwordpt + % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX. + % Revert to plain's \scriptsize, which is 7pt. + \count255=\the\fam $\fam\count255 \scriptstyle A$% + \else + % For 11pt, we can use our lllsize. + \selectfonts\lllsize A% + \fi + }% + \vss + }}% + \kern-.15em + \TeX +} -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi +% Some math mode symbols. +\def\bullet{$\ptexbullet$} +\def\geq{\ifmmode \ge\else $\ge$\fi} +\def\leq{\ifmmode \le\else $\le$\fi} +\def\minus{\ifmmode -\else $-$\fi} -% Typeset a dimension, e.g., `in' or `pt'. The only reason for the -% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. % -\def\dmn#1{\thinspace #1} - -% @l was never documented to mean ``switch to the Lisp font'', -% and it is not used as such in any manual I can find. We need it for -% Polish suppressed-l. --karl, 22sep96. -%\def\l#1{{\li #1}\null} - -% @acronym for "FBI", "NATO", and the like. -% We print this one point size smaller, since it's intended for -% all-uppercase. -% -\def\acronym#1{\doacronym #1,,\finish} -\def\doacronym#1,#2,#3\finish{% - {\selectfonts\lsize #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% +\def\dots{% + \leavevmode + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil + }% } -% @abbr for "Comput. J." and the like. -% No font change, but don't do end-of-sentence spacing. -% -\def\abbr#1{\doabbr #1,,\finish} -\def\doabbr#1,#2,#3\finish{% - {\plainfrenchspacing #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor } - -\message{glyphs,} - % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of @@ -2839,7 +3078,7 @@ end {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. @@ -2863,52 +3102,59 @@ end % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. -% +% % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. -% +% % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted -% +% % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. -% +% % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. -% -% +% +% \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. - % + % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. - % + % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. - % + % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % - \ifx\curfontstyle\bfstylename + \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else + \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } -% Hacks for glyphs from the EC fonts similar to \euro. We don't -% use \let for the aliases, because sometimes we redefine the original -% macro, and the alias should reflect the redefinition. +% Glyphs from the EC fonts. We don't use \let for the aliases, because +% sometimes we redefine the original macro, and the alias should reflect +% the redefinition. +% +% Use LaTeX names for the Icelandic letters. +\def\DH{{\ecfont \char"D0}} % Eth +\def\dh{{\ecfont \char"F0}} % eth +\def\TH{{\ecfont \char"DE}} % Thorn +\def\th{{\ecfont \char"FE}} % thorn +% \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} @@ -2922,7 +3168,7 @@ end % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer % dummy definitions to worry about for index entries, etc. -% +% % ogonek is also used with other letters in Lithuanian (IOU), but using % the precomposed glyphs for those is not so easy since they aren't in % the same EC font. @@ -2945,6 +3191,7 @@ end \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % +% Use the ec* fonts (cm-super in outline format) for non-CM glyphs. \def\ecfont{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German @@ -2952,12 +3199,17 @@ end % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \ifmonospace + % typewriter: + \font\thisecfont = ectt\ecsize \space at \nominalsize \else - % regular: - \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi \fi \thisecfont } @@ -2979,8 +3231,8 @@ end % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. -% -\ifx\Orb\undefined +% +\ifx\Orb\thisisundefined \def\Orb{\mathhexbox20D} \fi @@ -3008,8 +3260,9 @@ end \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue -\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} +\parseargdef\shorttitlepage{% + \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% + \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. @@ -3069,14 +3322,28 @@ end \finishedtitlepagetrue } -%%% Macros to be used within @titlepage: +% Settings used for typesetting titles: no hyphenation, no indentation, +% don't worry much about spacing, ragged right. This should be used +% inside a \vbox, and fonts need to be set appropriately first. Because +% it is always used for titles, nothing else, we call \rmisbold. \par +% should be specified before the end of the \vbox, since a vbox is a group. +% +\def\raggedtitlesettings{% + \rmisbold + \hyphenpenalty=10000 + \parindent=0pt + \tolerance=5000 + \ptexraggedright +} + +% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rmisbold #1} + \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -3102,7 +3369,7 @@ end } -%%% Set up page headings and footings. +% Set up page headings and footings. \let\thispage=\folio @@ -3196,10 +3463,14 @@ end \def\headings #1 {\csname HEADINGS#1\endcsname} -\def\HEADINGSoff{% -\global\evenheadline={\hfil} \global\evenfootline={\hfil} -\global\oddheadline={\hfil} \global\oddfootline={\hfil}} -\HEADINGSoff +\def\headingsoff{% non-global headings elimination + \evenheadline={\hfil}\evenfootline={\hfil}% + \oddheadline={\hfil}\oddfootline={\hfil}% +} + +\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting +\HEADINGSoff % it's the default + % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document @@ -3250,7 +3521,7 @@ end % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). -\ifx\today\undefined +\ifx\today\thisisundefined \def\today{% \number\day\space \ifcase\month @@ -3311,7 +3582,7 @@ end \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil + \advance\rightskip by0pt plus1fil\relax \leavevmode\unhbox0\par \endgroup % @@ -3325,7 +3596,7 @@ end % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. - % + % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse @@ -3797,18 +4068,18 @@ end \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. +% Test to see if parskip is larger than space between lines of +% table. If not, do nothing. +% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi} @@ -3960,7 +4231,7 @@ end \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { - \catcode`\- = \active \catcode`\_ = \active + \catcode`\-=\active \catcode`\_=\active % \gdef\makevalueexpandable{% \let\value = \expandablevalue @@ -3969,7 +4240,7 @@ end % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore + \let-\normaldash \let_\normalunderscore } } @@ -3980,7 +4251,12 @@ end % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). -% +% +% Unfortunately, this has the consequence that when _ is in the *value* +% of an @set, it does not print properly in the roman fonts (get the cmr +% dot accent at position 126 instead). No fix comes to mind, and it's +% been this way since 2003 or earlier, so just ignore it. +% \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% @@ -3992,8 +4268,9 @@ end % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +% To get the special treatment we need for `@end ifset,' we call +% \makecond and then redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} @@ -4009,7 +4286,7 @@ end } \def\ifsetfail{\doignore{ifset}} -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the @@ -4020,6 +4297,35 @@ end \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} +% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written +% without the @) is in fact defined. We can only feasibly check at the +% TeX level, so something like `mathcode' is going to considered +% defined even though it is not a Texinfo command. +% +\makecond{ifcommanddefined} +\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} +% +\def\doifcmddefined#1#2{{% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname #2\endcsname\relax + #1% If not defined, \let\next as above. + \fi + \expandafter + }\next +} +\def\ifcmddefinedfail{\doignore{ifcommanddefined}} + +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. +\makecond{ifcommandnotdefined} +\def\ifcommandnotdefined{% + \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} +\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} + +% Set the `txicommandconditionals' variable, so documents have a way to +% test if the @ifcommand...defined conditionals are available. +\set txicommandconditionals + % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment @@ -4123,11 +4429,14 @@ end \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % - % Need these in case \tex is in effect and \{ is a \delimiter again. - % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. - \let\{ = \mylbrace - \let\} = \myrbrace + % Need these unexpandable (because we define \tt as a dummy) + % definitions when @{ or @} appear in index entry text. Also, more + % complicated, when \tex is in effect and \{ is a \delimiter again. + % We can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. Perhaps we + % should define @lbrace and @rbrace commands a la @comma. + \def\{{{\tt\char123}}% + \def\}{{\tt\char125}}% % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts @@ -4138,7 +4447,7 @@ end % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. - % + % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} @@ -4146,12 +4455,12 @@ end % @end macro % ... % @funindex commtest - % + % % The above is not enough to reproduce the bug, but it gives the flavor. - % + % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} - % + % % So: \let\endinput = \empty % @@ -4180,7 +4489,7 @@ end \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively - % preventing its expansion. This is used only for control% words, + % preventing its expansion. This is used only for control words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. @@ -4199,23 +4508,28 @@ end \commondummiesnofonts % \definedummyletter\_% + \definedummyletter\-% % % Non-English letters. \definedummyword\AA \definedummyword\AE + \definedummyword\DH \definedummyword\L - \definedummyword\OE \definedummyword\O + \definedummyword\OE + \definedummyword\TH \definedummyword\aa \definedummyword\ae + \definedummyword\dh + \definedummyword\exclamdown \definedummyword\l - \definedummyword\oe \definedummyword\o - \definedummyword\ss - \definedummyword\exclamdown - \definedummyword\questiondown + \definedummyword\oe \definedummyword\ordf \definedummyword\ordm + \definedummyword\questiondown + \definedummyword\ss + \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf @@ -4231,20 +4545,25 @@ end \definedummyword\TeX % % Assorted special characters. + \definedummyword\arrow \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots + \definedummyword\entrybreak \definedummyword\equiv \definedummyword\error \definedummyword\euro + \definedummyword\expansion + \definedummyword\geq \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright - \definedummyword\expansion + \definedummyword\lbracechar + \definedummyword\leq \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds @@ -4256,6 +4575,7 @@ end \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase + \definedummyword\rbracechar \definedummyword\result \definedummyword\textdegree % @@ -4301,18 +4621,27 @@ end \definedummyword\b \definedummyword\i \definedummyword\r + \definedummyword\sansserif \definedummyword\sc + \definedummyword\slanted \definedummyword\t % % Commands that take arguments. + \definedummyword\abbr \definedummyword\acronym + \definedummyword\anchor \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn + \definedummyword\dmn + \definedummyword\email \definedummyword\emph \definedummyword\env \definedummyword\file + \definedummyword\image + \definedummyword\indicateurl + \definedummyword\inforef \definedummyword\kbd \definedummyword\key \definedummyword\math @@ -4340,7 +4669,7 @@ end \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% - % Hopefully, all control words can become @asis. + % All control words become @asis by default; overrides below. \let\definedummyword\definedummyaccent % \commondummiesnofonts @@ -4352,48 +4681,63 @@ end % \def\ { }% \def\@{@}% - % how to handle braces? \def\_{\normalunderscore}% + \def\-{}% @- shouldn't affect sorting + % + % Unfortunately, texindex is not prepared to handle braces in the + % content at all. So for index sorting, we map @{ and @} to strings + % starting with |, since that ASCII character is between ASCII { and }. + \def\{{|a}% + \def\lbracechar{|a}% + % + \def\}{|b}% + \def\rbracechar{|b}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% + \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% + \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% + \def\dh{dzz}% + \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% - \def\o{o}% - \def\ss{ss}% - \def\exclamdown{!}% - \def\questiondown{?}% \def\ordf{a}% \def\ordm{o}% + \def\o{o}% + \def\questiondown{?}% + \def\ss{ss}% + \def\th{zzz}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) + \def\arrow{->}% \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% - \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% + \def\expansion{==>}% + \def\geq{>=}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% - \def\expansion{==>}% + \def\leq{<=}% \def\minus{-}% - \def\pounds{pounds}% \def\point{.}% + \def\pounds{pounds}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% @@ -4401,22 +4745,31 @@ end \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% + \def\registeredsymbol{R}% \def\result{=>}% - \def\textdegree{degrees}% + \def\textdegree{o}% + % + \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax + \else \indexlquoteignore \fi % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. - % + % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. - % + % \macrolist } +% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us +% ignore left quotes in the sort term. +{\catcode`\`=\active + \gdef\indexlquoteignore{\let`=\empty}} + \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? @@ -4514,10 +4867,9 @@ end % % ..., ready, GO: % -\def\safewhatsit#1{% -\ifhmode +\def\safewhatsit#1{\ifhmode #1% -\else + \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% @@ -4541,7 +4893,6 @@ end % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: - % % @deffn deffn-whatever % @vindex index-whatever % Description. @@ -4554,8 +4905,7 @@ end % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi -\fi -} +\fi} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} @@ -4674,7 +5024,6 @@ end % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. -% % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% @@ -4711,10 +5060,17 @@ end % columns. \vskip 0pt plus1pt % + % When reading the text of entry, convert explicit line breaks + % from @* into spaces. The user might give these in long section + % titles, for instance. + \def\*{\unskip\space\ignorespaces}% + \def\entrybreak{\hfil\break}% + % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } +\def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent @@ -4947,7 +5303,22 @@ end \message{sectioning,} % Chapters, sections, etc. -% \unnumberedno is an oxymoron, of course. But we count the unnumbered +% Let's start with @part. +\outer\parseargdef\part{\partzzz{#1}} +\def\partzzz#1{% + \chapoddpage + \null + \vskip.3\vsize % move it down on the page a bit + \begingroup + \noindent \titlefonts\rmisbold #1\par % the text + \let\lastnode=\empty % no node to associate with + \writetocentry{part}{#1}{}% but put it in the toc + \headingsoff % no headline or footline on the part page + \chapoddpage + \endgroup +} + +% \unnumberedno is an oxymoron. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 @@ -5026,8 +5397,8 @@ end \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. -% To achive this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unmlevel = \maxseclevel +% To achieve this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unnlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. @@ -5052,8 +5423,8 @@ end % The heading type: \def\headtype{#1}% \if \headtype U% - \ifnum \absseclevel < \unmlevel - \chardef\unmlevel = \absseclevel + \ifnum \absseclevel < \unnlevel + \chardef\unnlevel = \absseclevel \fi \else % Check for appendix sections: @@ -5065,10 +5436,10 @@ end \fi\fi \fi % Check for numbered within unnumbered: - \ifnum \absseclevel > \unmlevel + \ifnum \absseclevel > \unnlevel \def\headtype{U}% \else - \chardef\unmlevel = 3 + \chardef\unnlevel = 3 \fi \fi % Now print the heading: @@ -5122,7 +5493,9 @@ end \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % - \message{\putwordChapter\space \the\chapno}% + % \putwordChapter can contain complex things in translations. + \toks0=\expandafter{\putwordChapter}% + \message{\the\toks0 \space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% @@ -5133,15 +5506,17 @@ end \global\let\subsubsection = \numberedsubsubsec } -\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz +% \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % - \def\appendixnum{\putwordAppendix\space \appendixletter}% - \message{\appendixnum}% + % \putwordAppendix can contain complex things in translations. + \toks0=\expandafter{\putwordAppendix}% + \message{\the\toks0 \space \appendixletter}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % @@ -5150,7 +5525,8 @@ end \global\let\subsubsection = \appendixsubsubsec } -\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz +% normally unnmhead0 calls unnumberedzzz: +\outer\parseargdef\unnumbered{\unnmhead0{#1}} \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 @@ -5194,40 +5570,47 @@ end \let\top\unnumbered % Sections. +% \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } -\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz +% normally calls appendixsectionzzz: +\outer\parseargdef\appendixsection{\apphead1{#1}} \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz +% normally calls unnumberedseczzz: +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. -\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz +% +% normally calls numberedsubseczzz: +\outer\parseargdef\numberedsubsec{\numhead2{#1}} \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } -\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz +% normally calls appendixsubseczzz: +\outer\parseargdef\appendixsubsec{\apphead2{#1}} \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz +% normally calls unnumberedsubseczzz: +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% @@ -5235,21 +5618,25 @@ end } % Subsubsections. -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz +% +% normally numberedsubsubseczzz: +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz +% normally appendixsubsubseczzz: +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz +% normally unnumberedsubsubseczzz: +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% @@ -5265,14 +5652,6 @@ end % Define @majorheading, @heading and @subheading -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -5280,10 +5659,8 @@ end \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}% - \bigskip \par\penalty 200\relax + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip \nobreak \suppressfirstparagraphindent } @@ -5299,14 +5676,13 @@ end % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. -%%% Args are the skip and penalty (usually negative) +% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} -%%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) - \newskip\chapheadingskip +% Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will @@ -5316,9 +5692,8 @@ end \chappager \ifodd\pageno \else \begingroup - \evenheadline={\hfil}\evenfootline={\hfil}% - \oddheadline={\hfil}\oddfootline={\hfil}% - \hbox to 0pt{}% + \headingsoff + \null \chappager \endgroup \fi @@ -5374,7 +5749,10 @@ end \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% - \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: + % \noexpand\putwordAppendix avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} + \noexpand\thischapternum: \noexpand\thischaptername}% }% \else @@ -5382,7 +5760,10 @@ end \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% - \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: + % \noexpand\putwordChapter avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordChapter{} + \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi @@ -5438,8 +5819,7 @@ end % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright - \hangindent=\wd0 \centerparametersmaybe + \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title @@ -5461,18 +5841,18 @@ end \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% + \nobreak\bigskip \nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -5504,6 +5884,8 @@ end % \def\sectionheading#1#2#3#4{% {% + \checkenv{}% should not be in an environment. + % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % @@ -5525,7 +5907,10 @@ end \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% - \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi @@ -5535,7 +5920,10 @@ end \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% - \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi @@ -5555,7 +5943,7 @@ end % % Now the second mark, after the heading break. No break points % between here and the heading. - \let\prevsectiondefs=\lastsectiondefs + \global\let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. @@ -5609,15 +5997,15 @@ end % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) + % discardable item.) However, when a paragraph is not started next + % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out + % or the negative glue will cause weirdly wrong output, typically + % obscuring the section heading with something else. \vskip-\parskip - % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % - % @section sec-whatever - % @deffn def-whatever + % + % This is so the last item on the main vertical list is a known + % \penalty > 10000, so \startdefun, etc., can recognize the situation + % and do the needful. \penalty 10001 } @@ -5673,7 +6061,7 @@ end % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. -% +% \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active @@ -5723,7 +6111,7 @@ end % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. -% +% \def\tocreadfilename{\jobname.toc} % Normal (long) toc. @@ -5749,6 +6137,7 @@ end \def\summarycontents{% \startcontents{\putwordShortTOC}% % + \let\partentry = \shortpartentry \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry @@ -5804,6 +6193,19 @@ end % The last argument is the page number. % The arguments in between are the chapter number, section number, ... +% Parts, in the main contents. Replace the part number, which doesn't +% exist, with an empty box. Let's hope all the numbers have the same width. +% Also ignore the page number, which is conventionally not printed. +\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} +\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} +% +% Parts, in the short toc. +\def\shortpartentry#1#2#3#4{% + \penalty-300 + \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip + \shortchapentry{{\bf #1}}{\numeralbox}{}{}% +} + % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % @@ -5893,9 +6295,9 @@ end \message{environments,} % @foo ... @end foo. -% @tex ... @end tex escapes into raw Tex temporarily. +% @tex ... @end tex escapes into raw TeX temporarily. % One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain tex @ character. +% But \@ or @@ will get a plain @ character. \envdef\tex{% \setupmarkupstyle{tex}% @@ -5908,10 +6310,14 @@ end \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other - \catcode`\`=\other - \catcode`\'=\other + \catcode `\`=\other + \catcode `\'=\other \escapechar=`\\ % + % ' is active in math mode (mathcode"8000). So reset it, and all our + % other math active characters (just in case), to plain's definitions. + \mathactive + % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc @@ -5929,7 +6335,7 @@ end \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % outer + \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -6015,6 +6421,12 @@ end \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% + % + % If this cartouche directly follows a sectioning command, we need the + % \parskip glue (backspaced over by default) or the cartouche can + % collide with the section heading. + \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi + % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop @@ -6028,7 +6440,7 @@ end \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip - \comment % For explanation, see the end of \def\group. + \comment % For explanation, see the end of def\group. } \def\Ecartouche{% \ifhmode\par\fi @@ -6048,7 +6460,7 @@ end \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak - \hfuzz = 12pt % Don't be fussy + \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output @@ -6114,41 +6526,42 @@ end } % We often define two environments, @foo and @smallfoo. -% Let's do it by one command: -\def\makedispenv #1#2{ - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} +% Let's do it in one command. #1 is the env name, #2 the definition. +\def\makedispenvdef#1#2{% + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } -% Define two synonyms: -\def\maketwodispenvs #1#2#3{ - \makedispenv{#1}{#3} - \makedispenv{#2}{#3} +% Define two environment synonyms (#1 and #2) for an environment. +\def\maketwodispenvdef#1#2#3{% + \makedispenvdef{#1}{#3}% + \makedispenvdef{#2}{#3}% } - -% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. +% +% @lisp: indented, narrowed, typewriter font; +% @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % -\maketwodispenvs {lisp}{example}{% +\maketwodispenvdef{lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return + \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % -\makedispenv {display}{% +\makedispenvdef{display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % -\makedispenv{format}{% +\makedispenvdef{format}{% \let\nonarrowing = t% \nonfillstart \gobble @@ -6167,7 +6580,7 @@ end \envdef\flushright{% \let\nonarrowing = t% \nonfillstart - \advance\leftskip by 0pt plus 1fill + \advance\leftskip by 0pt plus 1fill\relax \gobble } \let\Eflushright = \afterenvbreak @@ -6202,43 +6615,28 @@ end % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % +\makedispenvdef{quotation}{\quotationstart} +% \def\quotationstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax \fi \parsearg\quotationlabel } -\envdef\quotation{% - \setnormaldispenv - \quotationstart -} - -\envdef\smallquotation{% - \setsmalldispenv - \quotationstart -} -\let\Esmallquotation = \Equotation - % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par - \ifx\quotationauthor\undefined\else + \ifx\quotationauthor\thisisundefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } +\def\Esmallquotation{\Equotation} % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% @@ -6248,6 +6646,32 @@ end \fi } +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, @@ -6295,21 +6719,28 @@ end % Setup for the @verbatim environment % -% Real tab expansion +% Real tab expansion. \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % -\def\starttabbox{\setbox0=\hbox\bgroup} +% We typeset each line of the verbatim in an \hbox, so we can handle +% tabs. The \global is in case the verbatim line starts with an accent, +% or some other command that starts with a begin-group. Otherwise, the +% entire \verbbox would disappear at the corresponding end-group, before +% it is typeset. Meanwhile, we can't have nested verbatim commands +% (can we?), so the \global won't be overwriting itself. +\newbox\verbbox +\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup - \dimen0=\wd0 % the width so far, or since the previous tab - \divide\dimen0 by\tabw - \multiply\dimen0 by\tabw % compute previous multiple of \tabw - \advance\dimen0 by\tabw % advance to next multiple of \tabw - \wd0=\dimen0 \box0 \starttabbox + \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab + \divide\dimen\verbbox by\tabw + \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw + \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw + \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox }% } \endgroup @@ -6318,15 +6749,16 @@ end \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart - % Easiest (and conventionally used) font for verbatim - \tt - \def\par{\leavevmode\egroup\box0\endgraf}% + \tt % easiest (and conventionally used) font for verbatim + % The \leavevmode here is for blank lines. Otherwise, we would + % never \starttabox and the \egroup would end verbatim mode. + \def\par{\leavevmode\egroup\box\verbbox\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and - % make each space count - % must do in this order: + % make each space count. + % Must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } @@ -6383,6 +6815,7 @@ end \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. + \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% \input #1 \afterenvbreak }% @@ -6432,7 +6865,7 @@ end % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % - % As a minor refinement, we avoid "club" headers by signalling + % As a further refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. @@ -6469,7 +6902,7 @@ end #1#2 \endheader % common ending: \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil + \advance\rightskip by 0pt plus 1fil\relax \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx @@ -6499,13 +6932,36 @@ end \def\domakedefun#1#2#3{% \envdef#1{% \startdefun + \doingtypefnfalse % distinguish typed functions from all else \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } -%%% Untyped functions: +\newif\ifdoingtypefn % doing typed function? +\newif\ifrettypeownline % typeset return type on its own line? + +% @deftypefnnewline on|off says whether the return type of typed functions +% are printed on their own line. This affects @deftypefn, @deftypefun, +% @deftypeop, and @deftypemethod. +% +\parseargdef\deftypefnnewline{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \empty + \else\ifx\temp\offword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @txideftypefnnl value `\temp', + must be on|off}% + \fi\fi +} + +% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} @@ -6524,7 +6980,7 @@ end \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } -%%% Typed functions: +% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} @@ -6539,10 +6995,11 @@ end % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% + \doingtypefntrue \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -%%% Typed variables: +% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} @@ -6560,7 +7017,7 @@ end \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -%%% Untyped variables: +% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } @@ -6571,7 +7028,8 @@ end % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } -%%% Type: +% Types: + % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% @@ -6599,25 +7057,49 @@ end % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% + \par % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % - % How we'll format the type name. Putting it in brackets helps + % Determine if we are typesetting the return type of a typed function + % on a line by itself. + \rettypeownlinefalse + \ifdoingtypefn % doing a typed function specifically? + % then check user option for putting return type on its own line: + \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else + \rettypeownlinetrue + \fi + \fi + % + % How we'll format the category name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % - % Figure out line sizes for the paragraph shape. + % Figure out line sizes for the paragraph shape. We'll always have at + % least two. + \tempnum = 2 + % % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % + % If doing a return type on its own line, we'll have another line. + \ifrettypeownline + \advance\tempnum by 1 + \def\maybeshapeline{0in \hsize}% + \else + \def\maybeshapeline{}% + \fi + % % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent - % (plain.tex says that \dimen1 should be used only as global.) - \parshape 2 0in \dimen0 \defargsindent \dimen2 % - % Put the type name to the right margin. + % The final paragraph shape: + \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 + % + % Put the category name at the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize @@ -6639,8 +7121,16 @@ end % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt - \def\temp{#2}% return value type - \ifx\temp\empty\else \tclose{\temp} \fi + \def\temp{#2}% text of the return type + \ifx\temp\empty\else + \tclose{\temp}% typeset the return type + \ifrettypeownline + % put return type on its own line; prohibit line break following: + \hfil\vadjust{\nobreak}\break + \else + \space % type on same line, so just followed by a space + \fi + \fi % no return type #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm @@ -6660,7 +7150,10 @@ end \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 @@ -6758,7 +7251,7 @@ end % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\undefined +\ifx\eTeXversion\thisisundefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% @@ -6769,25 +7262,30 @@ end } \fi -\def\scanmacro#1{% - \begingroup - \newlinechar`\^^M - \let\xeatspaces\eatspaces - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % ... and \example - \spaceisspace - % - % Append \endinput to make sure that TeX does not see the ending newline. - % I've verified that it is necessary both for e-TeX and for ordinary TeX - % --kasal, 29nov03 - \scantokens{#1\endinput}% - \endgroup -} +\def\scanmacro#1{\begingroup + \newlinechar`\^^M + \let\xeatspaces\eatspaces + % + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ + % + % ... and for \example: + \spaceisspace + % + % The \empty here causes a following catcode 5 newline to be eaten as + % part of reading whitespace after a control sequence. It does not + % eat a catcode 13 newline. There's no good way to handle the two + % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX + % would then have different behavior). See the Macro Details node in + % the manual for the workaround we recommend for macros and + % line-oriented commands. + % + \scantokens{#1\empty}% +\endgroup} \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% @@ -6815,7 +7313,7 @@ end % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). -% +% \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname @@ -6841,17 +7339,18 @@ end % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \. - +% (as in normal texinfo). It is necessary to change the definition of \ +% to recognize macro arguments; this is the job of \mbodybackslash. +% % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. - +% % It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro +% done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. - -\def\scanctxt{% +% +\def\scanctxt{% used as subroutine \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other @@ -6864,13 +7363,13 @@ end \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } -\def\scanargctxt{% +\def\scanargctxt{% used for copying and captions, not macros. \scanctxt \catcode`\\=\other \catcode`\^^M=\other } -\def\macrobodyctxt{% +\def\macrobodyctxt{% used for @macro definitions \scanctxt \catcode`\{=\other \catcode`\}=\other @@ -6878,32 +7377,56 @@ end \usembodybackslash } -\def\macroargctxt{% +\def\macroargctxt{% used when scanning invocations \scanctxt - \catcode`\\=\other + \catcode`\\=0 } +% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" +% for the single characters \ { }. Thus, we end up with the "commands" +% that would be written @\ @{ @} in a Texinfo document. +% +% We already have @{ and @}. For @\, we define it here, and only for +% this purpose, to produce a typewriter backslash (so, the @\ that we +% define for @math can't be used with @macro calls): +% +\def\\{\normalbackslash}% +% +% We would like to do this for \, too, since that is what makeinfo does. +% But it is not possible, because Texinfo already has a command @, for a +% cedilla accent. Documents must use @comma{} instead. +% +% \anythingelse will almost certainly be an error of some kind. + % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. - +% {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} +\def\margbackslash#1{\char`\#1 } + \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist + \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments - \paramno=0% + \paramno=0\relax \else \expandafter\parsemargdef \argl;% + \if\paramno>256\relax + \ifx\eTeXversion\thisisundefined + \errhelp = \EMsimple + \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} + \fi + \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% @@ -6950,46 +7473,269 @@ end % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname #1 #2\relax{\macname={#1}} +\def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} +% For macro processing make @ a letter so that we can make Texinfo private macro names. +\edef\texiatcatcode{\the\catcode`\@} +\catcode `@=11\relax + % Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list, to be ##N where N is the position in that list. +% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH +% in the params list to some hook where the argument si to be expanded. If +% there are less than 10 arguments that hook is to be replaced by ##N where N +% is the position in that list, that is to say the macro arguments are to be +% defined `a la TeX in the macro body. +% % That gets used by \mbodybackslash (above). - +% % We need to get `macro parameter char #' into several definitions. -% The technique used is stolen from LaTeX: let \hash be something +% The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. - -\def\parsemargdef#1;{\paramno=0\def\paramlist{}% - \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} +% +% If there are 10 or more arguments, a different technique is used, where the +% hook remains in the body, and when macro is to be expanded the body is +% processed again to replace the arguments. +% +% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the +% argument N value and then \edef the body (nothing else will expand because of +% the catcode regime underwhich the body was input). +% +% If you compile with TeX (not eTeX), and you have macros with 10 or more +% arguments, you need that no macro has more than 256 arguments, otherwise an +% error is produced. +\def\parsemargdef#1;{% + \paramno=0\def\paramlist{}% + \let\hash\relax + \let\xeatspaces\relax + \parsemargdefxxx#1,;,% + % In case that there are 10 or more arguments we parse again the arguments + % list to set new definitions for the \macarg.BLAH macros corresponding to + % each BLAH argument. It was anyhow needed to parse already once this list + % in order to count the arguments, and as macros with at most 9 arguments + % are by far more frequent than macro with 10 or more arguments, defining + % twice the \macarg.BLAH macros does not cost too much processing power. + \ifnum\paramno<10\relax\else + \paramno0\relax + \parsemmanyargdef@@#1,;,% 10 or more arguments + \fi +} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx - \advance\paramno by 1% + \advance\paramno by 1 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} +\def\parsemmanyargdef@@#1,{% + \if#1;\let\next=\relax + \else + \let\next=\parsemmanyargdef@@ + \edef\tempb{\eatspaces{#1}}% + \expandafter\def\expandafter\tempa + \expandafter{\csname macarg.\tempb\endcsname}% + % Note that we need some extra \noexpand\noexpand, this is because we + % don't want \the to be expanded in the \parsermacbody as it uses an + % \xdef . + \expandafter\edef\tempa + {\noexpand\noexpand\noexpand\the\toks\the\paramno}% + \advance\paramno by 1\relax + \fi\next} + % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) +% +\catcode `\@\texiatcatcode \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\catcode `\@=11\relax + +\let\endargs@\relax +\let\nil@\relax +\def\nilm@{\nil@}% +\long\def\nillm@{\nil@}% + +% This macro is expanded during the Texinfo macro expansion, not during its +% definition. It gets all the arguments values and assigns them to macros +% macarg.ARGNAME +% +% #1 is the macro name +% #2 is the list of argument names +% #3 is the list of argument values +\def\getargvals@#1#2#3{% + \def\macargdeflist@{}% + \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. + \def\paramlist{#2,\nil@}% + \def\macroname{#1}% + \begingroup + \macroargctxt + \def\argvaluelist{#3,\nil@}% + \def\@tempa{#3}% + \ifx\@tempa\empty + \setemptyargvalues@ + \else + \getargvals@@ + \fi +} + +% +\def\getargvals@@{% + \ifx\paramlist\nilm@ + % Some sanity check needed here that \argvaluelist is also empty. + \ifx\argvaluelist\nillm@ + \else + \errhelp = \EMsimple + \errmessage{Too many arguments in macro `\macroname'!}% + \fi + \let\next\macargexpandinbody@ + \else + \ifx\argvaluelist\nillm@ + % No more arguments values passed to macro. Set remaining named-arg + % macros to empty. + \let\next\setemptyargvalues@ + \else + % pop current arg name into \@tempb + \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% + \expandafter\@tempa\expandafter{\paramlist}% + % pop current argument value into \@tempc + \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% + \expandafter\@tempa\expandafter{\argvaluelist}% + % Here \@tempb is the current arg name and \@tempc is the current arg value. + % First place the new argument macro definition into \@tempd + \expandafter\macname\expandafter{\@tempc}% + \expandafter\let\csname macarg.\@tempb\endcsname\relax + \expandafter\def\expandafter\@tempe\expandafter{% + \csname macarg.\@tempb\endcsname}% + \edef\@tempd{\long\def\@tempe{\the\macname}}% + \push@\@tempd\macargdeflist@ + \let\next\getargvals@@ + \fi + \fi + \next +} + +\def\push@#1#2{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{% + \expandafter#1#2}% +} + +% Replace arguments by their values in the macro body, and place the result +% in macro \@tempa +\def\macvalstoargs@{% + % To do this we use the property that token registers that are \the'ed + % within an \edef expand only once. So we are going to place all argument + % values into respective token registers. + % + % First we save the token context, and initialize argument numbering. + \begingroup + \paramno0\relax + % Then, for each argument number #N, we place the corresponding argument + % value into a new token list register \toks#N + \expandafter\putargsintokens@\saveparamlist@,;,% + % Then, we expand the body so that argument are replaced by their + % values. The trick for values not to be expanded themselves is that they + % are within tokens and that tokens expand only once in an \edef . + \edef\@tempc{\csname mac.\macroname .body\endcsname}% + % Now we restore the token stack pointer to free the token list registers + % which we have used, but we make sure that expanded body is saved after + % group. + \expandafter + \endgroup + \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% + } + +\def\macargexpandinbody@{% + %% Define the named-macro outside of this group and then close this group. + \expandafter + \endgroup + \macargdeflist@ + % First the replace in body the macro arguments by their values, the result + % is in \@tempa . + \macvalstoargs@ + % Then we point at the \norecurse or \gobble (for recursive) macro value + % with \@tempb . + \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname + % Depending on whether it is recursive or not, we need some tailing + % \egroup . + \ifx\@tempb\gobble + \let\@tempc\relax + \else + \let\@tempc\egroup + \fi + % And now we do the real job: + \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% + \@tempd +} -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. +\def\putargsintokens@#1,{% + \if#1;\let\next\relax + \else + \let\next\putargsintokens@ + % First we allocate the new token list register, and give it a temporary + % alias \@tempb . + \toksdef\@tempb\the\paramno + % Then we place the argument value into that token list register. + \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname + \expandafter\@tempb\expandafter{\@tempa}% + \advance\paramno by 1\relax + \fi + \next +} + +% Save the token stack pointer into macro #1 +\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} +% Restore the token stack pointer from number in macro #1 +\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} +% newtoks that can be used non \outer . +\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} + +% Tailing missing arguments are set to empty +\def\setemptyargvalues@{% + \ifx\paramlist\nilm@ + \let\next\macargexpandinbody@ + \else + \expandafter\setemptyargvaluesparser@\paramlist\endargs@ + \let\next\setemptyargvalues@ + \fi + \next +} + +\def\setemptyargvaluesparser@#1,#2\endargs@{% + \expandafter\def\expandafter\@tempa\expandafter{% + \expandafter\def\csname macarg.#1\endcsname{}}% + \push@\@tempa\macargdeflist@ + \def\paramlist{#2}% +} + +% #1 is the element target macro +% #2 is the list macro +% #3,#4\endargs@ is the list value +\def\pop@#1#2#3,#4\endargs@{% + \def#1{#3}% + \def#2{#4}% +} +\long\def\longpop@#1#2#3,#4\endargs@{% + \long\def#1{#3}% + \long\def#2{#4}% +} + +% This defines a Texinfo @macro. There are eight cases: recursive and +% nonrecursive macros of zero, one, up to nine, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. +% \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive @@ -7004,17 +7750,25 @@ end \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else + \ifnum\paramno<10\relax % at most 9 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else % 10 or more + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble + \fi \fi \else \ifcase\paramno @@ -7031,29 +7785,40 @@ end \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \else % at most 9 + \ifnum\paramno<10\relax + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \else % 10 or more: + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse + \fi \fi \fi} +\catcode `\@\texiatcatcode\relax + \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg) +% as an argument (by \parsebrace or \parsearg). +% \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else @@ -7063,7 +7828,8 @@ end % @alias. % We need some trickery to remove the optional spaces around the equal -% sign. Just make them active and then expand them all to nothing. +% sign. Make them active and then expand them all to nothing. +% \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% @@ -7084,7 +7850,8 @@ end % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, +\def\inforefzzz #1,#2,#3,#4**{% + \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in @@ -7145,11 +7912,32 @@ end \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout + \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout }% \fi } +% @xrefautosectiontitle on|off says whether @section(ing) names are used +% automatically in xrefs, if the third arg is not explicitly specified. +% This was provided as a "secret" @set xref-automatic-section-title +% variable, now it's official. +% +\parseargdef\xrefautomaticsectiontitle{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETxref-automatic-section-title\endcsname + = \empty + \else\ifx\temp\offword + \expandafter\let\csname SETxref-automatic-section-title\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', + must be on|off}% + \fi\fi +} + +% % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -7158,26 +7946,41 @@ end \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} +% +\newbox\toprefbox +\newbox\printedrefnamebox +\newbox\infofilenamebox +\newbox\printedmanualbox +% \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces - \def\printedmanual{\ignorespaces #5}% + % + % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual\unskip}% - \setbox0=\hbox{\printedrefname\unskip}% - \ifdim \wd0 = 0pt + \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% + % + \def\infofilename{\ignorespaces #4}% + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % + \def\printedmanual{\ignorespaces #5}% + \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% + % + % If the printed reference name (arg #3) was not explicitly given in + % the @xref, figure out what we want to use. + \ifdim \wd\printedrefnamebox = 0pt % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax - % Use the node name inside the square brackets. + \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax + % Not auto section-title: use node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else - % Use the actual chapter/section title appear inside - % the square brackets. Use the real section title if we have it. - \ifdim \wd1 > 0pt - % It is in another manual, so we don't have it. + % Auto section-title: use chapter/section title inside + % the square brackets if we have it. + \ifdim \wd\printedmanualbox > 0pt + % It is in another manual, so we don't have it; use node name. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs - % We know the real title if we have the xref values. + % We (should) know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. @@ -7191,13 +7994,20 @@ end \ifpdf {\indexnofonts \turnoffactive + \makevalueexpandable % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % - % See comments at \activebackslashdouble. - {\activebackslashdouble \xdef\pdfxrefdest{#1}% - \backslashparens\pdfxrefdest}% + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. + \edef\pdfxrefdest{#1}% + \ifx\pdfxrefdest\empty + \def\pdfxrefdest{Top}% no empty targets + \else + \txiescapepdf\pdfxrefdest % escape PDF special chars + \fi % \leavevmode \startlink attr{/Border [0 0 0]}% @@ -7224,29 +8034,42 @@ end \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". - \ifdim\wd0 = 0pt + \ifdim\wd\printedrefnamebox = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % - % if the user also gave the printed manual name (fifth arg), append + % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". - \ifdim \wd1 > 0pt + \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. + % + % If we use \unhbox to print the node names, TeX does not insert + % empty discretionaries after hyphens, which means that it will not + % find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, + % this is a loss. Therefore, we give the text of the node name + % again, so it is as if TeX is seeing it for the first time. + % + \ifdim \wd\printedmanualbox > 0pt + % Cross-manual reference with a printed manual name. + % + \crossmanualxref{\cite{\printedmanual\unskip}}% + % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. + % + \crossmanualxref{\code{\infofilename\unskip}}% % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. - \ifdim \wd1 > 0pt - \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else + % Reference within this manual. + % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of @@ -7258,7 +8081,7 @@ end \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% - % output the `[mynode]' via a macro so it can be overridden. + % output the `[mynode]' via the macro below so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: @@ -7266,11 +8089,37 @@ end % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi + \fi\fi \fi \endlink \endgroup} +% Output a cross-manual xref to #1. Used just above (twice). +% +% Only include the text "Section ``foo'' in" if the foo is neither +% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply +% "see The Foo Manual", the idea being to refer to the whole manual. +% +% But, this being TeX, we can't easily compare our node name against the +% string "Top" while ignoring the possible spaces before and after in +% the input. By adding the arbitrary 7sp below, we make it much less +% likely that a real node name would have the same width as "Top" (e.g., +% in a monospaced font). Hopefully it will never happen in practice. +% +% For the same basic reason, we retypeset the "Top" at every +% reference, since the current font is indeterminate. +% +\def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% + \ifdim \wd2 > 7sp % nonempty? + \ifdim \wd2 = \wd\toprefbox \else % same as Top? + \putwordSection{} ``\printedrefname'' \putwordin{}\space + \fi + \fi + #1% +} + % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly @@ -7321,7 +8170,8 @@ end \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs - \message{\linenumber Undefined cross reference `#1'.}% + {\toks0 = {#1}% avoid expansion of possibly-complex value + \message{\linenumber Undefined cross reference `\the\toks0'.}}% \else \ifwarnedxrefs\else \global\warnedxrefstrue @@ -7485,7 +8335,7 @@ end % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } -% @footnotestyle is meaningful for info output only. +% @footnotestyle is meaningful for Info output only. \let\footnotestyle=\comment {\catcode `\@=11 @@ -7548,6 +8398,8 @@ end % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut + % + % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 @@ -7635,7 +8487,7 @@ end it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% - \ifx\epsfbox\undefined + \ifx\epsfbox\thisisundefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% @@ -7651,7 +8503,7 @@ end % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing this stuff. +% #6 is just the usual extra ignored arg for parsing stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example @@ -7659,6 +8511,13 @@ end % If the image is by itself, center it. \ifvmode \imagevmodetrue + \else \ifx\centersub\centerV + % for @center @image, we need a vbox so we can have our vertical space + \imagevmodetrue + \vbox\bgroup % vbox has better behavior than vtop herev + \fi\fi + % + \ifimagevmode \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space @@ -7668,9 +8527,13 @@ end \fi % % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. On the other hand, if - % it's at the top level, we don't want the normal paragraph indentation. - \noindent + % environment such as @quotation is respected. + % However, if we're at the top level, we don't want the + % normal paragraph indentation. + % On the other hand, if we are in the case of @center @image, we don't + % want to start a paragraph, which will create a hsize-width box and + % eradicate the centering. + \ifx\centersub\centerV\else \noindent \fi % % Output the image. \ifpdf @@ -7682,7 +8545,10 @@ end \epsfbox{#1.eps}% \fi % - \ifimagevmode \medskip \fi % space after the standalone image + \ifimagevmode + \medskip % space after a standalone image + \fi + \ifx\centersub\centerV \egroup \fi \endgroup} @@ -7975,21 +8841,22 @@ end \closein 1 \endgroup % end raw TeX \endgroup} -} % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. -% -\def\documentlanguagetrywithoutunderscore#1_#2\finish{% +% +\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else + \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 } +}% end of special _ catcode % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? Putting it in the current @@ -7998,16 +8865,16 @@ directory should work if nowhere else does.} % This macro is called from txi-??.tex files; the first argument is the % \language name to set (without the "\lang@" prefix), the second and % third args are \{left,right}hyphenmin. -% +% % The language names to pass are determined when the format is built. % See the etex.log file created at that time, e.g., % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. -% +% % With TeX Live 2008, etex now includes hyphenation patterns for all % available languages. This means we can support hyphenation in % Texinfo, at least to some extent. (This still doesn't solve the % accented characters problem.) -% +% \catcode`@=11 \def\txisetlanguage#1#2#3{% % do not set the language if the name is undefined in the current TeX. @@ -8062,7 +8929,7 @@ directory should work if nowhere else does.} \setnonasciicharscatcode\active \lattwochardefs % - \else \ifx \declaredencoding \latone + \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % @@ -8074,7 +8941,7 @@ directory should work if nowhere else does.} \setnonasciicharscatcode\active \utfeightchardefs % - \else + \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight @@ -8086,7 +8953,7 @@ directory should work if nowhere else does.} % A message to be logged when using a character that isn't available % the default font encoding (OT1). -% +% \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. @@ -8099,21 +8966,21 @@ directory should work if nowhere else does.} % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% - \gdef^^a0{~} + \gdef^^a0{\tie} \gdef^^a1{\exclamdown} - \gdef^^a2{\missingcharmsg{CENT SIGN}} + \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} - \gdef^^a6{\missingcharmsg{BROKEN BAR}} + \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\copyright} + \gdef^^a8{\"{}} + \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\guillemetleft} \gdef^^ac{$\lnot$} - \gdef^^ad{\-} - \gdef^^ae{\registeredsymbol} + \gdef^^ad{\-} + \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} @@ -8129,7 +8996,7 @@ directory should work if nowhere else does.} \gdef^^b9{$^1$} \gdef^^ba{\ordm} % - \gdef^^bb{\guilletright} + \gdef^^bb{\guillemetright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} @@ -8140,7 +9007,7 @@ directory should work if nowhere else does.} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} - \gdef^^c5{\ringaccent A} + \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} @@ -8152,7 +9019,7 @@ directory should work if nowhere else does.} \gdef^^ce{\^I} \gdef^^cf{\"I} % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} + \gdef^^d0{\DH} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} @@ -8166,7 +9033,7 @@ directory should work if nowhere else does.} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} - \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} + \gdef^^de{\TH} \gdef^^df{\ss} % \gdef^^e0{\`a} @@ -8186,7 +9053,7 @@ directory should work if nowhere else does.} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} + \gdef^^f0{\dh} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} @@ -8200,7 +9067,7 @@ directory should work if nowhere else does.} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} - \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} + \gdef^^fe{\th} \gdef^^ff{\"y} } @@ -8221,7 +9088,7 @@ directory should work if nowhere else does.} % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% - \gdef^^a0{~} + \gdef^^a0{\tie} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} @@ -8272,7 +9139,7 @@ directory should work if nowhere else does.} \gdef^^ce{\^I} \gdef^^cf{\v D} % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} + \gdef^^d0{\DH} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} @@ -8281,7 +9148,7 @@ directory should work if nowhere else does.} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} - \gdef^^d9{\ringaccent U} + \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} @@ -8302,11 +9169,11 @@ directory should work if nowhere else does.} \gdef^^ea{\ogonek{e}} \gdef^^eb{\"e} \gdef^^ec{\v e} - \gdef^^ed{\'\i} - \gdef^^ee{\^\i} + \gdef^^ed{\'{\dotless{i}}} + \gdef^^ee{\^{\dotless{i}}} \gdef^^ef{\v d} % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} + \gdef^^f0{\dh} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} @@ -8325,11 +9192,11 @@ directory should work if nowhere else does.} } % UTF-8 character definitions. -% +% % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. -% +% \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz @@ -8394,7 +9261,7 @@ directory should work if nowhere else does.} \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax - \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% + %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% @@ -8479,6 +9346,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} + \DeclareUnicodeCharacter{00D0}{\DH} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} @@ -8491,6 +9359,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} + \DeclareUnicodeCharacter{00DE}{\TH} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} @@ -8510,6 +9379,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} + \DeclareUnicodeCharacter{00F0}{\dh} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} @@ -8522,6 +9392,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} + \DeclareUnicodeCharacter{00FE}{\th} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} @@ -8858,8 +9729,8 @@ directory should work if nowhere else does.} % Prevent underfull vbox error messages. \vbadness = 10000 -% Don't be so finicky about underfull hboxes, either. -\hbadness = 2000 +% Don't be very finicky about underfull hboxes, either. +\hbadness = 6666 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 @@ -9066,28 +9937,21 @@ directory should work if nowhere else does.} \message{and turning on texinfo input format.} +\def^^L{\par} % remove \outer, so ^L can appear in an @comment + % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. -\catcode`\"=\other -\catcode`\~=\other -\catcode`\^=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`\+=\other -\catcode`\$=\other -\def\normaldoublequote{"} -\def\normaltilde{~} -\def\normalcaret{^} -\def\normalunderscore{_} -\def\normalverticalbar{|} -\def\normalless{<} -\def\normalgreater{>} -\def\normalplus{+} -\def\normaldollar{$}%$ font-lock fix +\catcode`\"=\other \def\normaldoublequote{"} +\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix +\catcode`\+=\other \def\normalplus{+} +\catcode`\<=\other \def\normalless{<} +\catcode`\>=\other \def\normalgreater{>} +\catcode`\^=\other \def\normalcaret{^} +\catcode`\_=\other \def\normalunderscore{_} +\catcode`\|=\other \def\normalverticalbar{|} +\catcode`\~=\other \def\normaltilde{~} % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, @@ -9114,11 +9978,9 @@ directory should work if nowhere else does.} \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} +\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde \chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} +\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} @@ -9128,16 +9990,26 @@ directory should work if nowhere else does.} \catcode`\|=\active \def|{{\tt\char124}} + \chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} +\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless \chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix +\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr +\catcode`\+=\active \def+{{\tt \char 43}} +\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% used for headline/footline in the output routine, in case the page +% breaks in the middle of an @tex block. +\def\texinfochars{% + \let< = \activeless + \let> = \activegtr + \let~ = \activetilde + \let^ = \activehat + \markupsetuplqdefault \markupsetuprqdefault + \let\b = \strong + \let\i = \smartitalic + % in principle, all other definitions in \tex have to be undone too. +} % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. @@ -9165,34 +10037,48 @@ directory should work if nowhere else does.} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. -\catcode`\\=\active -@def@normalbackslash{{@tt@backslashcurfont}} +\catcode`\\=\active % @ for escape char from now on. + +% The story here is that in math mode, the \char of \backslashcurfont +% ends up printing the roman \ from the math symbol font (because \char +% in math mode uses the \mathcode, and plain.tex sets +% \mathcode`\\="026E). It seems better for @backslashchar{} to always +% print a typewriter backslash, hence we use an explicit \mathchar, +% which is the decimal equivalent of "715c (class 7, e.g., use \fam; +% ignored family value; char position "5C). We can't use " for the +% usual hex value because it has already been made active. +@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} +@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents. + % On startup, @fixbackslash assigns: % @let \ = @normalbackslash - % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. +% catcode other. We switch back and forth between these. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let\=@normalbackslash - @let"=@normaldoublequote - @let~=@normaltilde - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let<=@normalless - @let>=@normalgreater - @let+=@normalplus - @let$=@normaldollar %$ font-lock fix - @markupsetuplqdefault - @markupsetuprqdefault - @unsepspaces +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let\=@normalbackslash + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @markupsetuplqdefault + @markupsetuprqdefault + @unsepspaces + } } % Make _ and + \other characters, temporarily. @@ -9221,10 +10107,19 @@ directory should work if nowhere else does.} % Say @foo, not \foo, in error messages. @escapechar = `@@ +% These (along with & and #) are made active for url-breaking, so need +% active definitions as the normal characters. +@def@normaldot{.} +@def@normalquest{?} +@def@normalslash{/} + % These look ok in all fonts, so just make them not special. -@catcode`@& = @other -@catcode`@# = @other -@catcode`@% = @other +% @hashchar{} gets its own user-level command, because of #line. +@catcode`@& = @other @def@normalamp{&} +@catcode`@# = @other @def@normalhash{#} +@catcode`@% = @other @def@normalpercent{%} + +@let @hashchar = @normalhash @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @@ -9234,7 +10129,7 @@ directory should work if nowhere else does.} @catcode`@`=@active @markupsetuplqdefault @markupsetuprqdefault - + @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" diff --git a/doc/version.texi b/doc/version.texi index 3ee1c10..70b6658 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,10 +1,10 @@ @ignore -Copyright (C) 1988-2011 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. @end ignore -@set EDITION 6.2 -@set VERSION 6.2 -@set UPDATED September 6 2010 -@set UPDATED-MONTH September 2010 +@set EDITION 6.3 +@set VERSION 6.3 +@set UPDATED 6 January 2014 +@set UPDATED-MONTH January 2014 -@set LASTCHANGE Mon Sep 6 22:07:10 EDT 2010 +@set LASTCHANGE Mon Jan 6 16:26:51 EST 2014 diff --git a/examples/Makefile.in b/examples/Makefile.in index 617c796..04399ce 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -29,7 +29,7 @@ datarootdir = @datarootdir@ bindir = @bindir@ srcdir = @srcdir@ datadir = @datadir@ -VPATH = .:@srcdir@ +VPATH = @srcdir@ top_srcdir = @top_srcdir@ #BUILD_DIR = . BUILD_DIR = @BUILD_DIR@ @@ -68,11 +68,19 @@ TERMCAP_LIB = @TERMCAP_LIB@ $(CC) $(CCFLAGS) -c $< SOURCES = excallback.c fileman.c histexamp.c manexamp.c rl-fgets.c rl.c \ - rlcat.c rlevent.c rlptytest.c rltest.c rlversion.c + rlcat.c rlevent.c rlptytest.c rltest.c rlversion.c \ + rl-callbacktest.c hist_erasedups.c hist_purgecmd.c EXECUTABLES = fileman$(EXEEXT) rltest$(EXEEXT) rl$(EXEEXT) rlcat$(EXEEXT) \ - rlevent$(EXEEXT) rlversion$(EXEEXT) histexamp$(EXEEXT) -OBJECTS = fileman.o rltest.o rl.o rlevent.o rlcat.o rlversion.o histexamp.o + rlevent$(EXEEXT) rlversion$(EXEEXT) histexamp$(EXEEXT) \ + rl-callbacktest$(EXEEXT) \ + hist_erasedups$(EXEEXT) hist_purgecmd$(EXEEXT) + +OBJECTS = fileman.o rltest.o rl.o rlevent.o rlcat.o rlversion.o histexamp.o \ + rl-callbacktest.o hist_erasedups.o hist_purgecmd.o + +OTHEREXE = rlptytest$(EXEEXT) +OTHEROBJ = rlptytest.o all: $(EXECUTABLES) everything: all @@ -110,6 +118,9 @@ fileman$(EXEEXT): fileman.o $(READLINE_LIB) rltest$(EXEEXT): rltest.o $(READLINE_LIB) $(PURIFY) $(CC) $(LDFLAGS) -o $@ rltest.o $(READLINE_LIB) $(TERMCAP_LIB) +rl-callbacktest$(EXEEXT): rl-callbacktest.o $(READLINE_LIB) + $(PURIFY) $(CC) $(LDFLAGS) -o $@ rl-callbacktest.o $(READLINE_LIB) $(TERMCAP_LIB) + rlptytest$(EXEEXT): rlptytest.o $(READLINE_LIB) $(PURIFY) $(CC) $(LDFLAGS) -o $@ rlptytest.o $(READLINE_LIB) $(TERMCAP_LIB) @@ -119,9 +130,15 @@ rlversion$(EXEEXT): rlversion.o $(READLINE_LIB) histexamp$(EXEEXT): histexamp.o $(HISTORY_LIB) $(PURIFY) $(CC) $(LDFLAGS) -o $@ histexamp.o -lhistory $(TERMCAP_LIB) +hist_erasedups$(EXEEXT): hist_erasedups.o $(HISTORY_LIB) + $(PURIFY) $(CC) $(LDFLAGS) -o $@ hist_erasedups.o -lhistory $(TERMCAP_LIB) + +hist_purgecmd$(EXEEXT): hist_purgecmd.o $(HISTORY_LIB) + $(PURIFY) $(CC) $(LDFLAGS) -o $@ hist_purgecmd.o -lhistory $(TERMCAP_LIB) + clean mostlyclean: - $(RM) $(OBJECTS) - $(RM) $(EXECUTABLES) *.exe + $(RM) $(OBJECTS) $(OTHEROBJ) + $(RM) $(EXECUTABLES) $(OTHEREXE) *.exe distclean maintainer-clean: clean $(RM) Makefile @@ -131,13 +148,19 @@ rltest.o: rltest.c rl.o: rl.c rlversion.o: rlversion.c histexamp.o: histexamp.c +hist_erasedups.o: hist_erasedups.c +hist_purgecmd.o: hist_purgecmd.c rlcat.o: rlcat.c rlptytest.o: rlptytest.c +rl-callbacktest.o: rl-callbacktest.c fileman.o: $(top_srcdir)/readline.h rltest.o: $(top_srcdir)/readline.h rl.o: $(top_srcdir)/readline.h rlversion.o: $(top_srcdir)/readline.h histexamp.o: $(top_srcdir)/history.h +hist_erasedups.o: $(top_srcdir)/history.h +hist_purgecmd.o: $(top_srcdir)/history.h rlcat.o: $(top_srcdir)/readline.h $(top_srcdir)/history.h rlptytest.o: $(top_srcdir)/readline.h $(top_srcdir)/history.h +rl-callbacktest.o: $(top_srcdir)/readline.h $(top_srcdir)/history.h diff --git a/examples/excallback.c b/examples/excallback.c index 385492b..4206acf 100644 --- a/examples/excallback.c +++ b/examples/excallback.c @@ -40,13 +40,14 @@ Copyright (C) 1999 Jeff Solomon #include #endif -#include #include #ifdef HAVE_UNISTD_H #include #endif +#include +#include #include /* xxx - should make this more general */ #ifdef READLINE_LIBRARY @@ -55,6 +56,10 @@ Copyright (C) 1999 Jeff Solomon # include #endif +#ifndef STDIN_FILENO +# define STDIN_FILENO 0 +#endif + /* This little examples demonstrates the alternate interface to using readline. * In the alternate interface, the user maintains control over program flow and * only calls readline when STDIN is readable. Using the alternate interface, diff --git a/examples/hist_erasedups.c b/examples/hist_erasedups.c new file mode 100644 index 0000000..02d617e --- /dev/null +++ b/examples/hist_erasedups.c @@ -0,0 +1,121 @@ +/* hist_erasedups -- remove all duplicate entries from history file */ + +/* Copyright (C) 2011 Free Software Foundation, Inc. + + This file is part of the GNU Readline Library (Readline), a library for + reading lines of text with interactive input and history editing. + + Readline 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 3 of the License, or + (at your option) any later version. + + Readline 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 Readline. If not, see . +*/ +#ifndef READLINE_LIBRARY +#define READLINE_LIBRARY 1 +#endif + +#include +#include +#include + +#ifdef READLINE_LIBRARY +# include "history.h" +#else +# include +#endif + +#include + +#define STREQ(a, b) ((a)[0] == (b)[0] && strcmp(a, b) == 0) +#define STREQN(a, b, n) ((n == 0) ? (1) \ + : ((a)[0] == (b)[0] && strncmp(a, b, n) == 0)) + +extern int history_offset; + +static void +usage() +{ + fprintf (stderr, "hist_erasedups: usage: hist_erasedups [-t] [filename]\n"); + exit (2); +} + +int +main (argc, argv) + int argc; + char **argv; +{ + char *fn; + int r; + + while ((r = getopt (argc, argv, "t")) != -1) + { + switch (r) + { + case 't': + history_write_timestamps = 1; + break; + default: + usage (); + } + } + argv += optind; + argc -= optind; + + fn = argc ? argv[0] : getenv ("HISTFILE"); + if (fn == 0) + { + fprintf (stderr, "hist_erasedups: no history file\n"); + usage (); + } + + if ((r = read_history (fn)) != 0) + { + fprintf (stderr, "hist_erasedups: read_history: %s: %s\n", fn, strerror (r)); + exit (1); + } + + hist_erasedups (); + + if ((r = write_history (fn)) != 0) + { + fprintf (stderr, "hist_erasedups: write_history: %s: %s\n", fn, strerror (r)); + exit (1); + } + + exit (0); +} + +int +hist_erasedups () +{ + int r, n; + HIST_ENTRY *h, *temp; + + using_history (); + while (h = previous_history ()) + { + r = where_history (); + for (n = 0; n < r; n++) + { + temp = history_get (n+history_base); + if (STREQ (h->line, temp->line)) + { + remove_history (n); + r--; /* have to get one fewer now */ + n--; /* compensate for above increment */ + history_offset--; /* moving backwards in history list */ + } + } + } + using_history (); + + return r; +} diff --git a/examples/hist_purgecmd.c b/examples/hist_purgecmd.c new file mode 100644 index 0000000..94becd8 --- /dev/null +++ b/examples/hist_purgecmd.c @@ -0,0 +1,151 @@ +/* hist_purgecmd -- remove all instances of command or pattern from history + file */ + +/* Copyright (C) 2011 Free Software Foundation, Inc. + + This file is part of the GNU Readline Library (Readline), a library for + reading lines of text with interactive input and history editing. + + Readline 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 3 of the License, or + (at your option) any later version. + + Readline 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 Readline. If not, see . +*/ +#ifndef READLINE_LIBRARY +#define READLINE_LIBRARY 1 +#endif + +#include +#include +#include + +#include + +#ifdef READLINE_LIBRARY +# include "history.h" +#else +# include +#endif + +#include + +#define STREQ(a, b) ((a)[0] == (b)[0] && strcmp(a, b) == 0) +#define STREQN(a, b, n) ((n == 0) ? (1) \ + : ((a)[0] == (b)[0] && strncmp(a, b, n) == 0)) + +extern int history_offset; + +#define PURGE_REGEXP 0x01 + +static void +usage() +{ + fprintf (stderr, "hist_purgecmd: usage: hist_purgecmd [-r] [-t] [-f filename] command-spec\n"); + exit (2); +} + +int +main (argc, argv) + int argc; + char **argv; +{ + char *fn; + int r, flags; + + flags = 0; + fn = 0; + while ((r = getopt (argc, argv, "f:rt")) != -1) + { + switch (r) + { + case 'f': + fn = optarg; + break; + case 'r': + flags |= PURGE_REGEXP; + break; + case 't': + history_write_timestamps = 1; + break; + default: + usage (); + } + } + argv += optind; + argc -= optind; + + if (fn == 0) + fn = getenv ("HISTFILE"); + if (fn == 0) + { + fprintf (stderr, "hist_purgecmd: no history file\n"); + usage (); + } + + if ((r = read_history (fn)) != 0) + { + fprintf (stderr, "hist_purgecmd: read_history: %s: %s\n", fn, strerror (r)); + exit (1); + } + + for (r = 0; r < argc; r++) + hist_purgecmd (argv[r], flags); + + if ((r = write_history (fn)) != 0) + { + fprintf (stderr, "hist_purgecmd: write_history: %s: %s\n", fn, strerror (r)); + exit (1); + } + + exit (0); +} + +int +hist_purgecmd (cmd, flags) + char *cmd; + int flags; +{ + int r, n, rflags; + HIST_ENTRY *temp; + regex_t regex = { 0 }; + + if (flags & PURGE_REGEXP) + { + rflags = REG_EXTENDED|REG_NOSUB; + if (regcomp (®ex, cmd, rflags)) + { + fprintf (stderr, "hist_purgecmd: %s: invalid regular expression\n", cmd); + return -1; + } + } + + r = 0; + using_history (); + r = where_history (); + for (n = 0; n < r; n++) + { + temp = history_get (n+history_base); + if (((flags & PURGE_REGEXP) && (regexec (®ex, temp->line, 0, 0, 0) == 0)) || + ((flags & PURGE_REGEXP) == 0 && STREQ (temp->line, cmd))) + { + remove_history (n); + r--; /* have to get one fewer now */ + n--; /* compensate for above increment */ + history_offset--; /* moving backwards in history list */ + } + } + using_history (); + + if (flags & PURGE_REGEXP) + regfree (®ex); + + return r; +} diff --git a/examples/rl-callbacktest.c b/examples/rl-callbacktest.c new file mode 100644 index 0000000..87a781d --- /dev/null +++ b/examples/rl-callbacktest.c @@ -0,0 +1,87 @@ +/* Standard include files. stdio.h is required. */ +#include +#include +#include + +/* Used for select(2) */ +#include +#include + +#include + +/* Standard readline include files. */ +#if defined (READLINE_LIBRARY) +# include "readline.h" +# include "history.h" +#else +# include +# include +#endif + +static void cb_linehandler (char *); + +int running; +const char *prompt = "rltest$ "; + +/* Callback function called for each line when accept-line executed, EOF + seen, or EOF character read. This sets a flag and returns; it could + also call exit(3). */ +static void +cb_linehandler (char *line) +{ + /* Can use ^D (stty eof) or `exit' to exit. */ + if (line == NULL || strcmp (line, "exit") == 0) + { + if (line == 0) + printf ("\n"); + printf ("exit\n"); + /* This function needs to be called to reset the terminal settings, + and calling it from the line handler keeps one extra prompt from + being displayed. */ + rl_callback_handler_remove (); + + running = 0; + } + else + { + if (*line) + add_history (line); + printf ("input line: %s\n", line); + free (line); + } +} + +int +main (int c, char **v) +{ + fd_set fds; + int r; + + /* Install the line handler. */ + rl_callback_handler_install (prompt, cb_linehandler); + + /* Enter a simple event loop. This waits until something is available + to read on readline's input stream (defaults to standard input) and + calls the builtin character read callback to read it. It does not + have to modify the user's terminal settings. */ + running = 1; + while (running) + { + FD_ZERO (&fds); + FD_SET (fileno (rl_instream), &fds); + + r = select (FD_SETSIZE, &fds, NULL, NULL, NULL); + if (r < 0) + { + perror ("rltest: select"); + rl_callback_handler_remove (); + break; + } + + if (FD_ISSET (fileno (rl_instream), &fds)) + rl_callback_read_char (); + } + + printf ("rltest: Event loop has exited\n"); + return 0; +} diff --git a/examples/rlfe/config.h.in b/examples/rlfe/config.h.in index ad546b8..a843fec 100644 --- a/examples/rlfe/config.h.in +++ b/examples/rlfe/config.h.in @@ -377,3 +377,7 @@ #undef HAVE_SYS_STROPTS_H #undef HAVE_SYS_WAIT_H + +#undef HAVE_SGTTY_H + +#undef HAVE_SYS_SELECT_H diff --git a/examples/rlfe/configure b/examples/rlfe/configure index 17e902c..3928331 100755 --- a/examples/rlfe/configure +++ b/examples/rlfe/configure @@ -1,18 +1,22 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63. +# Generated by GNU Autoconf 2.68. +# # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -20,23 +24,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -44,7 +40,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -55,7 +57,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -78,13 +80,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -94,15 +89,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -114,12 +110,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -131,7 +131,255 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -145,8 +393,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -166,415 +418,127 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -if as_func_ret_success; then - : +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi else - exitcode=1 - echo as_func_ret_success failed. + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - exitcode=1 - echo positional parameters were not saved. + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi +as_executable_p=$as_test_x -test \$exitcode = 0) || { (exit 1); exit 1; } +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 7<&0 &1 +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -589,7 +553,6 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= @@ -597,6 +560,7 @@ PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= +PACKAGE_URL= ac_unique_file="rlfe.c" # Factoring default headers for most tests. @@ -681,6 +645,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -765,8 +730,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -811,8 +777,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -838,8 +803,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1043,8 +1007,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1060,8 +1023,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1091,17 +1053,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1110,7 +1072,7 @@ Try \`$0 --help' for more information." >&2 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1118,15 +1080,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1149,8 +1109,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1164,8 +1123,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1180,11 +1139,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1223,13 +1180,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1269,7 +1224,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1330,13 +1285,14 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to the package provider. _ACEOF ac_status=$? fi @@ -1400,58 +1356,409 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.63 +generated by GNU Autoconf 2.68 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.63. Invocation command line was - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF -exec 5>>config.log +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ASUNAME + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do +} # ac_fn_c_try_cpp + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.68. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } >&5 @@ -1488,9 +1795,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -1506,13 +1813,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -1524,11 +1831,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -1537,13 +1842,13 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -1562,11 +1867,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -1579,11 +1882,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -1597,11 +1898,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -1615,46 +1914,53 @@ _ASBOX exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h + # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -1665,19 +1971,23 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -1685,7 +1995,7 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1700,11 +2010,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -1714,17 +2024,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -1736,35 +2046,20 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi - - - - - - - - - - - - - - - - +## -------------------- ## +## Main body of script. ## +## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -1788,9 +2083,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -1801,24 +2096,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -1828,9 +2123,9 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -1841,24 +2136,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -1867,7 +2162,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -1881,9 +2176,9 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -1894,24 +2189,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -1921,9 +2216,9 @@ fi 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -1935,18 +2230,18 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -1965,10 +2260,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -1980,9 +2275,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -1993,24 +2288,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2024,9 +2319,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2037,24 +2332,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2067,7 +2362,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2078,57 +2373,37 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2144,8 +2419,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -2161,17 +2436,17 @@ do done rm -f $ac_rmfiles -if { (ac_try="$ac_link_default" +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2188,7 +2463,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2207,84 +2482,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -2299,32 +2531,83 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2336,17 +2619,17 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -2359,31 +2642,23 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2397,37 +2672,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -2436,20 +2690,16 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2460,35 +2710,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2499,36 +2725,12 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2539,42 +2741,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -2591,18 +2768,14 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -2659,32 +2832,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -2695,17 +2845,19 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2718,14 +2870,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -2740,11 +2892,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -2753,78 +2901,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : break fi @@ -2836,7 +2940,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -2847,11 +2951,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -2860,87 +2960,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -2951,9 +3004,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -2964,7 +3017,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue @@ -2984,7 +3037,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -2999,26 +3052,24 @@ esac $ac_path_GREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3032,7 +3083,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue @@ -3052,7 +3103,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3067,12 +3118,10 @@ esac $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -3080,29 +3129,25 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then +if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no @@ -3111,41 +3156,33 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi -{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } -if test "${ac_cv_search_strerror+set}" = set; then +if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -3170,105 +3207,45 @@ for ac_lib in '' cposix; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_strerror+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_strerror+:} false; then : break fi done -if test "${ac_cv_search_strerror+set}" = set; then - : +if ${ac_cv_search_strerror+:} false; then : + else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ main(){exit(0);} _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) +else if test $CC != cc ; then echo "Your $CC failed - restarting with CC=cc" 1>&6 @@ -3281,88 +3258,44 @@ exec $0 $configure_args fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ main(){exit(0);} _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -exec 5>&2 +else + exec 5>&2 eval $ac_link echo "CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;" 1>&6 echo "$ac_compile" 1>&6 -{ { $as_echo "$as_me:$LINENO: error: Can't run the compiler - sorry" >&5 -$as_echo "$as_me: error: Can't run the compiler - sorry" >&2;} - { (exit 1); exit 1; }; } +as_fn_error $? "Can't run the compiler - sorry" "$LINENO" 5 fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ main() @@ -3372,50 +3305,21 @@ main() } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { { $as_echo "$as_me:$LINENO: error: Your compiler does not set the exit status - sorry" >&5 -$as_echo "$as_me: error: Your compiler does not set the exit status - sorry" >&2;} - { (exit 1); exit 1; }; } -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_run "$LINENO"; then : + as_fn_error $? "Your compiler does not set the exit status - sorry" "$LINENO" 5 fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -3426,24 +3330,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3453,19 +3357,15 @@ done if test -f etc/toolcheck; then -{ $as_echo "$as_me:$LINENO: checking for buggy tools..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for buggy tools..." >&5 $as_echo "$as_me: checking for buggy tools..." >&6;} sh etc/toolcheck 1>&6 fi -{ $as_echo "$as_me:$LINENO: checking for System V..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for System V..." >&5 $as_echo "$as_me: checking for System V..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3478,44 +3378,17 @@ int x = SIGCHLD | FNDELAY; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - cat >>confdefs.h <<\_ACEOF -#define SYSV 1 -_ACEOF +else + $as_echo "#define SYSV 1" >>confdefs.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking for Solaris 2.x..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris 2.x..." >&5 $as_echo "$as_me: checking for Solaris 2.x..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(SVR4) && defined(sun) yes @@ -3523,20 +3396,16 @@ cat >>conftest.$ac_ext <<_ACEOF _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then + $EGREP "yes" >/dev/null 2>&1; then : LIBS="$LIBS -lsocket -lnsl -lkstat" fi rm -f conftest* -{ $as_echo "$as_me:$LINENO: checking select..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select..." >&5 $as_echo "$as_me: checking select..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3547,40 +3416,13 @@ select(0, 0, 0, 0, 0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - LIBS="$LIBS -lnet -lnsl" -{ $as_echo "$as_me:$LINENO: checking select with $LIBS..." >&5 +else + LIBS="$LIBS -lnet -lnsl" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select with $LIBS..." >&5 $as_echo "$as_me: checking select with $LIBS..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3591,63 +3433,27 @@ select(0, 0, 0, 0, 0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - { { $as_echo "$as_me:$LINENO: error: !!! no select - no screen" >&5 -$as_echo "$as_me: error: !!! no select - no screen" >&2;} - { (exit 1); exit 1; }; } +else + as_fn_error $? "!!! no select - no screen" "$LINENO" 5 fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking select return value..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select return value..." >&5 $as_echo "$as_me: checking select return value..." >&6;} -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -3749,55 +3555,22 @@ main() } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : echo "- select is ok" 1>&6 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -echo "- select can't count" 1>&6 - cat >>confdefs.h <<\_ACEOF -#define SELECT_BROKEN 1 -_ACEOF + echo "- select can't count" 1>&6 + $as_echo "#define SELECT_BROKEN 1" >>confdefs.h fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -{ $as_echo "$as_me:$LINENO: checking for tgetent..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent..." >&5 $as_echo "$as_me: checking for tgetent..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3808,41 +3581,14 @@ tgetent((char *)0, (char *)0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - olibs="$LIBS" +else + olibs="$LIBS" LIBS="-lcurses $olibs" -{ $as_echo "$as_me:$LINENO: checking libcurses..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libcurses..." >&5 $as_echo "$as_me: checking libcurses..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3859,40 +3605,13 @@ tgetent((char *)0, (char *)0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - LIBS="-ltermcap $olibs" -{ $as_echo "$as_me:$LINENO: checking libtermcap..." >&5 +else + LIBS="-ltermcap $olibs" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libtermcap..." >&5 $as_echo "$as_me: checking libtermcap..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3903,40 +3622,13 @@ tgetent((char *)0, (char *)0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - LIBS="-ltermlib $olibs" -{ $as_echo "$as_me:$LINENO: checking libtermlib..." >&5 +else + LIBS="-ltermlib $olibs" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libtermlib..." >&5 $as_echo "$as_me: checking libtermlib..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3947,40 +3639,13 @@ tgetent((char *)0, (char *)0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - LIBS="-lncurses $olibs" -{ $as_echo "$as_me:$LINENO: checking libncurses..." >&5 +else + LIBS="-lncurses $olibs" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libncurses..." >&5 $as_echo "$as_me: checking libncurses..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3991,130 +3656,56 @@ tgetent((char *)0, (char *)0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - { { $as_echo "$as_me:$LINENO: error: !!! no tgetent - no screen" >&5 -$as_echo "$as_me: error: !!! no tgetent - no screen" >&2;} - { (exit 1); exit 1; }; } +else + as_fn_error $? "!!! no tgetent - no screen" "$LINENO" 5 fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +extern char *tgoto(); main() { exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : echo "- you use the termcap database" 1>&6 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -echo "- you use the terminfo database" 1>&6 - cat >>confdefs.h <<\_ACEOF -#define TERMINFO 1 -_ACEOF + echo "- you use the terminfo database" 1>&6 + $as_echo "#define TERMINFO 1" >>confdefs.h fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -{ $as_echo "$as_me:$LINENO: checking ospeed..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ospeed..." >&5 $as_echo "$as_me: checking ospeed..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern short ospeed; int @@ -4125,322 +3716,76 @@ ospeed=5; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >>confdefs.h <<\_ACEOF -#define NEED_OSPEED 1 -_ACEOF - -fi +if ac_fn_c_try_link "$LINENO"; then : -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for /dev/ptc..." >&5 -$as_echo "$as_me: checking for /dev/ptc..." >&6;} -if test -r /dev/ptc; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_DEV_PTC 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for SVR4 ptys..." >&5 -$as_echo "$as_me: checking for SVR4 ptys..." >&6;} -sysvr4ptys= -if test -c /dev/ptmx ; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -ptsname(0);grantpt(0);unlockpt(0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_SVR4_PTYS 1 -_ACEOF - -sysvr4ptys=1 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - -for ac_func in getpt -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -if test -z "$sysvr4ptys"; then - -for ac_func in openpty -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif +else + $as_echo "#define NEED_OSPEED 1" >>confdefs.h -#undef $ac_func +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc..." >&5 +$as_echo "$as_me: checking for /dev/ptc..." >&6;} +if test -r /dev/ptc; then +$as_echo "#define HAVE_DEV_PTC 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SVR4 ptys..." >&5 +$as_echo "$as_me: checking for SVR4 ptys..." >&6;} +sysvr4ptys= +if test -c /dev/ptmx ; then +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ int main () { -return $ac_func (); +ptsname(0);grantpt(0);unlockpt(0); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : + $as_echo "#define HAVE_SVR4_PTYS 1" >>confdefs.h - eval "$as_ac_var=no" +sysvr4ptys=1 +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +for ac_func in getpt +do : + ac_fn_c_check_func "$LINENO" "getpt" "ac_cv_func_getpt" +if test "x$ac_cv_func_getpt" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPT 1 +_ACEOF + fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +done + + +if test -z "$sysvr4ptys"; then +for ac_func in openpty +do : + ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty" +if test "x$ac_cv_func_openpty" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_OPENPTY 1 _ACEOF else - { $as_echo "$as_me:$LINENO: checking for openpty in -lutil" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty in -lutil" >&5 $as_echo_n "checking for openpty in -lutil... " >&6; } -if test "${ac_cv_lib_util_openpty+set}" = set; then +if ${ac_cv_lib_util_openpty+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lutil $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4458,46 +3803,19 @@ return openpty (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_util_openpty=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_util_openpty=no + ac_cv_lib_util_openpty=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_openpty" >&5 $as_echo "$ac_cv_lib_util_openpty" >&6; } -if test "x$ac_cv_lib_util_openpty" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_OPENPTY 1 -_ACEOF +if test "x$ac_cv_lib_util_openpty" = xyes; then : + $as_echo "#define HAVE_OPENPTY 1" >>confdefs.h LIBS="$LIBS -lutil" fi @@ -4506,18 +3824,14 @@ done fi -{ $as_echo "$as_me:$LINENO: checking for ptyranges..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ptyranges..." >&5 $as_echo "$as_me: checking for ptyranges..." >&6;} if test -d /dev/ptym ; then pdir='/dev/ptym' else pdir='/dev' fi -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef M_UNIX yes; @@ -4525,7 +3839,7 @@ cat >>conftest.$ac_ext <<_ACEOF _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then + $EGREP "yes" >/dev/null 2>&1; then : ptys=`echo /dev/ptyp??` else ptys=`echo $pdir/pty??` @@ -4547,13 +3861,13 @@ fi # Check whether --with-pty-mode was given. -if test "${with_pty_mode+set}" = set; then +if test "${with_pty_mode+set}" = set; then : withval=$with_pty_mode; ptymode="${withval}" fi # Check whether --with-pty-group was given. -if test "${with_pty_group+set}" = set; then +if test "${with_pty_group+set}" = set; then : withval=$with_pty_group; ptygrp="${withval}" fi @@ -4569,23 +3883,16 @@ _ACEOF else -{ $as_echo "$as_me:$LINENO: checking default tty permissions/group..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group..." >&5 $as_echo "$as_me: checking default tty permissions/group..." >&6;} rm -f conftest_grp -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -4617,28 +3924,7 @@ main() } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : if test -f conftest_grp; then ptygrp=`cat conftest_grp` @@ -4658,19 +3944,14 @@ _ACEOF fi else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) WRITEPATH='' XTERMPATH='' # Extract the first word of "write", so it can be a program name with args. set dummy write; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_WRITEPATH+set}" = set; then +if ${ac_cv_path_WRITEPATH+:} false; then : $as_echo_n "(cached) " >&6 else case $WRITEPATH in @@ -4683,14 +3964,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_WRITEPATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -4698,19 +3979,19 @@ esac fi WRITEPATH=$ac_cv_path_WRITEPATH if test -n "$WRITEPATH"; then - { $as_echo "$as_me:$LINENO: result: $WRITEPATH" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WRITEPATH" >&5 $as_echo "$WRITEPATH" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xterm", so it can be a program name with args. set dummy xterm; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XTERMPATH+set}" = set; then +if ${ac_cv_path_XTERMPATH+:} false; then : $as_echo_n "(cached) " >&6 else case $XTERMPATH in @@ -4723,14 +4004,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XTERMPATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -4738,10 +4019,10 @@ esac fi XTERMPATH=$ac_cv_path_XTERMPATH if test -n "$XTERMPATH"; then - { $as_echo "$as_me:$LINENO: result: $XTERMPATH" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XTERMPATH" >&5 $as_echo "$XTERMPATH" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4787,11 +4068,10 @@ _ACEOF fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest_grp fi @@ -4799,20 +4079,14 @@ if test -n "$posix" ; then echo "assuming posix signal definition" 1>&6 -cat >>confdefs.h <<\_ACEOF -#define SIGVOID 1 -_ACEOF +$as_echo "#define SIGVOID 1" >>confdefs.h else -{ $as_echo "$as_me:$LINENO: checking return type of signal handlers..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers..." >&5 $as_echo "$as_me: checking return type of signal handlers..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4828,43 +4102,14 @@ int i; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >>confdefs.h <<\_ACEOF -#define SIGVOID 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define SIGVOID 1" >>confdefs.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking sigset..." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sigset..." >&5 $as_echo "$as_me: checking sigset..." >&6;} -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -4884,57 +4129,21 @@ sigset(0, (int (*)())0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - cat >>confdefs.h <<\_ACEOF -#define USESIGSET 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_link "$LINENO"; then : + $as_echo "#define USESIGSET 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking signal implementation..." >&5 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking signal implementation..." >&5 $as_echo "$as_me: checking signal implementation..." >&6;} -if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -4971,58 +4180,25 @@ main() } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -cat >>confdefs.h <<\_ACEOF -#define SYSVSIGS 1 -_ACEOF +else + $as_echo "#define SYSVSIGS 1" >>confdefs.h fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5037,48 +4213,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -5088,18 +4239,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -5109,14 +4256,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5137,274 +4280,67 @@ main () { int i; for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - -for ac_header in sys/stropts.h sys/wait.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_run "$LINENO"; then : + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - ac_header_compiler=no fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +$as_echo "#define STDC_HEADERS 1" >>confdefs.h -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +done -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +for ac_header in sys/stropts.h sys/wait.h sgtty.h sys/select.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + +done + +for ac_header in term.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "term.h" "ac_cv_header_term_h" "$ac_includes_default" +if test "x$ac_cv_header_term_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_TERM_H 1 _ACEOF fi @@ -5441,13 +4377,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -5455,8 +4391,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -5478,12 +4414,23 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -5497,14 +4444,15 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -5512,13 +4460,14 @@ LTLIBOBJS=$ac_ltlibobjs -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -5528,17 +4477,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -5546,23 +4496,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -5570,7 +4512,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -5581,7 +4529,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -5604,13 +4552,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -5620,15 +4561,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -5640,12 +4582,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -5657,7 +4603,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -5671,8 +4699,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -5692,76 +4724,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -5790,8 +4771,56 @@ fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -5810,10 +4839,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -5828,13 +4857,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.63. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5865,13 +4900,15 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -5887,16 +4924,17 @@ $config_files Configuration headers: $config_headers -Report bugs to ." +Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -5912,11 +4950,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -5930,27 +4973,29 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -5958,11 +5003,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -6011,9 +5055,7 @@ do "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -6035,26 +5077,24 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -6062,7 +5102,13 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' @@ -6070,7 +5116,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -6079,24 +5125,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6104,7 +5144,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -6118,7 +5158,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -6132,7 +5172,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -6152,7 +5192,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -6184,23 +5224,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -6212,7 +5258,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -6224,13 +5270,11 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6315,9 +5359,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -6330,9 +5372,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6351,7 +5391,7 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -6360,12 +5400,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -6376,7 +5414,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -6388,10 +5426,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -6419,47 +5455,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -6507,7 +5503,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -6517,12 +5512,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -6532,7 +5526,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -6558,27 +5552,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -6587,27 +5578,21 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; @@ -6617,15 +5602,12 @@ $as_echo "$as_me: error: could not create -" >&2;} done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -6646,10 +5628,10 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/examples/rlfe/configure.in b/examples/rlfe/configure.in index 533f9dc..ad7ce65 100644 --- a/examples/rlfe/configure.in +++ b/examples/rlfe/configure.in @@ -8,7 +8,7 @@ AC_SUBST(VERSION) dnl dnl Define some useful macros dnl -AC_DEFUN(AC_PROGRAM_SOURCE, +AC_DEFUN([AC_PROGRAM_SOURCE], [AC_REQUIRE([AC_PROG_CPP])AC_PROVIDE([$0])cat > conftest.c < # endif # else /* TERMIO */ -# include +# if defined (HAVE_SGTTY_H) +# include +# endif # endif /* TERMIO */ #endif /* POSIX */ @@ -490,7 +492,7 @@ extern int errno; * select stuff */ -#if defined(M_XENIX) || defined(M_UNIX) || defined(_SEQUENT_) +#if defined(M_XENIX) || defined(M_UNIX) || defined(_SEQUENT_) || defined (__INTERIX) #include /* for timeval + FD... */ #endif diff --git a/examples/rlfe/rlfe.c b/examples/rlfe/rlfe.c index eacd5ab..f40b2dd 100644 --- a/examples/rlfe/rlfe.c +++ b/examples/rlfe/rlfe.c @@ -547,7 +547,14 @@ main(int argc, char** argv) #endif t.c_lflag &= ~(ICANON | ISIG | ECHO | ECHOCTL | ECHOE | \ - ECHOK | ECHOKE | ECHONL | ECHOPRT ); + ECHOK | ECHONL +#if defined (ECHOKE) + | ECHOKE +#endif +#if defined (ECHOPRT) + | ECHOPRT +#endif + ); t.c_iflag &= ~ICRNL; t.c_iflag |= IGNBRK; t.c_cc[VMIN] = 1; diff --git a/examples/rlptytest.c b/examples/rlptytest.c index 79257db..0699e86 100644 --- a/examples/rlptytest.c +++ b/examples/rlptytest.c @@ -19,7 +19,7 @@ #include -#if 0 /* LINUX */ +#if 1 /* LINUX */ #include #else #include @@ -316,6 +316,8 @@ main() if (val == -1) return -1; + signal (SIGINT, sigint); + val = init_readline (slavefd, slavefd); if (val == -1) return -1; @@ -324,8 +326,6 @@ main() if (val == -1) return -1; - signal (SIGINT, sigint); - val = main_loop (); tty_reset (STDIN_FILENO); diff --git a/funmap.c b/funmap.c index 86e375f..363507b 100644 --- a/funmap.c +++ b/funmap.c @@ -98,6 +98,8 @@ static const FUNMAP default_funmap[] = { { "forward-word", rl_forward_word }, { "history-search-backward", rl_history_search_backward }, { "history-search-forward", rl_history_search_forward }, + { "history-substring-search-backward", rl_history_substr_search_backward }, + { "history-substring-search-forward", rl_history_substr_search_forward }, { "insert-comment", rl_insert_comment }, { "insert-completions", rl_insert_completions }, { "kill-whole-line", rl_kill_full_line }, @@ -118,6 +120,7 @@ static const FUNMAP default_funmap[] = { #endif { "possible-completions", rl_possible_completions }, { "previous-history", rl_get_previous_history }, + { "print-last-kbd-macro", rl_print_last_kbd_macro }, { "quoted-insert", rl_quoted_insert }, { "re-read-init-file", rl_re_read_init_file }, { "redraw-current-line", rl_refresh_line}, @@ -236,7 +239,7 @@ rl_initialize_funmap () /* Produce a NULL terminated array of known function names. The array is sorted. The array itself is allocated, but not the strings inside. - You should free () the array when you done, but not the pointrs. */ + You should free () the array when you done, but not the pointers. */ const char ** rl_funmap_names () { diff --git a/histexpand.c b/histexpand.c index 8fb3798..4899b9d 100644 --- a/histexpand.c +++ b/histexpand.c @@ -1,6 +1,6 @@ /* histexpand.c -- history expansion. */ -/* Copyright (C) 1989-2010 Free Software Foundation, Inc. +/* Copyright (C) 1989-2012 Free Software Foundation, Inc. This file contains the GNU History Library (History), a set of routines for managing the text of previously typed lines. @@ -272,6 +272,8 @@ get_history_event (string, caller_index, delimiting_quote) if (local_index == 0 || substring_okay) { entry = current_history (); + if (entry == 0) + FAIL_SEARCH (); history_offset = history_length; /* If this was a substring search, then remember the @@ -519,9 +521,9 @@ postproc_subst_rhs () the returned string. Returns the new index into string in *END_INDEX_PTR, and the expanded specifier in *RET_STRING. */ static int -history_expand_internal (string, start, end_index_ptr, ret_string, current_line) +history_expand_internal (string, start, qc, end_index_ptr, ret_string, current_line) char *string; - int start, *end_index_ptr; + int start, qc, *end_index_ptr; char **ret_string; char *current_line; /* for !# */ { @@ -557,30 +559,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line) event = current_line; } else - { - int quoted_search_delimiter = 0; - - /* If the character before this `!' is a double or single - quote, then this expansion takes place inside of the - quoted string. If we have to search for some text ("!foo"), - allow the delimiter to end the search string. */ -#if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) - { - int ch, l; - l = _rl_find_prev_mbchar (string, i, MB_FIND_ANY); - ch = string[l]; - /* XXX - original patch had i - 1 ??? If i == 0 it would fail. */ - if (i && (ch == '\'' || ch == '"')) - quoted_search_delimiter = ch; - } - else -#endif /* HANDLE_MULTIBYTE */ - if (i && (string[i - 1] == '\'' || string[i - 1] == '"')) - quoted_search_delimiter = string[i - 1]; - - event = get_history_event (string, &i, quoted_search_delimiter); - } + event = get_history_event (string, &i, qc); if (event == 0) { @@ -854,7 +833,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line) } i += 2; } - /* Done with modfiers. */ + /* Done with modifiers. */ /* Believe it or not, we have to back the pointer up by one. */ --i; @@ -928,7 +907,7 @@ history_expand (hstring, output) char **output; { register int j; - int i, r, l, passc, cc, modified, eindex, only_printing, dquote, flag; + int i, r, l, passc, cc, modified, eindex, only_printing, dquote, squote, flag; char *string; /* The output string, and its length. */ @@ -991,7 +970,7 @@ history_expand (hstring, output) /* `!' followed by one of the characters in history_no_expand_chars is NOT an expansion. */ - for (i = dquote = 0; string[i]; i++) + for (i = dquote = squote = 0; string[i]; i++) { #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1022,6 +1001,13 @@ history_expand (hstring, output) { if (cc == 0 || member (cc, history_no_expand_chars)) continue; + /* DQUOTE won't be set unless history_quotes_inhibit_expansion + is set. The idea here is to treat double-quoted strings the + same as the word outside double quotes; in effect making the + double quote part of history_no_expand_chars when DQUOTE is + set. */ + else if (dquote && cc == '"') + continue; /* If the calling application has set history_inhibit_expansion_function to a function that checks for special cases that should not be history expanded, @@ -1071,9 +1057,9 @@ history_expand (hstring, output) } /* Extract and perform the substitution. */ - for (passc = dquote = i = j = 0; i < l; i++) + for (passc = dquote = squote = i = j = 0; i < l; i++) { - int tchar = string[i]; + int qc, tchar = string[i]; if (passc) { @@ -1130,8 +1116,14 @@ history_expand (hstring, output) case '\'': { /* If history_quotes_inhibit_expansion is set, single quotes - inhibit history expansion. */ - if (dquote == 0 && history_quotes_inhibit_expansion) + inhibit history expansion, otherwise they are treated like + double quotes. */ + if (squote) + { + squote = 0; + ADD_CHAR (tchar); + } + else if (dquote == 0 && history_quotes_inhibit_expansion) { int quote, slen; @@ -1146,6 +1138,11 @@ history_expand (hstring, output) ADD_STRING (temp); xfree (temp); } + else if (dquote == 0 && squote == 0 && history_quotes_inhibit_expansion == 0) + { + squote = 1; + ADD_CHAR (string[i]); + } else ADD_CHAR (string[i]); break; @@ -1171,6 +1168,7 @@ history_expand (hstring, output) characters in history_no_expand_chars, then it is not a candidate for expansion of any kind. */ if (cc == 0 || member (cc, history_no_expand_chars) || + (dquote && cc == '"') || (history_inhibit_expansion_function && (*history_inhibit_expansion_function) (string, i))) { ADD_CHAR (string[i]); @@ -1196,8 +1194,8 @@ history_expand (hstring, output) break; } #endif - - r = history_expand_internal (string, i, &eindex, &temp, result); + qc = squote ? '\'' : (dquote ? '"' : 0); + r = history_expand_internal (string, i, qc, &eindex, &temp, result); if (r < 0) { *output = temp; diff --git a/histfile.c b/histfile.c index 30a6182..bb74315 100644 --- a/histfile.c +++ b/histfile.c @@ -125,14 +125,7 @@ history_filename (filename) home = sh_get_env_value ("HOME"); if (home == 0) - { -#if 0 - home = "."; - home_len = 1; -#else - return (NULL); -#endif - } + return (NULL); else home_len = strlen (home); @@ -148,6 +141,21 @@ history_filename (filename) return (return_val); } +static char * +history_backupfile (filename) + const char *filename; +{ + char *ret; + size_t len; + + len = strlen (filename); + ret = xmalloc (len + 2); + strcpy (ret, filename); + ret[len] = '-'; + ret[len+1] = '\0'; + return ret; +} + /* Add the contents of FILENAME to the history list, a line at a time. If FILENAME is NULL, then read from ~/.history. Returns 0 if successful, or errno if not. */ @@ -403,14 +411,16 @@ history_truncate_file (fname, lines) truncate to. */ if (bp > buffer && ((file = open (filename, O_WRONLY|O_TRUNC|O_BINARY, 0600)) != -1)) { - write (file, bp, chars_read - (bp - buffer)); + if (write (file, bp, chars_read - (bp - buffer)) < 0) + rv = errno; #if defined (__BEOS__) /* BeOS ignores O_TRUNC. */ ftruncate (file, chars_read - (bp - buffer)); #endif - close (file); + if (close (file) < 0 && rv == 0) + rv = errno; } truncate_exit: @@ -430,7 +440,7 @@ history_do_write (filename, nelements, overwrite) int nelements, overwrite; { register int i; - char *output; + char *output, *bakname; int file, mode, rv; #ifdef HISTORY_USE_MMAP size_t cursize; @@ -440,13 +450,22 @@ history_do_write (filename, nelements, overwrite) mode = overwrite ? O_WRONLY|O_CREAT|O_TRUNC|O_BINARY : O_WRONLY|O_APPEND|O_BINARY; #endif output = history_filename (filename); + bakname = (overwrite && output) ? history_backupfile (output) : 0; + + if (output && bakname) + rename (output, bakname); + file = output ? open (output, mode, 0600) : -1; rv = 0; if (file == -1) { + rv = errno; + if (output && bakname) + rename (bakname, output); FREE (output); - return (errno); + FREE (bakname); + return (rv); } #ifdef HISTORY_USE_MMAP @@ -486,8 +505,11 @@ history_do_write (filename, nelements, overwrite) { mmap_error: rv = errno; - FREE (output); close (file); + if (output && bakname) + rename (bakname, output); + FREE (output); + FREE (bakname); return rv; } #else @@ -495,8 +517,11 @@ mmap_error: if (buffer == 0) { rv = errno; - FREE (output); close (file); + if (output && bakname) + rename (bakname, output); + FREE (output); + FREE (bakname); return rv; } #endif @@ -524,9 +549,16 @@ mmap_error: #endif } - close (file); + if (close (file) < 0 && rv == 0) + rv = errno; + + if (rv != 0 && output && bakname) + rename (bakname, output); + else if (rv == 0 && bakname) + unlink (bakname); FREE (output); + FREE (bakname); return (rv); } diff --git a/history.c b/history.c index d7894cf..1181e7c 100644 --- a/history.c +++ b/history.c @@ -1,6 +1,6 @@ /* history.c -- standalone history library */ -/* Copyright (C) 1989-2009 Free Software Foundation, Inc. +/* Copyright (C) 1989-2011 Free Software Foundation, Inc. This file contains the GNU History Library (History), a set of routines for managing the text of previously typed lines. @@ -236,7 +236,7 @@ history_get_time (hist) ts = hist->timestamp; if (ts[0] != history_comment_char) return 0; - t = (time_t) atol (ts + 1); /* XXX - should use strtol() here */ + t = (time_t) strtol (ts + 1, (char **)NULL, 10); /* XXX - should use strtol() here */ return t; } @@ -318,7 +318,7 @@ add_history_time (string) { HIST_ENTRY *hs; - if (string == 0) + if (string == 0 || history_length < 1) return; hs = the_history[history_length - 1]; FREE (hs->timestamp); @@ -394,7 +394,7 @@ replace_history_entry (which, line, data) WHICH >= 0 means to replace that particular history entry's data, as long as it matches OLD. */ void -replace_history_data (which,old, new) +replace_history_data (which, old, new) int which; histdata_t *old, *new; { diff --git a/history.h b/history.h index 1257e66..c8af47e 100644 --- a/history.h +++ b/history.h @@ -216,7 +216,7 @@ extern int history_truncate_file PARAMS((const char *, int)); -1) If there was an error in expansion. 2) If the returned line should just be printed. - If an error ocurred in expansion, then OUTPUT contains a descriptive + If an error occurred in expansion, then OUTPUT contains a descriptive error message. */ extern int history_expand PARAMS((char *, char **)); diff --git a/input.c b/input.c index b49af88..117dfe8 100644 --- a/input.c +++ b/input.c @@ -1,6 +1,6 @@ /* input.c -- character input functions for readline. */ -/* Copyright (C) 1994-2010 Free Software Foundation, Inc. +/* Copyright (C) 1994-2013 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -45,6 +45,8 @@ # include "ansi_stdlib.h" #endif /* HAVE_STDLIB_H */ +#include + #include "posixselect.h" #if defined (FIONREAD_IN_SYS_IOCTL) @@ -78,6 +80,13 @@ extern int errno; character input. */ rl_hook_func_t *rl_event_hook = (rl_hook_func_t *)NULL; +/* A function to call if a read(2) is interrupted by a signal. */ +rl_hook_func_t *rl_signal_event_hook = (rl_hook_func_t *)NULL; + +/* A function to replace _rl_input_available for applications using the + callback interface. */ +rl_hook_func_t *rl_input_available_hook = (rl_hook_func_t *)NULL; + rl_getc_func_t *rl_getc_function = rl_getc; static int _keyboard_input_timeout = 100000; /* 0.1 seconds; it's in usec */ @@ -104,6 +113,12 @@ _rl_any_typein () return any_typein; } +int +_rl_pushed_input_available () +{ + return (push_index != pop_index); +} + /* Return the amount of space available in the buffer for stuffing characters. */ static int @@ -117,7 +132,7 @@ ibuffer_space () /* Get a key from the buffer of characters to be read. Return the key in KEY. - Result is KEY if there was a key, or 0 if there wasn't. */ + Result is non-zero if there was a key, or 0 if there wasn't. */ static int rl_get_char (key) int *key; @@ -154,12 +169,6 @@ _rl_unget_char (key) return (0); } -int -_rl_pushed_input_available () -{ - return (push_index != pop_index); -} - /* If a character is available to be read, then read it and stuff it into IBUFFER. Otherwise, just return. Returns number of characters read (0 if none available) and -1 on error (EIO). */ @@ -291,6 +300,9 @@ _rl_input_available () #endif int tty; + if (rl_input_available_hook) + return (*rl_input_available_hook) (); + tty = fileno (rl_instream); #if defined (HAVE_SELECT) @@ -411,8 +423,6 @@ rl_read_key () { int c, r; - rl_key_sequence_length++; - if (rl_pending_input) { c = rl_pending_input; @@ -437,7 +447,7 @@ rl_read_key () rl_done = 1; return ('\n'); } - else if (r == 1) /* read something */ + else if (r > 0) /* read something */ continue; RL_CHECK_SIGNALS (); @@ -450,6 +460,7 @@ rl_read_key () { if (rl_get_char (&c) == 0) c = (*rl_getc_function) (rl_instream); +/* fprintf(stderr, "rl_read_key: calling RL_CHECK_SIGNALS: _rl_caught_signal = %d", _rl_caught_signal); */ RL_CHECK_SIGNALS (); } } @@ -468,6 +479,8 @@ rl_getc (stream) { RL_CHECK_SIGNALS (); + /* We know at this point that _rl_caught_signal == 0 */ + #if defined (__MINGW32__) if (isatty (fileno (stream))) return (getch ()); @@ -509,11 +522,23 @@ rl_getc (stream) #undef X_EWOULDBLOCK #undef X_EAGAIN - /* If the error that we received was SIGINT, then try again, - this is simply an interrupted system call to read (). - Otherwise, some error ocurred, also signifying EOF. */ +/* fprintf(stderr, "rl_getc: result = %d errno = %d\n", result, errno); */ + + /* If the error that we received was EINTR, then try again, + this is simply an interrupted system call to read (). We allow + the read to be interrupted if we caught SIGHUP or SIGTERM (but + not SIGINT; let the signal handler deal with that), but if the + application sets an event hook, call it for other signals. + Otherwise (not EINTR), some error occurred, also signifying EOF. */ if (errno != EINTR) return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); + else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) + return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); + else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) + RL_CHECK_SIGNALS (); + + if (rl_signal_event_hook) + (*rl_signal_event_hook) (); } } diff --git a/isearch.c b/isearch.c index 712b9ea..6f6a7a6 100644 --- a/isearch.c +++ b/isearch.c @@ -6,7 +6,7 @@ /* */ /* **************************************************************** */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -110,7 +110,7 @@ _rl_scxt_alloc (type, flags) cxt->history_pos = 0; cxt->direction = 0; - cxt->lastc = 0; + cxt->prevc = cxt->lastc = 0; cxt->sline = 0; cxt->sline_len = cxt->sline_index = 0; @@ -156,16 +156,16 @@ rl_forward_search_history (sign, key) WHERE is the history list number of the current line. If it is -1, then this line is the starting one. */ static void -rl_display_search (search_string, reverse_p, where) +rl_display_search (search_string, flags, where) char *search_string; - int reverse_p, where; + int flags, where; { char *message; int msglen, searchlen; searchlen = (search_string && *search_string) ? strlen (search_string) : 0; - message = (char *)xmalloc (searchlen + 33); + message = (char *)xmalloc (searchlen + 64); msglen = 0; #if defined (NOTDEF) @@ -178,7 +178,13 @@ rl_display_search (search_string, reverse_p, where) message[msglen++] = '('; - if (reverse_p) + if (flags & SF_FAILED) + { + strcpy (message + msglen, "failed "); + msglen += 7; + } + + if (flags & SF_REVERSE) { strcpy (message + msglen, "reverse-"); msglen += 8; @@ -215,7 +221,7 @@ _rl_isearch_init (direction) cxt->search_terminators = _rl_isearch_terminators ? _rl_isearch_terminators : default_isearch_terminators; - /* Create an arrary of pointers to the lines that we want to search. */ + /* Create an array of pointers to the lines that we want to search. */ hlist = history_list (); rl_maybe_replace_line (); i = 0; @@ -312,13 +318,19 @@ _rl_search_getchar (cxt) RL_UNSETSTATE(RL_STATE_MOREINPUT); #if defined (HANDLE_MULTIBYTE) + /* This ends up with C (and LASTC) being set to the last byte of the + multibyte character. In most cases c == lastc == mb[0] */ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) c = cxt->lastc = _rl_read_mbstring (cxt->lastc, cxt->mb, MB_LEN_MAX); #endif + RL_CHECK_SIGNALS (); return c; } +#define ENDSRCH_CHAR(c) \ + ((CTRL_CHAR (c) || META_CHAR (c) || (c) == RUBOUT) && ((c) != CTRL ('G'))) + /* Process just-read character C according to isearch context CXT. Return -1 if the caller should just free the context and return, 0 if we should break out of the loop, and 1 if we should continue to read characters. */ @@ -344,13 +356,43 @@ _rl_isearch_dispatch (cxt, c) incremental search, so we check */ if (c >= 0 && cxt->keymap[c].type == ISKMAP && strchr (cxt->search_terminators, cxt->lastc) == 0) { + /* _rl_keyseq_timeout specified in milliseconds; _rl_input_queued + takes microseconds, so multiply by 1000. If we don't get any + additional input and this keymap shadows another function, process + that key as if it was all we read. */ + if (_rl_keyseq_timeout > 0 && + RL_ISSTATE (RL_STATE_CALLBACK) == 0 && + RL_ISSTATE (RL_STATE_INPUTPENDING) == 0 && + _rl_pushed_input_available () == 0 && + ((Keymap)(cxt->keymap[c].function))[ANYOTHERKEY].function && + _rl_input_queued (_rl_keyseq_timeout*1000) == 0) + goto add_character; + + cxt->okeymap = cxt->keymap; cxt->keymap = FUNCTION_TO_KEYMAP (cxt->keymap, c); cxt->sflags |= SF_CHGKMAP; /* XXX - we should probably save this sequence, so we can do - something useful if this doesn't end up mapping to a command. */ + something useful if this doesn't end up mapping to a command we + interpret here. Right now we just save the most recent character + that caused the index into a new keymap. */ + cxt->prevc = c; +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + if (cxt->mb[1] == 0) + { + cxt->pmb[0] = c; /* XXX should be == cxt->mb[0] */ + cxt->pmb[1] = '\0'; + } + else + memcpy (cxt->pmb, cxt->mb, sizeof (cxt->pmb)); + } +#endif return 1; } +add_character: + /* Translate the keys we do something with to opcodes. */ if (c >= 0 && cxt->keymap[c].type == ISFUNC) { @@ -376,6 +418,54 @@ _rl_isearch_dispatch (cxt, c) { cxt->keymap = cxt->okeymap; cxt->sflags &= ~SF_CHGKMAP; + /* If we indexed into a new keymap, but didn't map to a command that + affects the search (lastc > 0), and the character that mapped to a + new keymap would have ended the search (ENDSRCH_CHAR(cxt->prevc)), + handle that now as if the previous char would have ended the search + and we would have read the current character. */ + /* XXX - should we check cxt->mb? */ + if (cxt->lastc > 0 && ENDSRCH_CHAR (cxt->prevc)) + { + rl_stuff_char (cxt->lastc); + rl_execute_next (cxt->prevc); + /* XXX - do we insert everything in cxt->pmb? */ + return (0); + } + /* Otherwise, if the current character is mapped to self-insert or + nothing (i.e., not an editing command), and the previous character + was a keymap index, then we need to insert both the previous + character and the current character into the search string. */ + else if (cxt->lastc > 0 && cxt->prevc > 0 && + cxt->keymap[cxt->prevc].type == ISKMAP && + (f == 0 || f == rl_insert)) + { + /* Make lastc be the next character read */ + /* XXX - do we insert everything in cxt->mb? */ + rl_execute_next (cxt->lastc); + /* Dispatch on the previous character (insert into search string) */ + cxt->lastc = cxt->prevc; +#if defined (HANDLE_MULTIBYTE) + /* Have to overwrite cxt->mb here because dispatch uses it below */ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + if (cxt->pmb[1] == 0) + { + cxt->mb[0] = cxt->lastc; /* == cxt->prevc */ + cxt->mb[1] = '\0'; + } + else + memcpy (cxt->mb, cxt->pmb, sizeof (cxt->mb)); + } +#endif + cxt->prevc = 0; + } + else if (cxt->lastc > 0 && cxt->prevc > 0 && f && f != rl_insert) + { + rl_stuff_char (cxt->lastc); + rl_execute_next (cxt->prevc); + /* XXX - do we insert everything in cxt->pmb? */ + return (0); + } } /* The characters in isearch_terminators (set from the user-settable @@ -393,14 +483,11 @@ _rl_isearch_dispatch (cxt, c) XXX - since _rl_input_available depends on the application- settable keyboard timeout value, this could alternatively use _rl_input_queued(100000) */ - if (cxt->lastc == ESC && _rl_input_available ()) + if (cxt->lastc == ESC && (_rl_pushed_input_available () || _rl_input_available ())) rl_execute_next (ESC); return (0); } -#define ENDSRCH_CHAR(c) \ - ((CTRL_CHAR (c) || META_CHAR (c) || (c) == RUBOUT) && ((c) != CTRL ('G'))) - #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { @@ -436,7 +523,7 @@ _rl_isearch_dispatch (cxt, c) cxt->search_string = (char *)xrealloc (cxt->search_string, cxt->search_string_size); strcpy (cxt->search_string, last_isearch_string); cxt->search_string_index = last_isearch_string_len; - rl_display_search (cxt->search_string, (cxt->sflags & SF_REVERSE), -1); + rl_display_search (cxt->search_string, cxt->sflags, -1); break; } return (1); @@ -544,12 +631,16 @@ _rl_isearch_dispatch (cxt, c) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { int j, l; - for (j = 0, l = strlen (cxt->mb); j < l; ) - cxt->search_string[cxt->search_string_index++] = cxt->mb[j++]; + + if (cxt->mb[0] == 0 || cxt->mb[1] == 0) + cxt->search_string[cxt->search_string_index++] = cxt->mb[0]; + else + for (j = 0, l = RL_STRLEN (cxt->mb); j < l; ) + cxt->search_string[cxt->search_string_index++] = cxt->mb[j++]; } else #endif - cxt->search_string[cxt->search_string_index++] = c; + cxt->search_string[cxt->search_string_index++] = cxt->lastc; /* XXX - was c instead of lastc */ cxt->search_string[cxt->search_string_index] = '\0'; break; } @@ -606,6 +697,7 @@ _rl_isearch_dispatch (cxt, c) /* We cannot find the search string. Ding the bell. */ rl_ding (); cxt->history_pos = cxt->last_found_line; + rl_display_search (cxt->search_string, cxt->sflags, (cxt->history_pos == cxt->save_line) ? -1 : cxt->history_pos); return 1; } @@ -618,7 +710,7 @@ _rl_isearch_dispatch (cxt, c) rl_replace_line (cxt->lines[cxt->history_pos], 0); rl_point = cxt->sline_index; cxt->last_found_line = cxt->history_pos; - rl_display_search (cxt->search_string, (cxt->sflags & SF_REVERSE), (cxt->history_pos == cxt->save_line) ? -1 : cxt->history_pos); + rl_display_search (cxt->search_string, cxt->sflags, (cxt->history_pos == cxt->save_line) ? -1 : cxt->history_pos); } return 1; @@ -653,7 +745,7 @@ rl_search_history (direction, invoking_key) RL_SETSTATE(RL_STATE_ISEARCH); cxt = _rl_isearch_init (direction); - rl_display_search (cxt->search_string, (cxt->sflags & SF_REVERSE), -1); + rl_display_search (cxt->search_string, cxt->sflags, -1); /* If we are using the callback interface, all we do is set up here and return. The key is that we leave RL_STATE_ISEARCH set. */ diff --git a/macro.c b/macro.c index c2fac8a..b99a1a6 100644 --- a/macro.c +++ b/macro.c @@ -121,6 +121,19 @@ _rl_next_macro_key () #endif } +int +_rl_prev_macro_key () +{ + if (rl_executing_macro == 0) + return (0); + + if (executing_macro_index == 0) + return (0); + + executing_macro_index--; + return (rl_executing_macro[executing_macro_index]); +} + /* Save the currently executing macro on a stack of saved macros. */ void _rl_push_executing_macro () @@ -234,7 +247,7 @@ rl_end_kbd_macro (count, ignore) return -1; } - current_macro_index -= rl_key_sequence_length - 1; + current_macro_index -= rl_key_sequence_length; current_macro[current_macro_index] = '\0'; RL_UNSETSTATE(RL_STATE_MACRODEF); @@ -263,6 +276,29 @@ rl_call_last_kbd_macro (count, ignore) return 0; } +int +rl_print_last_kbd_macro (count, ignore) + int count, ignore; +{ + char *m; + + if (current_macro == 0) + { + rl_ding (); + return 0; + } + m = _rl_untranslate_macro_value (current_macro, 1); + rl_crlf (); + printf ("%s", m); + fflush (stdout); + rl_crlf (); + FREE (m); + rl_forced_update_display (); + rl_display_fixed = 1; + + return 0; +} + void rl_push_macro_input (macro) char *macro; diff --git a/mbutil.c b/mbutil.c index eeb7e55..b036e0c 100644 --- a/mbutil.c +++ b/mbutil.c @@ -64,6 +64,9 @@ int rl_byte_oriented = 0; int rl_byte_oriented = 1; #endif +/* Ditto */ +int _rl_utf8locale = 0; + /* **************************************************************** */ /* */ /* Multibyte Character Utility Functions */ @@ -119,7 +122,7 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero) point += tmp; if (find_non_zero) { - if (wcwidth (wc) == 0) + if (WCWIDTH (wc) == 0) continue; else count--; @@ -132,7 +135,7 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero) if (find_non_zero) { tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps); - while (MB_NULLWCH (tmp) == 0 && MB_INVALIDCH (tmp) == 0 && wcwidth (wc) == 0) + while (MB_NULLWCH (tmp) == 0 && MB_INVALIDCH (tmp) == 0 && WCWIDTH (wc) == 0) { point += tmp; tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps); @@ -184,7 +187,7 @@ _rl_find_prev_mbchar_internal (string, seed, find_non_zero) { if (find_non_zero) { - if (wcwidth (wc) != 0) + if (WCWIDTH (wc) != 0) prev = point; } else @@ -263,7 +266,7 @@ _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2) if point is invalied (point < 0 || more than string length), it returns -1 */ int -_rl_adjust_point(string, point, ps) +_rl_adjust_point (string, point, ps) char *string; int point; mbstate_t *ps; diff --git a/misc.c b/misc.c index 9f45773..da5c696 100644 --- a/misc.c +++ b/misc.c @@ -1,6 +1,6 @@ /* misc.c -- miscellaneous bindable readline functions. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -56,6 +56,8 @@ static int rl_digit_loop PARAMS((void)); static void _rl_history_set_point PARAMS((void)); +extern int history_offset; + /* Forward declarations used in this file */ void _rl_free_history_entry PARAMS((HIST_ENTRY *)); @@ -483,6 +485,37 @@ _rl_revert_all_lines () xfree (lbuf); } +/* Free the history list, including private readline data and take care + of pointer aliases to history data. Resets rl_undo_list if it points + to an UNDO_LIST * saved as some history entry's data member. This + should not be called while editing is active. */ +void +rl_clear_history () +{ + HIST_ENTRY **hlist, *hent; + register int i; + UNDO_LIST *ul, *saved_undo_list; + + saved_undo_list = rl_undo_list; + hlist = history_list (); /* direct pointer, not copy */ + + for (i = 0; i < history_length; i++) + { + hent = hlist[i]; + if (ul = (UNDO_LIST *)hent->data) + { + if (ul == saved_undo_list) + saved_undo_list = 0; + _rl_free_undo_list (ul); + hent->data = 0; + } + _rl_free_history_entry (hent); + } + + history_offset = history_length = 0; + rl_undo_list = saved_undo_list; /* should be NULL */ +} + /* **************************************************************** */ /* */ /* History Commands */ @@ -623,6 +656,10 @@ rl_emacs_editing_mode (count, key) rl_editing_mode = emacs_mode; _rl_set_insert_mode (RL_IM_INSERT, 1); /* emacs mode default is insert mode */ _rl_keymap = emacs_standard_keymap; + + if (_rl_show_mode_in_prompt) + _rl_reset_prompt (); + return 0; } diff --git a/nls.c b/nls.c index e3599eb..d3b3634 100644 --- a/nls.c +++ b/nls.c @@ -43,6 +43,10 @@ # include #endif +#if defined (HAVE_LANGINFO_CODESET) +# include +#endif + #include #include "rldefs.h" @@ -50,6 +54,8 @@ #include "rlshell.h" #include "rlprivate.h" +static int utf8locale PARAMS((char *)); + #if !defined (HAVE_SETLOCALE) /* A list of legal values for the LANG or LC_CTYPE environment variables. If a locale name in this list is the value for the LC_ALL, LC_CTYPE, @@ -72,9 +78,10 @@ static char *legal_lang_values[] = }; static char *normalize_codeset PARAMS((char *)); -static char *find_codeset PARAMS((char *, size_t *)); #endif /* !HAVE_SETLOCALE */ +static char *find_codeset PARAMS((char *, size_t *)); + static char *_rl_get_locale_var PARAMS((const char *)); static char * @@ -91,7 +98,26 @@ _rl_get_locale_var (v) return lspec; } - + +static int +utf8locale (lspec) + char *lspec; +{ + char *cp; + size_t len; + +#if HAVE_LANGINFO_CODESET + cp = nl_langinfo (CODESET); + return (STREQ (cp, "UTF-8") || STREQ (cp, "utf8")); +#else + cp = find_codeset (lspec, &len); + + if (cp == 0 || len < 4 || len > 5) + return 0; + return ((len == 5) ? strncmp (cp, "UTF-8", len) == 0 : strncmp (cp, "utf8", 4) == 0); +#endif +} + /* Check for LC_ALL, LC_CTYPE, and LANG and use the first with a value to decide the defaults for 8-bit character input and output. Returns 1 if we set eight-bit mode. */ @@ -116,6 +142,9 @@ _rl_init_eightbit () lspec = ""; t = setlocale (LC_CTYPE, lspec); + if (t && *t) + _rl_utf8locale = utf8locale (t); + if (t && *t && (t[0] != 'C' || t[1]) && (STREQ (t, "POSIX") == 0)) { _rl_meta_flag = 1; @@ -197,6 +226,7 @@ normalize_codeset (codeset) return retval; } +#endif /* !HAVE_SETLOCALE */ /* Isolate codeset portion of locale specification. */ static char * @@ -249,4 +279,3 @@ find_codeset (name, lenp) return result; } -#endif /* !HAVE_SETLOCALE */ diff --git a/parse-colors.c b/parse-colors.c new file mode 100644 index 0000000..98b2e9d --- /dev/null +++ b/parse-colors.c @@ -0,0 +1,440 @@ +/* `dir', `vdir' and `ls' directory listing programs for GNU. + + Modified by Chet Ramey for Readline. + + Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012 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 3 of the License, 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, see . */ + +/* Written by Richard Stallman and David MacKenzie. */ + +/* Color support by Peter Anvin and Dennis + Flaherty based on original patches by + Greg Lee . */ + +#define READLINE_LIBRARY + +#if defined (HAVE_CONFIG_H) +# include +#endif + +#include + +// strdup() / strcpy() +#if defined (HAVE_STRING_H) +# include +#else /* !HAVE_STRING_H */ +# include +#endif /* !HAVE_STRING_H */ + +// abort() +#if defined (HAVE_STDLIB_H) +# include +#else +# include "ansi_stdlib.h" +#endif /* HAVE_STDLIB_H */ + +#include "rldefs.h" // STREQ, savestring +#include "readline.h" +#include "rlprivate.h" +#include "rlshell.h" +#include "xmalloc.h" + +#include "colors.h" +#include "parse-colors.h" + +#if defined (COLOR_SUPPORT) + +static bool get_funky_string (char **dest, const char **src, bool equals_end, size_t *output_count); + +struct bin_str _rl_color_indicator[] = + { + { LEN_STR_PAIR ("\033[") }, // lc: Left of color sequence + { LEN_STR_PAIR ("m") }, // rc: Right of color sequence + { 0, NULL }, // ec: End color (replaces lc+no+rc) + { LEN_STR_PAIR ("0") }, // rs: Reset to ordinary colors + { 0, NULL }, // no: Normal + { 0, NULL }, // fi: File: default + { LEN_STR_PAIR ("01;34") }, // di: Directory: bright blue + { LEN_STR_PAIR ("01;36") }, // ln: Symlink: bright cyan + { LEN_STR_PAIR ("33") }, // pi: Pipe: yellow/brown + { LEN_STR_PAIR ("01;35") }, // so: Socket: bright magenta + { LEN_STR_PAIR ("01;33") }, // bd: Block device: bright yellow + { LEN_STR_PAIR ("01;33") }, // cd: Char device: bright yellow + { 0, NULL }, // mi: Missing file: undefined + { 0, NULL }, // or: Orphaned symlink: undefined + { LEN_STR_PAIR ("01;32") }, // ex: Executable: bright green + { LEN_STR_PAIR ("01;35") }, // do: Door: bright magenta + { LEN_STR_PAIR ("37;41") }, // su: setuid: white on red + { LEN_STR_PAIR ("30;43") }, // sg: setgid: black on yellow + { LEN_STR_PAIR ("37;44") }, // st: sticky: black on blue + { LEN_STR_PAIR ("34;42") }, // ow: other-writable: blue on green + { LEN_STR_PAIR ("30;42") }, // tw: ow w/ sticky: black on green + { LEN_STR_PAIR ("30;41") }, // ca: black on red + { 0, NULL }, // mh: disabled by default + { LEN_STR_PAIR ("\033[K") }, // cl: clear to end of line + }; + +/* Parse a string as part of the LS_COLORS variable; this may involve + decoding all kinds of escape characters. If equals_end is set an + unescaped equal sign ends the string, otherwise only a : or \0 + does. Set *OUTPUT_COUNT to the number of bytes output. Return + true if successful. + + The resulting string is *not* null-terminated, but may contain + embedded nulls. + + Note that both dest and src are char **; on return they point to + the first free byte after the array and the character that ended + the input string, respectively. */ + +static bool +get_funky_string (char **dest, const char **src, bool equals_end, size_t *output_count) { + char num; /* For numerical codes */ + size_t count; /* Something to count with */ + enum { + ST_GND, ST_BACKSLASH, ST_OCTAL, ST_HEX, ST_CARET, ST_END, ST_ERROR + } state; + const char *p; + char *q; + + p = *src; /* We don't want to double-indirect */ + q = *dest; /* the whole darn time. */ + + count = 0; /* No characters counted in yet. */ + num = 0; + + state = ST_GND; /* Start in ground state. */ + while (state < ST_END) + { + switch (state) + { + case ST_GND: /* Ground state (no escapes) */ + switch (*p) + { + case ':': + case '\0': + state = ST_END; /* End of string */ + break; + case '\\': + state = ST_BACKSLASH; /* Backslash scape sequence */ + ++p; + break; + case '^': + state = ST_CARET; /* Caret escape */ + ++p; + break; + case '=': + if (equals_end) + { + state = ST_END; /* End */ + break; + } + /* else fall through */ + default: + *(q++) = *(p++); + ++count; + break; + } + break; + + case ST_BACKSLASH: /* Backslash escaped character */ + switch (*p) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + state = ST_OCTAL; /* Octal sequence */ + num = *p - '0'; + break; + case 'x': + case 'X': + state = ST_HEX; /* Hex sequence */ + num = 0; + break; + case 'a': /* Bell */ + num = '\a'; + break; + case 'b': /* Backspace */ + num = '\b'; + break; + case 'e': /* Escape */ + num = 27; + break; + case 'f': /* Form feed */ + num = '\f'; + break; + case 'n': /* Newline */ + num = '\n'; + break; + case 'r': /* Carriage return */ + num = '\r'; + break; + case 't': /* Tab */ + num = '\t'; + break; + case 'v': /* Vtab */ + num = '\v'; + break; + case '?': /* Delete */ + num = 127; + break; + case '_': /* Space */ + num = ' '; + break; + case '\0': /* End of string */ + state = ST_ERROR; /* Error! */ + break; + default: /* Escaped character like \ ^ : = */ + num = *p; + break; + } + if (state == ST_BACKSLASH) + { + *(q++) = num; + ++count; + state = ST_GND; + } + ++p; + break; + + case ST_OCTAL: /* Octal sequence */ + if (*p < '0' || *p > '7') + { + *(q++) = num; + ++count; + state = ST_GND; + } + else + num = (num << 3) + (*(p++) - '0'); + break; + + case ST_HEX: /* Hex sequence */ + switch (*p) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + num = (num << 4) + (*(p++) - '0'); + break; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + num = (num << 4) + (*(p++) - 'a') + 10; + break; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + num = (num << 4) + (*(p++) - 'A') + 10; + break; + default: + *(q++) = num; + ++count; + state = ST_GND; + break; + } + break; + + case ST_CARET: /* Caret escape */ + state = ST_GND; /* Should be the next state... */ + if (*p >= '@' && *p <= '~') + { + *(q++) = *(p++) & 037; + ++count; + } + else if (*p == '?') + { + *(q++) = 127; + ++count; + } + else + state = ST_ERROR; + break; + + default: + /* should we ? */ + /* abort (); no, we should not */ + state = ST_ERROR; + break; + } + } + + *dest = q; + *src = p; + *output_count = count; + + return state != ST_ERROR; +} +#endif /* COLOR_SUPPORT */ + +void _rl_parse_colors() +{ +#if defined (COLOR_SUPPORT) + const char *p; /* Pointer to character being parsed */ + char *buf; /* color_buf buffer pointer */ + int state; /* State of parser */ + int ind_no; /* Indicator number */ + char label[3]; /* Indicator label */ + COLOR_EXT_TYPE *ext; /* Extension we are working on */ + + p = sh_get_env_value ("LS_COLORS"); + if (p == 0 || *p == '\0') + { + _rl_color_ext_list = NULL; + return; + } + + ext = NULL; + strcpy (label, "??"); + + /* This is an overly conservative estimate, but any possible + LS_COLORS string will *not* generate a color_buf longer than + itself, so it is a safe way of allocating a buffer in + advance. */ + buf = color_buf = savestring (p); + + state = 1; + while (state > 0) + { + switch (state) + { + case 1: /* First label character */ + switch (*p) + { + case ':': + ++p; + break; + + case '*': + /* Allocate new extension block and add to head of + linked list (this way a later definition will + override an earlier one, which can be useful for + having terminal-specific defs override global). */ + + ext = (COLOR_EXT_TYPE *)xmalloc (sizeof *ext); + ext->next = _rl_color_ext_list; + _rl_color_ext_list = ext; + + ++p; + ext->ext.string = buf; + + state = (get_funky_string (&buf, &p, true, &ext->ext.len) + ? 4 : -1); + break; + + case '\0': + state = 0; /* Done! */ + break; + + default: /* Assume it is file type label */ + label[0] = *(p++); + state = 2; + break; + } + break; + + case 2: /* Second label character */ + if (*p) + { + label[1] = *(p++); + state = 3; + } + else + state = -1; /* Error */ + break; + + case 3: /* Equal sign after indicator label */ + state = -1; /* Assume failure... */ + if (*(p++) == '=')/* It *should* be... */ + { + for (ind_no = 0; indicator_name[ind_no] != NULL; ++ind_no) + { + if (STREQ (label, indicator_name[ind_no])) + { + _rl_color_indicator[ind_no].string = buf; + state = (get_funky_string (&buf, &p, false, + &_rl_color_indicator[ind_no].len) + ? 1 : -1); + break; + } + } + if (state == -1) + { + _rl_errmsg ("LS_COLORS: unrecognized prefix: %s", label); + /* recover from an unrecognized prefix */ + while (p && *p && *p != ':') + p++; + if (p && *p == ':') + state = 1; + else if (p && *p == 0) + state = 0; + } + } + break; + + case 4: /* Equal sign after *.ext */ + if (*(p++) == '=') + { + ext->seq.string = buf; + state = (get_funky_string (&buf, &p, false, &ext->seq.len) + ? 1 : -1); + } + else + state = -1; + /* XXX - recover here as with an unrecognized prefix? */ + if (state == -1 && ext->ext.string) + _rl_errmsg ("LS_COLORS: syntax error: %s", ext->ext.string); + break; + } + } + + if (state < 0) + { + COLOR_EXT_TYPE *e; + COLOR_EXT_TYPE *e2; + + _rl_errmsg ("unparsable value for LS_COLORS environment variable"); + free (color_buf); + for (e = _rl_color_ext_list; e != NULL; /* empty */) + { + e2 = e; + e = e->next; + free (e2); + } + _rl_color_ext_list = NULL; + _rl_colored_stats = 0; /* can't have colored stats without colors */ + } +#else /* !COLOR_SUPPORT */ + ; +#endif /* !COLOR_SUPPORT */ +} diff --git a/parse-colors.h b/parse-colors.h new file mode 100644 index 0000000..aef86f7 --- /dev/null +++ b/parse-colors.h @@ -0,0 +1,46 @@ +/* `dir', `vdir' and `ls' directory listing programs for GNU. + + Modified by Chet Ramey for Readline. + + Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012 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 3 of the License, 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, see . */ + +/* Written by Richard Stallman and David MacKenzie. */ + +/* Color support by Peter Anvin and Dennis + Flaherty based on original patches by + Greg Lee . */ + +#ifndef _PARSE_COLORS_H_ +#define _PARSE_COLORS_H_ + +#include "readline.h" + +#define LEN_STR_PAIR(s) sizeof (s) - 1, s + +void _rl_parse_colors (void); + +static const char *const indicator_name[]= + { + "lc", "rc", "ec", "rs", "no", "fi", "di", "ln", "pi", "so", + "bd", "cd", "mi", "or", "ex", "do", "su", "sg", "st", + "ow", "tw", "ca", "mh", "cl", NULL + }; + +/* Buffer for color sequences */ +static char *color_buf; + +#endif /* !_PARSE_COLORS_H_ */ diff --git a/posixdir.h b/posixdir.h index bd33694..0921c5d 100644 --- a/posixdir.h +++ b/posixdir.h @@ -1,6 +1,6 @@ /* posixdir.h -- Posix directory reading includes and defines. */ -/* Copyright (C) 1987,1991 Free Software Foundation, Inc. +/* Copyright (C) 1987,1991,2012 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -46,16 +46,26 @@ # define D_NAMLEN(d) ((d)->d_namlen) #endif /* !HAVE_DIRENT_H */ +/* The bash code fairly consistenly uses d_fileno; make sure it's available */ #if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (HAVE_STRUCT_DIRENT_D_FILENO) # define d_fileno d_ino #endif -#if defined (_POSIX_SOURCE) && (!defined (HAVE_STRUCT_DIRENT_D_INO) || defined (BROKEN_DIRENT_D_INO)) /* Posix does not require that the d_ino field be present, and some systems do not provide it. */ +#if !defined (HAVE_STRUCT_DIRENT_D_INO) || defined (BROKEN_DIRENT_D_INO) # define REAL_DIR_ENTRY(dp) 1 #else # define REAL_DIR_ENTRY(dp) (dp->d_ino != 0) #endif /* _POSIX_SOURCE */ +#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (BROKEN_DIRENT_D_INO) +# define D_INO_AVAILABLE +#endif + +/* Signal the rest of the code that it can safely use dirent.d_fileno */ +#if defined (D_INO_AVAILABLE) || defined (HAVE_STRUCT_DIRENT_D_FILENO) +# define D_FILENO_AVAILABLE 1 +#endif + #endif /* !_POSIXDIR_H_ */ diff --git a/posixjmp.h b/posixjmp.h index 49bfecf..98cf718 100644 --- a/posixjmp.h +++ b/posixjmp.h @@ -30,11 +30,13 @@ # if !defined (__OPENNT) # undef setjmp # define setjmp(x) sigsetjmp((x), 1) +# define setjmp_nosigs(x) sigsetjmp((x), 0) # undef longjmp # define longjmp(x, n) siglongjmp((x), (n)) # endif /* !__OPENNT */ #else # define procenv_t jmp_buf +# define setjmp_nosigs setjmp #endif #endif /* _POSIXJMP_H_ */ diff --git a/readline.c b/readline.c index f2e4d93..03eefa6 100644 --- a/readline.c +++ b/readline.c @@ -1,7 +1,7 @@ /* readline.c -- a general facility for reading lines of input with emacs style editing and completion. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2013 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -82,6 +82,11 @@ extern int errno; extern void _rl_free_history_entry PARAMS((HIST_ENTRY *)); +#if defined (COLOR_SUPPORT) +extern void _rl_parse_colors PARAMS((void)); /* XXX */ +#endif + + /* Forward declarations used in this file. */ static char *readline_internal PARAMS((void)); static void readline_initialize_everything PARAMS((void)); @@ -112,7 +117,6 @@ int rl_gnu_readline_p = 1; By default, it is the standard emacs keymap. */ Keymap _rl_keymap = emacs_standard_keymap; - /* The current style of editing. */ int rl_editing_mode = emacs_mode; @@ -238,13 +242,32 @@ int rl_erase_empty_line = 0; character bound to accept-line. */ int rl_num_chars_to_read; -/* Line buffer and maintenence. */ +/* Line buffer and maintenance. */ char *rl_line_buffer = (char *)NULL; int rl_line_buffer_len = 0; /* Key sequence `contexts' */ _rl_keyseq_cxt *_rl_kscxt = 0; +int rl_executing_key; +char *rl_executing_keyseq = 0; +int _rl_executing_keyseq_size = 0; + +/* Timeout (specified in milliseconds) when reading characters making up an + ambiguous multiple-key sequence */ +int _rl_keyseq_timeout = 500; + +#define RESIZE_KEYSEQ_BUFFER() \ + do \ + { \ + if (rl_key_sequence_length + 2 >= _rl_executing_keyseq_size) \ + { \ + _rl_executing_keyseq_size += 16; \ + rl_executing_keyseq = xrealloc (rl_executing_keyseq, _rl_executing_keyseq_size); \ + } \ + } \ + while (0); + /* Forward declarations used by the display, termcap, and history code. */ /* **************************************************************** */ @@ -279,6 +302,10 @@ int _rl_revert_all_at_newline = 0; characters corresponding to keyboard-generated signals. */ int _rl_echo_control_chars = 1; +/* Non-zero means to prefix the displayed prompt with a character indicating + the editing mode: @ for emacs, : for vi-command, + for vi-insert. */ +int _rl_show_mode_in_prompt = 0; + /* **************************************************************** */ /* */ /* Top Level Functions */ @@ -352,6 +379,11 @@ readline (prompt) RL_SETSTATE (RL_STATE_CALLBACK); #endif +#if HAVE_DECL_AUDIT_TTY && defined (ENABLE_TTY_AUDIT_SUPPORT) + if (value) + _rl_audit_tty (value); +#endif + return (value); } @@ -369,9 +401,19 @@ readline_internal_setup () _rl_in_stream = rl_instream; _rl_out_stream = rl_outstream; + /* Enable the meta key only for the duration of readline(), if this + terminal has one and the terminal has been initialized */ + if (_rl_enable_meta & RL_ISSTATE (RL_STATE_TERMPREPPED)) + _rl_enable_meta_key (); + if (rl_startup_hook) (*rl_startup_hook) (); +#if defined (VI_MODE) + if (rl_editing_mode == vi_mode) + rl_vi_insertion_mode (1, 'i'); /* don't want to reset last */ +#endif /* VI_MODE */ + /* If we're not echoing, we still want to at least print a prompt, because rl_redisplay will not do it for us. If the calling application has a custom redisplay function, though, let that function handle it. */ @@ -394,11 +436,6 @@ readline_internal_setup () (*rl_redisplay_function) (); } -#if defined (VI_MODE) - if (rl_editing_mode == vi_mode) - rl_vi_insert_mode (1, 'i'); -#endif /* VI_MODE */ - if (rl_pre_input_hook) (*rl_pre_input_hook) (); @@ -437,6 +474,11 @@ readline_internal_teardown (eof) if (rl_undo_list) rl_free_undo_list (); + /* Disable the meta key, if this terminal has one and we were told to use it. + The check whether or not we sent the enable string is in + _rl_disable_meta_key(); the flag is set in _rl_enable_meta_key */ + _rl_disable_meta_key (); + /* Restore normal cursor, if available. */ _rl_set_insert_mode (RL_IM_INSERT, 0); @@ -492,7 +534,11 @@ readline_internal_charloop () #endif lk = _rl_last_command_was_kill; +#if defined (HAVE_POSIX_SIGSETJMP) + code = sigsetjmp (_rl_top_level, 0); +#else code = setjmp (_rl_top_level); +#endif if (code) { @@ -511,6 +557,7 @@ readline_internal_charloop () /* Then initialize the argument and number of keys read. */ _rl_reset_argument (); rl_key_sequence_length = 0; + rl_executing_keyseq[0] = 0; } RL_SETSTATE(RL_STATE_READCMD); @@ -519,7 +566,8 @@ readline_internal_charloop () /* look at input.c:rl_getc() for the circumstances under which this will be returned; punt immediately on read error without converting it to - a newline. */ + a newline; assume that rl_read_key has already called the signal + handler. */ if (c == READERR) { #if defined (READLINE_CALLBACKS) @@ -531,7 +579,9 @@ readline_internal_charloop () #endif } - /* EOF typed to a non-blank line is a . */ + /* EOF typed to a non-blank line is a . If we want to change this, + to force any existing line to be ignored when read(2) reads EOF, + for example, this is the place to change. */ if (c == EOF && rl_end) c = NEWLINE; @@ -743,9 +793,10 @@ _rl_dispatch_subseq (key, map, got_subseq) { if (RL_ISSTATE (RL_STATE_MACRODEF)) _rl_add_macro_char (ESC); + RESIZE_KEYSEQ_BUFFER (); + rl_executing_keyseq[rl_key_sequence_length++] = ESC; map = FUNCTION_TO_KEYMAP (map, ESC); key = UNMETA (key); - rl_key_sequence_length += 2; return (_rl_dispatch (key, map)); } else @@ -765,13 +816,19 @@ _rl_dispatch_subseq (key, map, got_subseq) { /* Special case rl_do_lowercase_version (). */ if (func == rl_do_lowercase_version) + /* Should we do anything special if key == ANYOTHERKEY? */ return (_rl_dispatch (_rl_to_lower (key), map)); rl_executing_keymap = map; + rl_executing_key = key; + + RESIZE_KEYSEQ_BUFFER(); + rl_executing_keyseq[rl_key_sequence_length++] = key; + rl_executing_keyseq[rl_key_sequence_length] = '\0'; rl_dispatching = 1; RL_SETSTATE(RL_STATE_DISPATCHING); - (*map[key].function)(rl_numeric_arg * rl_arg_sign, key); + r = (*func) (rl_numeric_arg * rl_arg_sign, key); RL_UNSETSTATE(RL_STATE_DISPATCHING); rl_dispatching = 0; @@ -788,7 +845,10 @@ _rl_dispatch_subseq (key, map, got_subseq) /* OK, there's no function bound in this map, but there is a shadow function that was overridden when the current keymap was created. Return -2 to note that. */ - _rl_unget_char (key); + if (RL_ISSTATE (RL_STATE_MACROINPUT)) + _rl_prev_macro_key (); + else + _rl_unget_char (key); return -2; } else if (got_subseq) @@ -797,7 +857,10 @@ _rl_dispatch_subseq (key, map, got_subseq) have a matching key, nor was one overridden. This means we need to back up the recursion chain and find the last subsequence that is bound to a function. */ - _rl_unget_char (key); + if (RL_ISSTATE (RL_STATE_MACROINPUT)) + _rl_prev_macro_key (); + else + _rl_unget_char (key); return -1; } else @@ -820,13 +883,17 @@ _rl_dispatch_subseq (key, map, got_subseq) check whether there's input in the queue, which there generally will be if an arrow key has been pressed, and, if there's not, just dispatch to (what we assume is) rl_vi_movement_mode right - away. This is essentially an input test with a zero timeout. */ + away. This is essentially an input test with a zero timeout (by + default) or a timeout determined by the value of `keyseq-timeout' */ + /* _rl_keyseq_timeout specified in milliseconds; _rl_input_queued + takes microseconds, so multiply by 1000 */ if (rl_editing_mode == vi_mode && key == ESC && map == vi_insertion_keymap - && _rl_input_queued (0) == 0) + && _rl_input_queued ((_rl_keyseq_timeout > 0) ? _rl_keyseq_timeout*1000 : 0) == 0) return (_rl_dispatch (ANYOTHERKEY, FUNCTION_TO_KEYMAP (map, key))); #endif - rl_key_sequence_length++; + RESIZE_KEYSEQ_BUFFER (); + rl_executing_keyseq[rl_key_sequence_length++] = key; _rl_dispatching_keymap = FUNCTION_TO_KEYMAP (map, key); /* Allocate new context here. Use linked contexts (linked through @@ -855,6 +922,18 @@ _rl_dispatch_subseq (key, map, got_subseq) } #endif + /* Tentative inter-character timeout for potential multi-key + sequences? If no input within timeout, abort sequence and + act as if we got non-matching input. */ + /* _rl_keyseq_timeout specified in milliseconds; _rl_input_queued + takes microseconds, so multiply by 1000 */ + if (_rl_keyseq_timeout > 0 && + (RL_ISSTATE (RL_STATE_INPUTPENDING|RL_STATE_MACROINPUT) == 0) && + _rl_pushed_input_available () == 0 && + _rl_dispatching_keymap[ANYOTHERKEY].function && + _rl_input_queued (_rl_keyseq_timeout*1000) == 0) + return (_rl_subseq_result (-2, map, key, got_subseq)); + newkey = _rl_subseq_getchar (key); if (newkey < 0) { @@ -875,6 +954,7 @@ _rl_dispatch_subseq (key, map, got_subseq) case ISMACR: if (map[key].function != 0) { + rl_executing_keyseq[rl_key_sequence_length] = '\0'; macro = savestring ((char *)map[key].function); _rl_with_macro_input (macro); return 0; @@ -884,6 +964,7 @@ _rl_dispatch_subseq (key, map, got_subseq) #if defined (VI_MODE) if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && key != ANYOTHERKEY && + rl_key_sequence_length == 1 && /* XXX */ _rl_vi_textmod_command (key)) _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); #endif @@ -935,14 +1016,20 @@ _rl_subseq_result (r, map, key, got_subseq) /* We didn't match (r is probably -1), so return something to tell the caller that it should try ANYOTHERKEY for an overridden function. */ - _rl_unget_char (key); + if (RL_ISSTATE (RL_STATE_MACROINPUT)) + _rl_prev_macro_key (); + else + _rl_unget_char (key); _rl_dispatching_keymap = map; return -2; } else if (r && got_subseq) { /* OK, back up the chain. */ - _rl_unget_char (key); + if (RL_ISSTATE (RL_STATE_MACROINPUT)) + _rl_prev_macro_key (); + else + _rl_unget_char (key); _rl_dispatching_keymap = map; return -1; } @@ -971,7 +1058,7 @@ rl_initialize () RL_SETSTATE(RL_STATE_INITIALIZED); } - /* Initalize the current line information. */ + /* Initialize the current line information. */ _rl_init_line_state (); /* We aren't done yet. We haven't even gotten started yet! */ @@ -1091,14 +1178,19 @@ readline_initialize_everything () /* Try to bind a common arrow key prefix, if not already bound. */ bind_arrow_keys (); - /* Enable the meta key, if this terminal has one. */ - if (_rl_enable_meta) - _rl_enable_meta_key (); - /* If the completion parser's default word break characters haven't been set yet, then do so now. */ if (rl_completer_word_break_characters == (char *)NULL) rl_completer_word_break_characters = (char *)rl_basic_word_break_characters; + +#if defined (COLOR_SUPPORT) + if (_rl_colored_stats) + _rl_parse_colors (); +#endif + + rl_executing_keyseq = malloc (_rl_executing_keyseq_size = 16); + if (rl_executing_keyseq) + rl_executing_keyseq[0] = '\0'; } /* If this system allows us to look at the values of the regular @@ -1159,6 +1251,20 @@ bind_arrow_keys_internal (map) rl_bind_keyseq_if_unbound ("\340P", rl_get_next_history); rl_bind_keyseq_if_unbound ("\340M", rl_forward_char); rl_bind_keyseq_if_unbound ("\340K", rl_backward_char); + rl_bind_keyseq_if_unbound ("\340G", rl_beg_of_line); + rl_bind_keyseq_if_unbound ("\340O", rl_end_of_line); + rl_bind_keyseq_if_unbound ("\340S", rl_delete); + rl_bind_keyseq_if_unbound ("\340R", rl_overwrite_mode); + + /* These may or may not work because of the embedded NUL. */ + rl_bind_keyseq_if_unbound ("\\000H", rl_get_previous_history); + rl_bind_keyseq_if_unbound ("\\000P", rl_get_next_history); + rl_bind_keyseq_if_unbound ("\\000M", rl_forward_char); + rl_bind_keyseq_if_unbound ("\\000K", rl_backward_char); + rl_bind_keyseq_if_unbound ("\\000G", rl_beg_of_line); + rl_bind_keyseq_if_unbound ("\\000O", rl_end_of_line); + rl_bind_keyseq_if_unbound ("\\000S", rl_delete); + rl_bind_keyseq_if_unbound ("\\000R", rl_overwrite_mode); #endif _rl_keymap = xkeymap; diff --git a/readline.h b/readline.h index 0de168c..08dcd2b 100644 --- a/readline.h +++ b/readline.h @@ -1,6 +1,6 @@ /* Readline.h -- the names of functions callable from within readline. */ -/* Copyright (C) 1987-2011 Free Software Foundation, Inc. +/* Copyright (C) 1987-2013 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -39,9 +39,9 @@ extern "C" { #endif /* Hex-encoded Readline version number. */ -#define RL_READLINE_VERSION 0x0602 /* Readline 6.2 */ +#define RL_READLINE_VERSION 0x0603 /* Readline 6.3 */ #define RL_VERSION_MAJOR 6 -#define RL_VERSION_MINOR 2 +#define RL_VERSION_MINOR 3 /* Readline data structures. */ @@ -185,6 +185,7 @@ extern int rl_forward_search_history PARAMS((int, int)); extern int rl_start_kbd_macro PARAMS((int, int)); extern int rl_end_kbd_macro PARAMS((int, int)); extern int rl_call_last_kbd_macro PARAMS((int, int)); +extern int rl_print_last_kbd_macro PARAMS((int, int)); /* Bindable undo commands. */ extern int rl_revert_line PARAMS((int, int)); @@ -204,6 +205,8 @@ extern int rl_tty_status PARAMS((int, int)); /* Bindable commands for incremental and non-incremental history searching. */ extern int rl_history_search_forward PARAMS((int, int)); extern int rl_history_search_backward PARAMS((int, int)); +extern int rl_history_substr_search_forward PARAMS((int, int)); +extern int rl_history_substr_search_backward PARAMS((int, int)); extern int rl_noninc_forward_search PARAMS((int, int)); extern int rl_noninc_reverse_search PARAMS((int, int)); extern int rl_noninc_forward_search_again PARAMS((int, int)); @@ -339,6 +342,7 @@ extern Keymap rl_make_bare_keymap PARAMS((void)); extern Keymap rl_copy_keymap PARAMS((Keymap)); extern Keymap rl_make_keymap PARAMS((void)); extern void rl_discard_keymap PARAMS((Keymap)); +extern void rl_free_keymap PARAMS((Keymap)); extern Keymap rl_get_keymap_by_name PARAMS((const char *)); extern char *rl_get_keymap_name PARAMS((Keymap)); @@ -436,6 +440,10 @@ extern void rl_echo_signal_char PARAMS((int)); extern int rl_set_paren_blink_timeout PARAMS((int)); +/* History management functions. */ + +extern void rl_clear_history PARAMS((void)); + /* Undocumented. */ extern int rl_maybe_save_line PARAMS((void)); extern int rl_maybe_unsave_line PARAMS((void)); @@ -560,6 +568,13 @@ extern rl_hook_func_t *rl_pre_input_hook; awaiting character input, or NULL, for no event handling. */ extern rl_hook_func_t *rl_event_hook; +/* The address of a function to call if a read is interrupted by a signal. */ +extern rl_hook_func_t *rl_signal_event_hook; + +/* The address of a function to call if Readline needs to know whether or not + there is data available from the current input source. */ +extern rl_hook_func_t *rl_input_available_hook; + /* The address of the function to call to fetch a character from the current Readline input stream */ extern rl_getc_func_t *rl_getc_function; @@ -573,6 +588,10 @@ extern rl_voidfunc_t *rl_deprep_term_function; extern Keymap rl_executing_keymap; extern Keymap rl_binding_keymap; +extern int rl_executing_key; +extern char *rl_executing_keyseq; +extern int rl_key_sequence_length; + /* Display variables. */ /* If non-zero, readline will erase the entire line, including any prompt, if the only thing typed on an otherwise-blank line is something bound to @@ -603,6 +622,10 @@ extern int rl_catch_signals; to do that. */ extern int rl_catch_sigwinch; +/* If non-zero, the readline SIGWINCH handler will modify LINES and + COLUMNS in the environment. */ +extern int rl_change_environment; + /* Completion variables. */ /* Pointer to the generator function for completion_matches (). NULL means to use rl_filename_completion_function (), the default @@ -686,6 +709,13 @@ extern rl_icppfunc_t *rl_directory_completion_hook; it in bash to see how well it goes. */ extern rl_icppfunc_t *rl_directory_rewrite_hook; +/* If non-zero, this is the address of a function for the completer to call + before deciding which character to append to a completed name. It should + modify the directory name passed as an argument if appropriate, and return + non-zero if it modifies the name. This should not worry about dequoting + the filename; that has already happened by the time it gets here. */ +extern rl_icppfunc_t *rl_filename_stat_hook; + /* If non-zero, this is the address of a function to call when reading directory entries from the filesystem for completion and comparing them to the partial word to be completed. The function should diff --git a/rlconf.h b/rlconf.h index 39f94db..1a40afc 100644 --- a/rlconf.h +++ b/rlconf.h @@ -1,6 +1,6 @@ /* rlconf.h -- readline configuration definitions */ -/* Copyright (C) 1992-2009 Free Software Foundation, Inc. +/* Copyright (C) 1992-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -28,8 +28,12 @@ /* Define this to get an indication of file type when listing completions. */ #define VISIBLE_STATS +/* Define this to get support for colors when listing completions and in + other places. */ +#define COLOR_SUPPORT + /* This definition is needed by readline.c, rltty.c, and signals.c. */ -/* If on, then readline handles signals in a way that doesn't screw. */ +/* If on, then readline handles signals in a way that doesn't suck. */ #define HANDLE_SIGNALS /* Ugly but working hack for binding prefix meta. */ @@ -58,4 +62,8 @@ /* Define this if you want the cursor to indicate insert or overwrite mode. */ /* #define CURSOR_MODE */ +/* Define this if you want to enable code that talks to the Linux kernel + tty auditing system. */ +#define ENABLE_TTY_AUDIT_SUPPORT + #endif /* _RLCONF_H_ */ diff --git a/rldefs.h b/rldefs.h index 0257754..dab1beb 100644 --- a/rldefs.h +++ b/rldefs.h @@ -2,7 +2,7 @@ for readline. This should be included after any files that define system-specific constants like _POSIX_VERSION or USG. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2011 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -79,8 +79,8 @@ extern char *strchr (), *strrchr (); #define _rl_stricmp strcasecmp #define _rl_strnicmp strncasecmp #else -extern int _rl_stricmp PARAMS((char *, char *)); -extern int _rl_strnicmp PARAMS((char *, char *, int)); +extern int _rl_stricmp PARAMS((const char *, const char *)); +extern int _rl_strnicmp PARAMS((const char *, const char *, int)); #endif #if defined (HAVE_STRPBRK) && !defined (HAVE_MULTIBYTE) @@ -148,6 +148,10 @@ extern char *_rl_strpbrk PARAMS((const char *, const char *)); : ((a)[0] == (b)[0]) && (strncmp ((a), (b), (n)) == 0)) #endif +#if !defined (RL_STRLEN) +# define RL_STRLEN(s) (((s) && (s)[0]) ? ((s)[1] ? ((s)[2] ? strlen(s) : 2) : 1) : 0) +#endif + #if !defined (FREE) # define FREE(x) if (x) free (x) #endif diff --git a/rlmbutil.h b/rlmbutil.h index 7716a70..06d85ab 100644 --- a/rlmbutil.h +++ b/rlmbutil.h @@ -123,6 +123,15 @@ extern int _rl_walphabetic PARAMS((wchar_t)); #define MB_INVALIDCH(x) ((x) == (size_t)-1 || (x) == (size_t)-2) #define MB_NULLWCH(x) ((x) == 0) +/* Unicode combining characters range from U+0300 to U+036F */ +#define UNICODE_COMBINING_CHAR(x) ((x) >= 768 && (x) <= 879) + +#if defined (WCWIDTH_BROKEN) +# define WCWIDTH(wc) ((_rl_utf8locale && UNICODE_COMBINING_CHAR(wc)) ? 0 : wcwidth(wc)) +#else +# define WCWIDTH(wc) wcwidth(wc) +#endif + #else /* !HANDLE_MULTIBYTE */ #undef MB_LEN_MAX diff --git a/rlprivate.h b/rlprivate.h index 384ff67..14a370d 100644 --- a/rlprivate.h +++ b/rlprivate.h @@ -1,7 +1,7 @@ /* rlprivate.h -- functions and variables global to the readline library, but not intended for use by applications. */ -/* Copyright (C) 1999-2010 Free Software Foundation, Inc. +/* Copyright (C) 1999-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -42,6 +42,12 @@ if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \ } while (0) +#define RL_SIG_RECEIVED() (_rl_caught_signal != 0) +#define RL_SIGINT_RECEIVED() (_rl_caught_signal == SIGINT) + +#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay) +#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc) + /************************************************************************* * * * Global structs undocumented in texinfo manual and not in readline.h * @@ -86,9 +92,11 @@ typedef struct __rl_search_context int history_pos; int direction; + int prevc; int lastc; #if defined (HANDLE_MULTIBYTE) char mb[MB_LEN_MAX]; + char pmb[MB_LEN_MAX]; #endif char *sline; @@ -156,6 +164,8 @@ typedef struct __rl_callback_generic_arg typedef int _rl_callback_func_t PARAMS((_rl_callback_generic_arg *)); +typedef void _rl_sigcleanup_func_t PARAMS((int, void *)); + /************************************************************************* * * * Global functions undocumented in texinfo manual and not in readline.h * @@ -173,12 +183,14 @@ extern int rl_complete_with_tilde_expansion; #if defined (VISIBLE_STATS) extern int rl_visible_stats; #endif /* VISIBLE_STATS */ +#if defined (COLOR_SUPPORT) +extern int _rl_colored_stats; +#endif /* readline.c */ extern int rl_line_buffer_len; extern int rl_arg_sign; extern int rl_visible_prompt_length; -extern int rl_key_sequence_length; extern int rl_byte_oriented; /* display.c */ @@ -189,7 +201,7 @@ extern int rl_blink_matching_paren; /************************************************************************* * * - * Global functions and variables unsed and undocumented * + * Global functions and variables unused and undocumented * * * *************************************************************************/ @@ -240,6 +252,7 @@ extern void _rl_callback_data_dispose PARAMS((_rl_callback_generic_arg *)); #endif /* READLINE_CALLBACKS */ /* bind.c */ +extern char *_rl_untranslate_macro_value PARAMS((char *, int)); /* complete.c */ extern void _rl_reset_completion_state PARAMS((void)); @@ -248,6 +261,7 @@ extern void _rl_free_match_list PARAMS((char **)); /* display.c */ extern char *_rl_strip_prompt PARAMS((char *)); +extern void _rl_reset_prompt PARAMS((void)); extern void _rl_move_cursor_relative PARAMS((int, const char *)); extern void _rl_move_vert PARAMS((int)); extern void _rl_save_prompt PARAMS((void)); @@ -282,6 +296,7 @@ extern int _rl_search_getchar PARAMS((_rl_search_cxt *)); /* macro.c */ extern void _rl_with_macro_input PARAMS((char *)); extern int _rl_next_macro_key PARAMS((void)); +extern int _rl_prev_macro_key PARAMS((void)); extern void _rl_push_executing_macro PARAMS((void)); extern void _rl_pop_executing_macro PARAMS((void)); extern void _rl_add_macro_char PARAMS((int)); @@ -330,6 +345,7 @@ extern void _rl_release_sigwinch PARAMS((void)); /* terminal.c */ extern void _rl_get_screen_size PARAMS((int, int)); +extern void _rl_sigwinch_resize_terminal PARAMS((void)); extern int _rl_init_terminal_io PARAMS((const char *)); #ifdef _MINIX extern void _rl_output_character_function PARAMS((int)); @@ -339,6 +355,7 @@ extern int _rl_output_character_function PARAMS((int)); extern void _rl_output_some_chars PARAMS((const char *, int)); extern int _rl_backspace PARAMS((int)); extern void _rl_enable_meta_key PARAMS((void)); +extern void _rl_disable_meta_key PARAMS((void)); extern void _rl_control_keypad PARAMS((int)); extern void _rl_set_cursor PARAMS((int, int)); @@ -360,6 +377,7 @@ extern int _rl_set_mark_at_pos PARAMS((int)); /* undo.c */ extern UNDO_LIST *_rl_copy_undo_entry PARAMS((UNDO_LIST *)); extern UNDO_LIST *_rl_copy_undo_list PARAMS((UNDO_LIST *)); +extern void _rl_free_undo_list PARAMS((UNDO_LIST *)); /* util.c */ #if defined (USE_VARARGS) && defined (PREFER_STDARG) @@ -371,6 +389,7 @@ extern void _rl_ttymsg (); extern void _rl_errmsg (); extern void _rl_trace (); #endif +extern void _rl_audit_tty PARAMS((char *)); extern int _rl_tropen PARAMS((void)); @@ -441,6 +460,9 @@ extern int _rl_history_saved_point; extern _rl_arg_cxt _rl_argcxt; +/* nls.c */ +extern int _rl_utf8locale; + /* readline.c */ extern int _rl_echoing_p; extern int _rl_horizontal_scroll_mode; @@ -452,6 +474,7 @@ extern int _rl_output_meta_chars; extern int _rl_bind_stty_chars; extern int _rl_revert_all_at_newline; extern int _rl_echo_control_chars; +extern int _rl_show_mode_in_prompt; extern char *_rl_comment_begin; extern unsigned char _rl_parsing_conditionalized_out; extern Keymap _rl_keymap; @@ -461,6 +484,9 @@ extern int _rl_last_command_was_kill; extern int _rl_eof_char; extern procenv_t _rl_top_level; extern _rl_keyseq_cxt *_rl_kscxt; +extern int _rl_keyseq_timeout; + +extern int _rl_executing_keyseq_size; /* search.c */ extern _rl_search_cxt *_rl_nscxt; @@ -469,6 +495,9 @@ extern _rl_search_cxt *_rl_nscxt; extern int _rl_interrupt_immediately; extern int volatile _rl_caught_signal; +extern _rl_sigcleanup_func_t *_rl_sigcleanup; +extern void *_rl_sigcleanarg; + extern int _rl_echoctl; extern int _rl_intr_char; diff --git a/rlstdc.h b/rlstdc.h index a6d2394..2aaa30b 100644 --- a/rlstdc.h +++ b/rlstdc.h @@ -42,4 +42,16 @@ # endif #endif +/* Moved from config.h.in because readline.h:rl_message depends on these + defines. */ +#if defined (__STDC__) && defined (HAVE_STDARG_H) +# define PREFER_STDARG +# define USE_VARARGS +#else +# if defined (HAVE_VARARGS_H) +# define PREFER_VARARGS +# define USE_VARARGS +# endif +#endif + #endif /* !_RL_STDC_H_ */ diff --git a/rltty.c b/rltty.c index d237b1c..908bae1 100644 --- a/rltty.c +++ b/rltty.c @@ -121,7 +121,7 @@ static int set_tty_settings PARAMS((int, TIOTYPE *)); static void prepare_terminal_settings PARAMS((int, TIOTYPE, TIOTYPE *)); -static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t)); +static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t *)); static void save_tty_chars (tiop) @@ -341,7 +341,7 @@ static int set_tty_settings PARAMS((int, TIOTYPE *)); static void prepare_terminal_settings PARAMS((int, TIOTYPE, TIOTYPE *)); -static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t)); +static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t *)); static void _rl_bind_tty_special_chars PARAMS((Keymap, TIOTYPE)); #if defined (FLUSHO) @@ -528,10 +528,10 @@ prepare_terminal_settings (meta_flag, oldtio, tiop) #if defined (USE_XON_XOFF) #if defined (IXANY) - tiop->c_iflag &= ~(IXON | IXOFF | IXANY); + tiop->c_iflag &= ~(IXON | IXANY); #else /* `strict' Posix systems do not define IXANY. */ - tiop->c_iflag &= ~(IXON | IXOFF); + tiop->c_iflag &= ~IXON; #endif /* IXANY */ #endif /* USE_XON_XOFF */ @@ -678,7 +678,7 @@ rl_deprep_terminal () /* Try to keep this function from being interrupted. */ _rl_block_sigint (); - tty = rl_instream ? fileno (rl_instream) : fileno (stdout); + tty = rl_instream ? fileno (rl_instream) : fileno (stdin); if (_rl_enable_keypad) _rl_control_keypad (0); diff --git a/rltypedefs.h b/rltypedefs.h index 60f29a1..b113ee6 100644 --- a/rltypedefs.h +++ b/rltypedefs.h @@ -1,6 +1,6 @@ /* rltypedefs.h -- Type declarations for readline functions. */ -/* Copyright (C) 2000-2009 Free Software Foundation, Inc. +/* Copyright (C) 2000-2011 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -26,18 +26,6 @@ extern "C" { #endif -/* Old-style */ - -#if !defined (_FUNCTION_DEF) -# define _FUNCTION_DEF - -typedef int Function (); -typedef void VFunction (); -typedef char *CPFunction (); -typedef char **CPPFunction (); - -#endif /* _FUNCTION_DEF */ - /* New style. */ #if !defined (_RL_FUNCTION_TYPEDEF) diff --git a/search.c b/search.c index 04468fc..028c250 100644 --- a/search.c +++ b/search.c @@ -1,6 +1,6 @@ /* search.c - code for non-incremental searching in emacs and vi modes. */ -/* Copyright (C) 1992-2009 Free Software Foundation, Inc. +/* Copyright (C) 1992-2013 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -43,6 +43,7 @@ #include "readline.h" #include "history.h" +#include "histlib.h" #include "rlprivate.h" #include "xmalloc.h" @@ -66,6 +67,8 @@ static char *prev_line_found = (char *) NULL; static int rl_history_search_len; static int rl_history_search_pos; +static int rl_history_search_flags; + static char *history_search_string; static int history_string_size; @@ -74,7 +77,7 @@ static int noninc_search_from_pos PARAMS((char *, int, int)); static int noninc_dosearch PARAMS((char *, int)); static int noninc_search PARAMS((int, int)); static int rl_history_search_internal PARAMS((int, int)); -static void rl_history_search_reinit PARAMS((void)); +static void rl_history_search_reinit PARAMS((int)); static _rl_search_cxt *_rl_nsearch_init PARAMS((int, int)); static int _rl_nsearch_cleanup PARAMS((_rl_search_cxt *, int)); @@ -169,7 +172,8 @@ noninc_dosearch (string, dir) oldpos = where_history (); history_set_pos (noninc_history_pos); - entry = current_history (); + entry = current_history (); /* will never be NULL after successful search */ + #if defined (VI_MODE) if (rl_editing_mode != vi_mode) #endif @@ -210,7 +214,7 @@ _rl_nsearch_init (dir, pchar) rl_end = rl_point = 0; p = _rl_make_prompt_for_search (pchar ? pchar : ':'); - rl_message ("%s", p, 0); + rl_message ("%s", p); xfree (p); RL_SETSTATE(RL_STATE_NSEARCH); @@ -453,15 +457,19 @@ rl_history_search_internal (count, dir) { HIST_ENTRY *temp; int ret, oldpos; + char *t; rl_maybe_save_line (); temp = (HIST_ENTRY *)NULL; - /* Search COUNT times through the history for a line whose prefix - matches history_search_string. When this loop finishes, TEMP, - if non-null, is the history line to copy into the line buffer. */ + /* Search COUNT times through the history for a line matching + history_search_string. If history_search_string[0] == '^', the + line must match from the start; otherwise any substring can match. + When this loop finishes, TEMP, if non-null, is the history line to + copy into the line buffer. */ while (count) { + RL_CHECK_SIGNALS (); ret = noninc_search_from_pos (history_search_string, rl_history_search_pos + dir, dir); if (ret == -1) break; @@ -470,7 +478,7 @@ rl_history_search_internal (count, dir) rl_history_search_pos = ret; oldpos = where_history (); history_set_pos (rl_history_search_pos); - temp = current_history (); + temp = current_history (); /* will never be NULL after successful search */ history_set_pos (oldpos); /* Don't find multiple instances of the same line. */ @@ -505,35 +513,49 @@ rl_history_search_internal (count, dir) /* Copy the line we found into the current line buffer. */ make_history_line_current (temp); - rl_point = rl_history_search_len; + if (rl_history_search_flags & ANCHORED_SEARCH) + rl_point = rl_history_search_len; /* easy case */ + else + { + t = strstr (rl_line_buffer, history_search_string); + rl_point = t ? (int)(t - rl_line_buffer) + rl_history_search_len : rl_end; + } rl_mark = rl_end; return 0; } static void -rl_history_search_reinit () +rl_history_search_reinit (flags) + int flags; { + int sind; + rl_history_search_pos = where_history (); rl_history_search_len = rl_point; + rl_history_search_flags = flags; + prev_line_found = (char *)NULL; if (rl_point) { + /* Allocate enough space for anchored and non-anchored searches */ if (rl_history_search_len >= history_string_size - 2) { history_string_size = rl_history_search_len + 2; history_search_string = (char *)xrealloc (history_search_string, history_string_size); } - history_search_string[0] = '^'; - strncpy (history_search_string + 1, rl_line_buffer, rl_point); - history_search_string[rl_point + 1] = '\0'; + sind = 0; + if (flags & ANCHORED_SEARCH) + history_search_string[sind++] = '^'; + strncpy (history_search_string + sind, rl_line_buffer, rl_point); + history_search_string[rl_point + sind] = '\0'; } _rl_free_saved_history_line (); } /* Search forward in the history for the string of characters from the start of the line to rl_point. This is a non-incremental - search. */ + search. The search is anchored to the beginning of the history line. */ int rl_history_search_forward (count, ignore) int count, ignore; @@ -543,7 +565,7 @@ rl_history_search_forward (count, ignore) if (rl_last_func != rl_history_search_forward && rl_last_func != rl_history_search_backward) - rl_history_search_reinit (); + rl_history_search_reinit (ANCHORED_SEARCH); if (rl_history_search_len == 0) return (rl_get_next_history (count, ignore)); @@ -562,7 +584,46 @@ rl_history_search_backward (count, ignore) if (rl_last_func != rl_history_search_forward && rl_last_func != rl_history_search_backward) - rl_history_search_reinit (); + rl_history_search_reinit (ANCHORED_SEARCH); + + if (rl_history_search_len == 0) + return (rl_get_previous_history (count, ignore)); + return (rl_history_search_internal (abs (count), (count > 0) ? -1 : 1)); +} + +/* Search forward in the history for the string of characters + from the start of the line to rl_point. This is a non-incremental + search. The search succeeds if the search string is present anywhere + in the history line. */ +int +rl_history_substr_search_forward (count, ignore) + int count, ignore; +{ + if (count == 0) + return (0); + + if (rl_last_func != rl_history_substr_search_forward && + rl_last_func != rl_history_substr_search_backward) + rl_history_search_reinit (NON_ANCHORED_SEARCH); + + if (rl_history_search_len == 0) + return (rl_get_next_history (count, ignore)); + return (rl_history_search_internal (abs (count), (count > 0) ? 1 : -1)); +} + +/* Search backward through the history for the string of characters + from the start of the line to rl_point. This is a non-incremental + search. */ +int +rl_history_substr_search_backward (count, ignore) + int count, ignore; +{ + if (count == 0) + return (0); + + if (rl_last_func != rl_history_substr_search_forward && + rl_last_func != rl_history_substr_search_backward) + rl_history_search_reinit (NON_ANCHORED_SEARCH); if (rl_history_search_len == 0) return (rl_get_previous_history (count, ignore)); diff --git a/shell.c b/shell.c index ac0fb36..6947295 100644 --- a/shell.c +++ b/shell.c @@ -59,6 +59,8 @@ #include "rlstdc.h" #include "rlshell.h" +#include "rldefs.h" + #include "xmalloc.h" #if defined (HAVE_GETPWUID) && !defined (HAVE_GETPW_DECLS) @@ -120,31 +122,27 @@ sh_single_quote (string) /* Set the environment variables LINES and COLUMNS to lines and cols, respectively. */ +static char setenv_buf[INT_STRLEN_BOUND (int) + 1]; +static char putenv_buf1[INT_STRLEN_BOUND (int) + 6 + 1]; /* sizeof("LINES=") == 6 */ +static char putenv_buf2[INT_STRLEN_BOUND (int) + 8 + 1]; /* sizeof("COLUMNS=") == 8 */ + void sh_set_lines_and_columns (lines, cols) int lines, cols; { - char *b; - #if defined (HAVE_SETENV) - b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1); - sprintf (b, "%d", lines); - setenv ("LINES", b, 1); - xfree (b); - - b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1); - sprintf (b, "%d", cols); - setenv ("COLUMNS", b, 1); - xfree (b); + sprintf (setenv_buf, "%d", lines); + setenv ("LINES", setenv_buf, 1); + + sprintf (setenv_buf, "%d", cols); + setenv ("COLUMNS", setenv_buf, 1); #else /* !HAVE_SETENV */ # if defined (HAVE_PUTENV) - b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("LINES=") + 1); - sprintf (b, "LINES=%d", lines); - putenv (b); + sprintf (putenv_buf1, "LINES=%d", lines); + putenv (putenv_buf1); - b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("COLUMNS=") + 1); - sprintf (b, "COLUMNS=%d", cols); - putenv (b); + sprintf (putenv_buf2, "COLUMNS=%d", cols); + putenv (putenv_buf2); # endif /* HAVE_PUTENV */ #endif /* !HAVE_SETENV */ } @@ -159,15 +157,27 @@ sh_get_env_value (varname) char * sh_get_home_dir () { - char *home_dir; + static char *home_dir = (char *)NULL; struct passwd *entry; + if (home_dir) + return (home_dir); + home_dir = (char *)NULL; #if defined (HAVE_GETPWUID) +# if defined (__TANDEM) + entry = getpwnam (getlogin ()); +# else entry = getpwuid (getuid ()); +# endif if (entry) - home_dir = entry->pw_dir; + home_dir = savestring (entry->pw_dir); +#endif + +#if defined (HAVE_GETPWENT) + endpwent (); /* some systems need this */ #endif + return (home_dir); } diff --git a/shlib/Makefile.in b/shlib/Makefile.in index 902a5ab..eb16211 100644 --- a/shlib/Makefile.in +++ b/shlib/Makefile.in @@ -30,7 +30,7 @@ RL_LIBRARY_NAME = readline datarootdir = @datarootdir@ srcdir = @srcdir@ -VPATH = .:@top_srcdir@ +VPATH = @top_srcdir@ topdir = @top_srcdir@ BUILD_DIR = @BUILD_DIR@ @@ -134,21 +134,29 @@ CSOURCES = $(topdir)/readline.c $(topdir)/funmap.c $(topdir)/keymaps.c \ $(topdir)/histfile.c $(topdir)/nls.c $(topdir)/search.c \ $(topdir)/shell.c $(topdir)/savestring.c $(topdir)/tilde.c \ $(topdir)/text.c $(topdir)/misc.c $(topdir)/compat.c \ - $(topdir)/mbutil.c + $(topdir)/colors.c $(topdir)/parse-colors.c \ + $(topdir)/mbutil.c $(topdir)/xfree.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 xmalloc.h rlprivate.h rlshell.h rlmbutil.h +HSOURCES = $(topdir)/readline.h $(topdir)/rldefs.h $(topdir)/chardefs.h \ + $(topdir)/keymaps.h $(topdir)/history.h $(topdir)/histlib.h \ + $(topdir)/posixstat.h $(topdir)/posixdir.h $(topdir)/posixjmp.h \ + $(topdir)/tilde.h $(topdir)/rlconf.h $(topdir)/rltty.h \ + $(topdir)/ansi_stdlib.h $(topdir)/tcap.h $(topdir)/rlstdc.h \ + $(topdir)/xmalloc.h $(topdir)/rlprivate.h $(topdir)/rlshell.h \ + $(topdir)/rltypedefs.h $(topdir)/rlmbutil.h \ + $(topdir)/colors.h $(topdir)/parse-colors.h SHARED_HISTOBJ = history.so histexpand.so histfile.so histsearch.so shell.so \ mbutil.so SHARED_TILDEOBJ = tilde.so +SHARED_COLORSOBJ = colors.so parse-colors.so SHARED_OBJ = readline.so vi_mode.so funmap.so keymaps.so parens.so search.so \ rltty.so complete.so bind.so isearch.so display.so signals.so \ util.so kill.so undo.so macro.so input.so callback.so terminal.so \ - text.so nls.so misc.so xmalloc.so xfree.so $(SHARED_HISTOBJ) $(SHARED_TILDEOBJ) \ - compat.so + text.so nls.so misc.so \ + $(SHARED_HISTOBJ) $(SHARED_TILDEOBJ) $(SHARED_COLORSOBJ) \ + xmalloc.so xfree.so compat.so ########################################################################## @@ -183,16 +191,26 @@ installdirs: $(topdir)/support/mkdirs -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir) -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir) -install: installdirs $(SHLIB_STATUS) +install-supported: installdirs $(SHLIB_STATUS) $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY) $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE) @echo install: you may need to run ldconfig -uninstall: +install-unsupported: + @echo install: shared libraries not supported + +install: install-$(SHLIB_STATUS) + +uninstall-supported: $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY) $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE) @echo uninstall: you may need to run ldconfig +uninstall-unsupported: + @echo uninstall: shared libraries not supported + +uninstall: uninstall-$(SHLIB_STATUS) + clean mostlyclean: force $(RM) $(SHARED_OBJ) $(SHARED_LIBS) @@ -217,7 +235,7 @@ callback.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h callback.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h callback.so: $(topdir)/rltypedefs.h callback.so: $(topdir)/tilde.h -complete.so: $(topdir)/ansi_stdlib.h posixdir.h $(topdir)/posixstat.h +complete.so: $(topdir)/ansi_stdlib.h $(topdir)/posixdir.h $(topdir)/posixstat.h complete.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h complete.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h complete.so: $(topdir)/rltypedefs.h @@ -253,7 +271,6 @@ isearch.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h isearch.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h isearch.so: $(topdir)/rltypedefs.h isearch.so: $(topdir)/ansi_stdlib.h $(topdir)/history.h $(topdir)/tilde.h -keymaps.so: emacs_keymap.c vi_keymap.c keymaps.so: $(topdir)/keymaps.h $(topdir)/chardefs.h $(topdir)/rlconf.h keymaps.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h keymaps.so: $(topdir)/rltypedefs.h @@ -330,6 +347,16 @@ shell.so: $(topdir)/rlshell.h terminal.so: $(topdir)/rlshell.h histexpand.so: $(topdir)/rlshell.h +colors.so: $(BUILD_DIR)/config.h $(topdir)/colors.h +colors.so: $(topdir)/rlconf.h +colors.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/rltypedefs.h +colors.so: $(topdir)/chardefs.h $(topdir)/tilde.h $(topdir)/rlstdc.h +colors.so: $(topdir)/ansi_stdlib.h $(topdir)/posixstat.h +parse-colors.so: $(BUILD_DIR)/config.h $(topdir)/colors.h $(topdir)/parse-colors.h +parse-colors.so: $(topdir)/rldefs.h $(topdir)/rlconf.h +parse-colors.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/rltypedefs.h +parse-colors.so: $(topdir)/chardefs.h $(topdir)/tilde.h $(topdir)/rlstdc.h + bind.so: $(topdir)/rlprivate.h callback.so: $(topdir)/rlprivate.h complete.so: $(topdir)/rlprivate.h @@ -350,9 +377,12 @@ terminal.so: $(topdir)/rlprivate.h text.so: $(topdir)/rlprivate.h undo.so: $(topdir)/rlprivate.h util.so: $(topdir)/rlprivate.h -vi_mode.so: $(topdir)/rlprivate.h +vi_mode.so: $(topdir)/ +colors.so: $(topdir)/rlprivate.h +parse-colors.so: $(topdir)/rlprivate.h bind.so: $(topdir)/xmalloc.h +callback.so: $(topdir)/xmalloc.h complete.so: $(topdir)/xmalloc.h display.so: $(topdir)/xmalloc.h funmap.so: $(topdir)/xmalloc.h @@ -378,18 +408,22 @@ util.so: $(topdir)/xmalloc.h vi_mode.so: $(topdir)/xmalloc.h xfree.so: $(topdir)/xmalloc.h xmalloc.so: $(topdir)/xmalloc.h - -complete.o: $(topdir)/rlmbutil.h -display.o: $(topdir)/rlmbutil.h -histexpand.o: $(topdir)/rlmbutil.h -input.o: $(topdir)/rlmbutil.h -isearch.o: $(topdir)/rlmbutil.h -mbutil.o: $(topdir)/rlmbutil.h -misc.o: $(topdir)/rlmbutil.h -readline.o: $(topdir)/rlmbutil.h -search.o: $(topdir)/rlmbutil.h -text.o: $(topdir)/rlmbutil.h -vi_mode.o: $(topdir)/rlmbutil.h +colors.so: $(topdir)/xmalloc.h +parse-colors.so: $(topdir)/xmalloc.h + +complete.so: $(topdir)/rlmbutil.h +display.so: $(topdir)/rlmbutil.h +histexpand.so: $(topdir)/rlmbutil.h +input.so: $(topdir)/rlmbutil.h +isearch.so: $(topdir)/rlmbutil.h +mbutil.so: $(topdir)/rlmbutil.h +misc.so: $(topdir)/rlmbutil.h +readline.so: $(topdir)/rlmbutil.h +search.so: $(topdir)/rlmbutil.h +text.so: $(topdir)/rlmbutil.h +vi_mode.so: $(topdir)/rlmbutil.h +colors.so: $(topdir)/rlmbutil.h +parse-colors.so: $(topdir)/rlmbutil.h bind.so: $(topdir)/bind.c callback.so: $(topdir)/callback.c @@ -456,6 +490,9 @@ vi_mode.so: vi_mode.c xfree.so: xfree.c xmalloc.so: xmalloc.c +colors.so: colors.c +parse-colors.so: parse-colors.c + histexpand.so: histexpand.c histfile.so: histfile.c history.so: history.c diff --git a/signals.c b/signals.c index 6a68d78..61f02f9 100644 --- a/signals.c +++ b/signals.c @@ -1,6 +1,6 @@ /* signals.c -- signal handling support for readline. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2011 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -80,6 +80,7 @@ typedef struct { SigHandler *sa_handler; int sa_mask, sa_flags; } sighandler_cxt static SigHandler *rl_set_sighandler PARAMS((int, SigHandler *, sighandler_cxt *)); static void rl_maybe_set_sighandler PARAMS((int, SigHandler *, sighandler_cxt *)); +static void rl_maybe_restore_sighandler PARAMS((int, sighandler_cxt *)); static RETSIGTYPE rl_signal_handler PARAMS((int)); static RETSIGTYPE _rl_handle_signal PARAMS((int)); @@ -87,7 +88,7 @@ static RETSIGTYPE _rl_handle_signal PARAMS((int)); /* Exported variables for use by applications. */ /* If non-zero, readline will install its own signal handlers for - SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU. */ + SIGINT, SIGTERM, SIGHUP, SIGQUIT, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU. */ int rl_catch_signals = 1; /* If non-zero, readline will install a signal handler for SIGWINCH. */ @@ -118,7 +119,7 @@ static int sigwinch_set_flag; /* */ /* **************************************************************** */ -static sighandler_cxt old_int, old_term, old_alrm, old_quit; +static sighandler_cxt old_int, old_term, old_hup, old_alrm, old_quit; #if defined (SIGTSTP) static sighandler_cxt old_tstp, old_ttou, old_ttin; #endif @@ -126,6 +127,9 @@ static sighandler_cxt old_tstp, old_ttou, old_ttin; static sighandler_cxt old_winch; #endif +_rl_sigcleanup_func_t *_rl_sigcleanup; +void *_rl_sigcleanarg; + /* Readline signal handler functions. */ /* Called from RL_CHECK_SIGNALS() macro */ @@ -135,7 +139,21 @@ _rl_signal_handler (sig) { _rl_caught_signal = 0; /* XXX */ - _rl_handle_signal (sig); +#if defined (SIGWINCH) + if (sig == SIGWINCH) + { + rl_resize_terminal (); + /* XXX - experimental for now */ + /* Call a signal hook because though we called the original signal handler + in rl_sigwinch_handler below, we will not resend the signal to + ourselves. */ + if (rl_signal_event_hook) + (*rl_signal_event_hook) (); + } + else +#endif + _rl_handle_signal (sig); + SIGHANDLER_RETURN; } @@ -143,7 +161,7 @@ static RETSIGTYPE rl_signal_handler (sig) int sig; { - if (_rl_interrupt_immediately || RL_ISSTATE(RL_STATE_CALLBACK)) + if (_rl_interrupt_immediately) { _rl_interrupt_immediately = 0; _rl_handle_signal (sig); @@ -181,6 +199,15 @@ _rl_handle_signal (sig) rl_set_sighandler (sig, SIG_IGN, &dummy_cxt); #endif /* !HAVE_BSD_SIGNALS && !HAVE_POSIX_SIGNALS */ + /* If there's a sig cleanup function registered, call it and `deregister' + the cleanup function to avoid multiple calls */ + if (_rl_sigcleanup) + { + (*_rl_sigcleanup) (sig, _rl_sigcleanarg); + _rl_sigcleanup = 0; + _rl_sigcleanarg = 0; + } + switch (sig) { case SIGINT: @@ -189,6 +216,7 @@ _rl_handle_signal (sig) /* FALLTHROUGH */ case SIGTERM: + case SIGHUP: #if defined (SIGTSTP) case SIGTSTP: case SIGTTOU: @@ -232,7 +260,7 @@ _rl_handle_signal (sig) # endif /* HAVE_BSD_SIGNALS */ #endif /* !HAVE_POSIX_SIGNALS */ - rl_reset_after_signal (); + rl_reset_after_signal (); } RL_UNSETSTATE(RL_STATE_SIGHANDLER); @@ -257,7 +285,7 @@ rl_sigwinch_handler (sig) #endif RL_SETSTATE(RL_STATE_SIGHANDLER); - rl_resize_terminal (); + _rl_caught_signal = sig; /* If another sigwinch handler has been installed, call it. */ oh = (SigHandler *)old_winch.sa_handler; @@ -317,6 +345,8 @@ rl_set_sighandler (sig, handler, ohandler) return (ohandler->sa_handler); } +/* Set disposition of SIG to HANDLER, returning old state in OHANDLER. Don't + change disposition if OHANDLER indicates the signal was ignored. */ static void rl_maybe_set_sighandler (sig, handler, ohandler) int sig; @@ -327,11 +357,29 @@ rl_maybe_set_sighandler (sig, handler, ohandler) SigHandler *oh; sigemptyset (&dummy.sa_mask); + dummy.sa_flags = 0; oh = rl_set_sighandler (sig, handler, ohandler); if (oh == (SigHandler *)SIG_IGN) rl_sigaction (sig, ohandler, &dummy); } +/* Set the disposition of SIG to HANDLER, if HANDLER->sa_handler indicates the + signal was not being ignored. MUST only be called for signals whose + disposition was changed using rl_maybe_set_sighandler or for which the + SIG_IGN check was performed inline (e.g., SIGALRM below). */ +static void +rl_maybe_restore_sighandler (sig, handler) + int sig; + sighandler_cxt *handler; +{ + sighandler_cxt dummy; + + sigemptyset (&dummy.sa_mask); + dummy.sa_flags = 0; + if (handler->sa_handler != SIG_IGN) + rl_sigaction (sig, handler, &dummy); +} + int rl_set_signals () { @@ -349,6 +397,7 @@ rl_set_signals () sigaddset (&bset, SIGINT); sigaddset (&bset, SIGTERM); + sigaddset (&bset, SIGHUP); #if defined (SIGQUIT) sigaddset (&bset, SIGQUIT); #endif @@ -377,6 +426,7 @@ rl_set_signals () rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int); rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term); + rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup); #if defined (SIGQUIT) rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit); #endif @@ -434,25 +484,31 @@ rl_clear_signals () { sigemptyset (&dummy.sa_mask); - rl_sigaction (SIGINT, &old_int, &dummy); - rl_sigaction (SIGTERM, &old_term, &dummy); + /* Since rl_maybe_set_sighandler doesn't override a SIG_IGN handler, + we should in theory not have to restore a handler where + old_xxx.sa_handler == SIG_IGN. That's what rl_maybe_restore_sighandler + does. Fewer system calls should reduce readline's per-line + overhead */ + rl_maybe_restore_sighandler (SIGINT, &old_int); + rl_maybe_restore_sighandler (SIGTERM, &old_term); + rl_maybe_restore_sighandler (SIGHUP, &old_hup); #if defined (SIGQUIT) - rl_sigaction (SIGQUIT, &old_quit, &dummy); + rl_maybe_restore_sighandler (SIGQUIT, &old_quit); #endif #if defined (SIGALRM) - rl_sigaction (SIGALRM, &old_alrm, &dummy); + rl_maybe_restore_sighandler (SIGALRM, &old_alrm); #endif #if defined (SIGTSTP) - rl_sigaction (SIGTSTP, &old_tstp, &dummy); + rl_maybe_restore_sighandler (SIGTSTP, &old_tstp); #endif /* SIGTSTP */ #if defined (SIGTTOU) - rl_sigaction (SIGTTOU, &old_ttou, &dummy); + rl_maybe_restore_sighandler (SIGTTOU, &old_ttou); #endif /* SIGTTOU */ #if defined (SIGTTIN) - rl_sigaction (SIGTTIN, &old_ttin, &dummy); + rl_maybe_restore_sighandler (SIGTTIN, &old_ttin); #endif /* SIGTTIN */ signals_set_flag = 0; @@ -540,21 +596,6 @@ _rl_block_sigint () if (sigint_blocked) return; -#if defined (HAVE_POSIX_SIGNALS) - sigemptyset (&sigint_set); - sigemptyset (&sigint_oset); - sigaddset (&sigint_set, SIGINT); - sigprocmask (SIG_BLOCK, &sigint_set, &sigint_oset); -#else /* !HAVE_POSIX_SIGNALS */ -# if defined (HAVE_BSD_SIGNALS) - sigint_oldmask = sigblock (sigmask (SIGINT)); -# else /* !HAVE_BSD_SIGNALS */ -# if defined (HAVE_USG_SIGHOLD) - sighold (SIGINT); -# endif /* HAVE_USG_SIGHOLD */ -# endif /* !HAVE_BSD_SIGNALS */ -#endif /* !HAVE_POSIX_SIGNALS */ - sigint_blocked = 1; } @@ -565,19 +606,8 @@ _rl_release_sigint () if (sigint_blocked == 0) return; -#if defined (HAVE_POSIX_SIGNALS) - sigprocmask (SIG_SETMASK, &sigint_oset, (sigset_t *)NULL); -#else -# if defined (HAVE_BSD_SIGNALS) - sigsetmask (sigint_oldmask); -# else /* !HAVE_BSD_SIGNALS */ -# if defined (HAVE_USG_SIGHOLD) - sigrelse (SIGINT); -# endif /* HAVE_USG_SIGHOLD */ -# endif /* !HAVE_BSD_SIGNALS */ -#endif /* !HAVE_POSIX_SIGNALS */ - sigint_blocked = 0; + RL_CHECK_SIGNALS (); } /* Cause SIGWINCH to not be delivered until the corresponding call to @@ -588,6 +618,8 @@ _rl_block_sigwinch () if (sigwinch_blocked) return; +#if defined (SIGWINCH) + #if defined (HAVE_POSIX_SIGNALS) sigemptyset (&sigwinch_set); sigemptyset (&sigwinch_oset); @@ -603,6 +635,8 @@ _rl_block_sigwinch () # endif /* !HAVE_BSD_SIGNALS */ #endif /* !HAVE_POSIX_SIGNALS */ +#endif /* SIGWINCH */ + sigwinch_blocked = 1; } @@ -613,6 +647,8 @@ _rl_release_sigwinch () if (sigwinch_blocked == 0) return; +#if defined (SIGWINCH) + #if defined (HAVE_POSIX_SIGNALS) sigprocmask (SIG_SETMASK, &sigwinch_oset, (sigset_t *)NULL); #else @@ -625,6 +661,8 @@ _rl_release_sigwinch () # endif /* !HAVE_BSD_SIGNALS */ #endif /* !HAVE_POSIX_SIGNALS */ +#endif /* SIGWINCH */ + sigwinch_blocked = 0; } diff --git a/support/config.guess b/support/config.guess index 994d98a..9afd676 100644 --- a/support/config.guess +++ b/support/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -# Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2008-03-12' +timestamp='2013-11-29' # This file 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 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -17,26 +15,22 @@ timestamp='2008-03-12' # 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner. # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008,2009 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -139,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -170,7 +184,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -180,7 +194,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -201,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -223,7 +241,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -269,7 +287,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -295,12 +316,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo s390-ibm-zvmoe exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 + echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -324,14 +345,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -375,23 +415,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -461,8 +501,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -475,7 +515,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -532,7 +572,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[456]) + *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -575,52 +615,52 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #define _HPUX_SOURCE + #include + #include - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa @@ -640,7 +680,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -711,22 +751,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -750,14 +790,14 @@ EOF exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} @@ -769,34 +809,39 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in + *:Interix*:*) + case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -806,6 +851,9 @@ EOF [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -826,210 +874,157 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1037,11 +1032,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1058,7 +1053,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1073,7 +1068,7 @@ EOF fi exit ;; i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; @@ -1101,10 +1096,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1139,8 +1137,18 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1153,7 +1161,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1173,10 +1181,10 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm @@ -1202,11 +1210,11 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1219,6 +1227,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1245,9 +1256,31 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1261,7 +1294,10 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1306,13 +1342,13 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1327,11 +1363,14 @@ EOF i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c < printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif diff --git a/support/config.sub b/support/config.sub index d07267e..61cb4bc 100644 --- a/support/config.sub +++ b/support/config.sub @@ -1,44 +1,40 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 20098 -# Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2008-03-26' +timestamp='2013-10-01' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file 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 of the License, or +# This file 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 3 of the License, 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. +# 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +68,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008,2009 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -120,12 +115,18 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -148,10 +149,13 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -166,10 +170,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -214,6 +218,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -238,19 +248,28 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -268,31 +287,45 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ | mt \ | msp430 \ - | nios | nios2 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | or32 \ + | open8 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -302,6 +335,21 @@ case $basic_machine in basic_machine=mt-unknown ;; + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -316,24 +364,31 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -351,31 +406,37 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ - | nios-* | nios2-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ | tron-* \ - | v850-* | v850e-* | vax-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) @@ -397,7 +458,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -443,6 +504,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -459,10 +524,27 @@ case $basic_machine in basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -491,7 +573,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16) + cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; @@ -530,6 +612,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -645,7 +731,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -703,8 +788,15 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -739,10 +831,18 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i686-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -807,6 +907,9 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + neo-tandem) + basic_machine=neo-tandem + ;; nse-tandem) basic_machine=nse-tandem ;; @@ -892,9 +995,10 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -919,7 +1023,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -988,6 +1096,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -1044,20 +1155,8 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1127,6 +1226,9 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1135,6 +1237,10 @@ case $basic_machine in basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1173,7 +1279,7 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1220,9 +1326,12 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1243,21 +1352,23 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1265,7 +1376,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1304,7 +1415,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1353,7 +1464,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1389,12 +1500,14 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; -none) ;; *) @@ -1417,10 +1530,10 @@ else # system, and we'll never get to this point. case $basic_machine in - score-*) + score-*) os=-elf ;; - spu-*) + spu-*) os=-elf ;; *-acorn) @@ -1432,8 +1545,23 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1453,14 +1581,11 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout ;; - mep-*) + mep-*) os=-elf ;; mips*-cisco) @@ -1469,6 +1594,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; @@ -1487,7 +1615,7 @@ case $basic_machine in *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) @@ -1592,7 +1720,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff --git a/support/mkdist b/support/mkdist index ff38764..282431d 100755 --- a/support/mkdist +++ b/support/mkdist @@ -2,7 +2,7 @@ # # mkdist - make a distribution directory from a master manifest file # -# usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-v] version +# usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-t] [-v] version # # SRCDIR defaults to src # MANIFEST defaults to $SRCDIR/MANIFEST @@ -31,7 +31,7 @@ ROOTNAME=bash usage() { - echo usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-v] version 1>&2 + echo usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-t] [-v] version 1>&2 exit 2 } @@ -42,12 +42,13 @@ vmsg() fi } -while getopts m:s:r:v name +while getopts m:s:r:tv name do case $name in m) MANIFEST=$OPTARG ;; s) SRCDIR=$OPTARG ;; r) ROOTNAME=$OPTARG ;; + t) maketar=yes ;; v) verbose=yes ;; ?) usage ;; esac @@ -66,6 +67,8 @@ fi version=$1 newdir=${ROOTNAME}-$version +tarfile=${newdir}.tar + vmsg creating distribution for $ROOTNAME version $version in $newdir if [ ! -d $newdir ]; then @@ -117,4 +120,10 @@ done < $MANIFEST vmsg $newdir created +if [ -n "$maketar" ]; then + tar cf ${tarfile} $newdir + gzip $tarfile + vmsg ${tarfile}.gz created +fi + exit 0 diff --git a/support/shlib-install b/support/shlib-install index 3d0fb3c..cfec3bd 100755 --- a/support/shlib-install +++ b/support/shlib-install @@ -66,11 +66,12 @@ fi # post-install/uninstall # HP-UX and Darwin/MacOS X require that a shared library have execute permission -# Linux does, too, and ldd warns about it +# Linux does, too, and ldd warns about it. Solaris doesn't seem to mind, +# but ldd still warns about it. # Cygwin installs both a dll (which must go in $BINDIR) and an implicit # link library (in $libdir) case "$host_os" in -hpux*|darwin*|macosx*|linux*) +hpux*|darwin*|macosx*|linux*|solaris2*) if [ -z "$uninstall" ]; then chmod 555 ${INSTALLDIR}/${LIBNAME} fi ;; @@ -131,7 +132,7 @@ case "$host_os-$host_vendor" in fi ;; -bsdi4*|*gnu*|darwin*|macosx*|netbsd*) +bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mirbsd*) # libname.so.M -> libname.so.M.N ${echo} ${RM} ${INSTALLDIR}/$LINK2 if [ -z "$uninstall" ]; then @@ -177,7 +178,7 @@ freebsd3*|freebsdaout*) fi ;; -freebsd[4-9]*|freebsdelf*|dragonfly*) +freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*) # libname.so -> libname.so.M ${echo} ${RM} ${INSTALLDIR}/$LINK1 if [ -z "$uninstall" ]; then diff --git a/support/shobj-conf b/support/shobj-conf index cb3095c..1f64433 100644 --- a/support/shobj-conf +++ b/support/shobj-conf @@ -10,7 +10,7 @@ # Chet Ramey # chet@po.cwru.edu -# Copyright (C) 1996-2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is part of GNU Bash, the Bourne Again SHell. # @@ -65,6 +65,20 @@ while [ $# -gt 0 ]; do done case "${host_os}-${SHOBJ_CC}-${host_vendor}" in +nsk-cc-tandem) + SHOBJ_CFLAGS=-Wglobalized + case `uname -m` in + NSR*) + SHOBJ_CFLAGS="${SHOBJ_CFLAGS} -Wcall_shared" # default on TNS/E, needed on TNS/R + SHOBJ_LD=/usr/bin/ld # for TNS/R + ;; + NSE*|NEO*) + SHOBJ_LD=/usr/bin/eld + ;; + esac + SHOBJ_LDFLAGS='-shared -bglobalized -unres_symbols ignore' + ;; + sunos4*-*gcc*) SHOBJ_CFLAGS=-fpic SHOBJ_LD=/usr/bin/ld @@ -146,7 +160,7 @@ freebsd3*|freebsdaout*) ;; # FreeBSD-4.x and later have only ELF -freebsd[4-9]*|freebsdelf*|dragonfly*) +freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*) SHOBJ_CFLAGS=-fPIC SHOBJ_LD='${CC}' @@ -157,49 +171,48 @@ freebsd[4-9]*|freebsdelf*|dragonfly*) ;; # Darwin/MacOS X -darwin[89]*|darwin1[0123]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported - +darwin*) + # Common definitions for all darwin/mac os x versions SHOBJ_CFLAGS='-fno-common' -# SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}' - # we can finally kill Mac OS X 10.3 SHOBJ_LD='${CC}' SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' SHLIB_LIBSUFF='dylib' - SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - - SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 - ;; - -darwin*|macosx*) - SHOBJ_STATUS=unsupported - SHLIB_STATUS=supported - - SHOBJ_CFLAGS='-fno-common' - - SHOBJ_LD='${CC}' - - SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' - SHLIB_LIBSUFF='dylib' + # unused at this time + SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)' case "${host_os}" in - darwin[789]*|darwin1[0123]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + # Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2, + # and 10.3, respectively. + darwin[1-7].*) + SHOBJ_STATUS=unsupported + SHOBJ_LDFLAGS='-dynamic' + SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; + # Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4 + *) + case "${host_os}" in + darwin[89]*|darwin1[012]*) + SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`' ;; - *) SHOBJ_LDFLAGS='-dynamic' - SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + *) # Mac OS X 10.9 (Mavericks) and later + SHOBJ_ARCHFLAGS= + # for 32 and 64bit universal library + #SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64' + #SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64' ;; + esac + SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}" + SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; esac SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 ;; -openbsd*|netbsd*) +openbsd*|netbsd*|mirbsd*) SHOBJ_CFLAGS=-fPIC SHOBJ_LD='${CC}' SHOBJ_LDFLAGS='-shared' diff --git a/terminal.c b/terminal.c index f8c2f6e..1212ec4 100644 --- a/terminal.c +++ b/terminal.c @@ -55,6 +55,10 @@ # include #endif /* GWINSZ_IN_SYS_IOCTL && !TIOCGWINSZ */ +#ifdef __MSDOS__ +# include +#endif + #include "rltty.h" #include "tcap.h" @@ -77,22 +81,25 @@ static void _win_get_screensize PARAMS((int *, int *)); static void _emx_get_screensize PARAMS((int *, int *)); #endif -#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay) -#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc) - -/* If the calling application sets this to a non-zero value, readline will - use the $LINES and $COLUMNS environment variables to set its idea of the - window size before interrogating the kernel. */ +/* If the calling application sets this to a non-zero value, readline will + use the $LINES and $COLUMNS environment variables to set its idea of the + window size before interrogating the kernel. */ int rl_prefer_env_winsize = 0; +/* If this is non-zero, readline will set LINES and COLUMNS in the + environment when it handles SIGWINCH. */ +int rl_change_environment = 1; + /* **************************************************************** */ /* */ /* Terminal and Termcap */ /* */ /* **************************************************************** */ +#ifndef __MSDOS__ static char *term_buffer = (char *)NULL; static char *term_string_buffer = (char *)NULL; +#endif static int tcap_initialized; @@ -264,7 +271,10 @@ _rl_get_screen_size (tty, ignore_env) if (_rl_screenwidth <= 0) _rl_screenwidth = wc; -#if !defined (__DJGPP__) +#if defined (__DJGPP__) + if (_rl_screenwidth <= 0) + _rl_screenwidth = ScreenCols (); +#else if (_rl_screenwidth <= 0 && term_string_buffer) _rl_screenwidth = tgetnum ("co"); #endif @@ -280,7 +290,10 @@ _rl_get_screen_size (tty, ignore_env) if (_rl_screenheight <= 0) _rl_screenheight = wr; -#if !defined (__DJGPP__) +#if defined (__DJGPP__) + if (_rl_screenheight <= 0) + _rl_screenheight = ScreenRows (); +#else if (_rl_screenheight <= 0 && term_string_buffer) _rl_screenheight = tgetnum ("li"); #endif @@ -296,7 +309,8 @@ _rl_get_screen_size (tty, ignore_env) /* If we're being compiled as part of bash, set the environment variables $LINES and $COLUMNS to new values. Otherwise, just do a pair of putenv () or setenv () calls. */ - sh_set_lines_and_columns (_rl_screenheight, _rl_screenwidth); + if (rl_change_environment) + sh_set_lines_and_columns (_rl_screenheight, _rl_screenwidth); if (_rl_term_autowrap == 0) _rl_screenwidth--; @@ -346,7 +360,13 @@ rl_reset_screen_size () { _rl_get_screen_size (fileno (rl_instream), 0); } - + +void +_rl_sigwinch_resize_terminal () +{ + _rl_get_screen_size (fileno (rl_instream), 1); +} + void rl_resize_terminal () { @@ -432,6 +452,23 @@ _rl_init_terminal_io (terminal_name) if (term == 0) term = "dumb"; +#ifdef __MSDOS__ + _rl_term_im = _rl_term_ei = _rl_term_ic = _rl_term_IC = (char *)NULL; + _rl_term_up = _rl_term_dc = _rl_term_DC = _rl_visible_bell = (char *)NULL; + _rl_term_ku = _rl_term_kd = _rl_term_kl = _rl_term_kr = (char *)NULL; + _rl_term_mm = _rl_term_mo = (char *)NULL; + _rl_terminal_can_insert = term_has_meta = _rl_term_autowrap = 0; + _rl_term_cr = "\r"; + _rl_term_clreol = _rl_term_clrpag = _rl_term_backspace = (char *)NULL; + _rl_term_goto = _rl_term_pc = _rl_term_ip = (char *)NULL; + _rl_term_ks = _rl_term_ke =_rl_term_vs = _rl_term_ve = (char *)NULL; + _rl_term_kh = _rl_term_kH = _rl_term_at7 = _rl_term_kI = (char *)NULL; +#if defined(HACK_TERMCAP_MOTION) + _rl_term_forward_char = (char *)NULL; +#endif + + _rl_get_screen_size (tty, 0); +#else /* !__MSDOS__ */ /* I've separated this out for later work on not calling tgetent at all if the calling application has supplied a custom redisplay function, (and possibly if the application has supplied a custom input function). */ @@ -531,6 +568,7 @@ _rl_init_terminal_io (terminal_name) term_has_meta = tgetflag ("km") != 0; if (term_has_meta == 0) _rl_term_mm = _rl_term_mo = (char *)NULL; +#endif /* !__MSDOS__ */ /* Attempt to find and bind the arrow keys. Do not override already bound keys in an overzealous attempt, however. */ @@ -628,10 +666,12 @@ _rl_backspace (count) { register int i; +#ifndef __MSDOS__ if (_rl_term_backspace) for (i = 0; i < count; i++) tputs (_rl_term_backspace, 1, _rl_output_character_function); else +#endif for (i = 0; i < count; i++) putc ('\b', _rl_out_stream); return 0; @@ -663,7 +703,11 @@ rl_ding () case VISIBLE_BELL: if (_rl_visible_bell) { +#ifdef __DJGPP__ + ScreenVisualBell (); +#else tputs (_rl_visible_bell, 1, _rl_output_character_function); +#endif break; } /* FALLTHROUGH */ @@ -683,12 +727,29 @@ rl_ding () /* */ /* **************************************************************** */ +static int enabled_meta = 0; /* flag indicating we enabled meta mode */ + void _rl_enable_meta_key () { #if !defined (__DJGPP__) if (term_has_meta && _rl_term_mm) - tputs (_rl_term_mm, 1, _rl_output_character_function); + { + tputs (_rl_term_mm, 1, _rl_output_character_function); + enabled_meta = 1; + } +#endif +} + +void +_rl_disable_meta_key () +{ +#if !defined (__DJGPP__) + if (term_has_meta && _rl_term_mo && enabled_meta) + { + tputs (_rl_term_mo, 1, _rl_output_character_function); + enabled_meta = 0; + } #endif } @@ -718,6 +779,7 @@ void _rl_set_cursor (im, force) int im, force; { +#ifndef __MSDOS__ if (_rl_term_ve && _rl_term_vs) { if (force || im != rl_insert_mode) @@ -728,4 +790,5 @@ _rl_set_cursor (im, force) tputs (_rl_term_ve, 1, _rl_output_character_function); } } +#endif } diff --git a/text.c b/text.c index 536e31a..f29adf8 100644 --- a/text.c +++ b/text.c @@ -240,7 +240,7 @@ rl_replace_line (text, clear_undo) this is the same as rl_end. Any command that is called interactively receives two arguments. - The first is a count: the numeric arg pased to this command. + The first is a count: the numeric arg passed to this command. The second is the key which invoked this command. */ @@ -826,7 +826,7 @@ _rl_insert_char (count, c) pending characters that are bound to rl_insert, and insert them all. Don't do this if we're current reading input from a macro. */ - if ((RL_ISSTATE (RL_STATE_MACROINPUT) == 0) && _rl_any_typein ()) + if ((RL_ISSTATE (RL_STATE_MACROINPUT) == 0) && _rl_pushed_input_available ()) _rl_insert_typein (c); else { @@ -908,6 +908,9 @@ _rl_insert_next (count) if (c < 0) return -1; + if (RL_ISSTATE (RL_STATE_MACRODEF)) + _rl_add_macro_char (c); + #if defined (HANDLE_SIGNALS) if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) _rl_restore_tty_signals (); diff --git a/undo.c b/undo.c index eb042b2..e9369b1 100644 --- a/undo.c +++ b/undo.c @@ -1,7 +1,7 @@ /* readline.c -- a general facility for reading lines of input with emacs style editing and completion. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -101,23 +101,33 @@ rl_add_undo (what, start, end, text) rl_undo_list = temp; } -/* Free the existing undo list. */ +/* Free an UNDO_LIST */ void -rl_free_undo_list () +_rl_free_undo_list (ul) + UNDO_LIST *ul; { - UNDO_LIST *release, *orig_list; + UNDO_LIST *release; - orig_list = rl_undo_list; - while (rl_undo_list) + while (ul) { - release = rl_undo_list; - rl_undo_list = rl_undo_list->next; + release = ul; + ul = ul->next; if (release->what == UNDO_DELETE) xfree (release->text); xfree (release); } +} + +/* Free the existing undo list. */ +void +rl_free_undo_list () +{ + UNDO_LIST *release, *orig_list; + + orig_list = rl_undo_list; + _rl_free_undo_list (rl_undo_list); rl_undo_list = (UNDO_LIST *)NULL; replace_history_data (-1, (histdata_t *)orig_list, (histdata_t *)NULL); } @@ -168,6 +178,7 @@ rl_do_undo () { UNDO_LIST *release; int waiting_for_begin, start, end; + HIST_ENTRY *cur, *temp; #define TRANS(i) ((i) == -1 ? rl_point : ((i) == -2 ? rl_end : (i))) @@ -222,6 +233,18 @@ rl_do_undo () release = rl_undo_list; rl_undo_list = rl_undo_list->next; + + /* If we are editing a history entry, make sure the change is replicated + in the history entry's line */ + cur = current_history (); + if (cur && cur->data && (UNDO_LIST *)cur->data == release) + { + temp = replace_history_entry (where_history (), rl_line_buffer, (histdata_t)rl_undo_list); + xfree (temp->line); + FREE (temp->timestamp); + xfree (temp); + } + replace_history_data (-1, (histdata_t *)release, (histdata_t *)rl_undo_list); xfree (release); diff --git a/util.c b/util.c index 6c68ad8..fa3a667 100644 --- a/util.c +++ b/util.c @@ -1,6 +1,6 @@ /* util.c -- readline utility functions */ -/* Copyright (C) 1987-2010 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -108,7 +108,11 @@ _rl_abort_internal () _rl_pop_executing_macro (); rl_last_func = (rl_command_func_t *)NULL; +#if defined (HAVE_POSIX_SIGSETJMP) + siglongjmp (_rl_top_level, 1); +#else longjmp (_rl_top_level, 1); +#endif return (0); } @@ -369,11 +373,13 @@ _rl_strpbrk (string1, string2) doesn't matter (strncasecmp). */ int _rl_strnicmp (string1, string2, count) - char *string1, *string2; + const char *string1; + const char *string2; int count; { - register char *s1, *s2; - int d; + register const char *s1; + register const char *s2; + register int d; if (count <= 0 || (string1 == string2)) return 0; @@ -389,7 +395,7 @@ _rl_strnicmp (string1, string2, count) break; s2++; } - while (--count != 0) + while (--count != 0); return (0); } @@ -397,10 +403,12 @@ _rl_strnicmp (string1, string2, count) /* strcmp (), but caseless (strcasecmp). */ int _rl_stricmp (string1, string2) - char *string1, *string2; + const char *string1; + const char *string2; { - register char *s1, *s2; - int d; + register const char *s1; + register const char *s2; + register int d; s1 = string1; s2 = string2; @@ -507,7 +515,7 @@ _rl_tropen () if (_rl_tracefp) fclose (_rl_tracefp); - sprintf (fnbuf, "/var/tmp/rltrace.%ld", getpid()); + sprintf (fnbuf, "/var/tmp/rltrace.%ld", (long)getpid()); unlink(fnbuf); _rl_tracefp = fopen (fnbuf, "w+"); return _rl_tracefp != 0; @@ -523,4 +531,61 @@ _rl_trclose () return r; } +void +_rl_settracefp (fp) + FILE *fp; +{ + _rl_tracefp = fp; +} +#endif + + +#if HAVE_DECL_AUDIT_USER_TTY && defined (ENABLE_TTY_AUDIT_SUPPORT) +#include +#include +#include + +/* Report STRING to the audit system. */ +void +_rl_audit_tty (string) + char *string; +{ + struct sockaddr_nl addr; + struct msghdr msg; + struct nlmsghdr nlm; + struct iovec iov[2]; + size_t size; + int fd; + + fd = socket (AF_NETLINK, SOCK_RAW, NETLINK_AUDIT); + if (fd < 0) + return; + size = strlen (string) + 1; + + nlm.nlmsg_len = NLMSG_LENGTH (size); + nlm.nlmsg_type = AUDIT_USER_TTY; + nlm.nlmsg_flags = NLM_F_REQUEST; + nlm.nlmsg_seq = 0; + nlm.nlmsg_pid = 0; + + iov[0].iov_base = &nlm; + iov[0].iov_len = sizeof (nlm); + iov[1].iov_base = string; + iov[1].iov_len = size; + + addr.nl_family = AF_NETLINK; + addr.nl_pid = 0; + addr.nl_groups = 0; + + msg.msg_name = &addr; + msg.msg_namelen = sizeof (addr); + msg.msg_iov = iov; + msg.msg_iovlen = 2; + msg.msg_control = NULL; + msg.msg_controllen = 0; + msg.msg_flags = 0; + + (void)sendmsg (fd, &msg, 0); + close (fd); +} #endif diff --git a/vi_keymap.c b/vi_keymap.c index ba5a27b..60c925d 100644 --- a/vi_keymap.c +++ b/vi_keymap.c @@ -309,7 +309,6 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = { #endif /* KEYMAP_SIZE > 128 */ }; - KEYMAP_ENTRY_ARRAY vi_insertion_keymap = { /* The regular control keys come first. */ { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-@ */ diff --git a/vi_mode.c b/vi_mode.c index 4408053..0864192 100644 --- a/vi_mode.c +++ b/vi_mode.c @@ -1,7 +1,7 @@ /* vi_mode.c -- A vi emulation mode for Bash. Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */ -/* Copyright (C) 1987-2010 Free Software Foundation, Inc. +/* Copyright (C) 1987-2012 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -108,9 +108,13 @@ static const char * const vi_textmod = "_*\\AaIiCcDdPpYyRrSsXx~"; /* Arrays for the saved marks. */ static int vi_mark_chars['z' - 'a' + 1]; +static void _rl_vi_replace_insert PARAMS((int)); +static void _rl_vi_save_replace PARAMS((void)); static void _rl_vi_stuff_insert PARAMS((int)); static void _rl_vi_save_insert PARAMS((UNDO_LIST *)); +static void vi_save_insert_buffer PARAMS ((int, int)); + static void _rl_vi_backup PARAMS((void)); static int _rl_vi_arg_dispatch PARAMS((int)); @@ -188,6 +192,22 @@ _rl_vi_textmod_command (c) return (member (c, vi_textmod)); } +static void +_rl_vi_replace_insert (count) + int count; +{ + int nchars; + + nchars = strlen (vi_insert_buffer); + + rl_begin_undo_group (); + while (count--) + /* nchars-1 to compensate for _rl_replace_text using `end+1' in call + to rl_delete_text */ + _rl_replace_text (vi_insert_buffer, rl_point, rl_point+nchars-1); + rl_end_undo_group (); +} + static void _rl_vi_stuff_insert (count) int count; @@ -207,7 +227,7 @@ rl_vi_redo (count, c) { int r; - if (!rl_explicit_arg) + if (rl_explicit_arg == 0) { rl_numeric_arg = _rl_vi_last_repeat; rl_arg_sign = _rl_vi_last_arg_sign; @@ -224,6 +244,13 @@ rl_vi_redo (count, c) if (rl_point > 0) _rl_vi_backup (); } + else if (_rl_vi_last_command == 'R' && vi_insert_buffer && *vi_insert_buffer) + { + _rl_vi_replace_insert (count); + /* And back up point over the last character inserted. */ + if (rl_point > 0) + _rl_vi_backup (); + } /* Ditto for redoing an insert with `I', but move to the beginning of the line like the `I' command does. */ else if (_rl_vi_last_command == 'I' && vi_insert_buffer && *vi_insert_buffer) @@ -679,6 +706,8 @@ rl_vi_insertion_mode (count, key) { _rl_keymap = vi_insertion_keymap; _rl_vi_last_key_before_insert = key; + if (_rl_show_mode_in_prompt) + _rl_reset_prompt (); return (0); } @@ -690,6 +719,43 @@ rl_vi_insert_mode (count, key) return (0); } +static void +vi_save_insert_buffer (start, len) + int start, len; +{ + /* Same code as _rl_vi_save_insert below */ + if (len >= vi_insert_buffer_size) + { + vi_insert_buffer_size += (len + 32) - (len % 32); + vi_insert_buffer = (char *)xrealloc (vi_insert_buffer, vi_insert_buffer_size); + } + strncpy (vi_insert_buffer, rl_line_buffer + start, len - 1); + vi_insert_buffer[len-1] = '\0'; +} + +static void +_rl_vi_save_replace () +{ + int len, start, end; + UNDO_LIST *up; + + up = rl_undo_list; + if (up == 0 || up->what != UNDO_END || vi_replace_count <= 0) + { + if (vi_insert_buffer_size >= 1) + vi_insert_buffer[0] = '\0'; + return; + } + /* Let's try it the quick and easy way for now. This should essentially + accommodate every UNDO_INSERT and save the inserted text to + vi_insert_buffer */ + end = rl_point; + start = end - vi_replace_count + 1; + len = vi_replace_count + 1; + + vi_save_insert_buffer (start, len); +} + static void _rl_vi_save_insert (up) UNDO_LIST *up; @@ -706,13 +772,8 @@ _rl_vi_save_insert (up) start = up->start; end = up->end; len = end - start + 1; - if (len >= vi_insert_buffer_size) - { - vi_insert_buffer_size += (len + 32) - (len % 32); - vi_insert_buffer = (char *)xrealloc (vi_insert_buffer, vi_insert_buffer_size); - } - strncpy (vi_insert_buffer, rl_line_buffer + start, len - 1); - vi_insert_buffer[len-1] = '\0'; + + vi_save_insert_buffer (start, len); } void @@ -728,7 +789,10 @@ _rl_vi_done_inserting () on absolute indices into the line which may change (though they probably will not). */ _rl_vi_doing_insert = 0; - _rl_vi_save_insert (rl_undo_list->next); + if (_rl_vi_last_key_before_insert == 'R') + _rl_vi_save_replace (); /* Half the battle */ + else + _rl_vi_save_insert (rl_undo_list->next); vi_continued_command = 1; } else @@ -762,6 +826,9 @@ rl_vi_movement_mode (count, key) if (RL_ISSTATE (RL_STATE_VICMDONCE) == 0) rl_free_undo_list (); + if (_rl_show_mode_in_prompt) + _rl_reset_prompt (); + RL_SETSTATE (RL_STATE_VICMDONCE); return (0); } @@ -1940,14 +2007,20 @@ rl_vi_replace (count, key) vi_replace_count = 0; - if (!vi_replace_map) + if (vi_replace_map == 0) { vi_replace_map = rl_make_bare_keymap (); + for (i = 0; i < ' '; i++) + if (vi_insertion_keymap[i].type == ISFUNC) + vi_replace_map[i].function = vi_insertion_keymap[i].function; + for (i = ' '; i < KEYMAP_SIZE; i++) vi_replace_map[i].function = rl_vi_overstrike; vi_replace_map[RUBOUT].function = rl_vi_overstrike_delete; + + /* Make sure these are what we want. */ vi_replace_map[ESC].function = rl_vi_movement_mode; vi_replace_map[RETURN].function = rl_newline; vi_replace_map[NEWLINE].function = rl_newline; @@ -1960,7 +2033,12 @@ rl_vi_replace (count, key) vi_replace_map[CTRL ('H')].function = rl_vi_overstrike_delete; } + + rl_vi_start_inserting (key, 1, rl_arg_sign); + + _rl_vi_last_key_before_insert = key; _rl_keymap = vi_replace_map; + return (0); } -- cgit v1.2.1