]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20130523 snapshot
authorChet Ramey <chet.ramey@case.edu>
Wed, 12 Jun 2013 13:29:51 +0000 (09:29 -0400)
committerChet Ramey <chet.ramey@case.edu>
Wed, 12 Jun 2013 13:29:51 +0000 (09:29 -0400)
33 files changed:
CHANGES
CHANGES-4.3
CHANGES-4.3~
CHANGES~
CWRU/CWRU.chlog
CWRU/CWRU.chlog~ [new file with mode: 0644]
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
configure
configure.ac
configure.ac~ [new file with mode: 0644]
examples/loadables/Makefile.in
examples/loadables/Makefile.in~ [new file with mode: 0644]
jobs.c
jobs.c~ [new file with mode: 0644]
lib/readline/doc/readline.dvi
lib/readline/doc/readline.info
lib/readline/doc/readline.ps
lib/readline/doc/rlman.aux
lib/readline/doc/rlman.cp
lib/readline/doc/rlman.cps
lib/readline/doc/rlman.fn
lib/readline/doc/rlman.fns
lib/readline/doc/rlman.log
lib/readline/doc/rlman.tmp
lib/readline/doc/rlman.toc
lib/readline/doc/rltech.texi
lib/readline/doc/rltech.texi~ [new file with mode: 0644]
lib/readline/doc/version.texi
lib/readline/doc/version.texi~ [new file with mode: 0644]
trap.c
trap.c~ [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index ee608e1cd670ac374338819559b5b58100908a5a..f081896e738cb7766f30d36bd0c64a517462c445 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -34,6 +34,9 @@ i.  Fixed the nameref circular reference checking to be less strict and only
     disallow a nameref variable with the same value as its name at the global
     scope.
 
+j.  Fixed a bug that caused trap handlers to be executed recursively,
+    corrupting internal data structures.
+
 2.  Changes to Readline
 
 a.  Fixed a bug in vi mode that caused the arrow keys to set the saved last
index fd286835ce2fb2bbe884b6134e7b94db01b0a947..45d819c39d6b1b84b8851c4286daf73436019596 100644 (file)
@@ -34,6 +34,9 @@ i.  Fixed the nameref circular reference checking to be less strict and only
     disallow a nameref variable with the same value as its name at the global
     scope.
 
+j.  Fixed a bug that caused trap handlers to be executed recursively,
+    corrupting internal data structures.
+
 2.  Changes to Readline
 
 a.  Fixed a bug in vi mode that caused the arrow keys to set the saved last
@@ -609,4 +612,3 @@ l.  Readline calls an application-set event hook (rl_signal_event_hook) after
 
 m.  If the user-settable variable `history-size' is set to a value less than
     0, the history list size is unlimited.
-
index ee608e1cd670ac374338819559b5b58100908a5a..fd286835ce2fb2bbe884b6134e7b94db01b0a947 100644 (file)
@@ -610,6986 +610,3 @@ l.  Readline calls an application-set event hook (rl_signal_event_hook) after
 m.  If the user-settable variable `history-size' is set to a value less than
     0, the history list size is unlimited.
 
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-release,
-and the previous version, bash-4.2-rc2.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused some variables to be clobbered by a longjmp,
-    resulting in stack corruption.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-rc2,
-and the previous version, bash-4.2-rc1.
-
-1.  Changes to Bash
-
-a.  Changes to bash_directory_completion_hook so that it's assigned to the
-    readline rl_directory_rewrite_hook variable, which modifies the directory
-    name passed to opendir without modifying the directory name the user
-    typed.
-
-b.  Fixed bug in select builtin that caused it to not terminate correctly if
-    the read timed out due to $TMOUT.
-
-c.  Fixed a problem that resulted in non-repeatable sequences of random
-    numbers when RANDOM=0.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-rc1,
-and the previous version, bash-4.2-beta.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused some redirection errors to leak file descriptors.
-
-b.  Fixed a bug that caused unary `+' and `-' arithmetic operators to have a
-    higher precedence than unary `!' and `~'.
-
-c.  Fixed a bug that caused simple commands in a pipeline to affect the exit
-    status ($?) seen by subsequent pipeline commands.
-
-d.  A number of cygwin-specific changes to avoid the use of text-mode files
-    and file access, and to make sure that \r is handled correctly.
-
-e.  Fixed a bug that caused the read builtin to not return failure if an
-    attempt is made to assign to a readonly variable.
-
-f.  Fixed a bug that caused some builtin usage messages to not be translated.
-
-g.  Fixed a bug that caused the getopts builtin to not return failure if an
-    attempt is made to assign to a readonly variable.  Now it returns 2.
-
-h.  Fixed the cd and pwd builtins to return failure if PWD is readonly and
-    cannot be assigned to.
-
-i.  Added code to check the return value of access(2) on Solaris systems,
-    since it returns success for executable tests (e.g., `test -x') when
-    run by root, even if the file permissions don't allow execution.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused directory names in words to be completed to not
-    be dequoted correctly.
-
-3.  New Features in Bash
-
-4.  New Features in Readline
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-beta,
-and the previous version, bash-4.2-alpha.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused the \W prompt string escape to not add a closing
-    NULL.
-
-b.  Fixed a bug that caused partially-quoted words that were not subject to
-    word splitting to retained quoted NULLs.
-
-c.  Added considerable efficiency speedups when pattern matching in multibyte
-    locales by skipping multibyte character functions where possible.
-
-d.  Added considerable speedups to variable expansion when in multibyte locales.
-
-e.  Fixed a bug that caused the expansion of $* when there are no positional
-    parameters to cause the shell to dump core when used in a pattern
-    matching context.
-
-f.  Fixed a bug that caused variable expansions preceding regular builtins to
-    not change the shell environment during their execution.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that made an explicit argument of 0 to yank-last-arg behave
-    as if it were a negative argument.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-alpha,
-and the previous version, bash-4.1-release.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in the parser when processing alias expansions containing
-    quoted newlines.
-
-b.  Fixed a memory leak in associative array expansion.
-
-c.  Fixed a bug that caused quoted here-strings to be requoted when printed.
-
-d.  Fixed a bug in arithmetic expansion that caused the index in an array
-    expansion to be evaluated twice under certain circumstances.
-
-e.  Fixed several bugs with the expansion and display of variables that have
-    been given attributes but not values and are technically unset.
-
-f.  Fixed a bug that caused core dumps when using filename completion that
-    expands to a filename containing a globbing character.
-
-g.  Fixed a bug that caused assignment statements preceding a special builtin
-    when running in Posix mode to not persist after the builtin completed
-    when the special builtin was executed in a shell function without any
-    local variables.
-
-h.  Fixed a bug that caused a command to remain in the hash table even after
-    `hash command' did not find anything if there was already an existing
-    hashed pathname.
-
-i.  Fixed several bugs caused by executing unsafe functions from a signal
-    handler in the cases where a signal handler is executed immediately
-    rather than setting a flag for later execution.
-
-j.  Fixed a bug that caused some internal flag variables to be set
-    incorrectly if `read -t' timed out.
-
-k.  Fixed a Posix compatibility issue by making sure that a backslash escaping
-    a `}' within a double-quoted ${...} parameter expansion is removed as part
-    of the parameter expansion.
-
-l.  Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
-
-m.  Fixed a bug that caused here documents to not be displayed correctly
-    when attached to commands inside compound commands.
-
-n.  Fixed a bug that caused the printf builtin to use the wrong precision
-    when using the `*' modifier.
-
-o.  Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
-    like those invoked by echo or printf.
-
-p.  Changed to use a more robust mechanism than eaccess(2) when test is
-    checking filenames for execution permission.
-
-q.  Fixed a bug that caused spurious semicolons to be added into the command
-    history in certain cases.
-
-r.  Fixed a bug that caused the shell to free non-allocated memory when
-    unsetting element 0 of an associative array after it was assigned
-    implicitly.
-
-s.  Fixed a bug that could cause the shell to dump core if using the `v'
-    vi editing command on a multi-line command.
-
-t.  Fixed a bug that left FIFOs opened by process substitutions open long
-    enough to potentially cause file descriptor exhaustion when running a
-    shell function or shell builtin.
-
-u.  Fixed a bug that caused the history expansion functions to not recognize
-    process substitution or extended glob patterns as single words.
-
-v.  Fixed a bug that caused restricted shells to set a restricted command's
-    exit status incorrectly.
-
-w.  Fixed a bug that caused bash to ignore the wrong set of filenames when
-    completing a command using the `complete-filename' readline command.
-
-x.  Fixed a bug that caused a -PID argument following a -s sig or -n sig to
-    not be interpreted as a signal specification.
-
-y.  Changed posix-mode behavior of a parse error in a `.' script or `eval'
-    command to exit the shell under Posix-specified conditions.  Previous
-    versions printed a warning.
-
-z.  Fixed a bug in \W prompt expansion that resulted in incorrect expansion
-    in the event of overlapping strings.
-
-aa. Fixed a bug that caused the := parameter expansion operator to return the
-    wrong value as the result of the expansion.
-
-bb. When in Posix mode, a single quote is not treated specially in a
-    double-quoted ${...} expansion, unless the expansion operator is
-    # or % or the non-Posix `//', `^', and `,'.  In particular, it does
-    not define a new quoting context.  This is from Posix interpretation 221.
-
-cc. Fixed a bug that inadvertently allowed program names containing slashes
-    to be entered into the command hash table.
-
-dd. Fixed a bug that caused the select builtin to incorrectly compute the
-    display width of the arguments in the presence of multibyte characters.
-
-ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
-    BASH_XTRACEFD was found in the shell environment at startup.
-
-ff. Fixed a memory leak in the pattern removal parameter expansion.
-
-gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
-    loop was in a pipeline.
-
-hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
-    space to a here-document delimiter if the first word contained a `/'.
-
-ii. Fixed a bug that caused functions defined with the `function' reserved
-    word to require braces around the function body.
-
-jj. Fixed a bug that caused bash to dump core when a variable expansion being
-    used as an array subscript failed.
-
-kk. Fixed a bug that caused bash to dump core if the case-modification
-    expansions were used on a variable with a null value.
-
-ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
-    if a variable with a null value was expanded within double quotes.
-
-mm. The pattern substitution word expansion has been sped up dramatically
-    when running in a locale with multibyte characters.
-
-nn. Fixed a bug that caused history -a to not write the correct lines to
-    the history file if all the new lines in the history list were added
-    since the last time the history file was read or written.
-
-oo. Fixed a bug that caused completion of a word with an unclosed `` command
-    substitution to set the prompt incorrectly.
-
-pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
-    $GLOBIGNORE to be incorrectly scanned.
-
-qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup.  The
-    shell now sets them to close-on-exec.
-
-rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
-    if `file' was a directory.
-
-ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
-    exit if the file argument to `.' is not found.  Prefixing exec with 
-    `command' makes the shell not exit. Posix requires this behavior.
-
-tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
-
-uu. Fixed a bug in $(...) command substitution parsing that caused the shell
-    to treat backslash-newline incorrectly when parsing a comment.
-
-vv. Fixed bug that caused brace expansion sequence generation to misbehave
-    when supplied integers greater than 2**31 - 1.
-
-ww. Fixed a bug that caused failure to save file descriptors for redirections
-    to corrupt shell file descriptors.
-
-xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
-    quoted strings.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused the unconverted filename to be added to the list of
-    completions when the application specified filename conversion functions.
-
-b.  Fixed a bug that caused the wrong filename to be passed to opendir when the
-    application has specified a filename dequoting function.
-
-c.  Fixed a bug when repeating a character search in vi mode in the case where
-    there was no search to repeat.
-
-d.  When show-all-if-ambiguous is set, the completion routines no longer insert
-    a common match prefix that is shorter than the text being completed.
-
-e.  The full set of vi editing commands may now be used in callback mode.
-
-f.  Fixed a bug that caused readline to not update its idea of the terminal
-    dimensions while running in `no-echo' mode.
-
-h.  Fixed a bug that caused readline to dump core if an application called
-    rl_prep_terminal without setting rl_instream.
-
-i.  Fixed a bug that caused meta-prefixed characters bound to incremental
-    search forward or backward to not be recognized if they were typed
-    subsequently.
-
-j.  The incremental search code treats key sequences that map to the same
-    functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
-
-k.  Fixed a bug in menu-complete that caused it to misbehave with large
-    negative argument.
-
-l.  Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
-    at the end of the line.
-
-3.  New Features in Bash
-
-a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
-    leading #!.
-
-b.  Subshells begun to execute command substitutions or run shell functions or
-    builtins in subshells do not reset trap strings until a new trap is
-    specified.  This allows $(trap) to display the caller's traps and the
-    trap strings to persist until a new trap is set.
-
-c.  `trap -p' will now show signals ignored at shell startup, though their
-    disposition still cannot be modified.
-
-d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
-
-e.  declare/typeset has a new `-g' option, which creates variables in the
-    global scope even when run in a shell function.
-
-f.  test/[/[[ have a new -v variable unary operator, which returns success if
-    `variable' has been set.
-
-g.  Posix parsing changes to allow `! time command' and multiple consecutive
-    instances of `!' (which toggle) and `time' (which have no cumulative
-    effect).
-
-h.  Posix change to allow `time' as a command by itself to print the elapsed
-    user, system, and real times for the shell and its children.
-
-j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
-    a potential nested command substitution, as Posix requires.
-
-k.  A new FUNCNEST variable to allow the user to control the maximum shell
-    function nesting (recursive execution) level.
-
-l.  The mapfile builtin now supplies a third argument to the callback command:
-    the line about to be assigned to the supplied array index.
-
-m.  The printf builtin has a new %(fmt)T specifier, which allows time values
-    to use strftime-like formatting.
-
-n.  There is a new `compat41' shell option.
-
-o.  The cd builtin has a new Posix-mandated `-e' option.
-
-p.  Negative subscripts to indexed arrays, previously errors, now are treated
-    as offsets from the maximum assigned index + 1.
-
-q.  Negative length specifications in the ${var:offset:length} expansion,
-    previously errors, are now treated as offsets from the end of the variable.
-
-r.  Parsing change to allow `time -p --'.
-
-s.  Posix-mode parsing change to not recognize `time' as a keyword if the
-    following token begins with a `-'.  This means no more Posix-mode
-    `time -p'.  Posix interpretation 267.
-
-t.  There is a new `lastpipe' shell option that runs the last command of a
-    pipeline in the current shell context.  The lastpipe option has no
-    effect if job control is enabled.
-
-u.  History expansion no longer expands the `$!' variable expansion.
-
-v.  Posix mode shells no longer exit if a variable assignment error occurs
-    with an assignment preceding a command that is not a special builtin.
-
-w.  Non-interactive mode shells exit if -u is enabled and an attempt is made
-    to use an unset variable with the % or # expansions, the `//', `^', or
-    `,' expansions, or the parameter length expansion.
-
-x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
-    fails, effectively searching the current directory.  Posix-2008 change.
-
-4.  New Features in Readline
-
-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.
-
-b.  New bindable variable `completion-display-width' to set the number of
-    columns used when displaying completions.
-
-c.  New bindable variable `completion-case-map' to cause case-insensitive
-    completion to treat `-' and `_' as identical.
-
-d.  There are new bindable vi-mode command names to avoid readline's case-
-    insensitive matching not allowing them to be bound separately.
-
-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.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.1-rc,
-and the previous version, bash-4.1-beta.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused printf to not return a partial value when it
-    encountered an error while converting an integer argument.
-
-b.  Fixed a bug that caused setting one of the compatNN options to not
-    turn off the others.
-
-c.  The (undocumented) --wordexp option is no longer included by default.
-
-d.  Fixed a bug in conditional command execution that caused it to not
-    correctly ignore the exit status under certain circumstances.
-
-e.  Added a configure-time check for correctly-working asprintf/snprintf.
-
-f.  Fixed some problems with line number calculation and display when sourcing
-    a file in an interactive shell.
-
-g.  Fixed a bug that caused the shell to crash when using `declare -A foo=bar'.
-
-h.  Fixed a bug that caused an off-by-one error when calculating the directories
-    to display with the PROMPT_DIRTRIM option.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused applications using the callback interface to not
-    react to SIGINT (or other signals) until another character arrived.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.1-beta,
-and the previous version, bash-4.1-alpha.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in mapfile that caused the shell to crash if it was passed the
-    name of an associative array.
-
-b.  Fixed a bug that caused the shell to incorrectly split case patterns if
-    they contained characters in $IFS.
-
-c.  Fixed a bug that caused the shell to set $? to the wrong value when using
-    a construct ending with a variable assignment with set -x enabled and PS4
-    containing a command substitution.
-
-d.  Fixed a bug that caused the shell to read commands incorrectly if an
-    expansion error occurred under certain conditions in a user-specified
-    subshell.
-
-e.  Fixed a bug that caused the shell to set $? incorrectly if a parse error
-    occurred in an evaluation context ("eval", trap command, dot script, etc.)
-
-f.  Fixed a bug that caused the shell to attempt command substitution
-    completion within a single-quoted string.
-
-g.  Fixed a bug that caused the shell to insert an extra single quote during
-    word completion.
-
-h.  Fixed a bug that caused the shell to crash if invoked with the environment
-    variable EMACS having a null value.
-
-i.  Fixed a bug that caused bash to incorrectly report the presence of new
-    mail in a `maildir' environment.
-
-j.  Fixed a bug that caused the shell to not recognize a here-document ending
-    delimiter inside a command substitution.
-
-k.  Fixed a bug that caused the shell to crash when a a dynamic array variable
-    was assigned a scalar value.
-
-2.  Changes to Readline
-
-3.  New Features in Bash
-
-a.  The mapfile/readarray builtin no longer stores the commands it invokes via
-    callbacks in the history list.
-
-b.  There is a new `compat40' shopt option.
-
-c.  The < and > operators to [[ do string comparisons using the current locale
-    only if the compatibility level is greater than 40 (set to 41 by default).
-
-4.  New Features in Readline
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.1-alpha,
-and the previous version, bash-4.0-release.
-
-1.  Changes to Bash
-
-a.  Fixed bugs in the parser involving new parsing of the commands contained
-    in command substitution when the substitution is read.
-
-b.  Fixed a bug that caused the shell to dump core when performing programmable
-    completion using a shell function.
-
-c.  Fixed a bug in `mapfile' that caused it to invoke callbacks at the wrong
-    time.
-
-d.  Fixed a bug that caused the shell to dump core when listing jobs in the
-    `exit' builtin.
-
-e.  Fixed several bugs encountered when reading subscripts in associative
-    array assignments and expansions.
-
-f.  Fixed a bug that under some circumstances caused an associative array to
-    be converted to an indexed array.
-
-g.  Fixed a bug that caused syntax errors and SIGINT interrupts to not set
-    $? to a value > 128.
-
-h.  Fixed a bug that caused the shell to remove FIFOs associated with process
-    substitution inside shell functions.
-
-i.  Fixed a bug that caused terminal attributes to not be reset when the
-    `read' builtin timed out.
-
-j.  Fixed a bug in brace expansion that caused unwanted zero padding of the
-    expanded terms.
-
-k.  Fixed a bug that prevented the |& construct from working as intended when
-    used with a simple command with additional redirections.
-
-l.  Fixed a bug with the case statment ;& terminator that caused the shell to
-    dereference a NULL pointer.
-
-m.  Fixed a bug that caused assignment statements or redirections preceding
-    a simple command name to inhibit alias expansion.
-
-n.  Fixed the behavior of `set -u' to conform to the latest Posix interpretation:
-    every expansion of an unset variable except $@ and $* will cause the
-    shell to exit.
-
-o.  Fixed a bug that caused double-quoted expansions of $* inside word
-    expansions like ${x#$*} to not expand properly when $IFS is empty.
-
-p.  Fixed a bug that caused traps to set $LINENO to the wrong value when they
-    execute.
-
-q.  Fixed a bug that caused off-by-one errors when computing history lines in
-    the `fc' builtin.
-
-r.  Fixed a bug that caused some terminating signals to not exit the shell
-    quickly enough, forcing the kernel to send the signal (e.g., SIGSEGV)
-    multiple times.
-
-s.  Fixed a bug that caused the shell to attempt to add empty lines to the
-    history list when reading here documents.
-
-t.  Made some internal changes that dramatically speeds up sequential indexed
-    array access.
-
-u.  Fixed a bug that caused the shell to write past the end of a string when
-    completing a double-quoted string ending in a backslash.
-
-v.  Fixed a bug that caused the shell to replace too many characters when a
-    pattern match was null in a ${foo//bar} expansion.
-
-w.  Fixed bugs in the expansion of ** that caused duplicate directory names
-    and the contents of the current directory to be omitted.
-
-x.  Fixed a bug that caused $? to not be set correctly when referencing an
-    unset variable with set -u and set -e enabled.
-
-y.  Fixed a bug caused by executing an external program from the DEBUG trap
-    while a pipeline was running.  The effect was to disturb the pipeline
-    state, occasionally causing it to hang.
-
-z.  Fixed a bug that caused the ** glob expansion to dump core if it
-    encountered an unsearchable directory.
-
-aa. Fixed a bug that caused `command -v' and `command -V' to not honor the
-    path set by the -p option.
-
-bb. Fixed a bug that caused brace expansion to take place too soon in some
-    compound array assignments.
-
-cc. Fixed a bug that caused programmable completion functions' changes to
-    READLINE_POINT to not be reflected back to readline.
-
-dd. Fixed a bug that caused the shell to dump core if a trap was executed
-    during a shell assignment statement.
-
-ee. Fixed an off-by-one error when computing the number of positional
-    parameters for the ${@:0:n} expansion.
-
-ff. Fixed a problem with setting COMP_CWORD for programmable completion
-    functions that could leave it set to -1.
-
-gg. Fixed a bug that caused the ERR trap to be triggered in some cases where
-    `set -e' would not have caused the shell to exit.
-
-hh. Fixed a bug that caused changes made by `compopt' to not persist past the
-    completion function in which compopt was executed.
-
-ii. Fixed a bug that caused the list of hostname completions to not be cleared
-    when HOSTNAME was unset.
-
-jj. Fixed a bug that caused variable expansion in here documents to look in
-    any temporary environment.
-
-kk. Bash and readline can now convert file names between precomposed and
-    decomposed Unicode on Mac OS X ("keyboard" and file system forms,
-    respectively).  This affects filename completion (using new
-    rl_filename_rewrite_hook), globbing, and readline redisplay.
-
-ll. The ERR and EXIT traps now see a non-zero value for $? when a parser
-    error after set -e has been enabled causes the shell to exit.
-
-mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to
-    not contain the correct number of digits.
-
-nn. Fixed a bug that caused the shell to free non-allocated memory when
-    unsetting an associative array which had had a value implicitly assigned
-    to index "0".
-
-oo. Fixed a memory leak in the ${!prefix@} expansion.
-
-pp. Fixed a bug that caused printf to not correctly report all write errors.
-
-qq. Fixed a bug that caused single and double quotes to act as delimiters
-    when splitting a command line into words for programmable completion.
-
-rr. Fixed a bug that caused ** globbing that caused **/path/* to match every
-    directory, not just those matching `path'.
-
-ss. Fixed a bug that caused the shell to dump core when running `help' without
-    arguments if the terminal width was fewer than 7 characters.
-
-2.  Changes to Readline
-
-a.  The SIGWINCH signal handler now avoids calling the redisplay code if
-    one arrives while in the middle of redisplay.
-
-b.  Changes to the timeout code to make sure that timeout values greater
-    than one second are handled better.
-
-c.  Fixed a bug in the redisplay code that was triggered by a prompt
-    containing invisible characters exactly the width of the screen.
-
-d.  Fixed a bug in the redisplay code encountered when running in horizontal
-    scroll mode.
-
-e.  Fixed a bug that prevented menu completion from properly completing
-    filenames.
-
-f.  Fixed a redisplay bug caused by a multibyte character causing a line to
-    wrap.
-
-g.  Fixed a bug that caused key sequences of two characters to not be
-    recognized when a longer sequence identical in the first two characters
-    was bound.
-
-h.  Fixed a bug that caused history expansion to be attempted on $'...'
-    single-quoted strings.
-
-i.  Fixed a bug that caused incorrect redisplay when the prompt contained
-    multibyte characters in an `invisible' sequence bracketed by \[ and
-    \].
-
-j.  Fixed a bug that caused history expansion to short-circuit after
-    encountering a multibyte character.
-
-3.  New Features in Bash
-
-a.  Here-documents within $(...) command substitutions may once more be
-    delimited by the closing right paren, instead of requiring a newline.
-
-b.  Bash's file status checks (executable, readable, etc.) now take file
-    system ACLs into account on file systems that support them.
-
-c.  Bash now passes environment variables with names that are not valid
-    shell variable names through into the environment passed to child
-    processes.
-
-d.  The `execute-unix-command' readline function now attempts to clear and
-    reuse the current line rather than move to a new one after the command
-    executes.
-
-e.  `printf -v' can now assign values to array indices.
-
-f.  New `complete -E' and `compopt -E' options that work on the "empty"
-    completion: completion attempted on an empty command line.
-
-g.  New complete/compgen/compopt -D option to define a `default' completion:
-    a completion to be invoked on command for which no completion has been
-    defined.  If this function returns 124, programmable completion is
-    attempted again, allowing a user to dynamically build a set of completions
-    as completion is attempted by having the default completion function
-    install individual completion functions each time it is invoked.
-
-h.  When displaying associative arrays, subscripts are now quoted.
-
-i.  Changes to dabbrev-expand to make it more `emacs-like': no space appended
-    after matches, completions are not sorted, and most recent history entries
-    are presented first.
-
-j.  The [[ and (( commands are now subject to the setting of `set -e' and the
-    ERR trap.
-
-k.  The source/. builtin now removes NUL bytes from the file before attempting
-    to parse commands.
-
-l.  There is a new configuration option (in config-top.h) that forces bash to
-    forward all history entries to syslog.
-
-m.  A new variable $BASHOPTS to export shell options settable using `shopt' to
-    child processes.
-
-n.  There is a new confgure option that forces the extglob option to be
-    enabled by default.
-
-o.  New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
-    output to that file descriptor.
-
-p.  If the optional left-hand-side of a redirection is of the form {var}, the
-    shell assigns the file descriptor used to $var or uses $var as the file
-    descriptor to move or close, depending on the redirection operator.
-
-q.  The < and > operators to the [[ conditional command now do string
-    comparison according to the current locale.
-
-r.  Programmable completion now uses the completion for `b' instead of `a'
-    when completion is attempted on a line like: a $(b c.
-
-s.  Force extglob on temporarily when parsing the pattern argument to
-    the == and != operators to the [[ command, for compatibility.
-
-t.  Changed the behavior of interrupting the wait builtin when a SIGCHLD is
-    received and a trap on SIGCHLD is set to be Posix-mode only.
-
-u.  The read builtin has a new `-N nchars' option, which reads exactly NCHARS
-    characters, ignoring delimiters like newline.
-
-4.  New Features in Readline
-
-a.  New bindable function: menu-complete-backward.
-
-b.  In the vi insertion keymap, C-n is now bound to menu-complete by default,
-    and C-p to menu-complete-backward.
-
-c.  When in vi command mode, repeatedly hitting ESC now does nothing, even
-    when ESC introduces a bound key sequence.  This is closer to how
-    historical vi behaves.
-
-d.  New bindable function: skip-csi-sequence.  Can be used as a default to
-    consume key sequences generated by keys like Home and End without having
-    to bind all keys.
-
-e.  New application-settable function: rl_filename_rewrite_hook.  Can be used
-    to rewite or modify filenames read from the file system before they are
-    compared to the word to be completed.
-
-f.  New bindable variable: skip-completed-text, active when completing in the
-    middle of a word.  If enabled, it means that characters in the completion
-    that match characters in the remainder of the word are "skipped" rather
-    than inserted into the line.
-
-g.  The pre-readline-6.0 version of menu completion is available as
-    "old-menu-complete" for users who do not like the readline-6.0 version.
-
-h.  New bindable variable: echo-control-characters.  If enabled, and the
-    tty ECHOCTL bit is set, controls the echoing of characters corresponding
-    to keyboard-generated signals.
-
-i.  New bindable variable: enable-meta-key.  Controls whether or not readline
-    sends the smm/rmm sequences if the terminal indicates it has a meta key
-    that enables eight-bit characters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.0-release,
-and the previous version, bash-4.0-rc1.
-
-1.  Changes to Bash
-
-a.  Changed the message printed when setlocale(3) fails to only include the
-    strerror error text if the call changes errno.
-
-b.  Changed trap command execution to reset the line number before running a
-    trap (except DEBUG and RETURN traps).
-
-c.  Fixed behavior of case-modifiying word expansions to not work on
-    individual words within a variable's value.
-
-d.  Fixed a bug that caused mapfile to not be interruptible when run in an
-    interactive shell.
-
-e.  Fixed a bug that caused mapfile to not run callbacks for the first line
-    read.
-
-f.  Fixed a bug that caused mapfile to not honor EOF typed in an interactive
-    shell.
-
-g.  Fixed the coprocess reaping code to not run straight from a signal handler.
-
-h.  Fixed a bug that caused printf -b to ignore the first % conversion specifier
-    in the format string on 64-bit systems.
-
-i.  Fixed a bug that caused incorrect word splitting when `:', `=', or `~'
-    appeared in $IFS.
-
-j.  Fixed a bug that caused data corruption in the programmable completion code
-    when a shell function called from a completion aborted execution.
-
-k.  Fixed a bug that caused the CPU usage reported by the `time' builtin to be
-    capped at 100%.
-
-l.  Changed behavior of shell when -e option is in effect to reflect consensus
-    of Posix shell standardization working group.
-
-m.  Fixed a bug introduced in bash-4.0-alpha that caused redirections to not
-    be displayed by `type' or `declare' when appearing in functions under
-    certain circumstances.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused !(...) extended glob patterns to inhibit later
-    history expansion.
-
-b.  Reworked the signal handling to avoid calling disallowed functions from a
-    signal handler.
-
-3.  New Features in Bash
-
-a.  `readarray' is now a synonym for `mapfile'.
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.0-rc1,
-and the previous version, bash-4.0-beta2.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused parsing errors when a $()-style command
-    substitution was follwed immediately by a quoted newline.
-
-b.  Fixed a bug that caused extended shell globbing patterns beginning with
-    `*(' to not work when used with pattern substitution word expansions.
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.0-beta2,
-and the previous version, bash-4.0-beta.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused failed word expansions to set $? but not
-    PIPESTATUS.
-
-b.  Changed filename completion to quote the tilde in a filename with a
-    leading tilde that exists in the current directory.
-
-c.  Fixed a bug that caused a file descriptor leak when performing
-    redirections attached to a compound command.
-
-d.  Fixed a bug that caused expansions of $@ and $* to not exit the shell if
-    the -u option was enabled and there were no posititional parameters.
-
-e.  Fixed a bug that resulted in bash not terminating immediately if a
-    terminating signal was received while performing output.
-
-f.  Fixed a bug that caused the shell to crash after creating 256 process
-    substitutions during word completion.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused redisplay errors when using prompts with invisible
-    characters and numeric arguments to a command in a multibyte locale.
-
-b.  Fixed a bug that caused redisplay errors when using prompts with invisible
-    characters spanning more than two physical screen lines.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.0-beta,
-and the previous version, bash-4.0-alpha.
-
-1.  Changes to Bash
-
-a.  Fixed a typo that caused a variable to be used before initialization
-    while parsing Posix-style command substitutions.
-
-b.  Fixed a bug that caused stray ^? when the expansion of a parameter used
-    as part of a pattern removal expansion is empty, but part of a non-
-    empty string.
-
-c.  Fixed a bug that could cause strings not converted to numbers by strtol
-    to be treated as if the conversion had been successful.
-
-d.  The `return' builtin now accepts no options and requires a `--' before
-    a negative return value, as Posix requires.
-
-e.  Fixed a bug that caused local variables to be created with the empty
-    string for a value rather than no value.
-
-f.  Changed behavior so the shell now acts as if it received an interrupt
-    when a pipeline is killed by SIGINT while executing a list.
-
-g.  Fixed a bug that caused `declare var' and `typeset var' to initialize
-    `var' to the empty string.
-
-h.  Changed `bind' builtin to print a warning but proceed if invoked when
-    line editing is not active.
-
-i.  Fixed a bug that caused the shell to exit when the `errexit' option is
-    set and a command in a pipeline returns a non-zero exit status.
-
-j.  Fixed a bug that caused the shell to not run the exit trap in a command
-    run with `bash -c' under some circumstances.
-
-k.  Fixed a bug that caused parser errors to occasionally not set $? when
-    running commands with `eval'.
-
-l.  Fixed a bug that caused stray control characters when evaluating compound
-    array assignments containing $'\x7f' escapes.
-
-m.  Fixed a bug that caused redirections involving file descriptor 10 as the
-    target to behave incorrectly.
-
-n.  Fixed a bug that could cause memory to be freed multiple times when
-    assigning to COMP_WORDBREAKS.
-
-o.  Fixed a bug that could cause NULL pointer dereferences when COMP_WORDBREAKS
-    was unset.
-
-2.  Changes to Readline
-
-3.  New Features in Bash
-
-a.  A value of 0 for the -t option to `read' now returns success if there is
-    input available to be read from the specified file descriptor.
-
-b.  CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
-    mode.
-
-c.  New bindable readline functions shell-forward-word and shell-backward-word,
-    which move forward and backward words delimited by shell metacharacters
-    and honor shell quoting.
-
-d.  New bindable readline functions shell-backward-kill-word and shell-kill-word
-    which kill words backward and forward, but use the same word boundaries
-    as shell-forward-word and shell-backward-word.
-
-4.  New Features in Readline
-
-a.  If the kernel supports it, readline displays special characters
-    corresponding to a keyboard-generated signal when the signal is received.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.0-alpha,
-and the previous version, bash-3.2-release.
-
-1.  Changes to Bash
-
-a.  Fixed several bugs in old-style `` command substitution parsing, including
-    comment parsing and quoted string handling.
-
-b.  Fixed problems parsing arguments to the [[ command's =~ regular expression
-    matching operator:  metacharacter and whitespace parsing.
-
-c.  Fixed a bug that caused the shell to inappropriately reuse high-numbered
-    file descriptors it used internally.
-
-d.  Fixed a bug in pattern replacement word expansions that caused a `/' as
-    the first character of an expanded pattern to be mistaken for a global
-    replacement specifier.
-
-e.  Fixed several problems with the asprintf and snprintf replacement functions
-    that caused hangs and crashes.
-
-f.  Fixed a bug in the calculation of the current and previous job that caused
-    it to refer to incorrect jobs.
-
-g.  Fixed a bug in the check for the validity of a hashed command pathname that
-    caused unnecessary hash table deletions and additions.
-
-h.  Fixed a bug that caused child processes to inherit the wrong value for $!.
-
-i.  Fixed a bug that caused `.' to fail to read and execute commands from non-
-    regular files such as devices or named pipes.
-
-j.  Fixed a bug in printf formatting for the %x and %X expansions that occurred
-    on some systems.
-
-k.  Fixed a bug that caused the shell to crash when creating temporary files if
-    $TMPDIR named a non-writable directory.
-
-l.  Fixed a bug that caused the shell to ignore $TMPDIR when creating temporary
-    files under some circumstances.
-
-m.  Fixed a bug that caused named pipes created by process substitution to not
-    be cleaned up.
-
-n.  Fixed a bug that caused HISTTIMEFORMAT to not be honored when it appeared
-    in the initial shell environment.
-
-o.  Fixed several bugs in the expansion of $* and $@ (quoted and unquoted)
-    when IFS is null or contains non-whitespace characters; the same changes
-    apply to arrays subscripted with * or @.
-
-p.  Fixed several problems with pattern substitution expansions on the
-    positional parameters and arrays subscripted with * or @ that occurred
-    when $IFS was set to the empty string.
-
-q.  Made a change to the default locale initialization code that should
-    result in better behavior from the locale-aware library functions.
-
-r.  Fixed a bug that caused compacting the jobs list to drop jobs.
-
-s.  Fixed a bug that caused jumps back to the top-level processing loop from
-    a builtin command to leave the shell in an inconsistent state.
-
-t.  Fixed a bug that caused characters that would be escaped internally to be
-    doubled when escaped with a backslash.
-
-u.  Fixed the initialization of mailboxes to not cause maildirs to be read
-    (and stat(2) called for every message file) at shell startup.
-
-v.  Fixed a bug that caused the shell to not display $PS2 when the read builtin
-    reads a line continued with a backslash.
-
-w.  Fixed a bug that caused errors in word splitting when $IFS contained
-    characters used for internal quoting.
-
-x.  Fixed bugs that caused problems with output from shell builtins not being
-    completely displayed on some systems.
-
-y.  Fixed a bug that caused output to be lost when a redirection is acting on
-    the shell's output file descriptor.
-
-z.  Fixed bugs caused by shell builtins not checking for all write errors.
-
-aa. Fixed a problem that caused the shell to dump core if expansions on the
-    pattern passed to the pattern removal word expansions resulted in expansion
-    errors.
-
-bb. Fixed a bug that caused bash to loop infinitely after creating and
-    waiting for 4096 jobs.
-
-cc. Fixed a bug that caused bash to lose the status of a background job under
-    certain circumstances.
-
-dd. Fixed a bug that caused bash to not look in the temporary environment
-    when performing variable lookup under certain circumstances.
-
-ee. Fixed a bug that caused bash to close file descriptors greater than 10
-    when they were used in redirections.
-
-ff. Fixed a problem that caused the shell to attempt to read from the standard
-    input when called as `bash -i script'.
-
-gg. Fixed a memory leak and variable initialization problems when the -v option
-    was supplied to `printf' that could cause incorrect results.
-
-hh. Fixed a bug that caused the `read' builtin to count bytes when the -n option
-    was supplied, rather than (possibly multibyte) characters.
-
-ii. Fixed a bug when displaying a function due to not converting the function
-    to an external form.
-
-jj. Changed job control initialization to ensure that the shell has a tty
-    as its controlling terminal before enabling job control.
-
-kk. Fixed a bug with the `test' builtin that caused it to misinterpret
-    arguments beginning with `-' but containing more than one character.
-
-ll. Fixed bug that could cause the shell to dump core in certain cases where
-    a command sets the SIGINT disposition to the default.
-
-mm. Fixed a bug in the pattern replacement (affecting both word expansion
-    and the `fc' builtin) that occurred when the pattern and replacement
-    strings were empty.
-
-nn. Fixed a bug that caused an arithmetic evaluation error to disable all
-    further evaluation.
-
-oo. Fixed a bug in pathname expansion that caused it to interpret backslashes
-    in the pathname as quoting characters.
-
-pp. Fixed a bug in the replacement getcwd() implementation that could cause
-    memory to be overwritten.
-
-qq. When in Posix mode, the `ulimit' builtin now uses a block size of 512 for
-    the `-c' and `-f' options.
-
-rr. Brace expansion now allows process substitutions to pass through unchanged.
-
-ss. Fixed a problem in the command name completion code to avoid quoting
-    escaped special characters twice when the command name begins with a tilde.
-
-tt. Fixed a problem in the printf builtin that resulted in single-byte
-    output for the "'" escape, even when using multibyte characters.
-
-uu. Fixed a bug that caused the failure exit status to be lost when redirections
-    attached to a compound command failed.
-
-vv. Fixed a bug that caused the internal random number generator to not be
-    re-seeded correctly when creating a subshell.
-
-ww. Fixed a bug that could cause the bash replacement getcwd to overwrite
-    memory.
-
-xx. Fixed a bug that caused the shell to not receive SIGINT if it was sent
-    while the shell was waiting for a command substitution to terminate, and
-    make sure the exit status is correct when it does.
-
-yy. Fixed a bug that resulted in the second and subsequent children spawned
-    by a shell begun to run a command substitution being placed into the
-    wrong process group.
-
-zz. Fixed a bug that caused the results of successful tilde expansion to be
-    subject to pathname expansion and word splitting.
-
-aaa. Fixed a bug that could cause the shell to hang if it encountered an
-     error that caused it to jump back to the top processing loop during a
-     command substitution or `eval' command.
-
-bbb. Fixed a bug that caused the `read' builtin to use the tty's attributes
-     instead of those of the file descriptor passed with the -u option when
-     processing the -n and -d options.
-
-ccc. Fixed a bug that caused incorrect expansion of ${array[@]:foo} if the
-     first character of $IFS was not whitespace.
-
-ddd. Fixed a bug that occurred when scanning for the ending delimiter of a
-     ${parameter/pat/sub} expansion.
-
-eee. Fixed a bug that caused the shell to inappropriately expand command
-     substitutions in words when expanding directory names for completion.
-
-fff. Fixed a bug that caused the `fc' builtin to look too far back in the
-     history list under certain circumstances.
-
-ggg. Fixed a bug that caused a shell running in Posix mode to search $PWD for
-     a file specified as an argument to source/. when the file was not found
-     in $PATH.
-
-hhh. Fixed a bug that caused the shell to modify the case of a command word
-     found via command completion when the shell was performing case-
-     insensitive completion.
-
-iii. Fixed a bug that caused the shell to search $PATH for an argument to
-     source/. even when it contained a `/'.
-
-jjj. Fixed a bug that caused brace expansion to misorder expansions when the
-     locale did not have a collating order like aAbBcC...zZ.
-
-kkk. Fixed a bug that did not allow `set +o history' to have any effect when
-     run in a startup file or from a sourced file.
-
-lll. Fixed a bug with the precedence of the ?: conditional arithmetic operator.
-
-mmm. Fixed a bug that caused side effects of temporary variable assignments
-     to persist in the shell environment.
-
-nnn. Fixed a bug that caused the terminal to be left in non-canonical mode
-     when using editing commands that invoke the an editor on the current
-     command line.
-
-ooo. Fixed a bug that caused globbing characters and characters in $IFS to not
-     be quoted appropriately when displaying assignment statements.
-
-ppp. Fixed a bug that caused the `-e' option to be inherited when sourcing a
-     file or evaluating a command with `eval' even if the return value of the
-     command was supposed to be ignored.
-
-qqq. Fixed a bug that caused the shell to attempt to created variables with
-     invalid names if such names appeared in the initial environment.
-
-rrr. Fixed a bug with quote removal in strings where the final character is a
-     backslash.
-
-sss. Fixed a bug that caused the effects of special variables to persist even
-     when the variables were unset as part of the shell reinitializing itself
-     to execute a shell script.
-
-ttt. Fixed a bug that caused the history to not be saved after `history -c' or
-     `history -d' was executed until a sufficient number of commands had been
-     saved to the history.
-
-uuu. Bash now parses command substitutions according to Posix rules: parsing
-     the command contained in $() to find the closing delimiter.
-
-vvv. Fixed a bug that caused traps on SIGCHLD set in a SIGCHLD handler to
-     not persist.
-
-www. Fixed a bug that didn't allow SIGCHLD to interrupt the `wait' builtin
-     as Posix specifies.
-
-xxx. Invalid numeric arguments to shell builtins no longer cause the shell to
-     short-circuit any executing compound command.
-
-yyy. Fixed a bug that caused the exit status to be lost when `break' was
-     used to short-circuit a loop's execution.
-
-zzz. Fixed a bug that caused stray ^? characters to be left in expansions of
-     "${array[*]}".
-
-aaaa. Bash now prints better error messages for here documents terminated by
-      EOF and for identifying the incorrect token in an invalid arithmetic
-      expression.
-
-bbbb. Fixed a bug in the variable length word expansion that caused it to
-      incorrectly calculate the number of multibyte characters.
-
-cccc. Fixed a race condition that could result in the top-level shell setting
-      the terminal's process group to an incorrect value if the process
-      group was changed by a child of a child of the shell.
-
-dddd. Fixed a bug that caused here documents belonging to commands within a
-      compound command to be displayed in a syntactially-incorrect form, which
-      prevented them from being re-read as input.
-
-eeee. The shell displays more warnings about failures to set the locale.
-
-ffff. Fixed a bug that caused the body of a here-document to not be saved to
-      the history list.
-
-gggg. Fixed a bug that caused configure to incorrectly conclude that FreeBSD
-      had /dev/fd available, resulting in problems with process substitution.
-
-2.  Changes to Readline
-
-a.  Fixed a number of redisplay errors in environments supporting multibyte 
-    characters.
-
-b.  Fixed bugs in vi command mode that caused motion commands to inappropriately
-    set the mark.
-
-c.  When using the arrow keys in vi insertion mode, readline allows movement
-    beyond the current end of the line (unlike command mode).
-
-d.  Fixed bugs that caused readline to loop when the terminal has been taken
-    away and reads return -1/EIO.
-
-e.  Fixed bugs in redisplay occurring when displaying prompts containing
-    invisible characters.
-
-f.  Fixed a bug that caused the completion append character to not be reset to
-    the default after an application-specified completion function changed it.
-
-g.  Fixed a problem that caused incorrect positioning of the cursor while in
-    emacs editing mode when moving forward at the end of a line while using
-    a locale supporting multibyte characters.
-
-h.  Fixed an off-by-one error that caused readline to drop every 511th
-    character of buffered input.
-
-i.  Fixed a bug that resulted in SIGTERM not being caught or cleaned up.
-
-j.  Fixed redisplay bugs caused by multiline prompts with invisible characters
-    or no characters following the final newline.
-
-k.  Fixed redisplay bug caused by prompts consisting solely of invisible
-    characters.
-
-l.  Fixed a bug in the code that buffers characters received very quickly in
-    succession which caused characters to be dropped.
-
-m.  Fixed a bug that caused readline to reference uninitialized data structures
-    if it received a SIGWINCH before completing initialzation.
-
-n.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly
-    and therefore unrepeatable.
-
-o.  Fixed a bug that caused readline to disable echoing when it was being used
-    with an output file descriptor that was not a terminal.
-
-p.  Readline now blocks SIGINT while manipulating internal data structures
-    during redisplay.
-
-q.  Fixed a bug in redisplay that caused readline to segfault when pasting a
-    very long line (over 130,000 characters).
-
-r.  Fixed bugs in redisplay when using prompts with no visible printing
-    characters.
-
-3.  New Features in Bash
-
-a.  When using substring expansion on the positional parameters, a starting
-    index of 0 now causes $0 to be prefixed to the list.
-
-b.  The `help' builtin now prints its columns with entries sorted vertically
-    rather than horizontally.
-
-c.  There is a new variable, $BASHPID, which always returns the process id of
-    the current shell.
-
-d.  There is a new `autocd' option that, when enabled, causes bash to attempt
-    to `cd' to a directory name that is supplied as the first word of a
-    simple command.
-
-e.  There is a new `checkjobs' option that causes the shell to check for and
-    report any running or stopped jobs at exit.
-
-f.  The programmable completion code exports a new COMP_TYPE variable, set to
-    a character describing the type of completion being attempted.
-
-g.  The programmable completion code exports a new COMP_KEY variable, set to
-    the character that caused the completion to be invoked (e.g., TAB).
-
-h.  If creation of a child process fails due to insufficient resources, bash
-    will try again several times before reporting failure.
-
-i.  The programmable completion code now uses the same set of characters as
-    readline when breaking the command line into a list of words.
-
-j.  The block multiplier for the ulimit -c and -f options is now 512 when in
-    Posix mode, as Posix specifies.
-
-k.  Changed the behavior of the read builtin to save any partial input received
-    in the specified variable when the read builtin times out.  This also
-    results in variables specified as arguments to read to be set to the empty
-    string when there is no input available.  When the read builtin times out,
-    it returns an exit status greater than 128.
-
-l.  The shell now has the notion of a `compatibility level', controlled by
-    new variables settable by `shopt'.  Setting this variable currently
-    restores the bash-3.1 behavior when processing quoted strings on the rhs
-    of the `=~' operator to the `[[' command.
-
-m.  The `ulimit' builtin now has new -b (socket buffer size) and -T (number
-    of threads) options.
-
-n.  The -p option to `declare' now displays all variable values and attributes
-    (or function values and attributes if used with -f).
-
-o.  There is a new `compopt' builtin that allows completion functions to modify
-    completion options for existing completions or the completion currently
-    being executed.
-
-p.  The `read' builtin has a new -i option which inserts text into the reply
-    buffer when using readline.
-
-q.  A new `-E' option to the complete builtin allows control of the default
-    behavior for completion on an empty line.
-
-r.  There is now limited support for completing command name words containing
-    globbing characters.
-
-s.  Changed format of internal help documentation for all builtins to roughly
-    follow man page format.
-
-t.  The `help' builtin now has a new -d option, to display a short description,
-    and a -m option, to print help information in a man page-like format.
-
-u.  There is a new `mapfile' builtin to populate an array with lines from a
-    given file.
-
-v.  If a command is not found, the shell attempts to execute a shell function
-    named `command_not_found_handle', supplying the command words as the
-    function arguments.
-
-w.  There is a new shell option: `globstar'.  When enabled, the globbing code
-    treats `**' specially -- it matches all directories (and files within
-    them, when appropriate) recursively.
-
-x.  There is a new shell option: `dirspell'.  When enabled, the filename
-    completion code performs spelling correction on directory names during
-    completion.
-
-y.  The `-t' option to the `read' builtin now supports fractional timeout
-    values.
-
-z.  Brace expansion now allows zero-padding of expanded numeric values and
-    will add the proper number of zeroes to make sure all values contain the
-    same number of digits.
-
-aa. There is a new bash-specific bindable readline function: `dabbrev-expand'.
-    It uses menu completion on a set of words taken from the history list.
-
-bb. The command assigned to a key sequence with `bind -x' now sets two new
-    variables in the environment of the executed command:  READLINE_LINE_BUFFER
-    and READLINE_POINT.  The command can change the current readline line
-    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
-    respectively.
-
-cc. There is a new &>> redirection operator, which appends the standard output
-    and standard error to the named file.
-
-dd. The parser now understands `|&' as a synonym for `2>&1 |', which redirects
-    the standard error for a command through a pipe.
-
-ee. The new `;&' case statement action list terminator causes execution to
-    continue with the action associated with the next pattern in the
-    statement rather than terminating the command.
-
-ff. The new `;;&' case statement action list terminator causes the shell to
-    test the next set of patterns after completing execution of the current
-    action, rather than terminating the command.
-
-gg. The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
-    integer value greater than zero, prompt expansion of \w and \W  will
-    retain only that number of trailing pathname components and replace
-    the intervening characters with `...'.
-
-hh. There are new case-modifying word expansions: uppercase (^[^]) and
-    lowercase (,[,]).  They can work on either the first character or
-    array element, or globally.  They accept an optional shell pattern
-    that determines which characters to modify.  There is an optionally-
-    configured feature to include capitalization operators.
-
-ii. The shell provides associative array variables, with the appropriate
-    support to create, delete, assign values to, and expand them.
-
-jj. The `declare' builtin now has new -l (convert value to lowercase upon
-    assignment) and -u (convert value to uppercase upon assignment) options.
-    There is an optionally-configurable -c option to capitalize a value at
-    assignment.
-
-kk. There is a new `coproc' reserved word that specifies a coprocess: an
-    asynchronous command run with two pipes connected to the creating shell.
-    Coprocs can be named.  The input and output file descriptors and the
-    PID of the coprocess are available to the calling shell in variables
-    with coproc-specific names.
-
-4.  New Features in Readline
-
-a.  A new variable, rl_sort_completion_matches; allows applications to inhibit
-    match list sorting (but beware: some things don't work right if
-    applications do this).
-
-b.  A new variable, rl_completion_invoking_key; allows applications to discover
-    the key that invoked rl_complete or rl_menu_complete.
-
-c.  The functions rl_block_sigint and rl_release_sigint are now public and
-    available to calling applications who want to protect critical sections
-    (like redisplay).
-
-d.  The functions rl_save_state and rl_restore_state are now public and
-    available to calling applications; documented rest of readline's state
-    flag values.
-
-e.  A new user-settable variable, `history-size', allows setting the maximum
-    number of entries in the history list.
-
-f.  There is a new implementation of menu completion, with several improvements
-    over the old; the most notable improvement is a better `completions
-    browsing' mode.
-
-g.  The menu completion code now uses the rl_menu_completion_entry_function
-    variable, allowing applications to provide their own menu completion
-    generators.
-
-h.  There is support for replacing a prefix  of a pathname with a `...' when
-    displaying possible completions.  This is controllable by setting the
-    `completion-prefix-display-length' variable.  Matches with a common prefix
-    longer than this value have the common prefix replaced with `...'.
-
-i.  There is a new `revert-all-at-newline' variable.  If enabled, readline will
-    undo all outstanding changes to all history lines when `accept-line' is
-    executed.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.2-release,
-and the previous version, bash-3.2-beta.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused the temporary environment passed to a command to
-    affect the shell's environment under certain circumstances.
-
-b.  Fixed a bug in the printf builtin that caused the %q format specifier to
-    ignore empty string arguments.
-
-c.  Improved multibyte character environment detection at configuration time.
-
-d.  Fixed a bug in the read builtin that left spurious escape characters in the
-    input after processing backslashes when assigning to an array variable.
-
-2.  Changes to Readline
-
-a.  Fixed a redisplay bug that occurred in multibyte-capable locales when the
-    prompt was one character longer than the screen width.
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.2-beta,
-and the previous version, bash-3.2-alpha.
-
-1.  Changes to Bash
-
-a.  Changed the lexical analyzer to treat locale-specific blank characters as
-    white space.
-
-b.  Fixed a bug in command printing to avoid confusion between redirections and
-    process substitution.
-
-c.  Fixed problems with cross-compiling originating from inherited environment
-    variables.
-
-d.  Added write error reporting to printf builtin.
-
-e.  Fixed a bug in the variable expansion code that could cause a core dump in
-    a multi-byte locale.
-
-f.  Fixed a bug that caused substring expansion of a null string to return
-    incorrect results.
-
-g.  BASH_COMMAND now retains its previous value while executing commands as the
-    result of a trap, as the documentation states.
-
-2.  Changes to Readline
-
-a.  Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing
-    the prompt and input line multiple times.
-
-b.  Fixed history expansion to not be confused by here-string redirection.
-
-c.  Readline no longer treats read errors by converting them to newlines, as
-    it does with EOF.  This caused partial lines to be returned from readline().
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.2-alpha,
-and the previous version, bash-3.1-release.
-
-1.  Changes to Bash
-
-a.  Fixed a source bug that caused the minimal configuration to not compile.
-
-b.  Fixed memory leaks in error handling for the `read' builtin.
-
-c.  Changed the [[ and (( compound commands to set PIPESTATUS with their exit
-    status.
-
-d.  Fixed some parsing problems with compound array assignments.
-
-e.  Added additional configuration changes for: NetBSD (incomplete multibyte
-    character support)
-
-f.  Fixed two bugs with local array variable creation when shadowing a variable
-    of the same name from a previous context.
-
-g.  Fixed the `read' builtin to restore the correct set of completion functions
-    if a timeout occurs.
-
-h.  Added code to defer the initialization of HISTSIZE (and its stifling of the
-    history list) until the history file is loaded, allowing a startup file to
-    override the default value.
-
-i.  Tightened up the arithmetic expression parsing to produce better error
-    messages when presented with invalid operators.
-
-j.  Fixed the cross-compilation support to build the signal list at shell
-    invocation rather than compile time if cross-compiling.
-
-k.  Fixed multibyte support for non-gcc compilers (or compilers that do not
-    allow automatic array variable sizing based on a non-constant value).
-
-l.  Several fixes to the code that manages the list of terminated jobs and
-    their exit statuses, and the list of active and recently-terminated jobs
-    to avoid pid aliasing/wraparound and allocation errors.
-
-m.  Fixed a problem that allowed scripts to die due to SIGINT while waiting
-    for children, even when started in the background or otherwise ignoring
-    SIGINT.
-
-n.  Fixed a bug that caused shells invoked as -/bin/bash from not being
-    recognized as login shells.
-
-o.  Fixed a problem that caused shells in the background to give the terminal
-    to a process group other than the foreground shell process group.
-
-p.  Fixed a problem with extracting the `varname' in ${#varname}.
-
-q.  Fixed the code that handles SIGQUIT to not exit immediately -- thereby
-    calling functions that may not be called in a signal handler context --
-    but set a flag and exit afterward (like SIGINT).
-
-r.  Changed the brace expansion code to skip over braces that don't begin a
-    valid matched brace expansion construct.
-
-s.  Fixed `typeset' and `declare' to not require that their shell function
-    operands to be valid shell identifiers.
-
-t.  Changed `test' to use access(2) with a temporary uid/euid swap when testing
-    file attributes and running setuid, and access(2) in most other cases.
-
-u.  Changed completion code to not attempt command name completion on a line
-    consisting solely of whitespace when no_empty_command_completion is set.
-
-v.  The `hash' builtin now prints nothing in posix mode when the hash table is
-    empty, and prints a message to that effect to stdout instead of stderr
-    when not in posix mode.
-
-w.  Fixed a bug in the extended pattern matching code that caused it to fail to
-    match periods with certain patterns.
-
-x.  Fixed a bug that caused the shell to dump core when performing filename
-    generation in directories with thousands of files.
-
-y.  Returned to the original Bourne shell rules for parsing ``:  no recursive
-    parsing of embedded quoted strings or ${...} constructs.
-
-z.  The inheritence of the DEBUG, RETURN, and ERR traps is now dependent only
-    on the settings of the `functrace' and `errtrace' shell options, rather
-    than whether or not the shell is in debugging mode.
-
-aa. Fixed a problem with $HOME being converted to ~ in the expansion of
-    members of the DIRSTACK array.
-
-bb. Fixed a problem with quoted arguments to arithmetic expansions in certain
-    constructs.
-
-cc. The command word completion code now no longer returns matching directories
-    while searching $PATH.
-
-dd. Fixed a bug with zero-padding and precision handling in snprintf()
-    replacement.
-
-ee. Fixed a bug that caused the command substitution code not to take embedded
-    shell comments into account.
-
-ff. Fixed a bug that caused $((...);(...)) to be misinterpreted as an
-    arithmetic substitution.
-
-gg. Fixed a bug in the prompt expansion code that inappropriately added a
-    \001 before a \002 under certain circumstances.
-
-hh. Fixed a bug that caused `unset LANG' to not properly reset the locale
-    (previous versions would set the locale back to what it was when bash
-    was started rather than the system's "native" locale).
-
-ii. Fixed a bug that could cause file descriptors > 10 to not be closed even
-    when closed explicitly by a script.
-
-jj. Fixed a bug that caused single quotes to be stripped from ANSI-C quoting
-    inside double-quoted command substitutions.
-
-kk. Fixed a bug that could cause core dumps when `return' was executed as the
-    last element of a pipeline inside a shell function.
-
-ll. Fixed a bug that caused DEBUG trap strings to overwrite commands stored in
-    the jobs list.
-
-2.  Changes to Readline
-
-a.  Fixed a problem that caused segmentation faults when using readline in
-    callback mode and typing consecutive DEL characters on an empty line.
-
-b.  Fixed several redisplay problems with multibyte characters, all having to
-    do with the different code paths and variable meanings between single-byte
-    and multibyte character redisplay.
-
-c.  Fixed a problem with key sequence translation when presented with the
-    sequence \M-\C-x.
-
-d.  Fixed a problem that prevented the `a' command in vi mode from being
-    undone and redone properly.
-
-e.  Fixed a problem that prevented empty inserts in vi mode from being undone
-    properly.
-
-f.  Fixed a problem that caused readline to initialize with an incorrect idea
-    of whether or not the terminal can autowrap.
-
-g.  Fixed output of key bindings (like bash `bind -p') to honor the setting of
-    convert-meta and use \e where appropriate.
-
-h.  Changed the default filename completion function to call the filename
-    dequoting function if the directory completion hook isn't set.  This means
-    that any directory completion hooks need to dequote the directory name,
-    since application-specific hooks need to know how the word was quoted,
-    even if no other changes are made.
-
-i.  Fixed a bug with creating the prompt for a non-interactive search string
-    when there are non-printing characters in the primary prompt.
-
-j.  Fixed a bug that caused prompts with invisible characters to be redrawn
-    multiple times in a multibyte locale.
-
-k.  Fixed a bug that could cause the key sequence scanning code to return the
-    wrong function.
-
-l.  Fixed a problem with the callback interface that caused it to fail when
-    using multi-character keyboard macros.
-
-m.  Fixed a bug that could cause a core dump when an edited history entry was
-    re-executed under certain conditions.
-
-n.  Fixed a bug that caused readline to reference freed memory when attmpting
-    to display a portion of the prompt.
-
-3.  New Features in Bash
-
-a.  Changed the parameter pattern replacement functions to not anchor the
-    pattern at the beginning of the string if doing global replacement - that
-    combination doesn't make any sense.
-
-b.  When running in `word expansion only' mode (--wordexp option), inhibit
-    process substitution.
-
-c.  Loadable builtins now work on MacOS X 10.[34].
-
-d.  Shells running in posix mode no longer set $HOME, as POSIX requires.
-
-e.  The code that checks for binary files being executed as shell scripts now
-    checks only for NUL rather than any non-printing character.
-
-f.  Quoting the string argument to the [[ command's  =~ operator now forces
-    string matching, as with the other pattern-matching operators.
-
-4.  New Features in Readline
-
-a.  Calling applications can now set the keyboard timeout to 0, allowing
-    poll-like behavior.
-
-b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
-    the default last-ditch startup file.
-
-c.  The history file reading functions now allow windows-like \r\n line
-    terminators.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.1-release,
-and the previous version, bash-3.1-rc2.
-
-1.  Changes to Readline
-
-a.  Several changes to the multibyte redisplay code to fix problems with
-    prompts containing invisible characters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.1-rc2,
-and the previous version, bash-3.1-rc1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused a DEBUG trap to overwrite a command string that's
-    eventually attached to a background job.
-
-b.  Changed some code so that filenames with leading tildes with spaces in the
-    name aren't tilde-expanded by the bash completion code.
-
-c.  Fixed a bug that caused the pushd builtin to fail to change to
-    directories with leading `-'.
-
-d.  Fixed a small memory leak in the programmable completion code.
-
-2.  Changes to Readline
-
-a.  Fixed a redisplay bug caused by moving the cursor vertically to a line
-    with invisible characters in the prompt in a multibyte locale.
-
-b.  Fixed a bug that could cause the terminal special chars to be bound in the
-    wrong keymap in vi mode.
-
-3.  New Features in Bash
-
-a.  If compiled for strict POSIX conformance, LINES and COLUMNS may now
-    override the true terminal size.
-
-4.  New Features in Readline
-
-a.  A new external application-controllable variable that allows the LINES
-    and COLUMNS environment variables to set the window size regardless of
-    what the kernel returns.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.1-rc1,
-and the previous version, bash-3.1-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that could cause core dumps due to accessing the current
-    pipeline while in the middle of modifying it.
-
-b.  Fixed a bug that caused pathnames with backslashes still quoting characters
-    to be passed to opendir().
-
-c.  Command word completion now obeys the setting of completion-ignore-case.
-
-d.  Fixed a problem with redirection that caused file descriptors greater than
-    2 to be inappropriately marked as close-on-exec.
-
-e.  In Posix mode, after `wait' is called to wait for a particular process
-    explicitly, that process is removed from the list of processes known to
-    the shell, and subsequent attempts to wait for it return errors.
-
-f.  Fixed a bug that caused extended pattern matching to incorrectly scan
-    backslash-escaped pattern characters.
-
-g.  Fixed a synchronization problem that could cause core dumps when handling
-    a SIGWINCH.
-
-h.  Fixed a bug that caused an unmatched backquote to be accepted without an
-    error when processing here documents.
-
-i.  Fixed a small memory leak in the `cd' builtin.
-
-j.  Fix for MacOS X so it gets the values for the HOSTTYPE, MACHTYPE, and
-    OSTYPE variables at build time, to support universal binaries.
-
-k.  Fixed a bug that could cause an exit trap to return the exit status of
-    the trap command rather than the status as it was before the trap was
-    run as the shell's exit status.
-
-2.  New Features in Bash
-
-3.  Changes to Readline
-
-a.  Fixed a bug that caused reversing the incremental search direction to
-    not work correctly.
-
-b.  Fixed the vi-mode `U' command to only undo up to the first time insert mode
-    was entered, as Posix specifies.
-
-c.  Fixed a bug in the vi-mode `r' command that left the cursor in the wrong
-    place.
-
-4.  New Features in Readline
-
-a.  New application-callable auxiliary function, rl_variable_value, returns
-    a string corresponding to a readline variable's value.
-
-b.  When parsing inputrc files and variable binding commands, the parser
-    strips trailing whitespace from values assigned to boolean variables
-    before checking them.
-
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.1-beta1,
-and the previous version, bash-3.1-alpha1.
-
-1.  Changes to Bash
-
-a.  Added some system-specific signal names.
-
-b.  Fixed a typo in the ulimit builtin to make `x' the right option to
-    maniuplate the limit on file locks.
-
-c.  Fixed a problem with using += to append to index 0 of an array variable
-    when not using subscript syntax.
-
-d.  A few changes to configure.in to remove calls to obsolete or outdated
-    macros.
-
-e.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
-    made when the variable is set in the temporary environment to a command.
-
-f.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
-    made when the variable is modified using `printf -v'.
-
-g.  The export environment is now remade on cygwin when HOME is changed, so
-    DLLs bash is linked against pick up the new value.  This fixes problems
-    with tilde expansion when linking against and already-installed readline.
-
-h.  Small fix to the logic for performing tilde expansion in posix mode, so
-    expansion on the right-hand side of an assignment statement takes place.
-
-i.  Fixed a bug that prevented redirections associated with a shell function
-    from being executed when in a subshell.
-
-j.  Fixed `source' and `.' builtins to not require an executable file when
-    searching $PATH for a file to source.
-
-k.  Fixed a bug that caused incorrect word splitting in a function when IFS
-    was declared local, then unset.
-
-l.  Fixed a problem with the `kill' builtin that prevented sending signals
-    to a process group under certain circumstances when providing a pid < 0.
-
-m.  When in POSIX mode, `pwd' now checks that the value it prints is the same
-    directory as `.', even when displaying $PWD.
-
-n.  Fixed a problem with the `read' builtin when reading a script from standard
-    input and reading data from the same file.
-
-o.  Fixed a problem with the `type' and `command' builtins that caused absolute
-    pathnames to be displayed incorrectly.
-
-p.  Some changes to the `bg' builtin for POSIX conformance.
-
-q.  The `fc' builtin now removes the `fc' command that caused it to invoke an
-    editor on specified history entries from the history entirely, rather than
-    simply ignoring it.
-
-r.  When in POSIX mode, the `v' command in vi editing mode simply invokes vi
-    on the current command, rather than checking $FCEDIT and $EDITOR.
-
-s.  Fixed a small memory leak in the pathname canonicalization code.
-
-t.  Fixed a bug that caused the expanded value of a $'...' string to be
-    incorrectly re-quoted if it occurred within a double-quoted ${...}
-    parameter expansion.
-
-u.  Restored default emacs-mode key binding of M-TAB to dynamic-complete-history.
-
-v.  Fixed a bug that caused core dumps when interrupting loops running builtins
-    on some systems.
-
-w.  Make sure that some of the functions bash provides replacements for are
-    not cpp defines.
-
-x.  The code that scans embedded commands for the parser (`...` and $(...)) is
-    now more aware of embedded comments and their effect on quoted strings.
-
-y.  Changed the `-n' option to the `history' builtin to not reset the number of
-    history lines read in the current session after reading the new lines from
-    the history file if the history is being appended when it is written to
-    the file, since the appending takes care of the problem that the adjustment
-    was intended to solve.
-
-z.  Improved the error message displayed when a shell script fails to execute
-    because the environment and size of command line arguments are too large.
-
-aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
-    saving commands to the history list, not just when HISTSIZE is defined.
-
-2.  Changes to Readline
-
-a.  The `change-case' command now correctly changes the case of multibyte
-    characters.
-
-b.  Changes to the shared library construction scripts to deal with Windows
-    DLL naming conventions for Cygwin.
-
-c.  Fixed the redisplay code to avoid core dumps resulting from a poorly-timed
-    SIGWINCH.
-
-d.  Fixed the non-incremental search code in vi mode to dispose of any current
-    undo list when copying a line from the history into the current editing
-    buffer.
-
-e.  The variable assignment code now ignores whitespace at the end of lines
-    when assigning to boolean variables.
-
-f.  The `C-w' binding in incremental search now understands multibyte
-    characters.
-
-3.  New Features in Bash
-
-a.  A new configuration option, `--enable-strict-posix-default', which will
-    build bash to be POSIX conforming by default.
-
-4.  New Features in Readline
-
-a.  If the rl_completion_query_items is set to a value < 0, readline never
-    asks the user whether or not to view the possible completions.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.1-alpha1,
-and the previous version, bash-3.0-release.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused bash to crash if referencing an unset local array.
-
-b.  Fixed a problem that caused tilde expansion to not be performed before
-    attempting globbing word completion.
-
-c.  Fixed an incompatibility so that a first argument to trap that's a valid
-    signal number will be trated as a signal rather than a command to execute.
-
-d.  Fixed ${#word} expansion to correctly compute the length of a string
-    containing multibyte characters.
-
-e.  Fixed a bug that caused bash to not pass the correct flags for signal
-    disposition to child processes.
-
-f.  Fixed a bug that caused `fc -l' to list one too many history entries.
-
-g.  Some fixes to `fc' for POSIX conformance.
-
-h.  Some fixes to job status display for POSIX conformance.
-
-i.  Fixed a bug that caused `command -v' to display output if a command was not
-    found -- it should be silent.
-
-j.  In POSIX mode, `type' and `command -[vV]' do not report non-executable
-    files, even if the shell will attempt to execute them.
-
-k.  Fixed a bug that caused the `==' operator to the [[ command to not attempt
-    extended pattern matching.
-
-l.  Fixed the brace expansion code to handle characters whose value exceeds 128.
-
-m.  Fixed `printf' to handle strings with a leading `\0' whose length is
-    non-zero.
-
-n.  Fixed a couple of problems with brace expansion where `${' was handled
-    incorrectly.
-
-o.  Fixed off-by-one error when calculating the upper bound of `offset' when
-    processing the ${array[@]:offset:length} expansion.
-
-p.  System-specific configuration changes for: FreeBSD 5.x, Interix, MacOS X
-    10.4, Linux 2.4+ kernels, Linux 3.x kernels, Dragonfly BSD, QNX 6.x,
-    Cygwin
-
-q.  Fixed a bug that caused the shell to ignore the status of the rightmost
-    command in a pipeline when the `pipefail' option was enabled.
-
-r.  Fixed a completion bug that caused core dumps when expanding a directory
-    name.
-
-s.  Fixed a bug that prevented `hash -d' from removing commands from the hash
-    table.
-
-t.  Fixed word splitting to avoid really bad quadratic performance when
-    expanding long lists.
-
-u.  Fixed a bug that caused negative offsets in substring expansion to use the
-    wrong values.
-
-v.  Fixed a bug in printf that caused it to not return failure on write errors.
-
-w.  Fixed a bug that caused commands in subshells to not be properly timed.
-
-x.  The shell parser no longer attempts to parse a compound assignment specially
-    unless in a position where an assignment statement is acceptable or parsing
-    arguments to a builtin that accepts assignment statements.
-
-y.  Fixed a problem that caused a `case' statement to be added to the history
-    incorrectly as a single command if the `case word' was on one line and the
-    `in' on another.
-
-z.  Fixed a problem that caused internal shell quoting characters to be
-    incorrectly quoted with backslashes under some circumstances.
-
-aa. The shell now performs correct word splitting when IFS contains multibyte
-    characters.
-
-bb. The mail checking code now resets the cached file information if the size
-    drops to 0, even if the times don't change.
-
-cc. A completed command name that is found in $PATH as well as the name of a
-    directory in the current directory no longer has a slash appended in certain
-    circumstances:  a single instance found in $PATH when `.' is not in $PATH,
-    and multiple instances found in $PATH, even when `.' is in $PATH.
-
-dd. Incorporated tilde expansion into the word expansion code rather than as a
-    separately-called function, fixing some cases where it was performed
-    inappropriately (e.g., after the second `=' in an assignment statement or
-    in a double-quoted parameter expansion).
-
-ee. Fixed several bugs encountered when parsing compound assignment statements,
-    so that compound assignments appearing as arguments to builtins are no
-    longer double-expanded.
-
-ff. Fixed a bug in the command execution code that caused asynchronous commands
-    containing command substitutions to not put the terminal in the wrong
-    process group.
-
-gg. Bash now handles the case where the WCONTINUED flag causes waitpid() to
-    return -1/EINVAL at runtime as well as configuration time.
-
-hh. Fixed parser to generate an error when the pipeline `argument' to `!' or
-    `time' is NULL.
-
-ii. The shell now takes a little more care when manipulating file descriptors
-    greater than 9 with the `exec' builtin.
-
-jj. Fixed a bug that caused variable assignments preceding the `command' builtin
-    preceding a special builtin to be preserved after the command completed in
-    POSIX mode.
-
-kk. Fixed a bug that allowed variables beginning with a digit to be created.
-
-ll. Fixed a bug that caused a \<newline> to be removed when parsing a $'...'
-    construct.
-
-mm. A shell whose name begins with `-' will now be a restricted shell if the
-    remainder of the name indicates it should be restricted.
-
-nn. Fixed a bug that could cause a core dump if FUNCNAME were changed or unset
-    during a function's execution.
-
-oo. Fixed a bug that caused executing a `return' in a function to not execute
-    a RETURN trap.  The RETURN trap is inherited by shell functions only if
-    function tracing is globally enabled or has been enabled for that function.
-
-pp. Fixed cases where var[@] was not handled exactly like var, when var is a
-    scalar variable.
-
-qq. Fixed a bug that caused the first character after a SIGINT to be discarded
-    under certain circumstances.
-
-rr. Fixed exit status code so that a suspended job returns 128+signal as its
-    exit status (preventing commands after it in `&&' lists from being
-    executed).
-
-ss. Fixed a bug that caused the shell parser state to be changed by executing
-    a shell function as a result of word completion.
-
-tt. Fixed a long-standing bug that caused '\177' characters in variable
-    values to be discarded when expanded in double-quoted strings.
-
-uu. Fixed a bug that caused $RANDOM to be re-seeded multiple times in a
-    subshell environment.
-
-vv. Extensive changes to the job management code to avoid the pid-reuse and
-    pid-aliasing problems caused by retaining the exit status of too many jobs,
-    but still retain as many background job statuses as POSIX requires.
-
-ww. Fixed a parser bug in processing \<newline> that caused things like
-
-               ((echo 5) \
-                (echo 6))
-
-    to not work correctly.
-
-xx. `pwd -P' now sets $PWD to a directory name containing no symbolic links
-    when in posix mode, as POSIX requires.
-
-yy. In posix mode, bash no longer sets $PWD to a name containing no symbolic
-    links if a directory is chosen from $CDPATH.
-
-zz. The word splitting code now treats an IFS character that is not space,
-    tab, or newline and any adjacent IFS white space as a single delimiter, as
-    SUSv3/XPG6 require.
-
-aaa. The `read' builtin now checks whether or not the number of fields read is
-     exactly the same as the number of variables instead of just assigning the
-     rest of the line (minus any trailing IFS white space) to the last
-     variable.  This is what POSIX/SUS/XPG all require.
-
-bbb. Fixed a bug that caused `read' to always check whether or not fd 0 was a
-     pipe, even when reading from another file descriptor.
-
-ccc. Fixed a bug that caused short-circuiting of execution even if the return
-     value was being inverted.
-
-ddd. Fixed a bug that caused a core dump while decoding \W escapes in PS1 if
-     PWD was unset.
-
-eee. Fixed a bug in `read' that counted internal quoting characters for the
-     purposes of `read -n'.
-
-fff. Fixed a bug so that a function definition in a pipeline causes a child
-     process to be forked at the right time.
-
-ggg. Bash will not attempt to link against a readline library that doesn't
-     have rl_gnu_readline_p == 1.
-
-hhh. Fixed a bug that caused `read' to consume one too many characters when
-     reading a fixed number of characters and the Nth character is a backslash.
-
-iii. Fixed a bug that caused `unset' on variables in the temporary environment
-     to leave them set when `unset' completed.
-
-jjj. Fixed a bug that caused bash to close fd 2 if an `exec' failed and the
-     shell didn't exit.
-
-kkk. The completion code is more careful to not turn `/' or `///' into `//',
-     for those systems on which `//' has special meaning.
-
-lll. Fixed a bug that caused command substitution in asynchronous commands to
-     close the wrong file descriptors.
-
-mmm. The shell no longer prints status messages about terminated background
-     processes unless job control is active.
-
-nnn. Fixed a bug that prevented multiple consecutive invocations of `history -s'
-     from adding all the commands to the history list.
-
-ooo. Added a couple of changes to make arithmetic expansion more consistent in
-     all its contexts (still not perfect).
-
-ppp. Fixed a bug that caused the parser to occasionally not find the right
-     terminating "`" in an old-style command substitution.
-
-qqq. Fixed a bug that caused core dumps when the shell was reading its non-
-     interactive input from fd 0 and fd 0 was duplicated and restored using a
-     combination of `exec' (to save) and redirection (to restore).
-
-rrr. Fixed a problem that caused loops in sourced scripts to not be cleaned
-     up properly when a `return' is executed.
-
-sss. Change internal command substitution completion function to append a slash
-     to directory names in the command.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused multiliine prompts to be wrapped and displayed
-    incorrectly.
-
-b.  Fixed a bug that caused ^P/^N in emacs mode to fail to display the current
-    line correctly.
-
-c.  Fixed a problem in computing the number of invisible characters on the first
-    line of a prompt whose length exceeds the screen width.
-
-d.  Fixed vi-mode searching so that failure preserves the current line rather
-    than the last line in the history list.
-
-e.  Fixed the vi-mode `~' command (change-case) to have the correct behavior at
-    end-of-line when manipulating multibyte characters.
-
-f.  Fixed the vi-mode `r' command (change-char) to have the correct behavior at
-    end-of-line when manipulating multibyte characters.
-
-g.  Fixed multiple bugs in the redisplay of multibyte characters:  displaying
-    prompts longer than the screen width containing multibyte characters, 
-
-h.  Fix the calculation of the number of physical characters in the prompt
-    string when it contains multibyte characters.
-
-i.  A non-zero value for the `rl_complete_suppress_append' variable now causes
-    no `/' to be appended to a directory name.
-
-j.  Fixed forward-word and backward-word to work when words contained
-    multibyte characters.
-
-k.  Fixed a bug in finding the delimiter of a `?' substring when performing
-    history expansion in a locale that supports multibyte characters.
-
-l.  Fixed a memory leak caused by not freeing the timestamp in a history entry.
-
-m.  Fixed a bug that caused "\M-x" style key bindings to not obey the setting
-    of the `convert-meta' variable.
-
-n.  Fixed saving and restoring primary prompt when prompting for incremental
-    and non-incremental searches; search prompts now display multibyte
-    characters correctly.
-
-o.  Fixed a bug that caused keys originally bound to self-insert but shadowed
-    by a multi-character key sequence to not be inserted.
-
-p.  Fixed code so rl_prep_term_function and rl_deprep_term_function aren't
-    dereferenced if NULL (matching the documentation).
-
-q.  Extensive changes to readline to add enough state so that commands
-    requiring additional characters (searches, multi-key sequences, numeric
-    arguments, commands requiring an additional specifier character like
-    vi-mode change-char, etc.) work without synchronously waiting for
-    additional input.
-
-r.  Lots of changes so readline builds and runs on MinGW.
-
-s.  Readline no longer tries to modify the terminal settings when running in
-    callback mode.
-
-t.  The Readline display code no longer sets the location of the last invisible
-    character in the prompt if the \[\] sequence is empty.
-
-3.  New Features in Bash
-
-a.  Bash now understands LC_TIME as a special variable so that time display
-    tracks the current locale.
-
-b.  BASH_ARGC, BASH_ARGV, BASH_SOURCE, and BASH_LINENO are no longer created
-    as `invisible' variables and may not be unset.
-
-c.  In POSIX mode, if `xpg_echo' option is enabled, the `echo' builtin doesn't
-    try to interpret any options at all, as POSIX requires.
-
-d.  The `bg' builtin now accepts multiple arguments, as POSIX seems to specify.
-
-e.  Fixed vi-mode word completion and glob expansion to perform tilde
-    expansion.
-
-f.  The `**' mathematic exponentiation operator is now right-associative.
-
-g.  The `ulimit' builtin has new options: -i (max number of pending signals),
-    -q (max size of POSIX message queues), and -x (max number of file locks).
-
-h.  A bare `%' once again expands to the current job when used as a job
-    specifier.
-
-i.  The `+=' assignment operator (append to the value of a string or array) is
-    now supported for assignment statements and arguments to builtin commands
-    that accept assignment statements.
-
-j.  BASH_COMMAND now preserves its value when a DEBUG trap is executed.
-
-k.  The `gnu_errfmt' option is enabled automatically if the shell is running
-    in an emacs terminal window.
-
-l.  New configuration option:  --single-help-strings.  Causes long help text
-    to be written as a single string; intended to ease translation.
-
-m.  The COMP_WORDBREAKS variable now causes the list of word break characters
-    to be emptied when the variable is unset.
-
-n.  An unquoted expansion of $* when $IFS is empty now causes the positional
-    parameters to be concatenated if the expansion doesn't undergo word
-    splitting.
-
-o.  Bash now inherits $_ from the environment if it appears there at startup.
-
-p.  New shell option: nocasematch.  If non-zero, shell pattern matching ignores
-    case when used by `case' and `[[' commands.
-
-q.  The `printf' builtin takes a new option: -v var.  That causes the output
-    to be placed into var instead of on stdout.
-
-r.  By default, the shell no longer reports processes dying from SIGPIPE.
-
-s.  Bash now sets the extern variable `environ' to the export environment it
-    creates, so C library functions that call getenv() (and can't use the
-    shell-provided replacement) get current values of environment variables.
-
-4.  New Features in Readline
-
-a.  The key sequence sent by the keypad `delete' key is now automatically
-    bound to delete-char.
-
-b.  A negative argument to menu-complete now cycles backward through the
-    completion list.
-
-c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
-    readline will bind the terminal special characters to their readline
-    equivalents when it's called (on by default).
-
-d.  New bindable command: vi-rubout.  Saves deleted text for possible
-    reinsertion, as with any vi-mode `text modification' command; `X' is bound
-    to this in vi command mode.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.0-release,
-and the previous version, bash-3.0-rc1.
-
-1.  Changes to Bash
-
-a.  Fixed a boundary overrun that could cause segmentation faults when the
-    completion code hands an incomplete construct to the word expansion
-    functions.
-
-b.  Changed posix mode behavior so that an error in a variable assignment
-    preceding a special builtin causes a non-interactive shell to exit.
-
-c.  Change the directory expansion portion of the completion code to not
-    expand embedded command substitutions if the directory name appears in
-    the file system.
-
-d.  Fixed a problem that caused `bash -r' to turn on restrictions before
-    reading the startup files.
-
-e.  Fixed a problem with the default operation of the `umask' builtin.
-
-2.  Changes to Readline
-
-a.  Fixed a problem with readline saving the contents of the current line
-    before beginning a non-interactive search.
-
-b.  Fixed a problem with EOF detection when using rl_event_hook.
-
-c.  Fixed a problem with the vi mode `p' and `P' commands ignoring numeric
-    arguments.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.0-rc1,
-and the previous version, bash-3.0-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused incorrect behavior when referecing element 0 of
-    an array using $array, element 0 was unset, and `set -u' was enabled.
-
-b.  System-specific changes for: SCO Unix 3.2, Tandem.
-
-c.  Fixed a bug that caused inappropriate word splitting when a variable was
-    expanded within a double-quoted string that also included $@.
-
-d.  Fixed a bug that caused `pwd' to not display anything in physical mode
-    when the file system had changed underneath the shell.
-
-e.  Fixed a bug in the pre- and post- increment and decrement parsing in the
-    expression evaluator that caused errors when the operands and corresponding
-    operators were separated by whitespace.
-
-f.  Fixed a bug that caused `history -p' to add an entry to the history list,
-    counter to the documentation.  (Keeps the history expansions invoked by
-    emacs-mode command line editing from doing that as well.)
-
-g.  Fixed a bug that could cause a core dump if `cd' is asked to print out a
-    pathname longer than PATH_MAX characters.
-
-h.  Fixed a bug that caused jobs to be put into the wrong process group under
-    some circumstances after enabling job control with `set -m'.
-
-i.  `unalias' now  returns failure if no alias name arguments are supplied.
-
-j.  Documented the characters not allowed to appear in an alias name.
-
-k.  $* is no longer expanded as if in double quotes when it appears in the
-    body of a here document, as the SUS seems to require.
-
-l.  The `bashbug' script now uses a directory in $TMPDIR for exclusive
-    access rather than trying to guess how the underlying OS provides for
-    secure temporary file creation.
-
-m.  Fixed a few problems with `cd' and `pwd' when asked to operate on pathnames
-    longer than PATH_MAX characters.
-
-n.  Fixed a memory leak caused when creating multiple local array variables
-    with identical names.
-
-o.  Fixed a problem with calls to getcwd() so that bash now operates better
-    when the full pathname to the current directory is longer than PATH_MAX
-    bytes.
-
-p.  The `trap' builtin now reports an error if a single non-signal argument
-    is specified.
-
-q.  Fixed a bug that caused `umask' to not work correctly when presented
-    with a mask of all 0s.
-
-r.  When `getopts' reaches the end of options, OPTARG is unset, as POSIX
-    appears to specify.
-
-s.  Interactive mode now depends on whether or not stdin and stderr are
-    connected to a tty; formerly it  was stdin and stdout.  POSIX requires
-    this.
-
-t.  Fixed vi-mode completion to work more as POSIX specifies (e.g., doing the
-    right kind of filename generation).
-
-2.  Changes to Readline
-
-a.  Fixed a problem that could cause readline to refer to freed memory when
-    moving between history lines while doing searches.
-
-b.  Improvements to the code that expands and displays prompt strings
-    containing multibyte characters.
-
-c.  Fixed a problem with vi-mode not correctly remembering the numeric argument
-    to the last `c'hange command for later use with `.'.
-
-d.  Fixed a bug in vi-mode that caused multi-digit count arguments to work
-    incorrectly.
-
-e.  Fixed a problem in vi-mode that caused the last text modification command
-    to not be remembered across different command lines.
-
-f.  Fixed problems with changing characters and changing case at the end of
-    the line.
-
-3.  New Features in Bash
-
-a.  The `jobs', `kill', and `wait' builtins now accept job control notation
-    even if job control is not enabled.
-
-b.  The historical behavior of `trap' that allows a missing `action' argument
-    to cause each specified signal's handling to be reset to its default is
-    now only supported when `trap' is given a single non-option argument.
-
-4.  New Features in Readline
-
-a.  When listing completions, directories have a `/' appended if the
-    `mark-directories' option has been enabled.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.0-beta1,
-and the previous version, bash-3.0-alpha.
-
-1.  Changes to Bash
-
-a.  Fixes to build correctly when arrays are not compiled into the shell.
-
-b.  Fixed command substitution to run any exit trap defined in the command
-    substitution before returning; the exit trap is not inherited from the
-    calling shell.
-
-c.  Fixes to process group synchronization code so that every child process
-    attempts to set the terminal's process group; fixes some synchronization
-    problems on Linux kernels that schedule the child to always run before
-    the parent.
-
-d.  Fixed processing of octal and hex constants in printf builtin for POSIX.2
-    compliance.
-
-e.  Fixed a couple of core dumps in the pattern removal code.
-
-f.  Fixes to the array subrange extraction code to deal better with sparse
-    arrays.
-
-g.  Parser errors and other errors that result in the shell exiting now cause
-    the exit trap to be run.
-
-h.  Change the command substitution completion functions to not append any
-    closing quote, because it would be inserted a closing "`" or ")".
-
-i.  Fix history initialization so assignments to $histchars made in startup
-    files are honored.
-
-j.  If an exit trap does not contain a call to `exit', the shell now uses
-    the exit status of the last command executed before the trap as the exit
-    status of the shell.
-
-k.  The parser now prompts with $PS2 if it reads a newline while parsing a
-    compound array assignment statement.
-
-l.  When performing a compound array assignment, the parser doesn't treat
-    words of the form [index]=value as assignments if they're the result of
-    expansions.
-
-m.  Fixed a bug that caused `return' executed in a trap command to make the
-    shell think it was still running the trap.
-
-n.  Fixed the value of errno set by the pathname canonicalization functions.
-
-o.  Changed the grammar so that `time' alone on a line times a null command
-    rather than being a syntax error.
-
-p.  The pattern substitution code no longer performs quote removal on the
-    pattern before trying to match it, as the pattern removal functions do.
-
-q.  Fixed a bug that could cause core dumps when checking whether a quoted
-    command name was being completed.
-
-r.  Fixes to the pattern removal and pattern replacement expansions to deal
-    with multibyte characters better (and faster).
-
-s.  Fix to the substring expansion (${param:off[:len]}) to deal with (possibly
-    multibyte) characters instead of raw bytes.
-
-t.  Fixed a bug that caused some key bindings set in an inputrc to be ignored
-    at shell startup.
-
-u.  Fixed a bug that caused unsetting a local variable within a function to
-    not work correctly.
-
-v.  Fixed a bug that caused invalid variables to be created when using
-    `read -a'.
-
-w.  Fixed a bug that caused "$@" to expand incorrectly when used as the right
-    hand side of a parameter expansion such as ${word:="$@"} if the first
-    character of $IFS was not a space.
-
-x.  Fixed a slight cosmetic problem when printing commands containing a
-    `>&word' redirection.
-
-y.  Fixed a problem that could cause here documents to not be created correctly
-    if the system temporary directory did not allow writing.
-
-2.  Changes to Readline
-
-a.  Change to history expansion functions to treat `^' as equivalent to word
-    one, as the documention states.
-
-b.  Some changes to the display code to improve display and redisplay of
-    multibyte characters.
-
-c.  Changes to speed up the multibyte character redisplay code.
-
-d.  Fixed a bug in the vi-mode `E' command that caused it to skip over the
-    last character of a word if invoked while point was on the word's
-    next-to-last character.
-
-e.  Fixed a bug that could cause incorrect filename quoting when
-    case-insensitive completion was enabled and the word being completed
-    contained backslashes quoting word break characters.
-
-f.  Fixed a bug in redisplay triggered when the prompt string contains
-    invisible characters.
-
-g.  Fixed some display (and other) bugs encountered in multibyte locales
-    when a non-ascii character was the last character on a line.
-
-h.  Fixed some display bugs caused by multibyte characters in prompt strings.
-
-i.  Fixed a problem with history expansion caused by non-whitespace characters
-    used as history word delimiters.
-
-3.  New Features in Bash
-
-a.  printf builtin understands two new escape sequences:  \" and \?.
-
-b.  `echo -e' understands two new escape sequences:  \" and \?.
-
-c.  The GNU `gettext' package and libintl have been integrated; the shell's
-    messages can be translated into different languages.
-
-d.  The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
-
-e.  The error message printed when bash cannot open a shell script supplied
-    as argument 1 now includes the name of the shell, to better identify
-    the error as coming from bash.
-
-4.  New Features in Readline
-
-a.  New application variable, rl_completion_quote_character, set to any
-    quote character readline finds before it calls the application completion
-    function.
-
-b.  New application variable, rl_completion_suppress_quote, settable by an
-    application completion function.  If set to non-zero, readline does not
-    attempt to append a closing quote to a completed word.
-
-c.  New application variable, rl_completion_found_quote, set to a non-zero
-    value if readline determines that the word to be completed is quoted.
-    Set before readline calls any application completion function.
-
-d.  New function hook, rl_completion_word_break_hook, called when readline
-    needs to break a line into words when completion is attempted.  Allows
-    the word break characters to vary based on position in the line.
-
-e.  New bindable command: unix-filename-rubout.  Does the same thing as
-    unix-word-rubout, but adds `/' to the set of word delimiters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-3.0-alpha,
-and the previous version, bash-2.05b-release.
-
-1.  Changes to Bash
-
-a.  Fixes so that the shell will compile without some of the default options
-    defined.
-
-b.  Fixed an error message that did not pass enough arguments to printf.
-
-c.  Fixed a bug that caused input redirection to a builtin inside a script
-    being read from standard input to result in the rest of the already-
-    read and buffered script to be discarded.
-
-d.  Fixed a bug that caused subshell initialization to close the file
-    descriptor from which the shell was reading a script under certain
-    circumstances.
-
-e.  Fixed a bug that caused the shell to not advance a string pointer over
-    a null wide character when doing string operations.
-
-f.  Fixed the internal logout code so that shells that time out waiting for
-    input (using $TMOUT) run ~/.bash_logout.
-
-g.  Portability and configuration changes for: cygwin, HP/UX, GNU/FreeBSD.
-
-h.  The parser no longer adds implicit double quotes to ((...)) arithmetic
-    commands.
-
-i.  The ((...)) arithmetic command evaluation code was fixed to not dump core
-    when the expanded string is null.
-
-j.  The ((...)) arithmetic command evaluation code was fixed to not perform
-    variable assignments while expanding the expression.
-
-k.  Fixed a bug that caused word splitting to be performed incorrectly when
-    IFS is set, but null.
-
-l.  Fixed a bug in brace expansion that caused a quoted `$' preceding an
-    open brace to inhibit brace expansion.
-
-m.  Fixed a bug that caused a leading `-' in the shell's name to cause it to
-    not be recognized as a restricted shell.
-
-n.  Fixed a bug in the arithmetic evaluation code that could cause longjmps
-    to an invalid location and result in a core dump.
-
-o.  Fixed a bug in the calculation of how many history lines are new in a
-    single shell session when reading new history lines from a file with
-    `history -n'.
-
-p.  Fixed a bug in pathname canonicalization that caused the shell to dump
-    core when presented with a pathname longer than PATH_MAX.
-
-q.  Fixed the parser so that it doesn't try to compare a char variable to
-    EOF, which fails when chars are unsigned.
-
-r.  Fixed a bug in the simple command execution code that caused occasional
-    core dumps.
-
-s.  The shell does a better job of saving any partial parsing state during
-    operations which cause a command to be executed while a line is being
-    entered and parsed.
-
-t.  The completion code now splits words more like the expansion code when
-    $IFS is used to split.
-
-u.  The locale code does a better job of recomputing the various locale
-    variable values when LC_ALL is unset.
-
-v.  The programmable completion code does a better job of dequoting expanded
-    word lists before comparing them against the word to be matched.
-
-w.  The shell no longer seg faults if the expanded value of $PS4 is null
-    and `set -x' is enabled.
-
-x.  Fixed a bug that caused core dumps when a here string expanded to NULL.
-
-y.  The mail checking code now makes sure the mailbox is bigger before
-    reporting the existence of new mail.
-
-z.  The parser does not try to expand $'...' and $"..." when the appear
-    within double quotes unless the `extquote' option has been enabled with
-    `shopt'.  For backwards compatibility, it is enabled by default.
-
-aa. Fixed a bug that caused `for x; do ...' and `select x; do ... to use
-    $@ instead of "$@" for the implicit list of arguments.
-
-bb. Fixed a bug that caused a subshell of a restricted shell (e.g., one
-    spawned to execute a pipeline) to not exit immediately if attempting
-    to use a command containing a slash.
-
-cc. Fixed a problem with empty replacements for a pattern that doesn't match
-    when performing ${param/word/} expansion.
-
-dd. Word expansions performed while expanding redirections no longer search
-    a command's temporary environment to expand variable values.
-
-ee. Improvements to the alias expansion code when expanding subsequent words
-    because an aliase's value ends with a space.
-
-ff. `cd -' now prints the current working directory after a successful chdir
-    even when the shell is not interactive, as the standard requires.
-
-gg. The shell does a better job of ensuring a child process dies of SIGINT
-    before resending SIGINT to itself.
-
-hh. The arithmetic expansion variable assignment code now does the right
-    thing when assigning to `special' variables like OPTIND.
-
-ii. When history expansion verification is enabled, the bash readline helper
-    functions that do history expansion on the current line don't print
-    the results.
-
-jj. Fixed bugs with multiple consecutive alias expansion when one of the
-    expansions ends with a space.
-
-kk. Fixed a problem in the programmable completion code that could cause core
-    dumps when trying to initialize a set of possible completions from a
-    list of variables.
-
-ll. The \[ and \] escape characters are now ignored when decoding the prompt
-    string if the shell is started with editing disabled.
-
-mm. Fixed a bug that could leave extra characters in a string when doing
-    quoted null character removal.
-
-nn. Command substitution and other subshell operations no longer reset the
-    line number (aids the bash debugger).
-
-oo. Better line number management when executing simple commands, conditional
-    commands, for commands, and select commands.
-
-pp. The globbing code now uses malloc, with its better failure properties,
-    rather than alloca().
-
-qq. Fixed a bug that caused expansions like #{a[2]:=value} to create the
-    appropriate array element instead of a variable named `a[2]'.
-
-rr. Fixed a bug in the handling of a `?(...)' pattern immediately following
-    a `*' when extglob is enabled.
-
-ss. Fixed a bug that caused a `return' invoked in an exit trap when exit is
-    invoked in a function to misbehave.
-
-tt. Fixed a bug that caused CTLESC and CTLNUL characters to not be escaped
-    by the internal shell string quoting functions.
-
-uu. Fixed a bug that caused quoted null characters in an expanded word list
-    to be inappropriately assigned to an array variable when using `read -a'.
-
-vv. Fixed a bug that caused redirections accompanying a null command to persist
-    in the current shell.
-
-ww. Fixed a bug that caused the prompt to be printed when the shell was
-    expanding a multiline alias.
-
-xx. Fixed a bug that resulted in core dumps when the completion for a command
-    changed the compspec.
-
-yy. Fixed a bug that caused evaluation of programmable completions to print
-    notifications of completed jobs.
-
-zz. Bash now disables line editing when $EMACS == `t' and $TERM == `dumb'
-    (which is what emacs shell windows do).
-
-aaa. In posix mode, `kill -l' causes signal names to be displayed without
-     a leading `SIG'.
-
-bbb. Clear error flag on standard output so it doesn't persist across multiple
-     builtin commands.
-
-ccc. In posix mode, `alias' displays alias values without the leading `alias',
-     so the output cannot be used as subsequent input.
-
-ddd. In posix mode, the `trap' builtin doesn't check whether or not its
-     first argument is a signal specification and revert the signal handling
-     to its original disposition if it is.
-
-eee. Fixed several bugs in the handling of "$*" and "${array[*]}" by the
-     pattern substitution and removal expansions.
-
-fff. Fixed several problems with the handling of ${array[@]}, ${array[*]},
-     $@, and $* by the indirect variable expansion code.
-
-ggg. Fixed a bug that did not allow `time' to be aliased.
-
-hhh. Improved the mail checking code so it won't check (and possibly cause an
-     NFS file system mount) until MAILPATH or MAIL is given a value -- there
-     is no default if DEFAULT_MAIL_DIRECTORY is not defined at compile time.
-     (It is computed by configure, but can be #undef'd in config-bot.h.)
-
-iii. If the `chkwinsize' option is enabled, the shell checks for window size
-     changes if a child process exits due to a signal.
-
-jjj. Removed the attempts to avoid adding a slash at the end of a completed
-     executable name if there was a directory with the same name in the
-     current directory.
-
-kkk. Fixed PATH lookup code so it treats the permission bits separately for
-     owner, group, and other, rather than checking them all.
-
-lll. Fixed the locale code to reset the parser's idea of the character class
-     <blank>, which controls how it splits tokens, when the locale changes.
-
-mmm. The shell now binds its special readline functions and key bindings only
-     if the user's inputrc file has not already bound them.
-
-nnn. The shell now reports on processes that dump core due to signals when
-     invoked as `-c command'.
-
-2.  Changes to Readline
-
-a.  Fixes to avoid core dumps because of null pointer references in the
-    multibyte character code.
-
-b.  Fix to avoid infinite recursion caused by certain key combinations.
-
-c.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly.
-
-d.  Readline no longer tries to read ahead more than one line of input, even
-    when more is available.
-
-e.  Fixed the code that adjusts the point to not mishandle null wide
-    characters.
-
-f.  Fixed a bug in the history expansion `g' modifier that caused it to skip
-    every other match.
-
-g.  Fixed a bug that caused the prompt to overwrite previous output when the
-    output doesn't contain a newline and the locale supports multibyte
-    characters.  This same change fixes the problem of readline redisplay
-    slowing down dramatically as the line gets longer in multibyte locales.
-
-h.  History traversal with arrow keys in vi insertion mode causes the cursor
-    to be placed at the end of the new line, like in emacs mode.
-
-i.  The locale initialization code does a better job of using the right
-    precedence and defaulting when checking the appropriate environment
-    variables.
-
-j.  Fixed the history word tokenizer to handle <( and >( better when used as
-    part of bash.
-
-k.  The overwrite mode code received several bug fixes to improve undo.
-
-l.  Many speedups to the multibyte character redisplay code.
-
-m.  The callback character reading interface should not hang waiting to read
-    keyboard input.
-
-n.  Fixed a bug with redoing vi-mode `s' command.
-
-o.  The code that initializes the terminal tracks changes made to the terminal
-    special characters with stty(1) (or equivalent), so that these changes
-    are reflected in the readline bindings.  New application-callable function
-    to make it work:  rl_tty_unset_default_bindings().
-
-p.  Fixed a bug that could cause garbage to be inserted in the buffer when
-    changing character case in vi mode when using a multibyte locale.
-
-q.  Fixed a bug in the redisplay code that caused problems on systems
-    supporting multibyte characters when moving between history lines when the
-    new line has more glyphs but fewer bytes.
-
-r.  Undo and redo now work better after exiting vi insertion mode.
-
-s.  Make sure system calls are restarted after a SIGWINCH is received using
-    SA_RESTART.
-
-t.  Improvements to the code that displays possible completions when using
-    multibyte characters.
-
-u.  Fixed a problem when parsing nested if statements in inputrc files.
-
-v.  The completer now takes multibyte characters into account when looking for
-    quoted substrings on which to perform completion.
-
-w.  The history search functions now perform better bounds checking on the
-    history list.
-
-3.  New Features in Bash
-
-a.  ANSI string expansion now implements the \x{hexdigits} escape.
-
-b.  There is a new loadable `strftime' builtin.
-
-c.  New variable, COMP_WORDBREAKS, which controls the readline completer's
-    idea of word break characters.
-
-d.  The `type' builtin no longer reports on aliases unless alias expansion
-    will actually be performed.    
-
-e.  HISTCONTROL is now a colon-separated list of values, which permits
-    more extensibility and backwards compatibility.
-
-f.  HISTCONTROL may now include the `erasedups' option, which causes all lines
-    matching a line being added to be removed from the history list.
-
-g.  `configure' has a new `--enable-multibyte' argument that permits multibyte
-    character support to be disabled even on systems that support it.
-
-h.  New variables to support the bash debugger:  BASH_ARGC, BASH_ARGV,
-    BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING,
-    BASH_COMMAND
-
-i.  FUNCNAME has been changed to support the debugger: it's now an array
-    variable.
-
-j.  for, case, select, arithmetic commands now keep line number information
-    for the debugger.
-
-k.  There is a new `RETURN' trap executed when a function or sourced script
-    returns (not inherited child processes; inherited by command substitution
-    if function tracing is enabled and the debugger is active).
-
-l.  New invocation option:  --debugger.  Enables debugging and turns on new
-    `extdebug' shell option.
-
-m.  New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR
-    traps, respectively, to be inherited by shell functions.  Equivalent to
-    `set -T' and `set -E' respectively.  The `functrace' option also controls
-    whether or not the DEBUG trap is inherited by sourced scripts.
-
-n.  The DEBUG trap is run before binding the variable and running the action
-    list in a `for' command, binding the selection variable and running the
-    query in a `select' command, and before attempting a match in a `case'
-    command.
-
-o.  New `--enable-debugger' option to `configure' to compile in the debugger
-    support code.
-
-p.  `declare -F' now prints out extra line number and source file information
-    if the `extdebug' option is set.
-
-q.  If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes
-    the next command to be skipped, and a return value of 2 while in a
-    function or sourced script forces a `return'.
-
-r.  New `caller' builtin to provide a call stack for the bash debugger.
-
-s.  The DEBUG trap is run just before the first command in a function body is
-    executed, for the debugger.
-
-t.  `for', `select', and `case' command heads are printed when `set -x' is
-    enabled.
-
-u.  There is a new {x..y} brace expansion, which is shorthand for {x.x+1,
-    x+2,...,y}.  x and y can be integers or single characters; the sequence
-    may ascend or descend; the increment is always 1.
-
-v.  New ksh93-like ${!array[@]} expansion, expands to all the keys (indices)
-    of array.
-
-w.  New `force_fignore' shopt option; if enabled, suffixes specified by
-    FIGNORE cause words to be ignored when performing word completion even
-    if they're the only possibilities.
-
-x.  New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu
-    style' (filename:lineno:message) format.
-
-y.  New `-o bashdefault' option to complete and compgen; if set, causes the
-    whole set of bash completions to be performed if the compspec doesn't
-    result in a match.
-
-z.  New `-o plusdirs' option to complete and compgen; if set, causes directory
-    name completion to be performed and the results added to the rest of the
-    possible completions.
-
-aa. `kill' is available as a builtin even when the shell is built without
-    job control.
-
-bb. New HISTTIMEFORMAT variable; value is a format string to pass to
-    strftime(3).  If set and not null, the `history' builtin prints out
-    timestamp information according to the specified format when displaying
-    history entries.  If set, bash tells the history library to write out
-    timestamp information when the history file is written.
-
-cc. The [[ ... ]] command has a new binary `=~' operator that performs
-    extended regular expression (egrep-like) matching.
-
-dd. `configure' has a new `--enable-cond-regexp' option (enabled by default)
-    to enable the =~ operator and regexp matching in [[ ... ]].
-
-ee. Subexpressions matched by the =~ operator are placed in the new
-    BASH_REMATCH array variable.
-
-ff. New `failglob' option that causes an expansion error when pathname
-    expansion fails to produce a match.
-
-gg. New `set -o pipefail' option that causes a pipeline to return a failure
-    status if any of the processes in the pipeline fail, not just the last
-    one.
-
-4.  New Features in Readline
-
-a.  History expansion has a new `a' modifier equivalent to the `g' modifier
-    for compatibility with the BSD csh.
-
-b.  History expansion has a new `G' modifier equivalent to the BSD csh `g'
-    modifier, which performs a substitution once per word.
-
-c.  All non-incremental search operations may now undo the operation of
-    replacing the current line with the history line.
-
-d.  The text inserted by an `a' command in vi mode can be reinserted with
-    `.'.
-
-e.  New bindable variable, `show-all-if-unmodified'.  If set, the readline
-    completer will list possible completions immediately if there is more
-    than one completion and partial completion cannot be performed.
-
-f.  There is a new application-callable `free_history_entry()' function.
-
-g.  History list entries now contain timestamp information; the history file
-    functions know how to read and write timestamp information associated
-    with each entry.
-
-h.  Four new key binding functions have been added:
-
-       rl_bind_key_if_unbound()
-       rl_bind_key_if_unbound_in_map()
-       rl_bind_keyseq_if_unbound()
-       rl_bind_keyseq_if_unbound_in_map()
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05b-release,
-and the previous version, bash-2.05b-beta2.
-
-1.  Changes to Bash
-
-a.  Fixed an off-by-one error in the function that translates job
-    specifications.
-
-b.  Note that we're running under Emacs and disable line editing if
-    $EMACS == `t'.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05b-beta2,
-and the previous version, bash-2.05b-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed the /= and %= arithmetic operators to catch division by zero.
-
-b.  Added putenv, setenv, unsetenv to getenv replacement for completeness.
-
-c.  Fixed a bug that could cause the -O expand_aliases invocation option
-    to not take effect.
-
-d.  Fixed a problem with process substitution that resulted in incorrect
-    behavior when the number of process substitutions in an individual
-    command approached 64.
-
-2.  Changes to Readline
-
-a.  Fixed a problem with backward-char-search when on a system with support
-    for multibyte characters when running in a locale without any multibyte
-    characters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05b-beta1,
-and the previous version, bash-2.05b-alpha1.
-
-1.  Changes to Bash
-
-a.  Fixed a problem when parsing a POSIX.2 character class name while
-    evaluating a bracket expression containing multibyte characters.
-
-b.  Changed the help text for `bind' to make it clear that any command
-    that may be placed in ~/.inputrc is a valid argument to `bind'.
-
-c.  Added `help' builtin entries for `((', `[[', and arithmetic for.
-
-d.  malloc updated again:
-       o slightly better overflow and underflow detection by putting the
-         chunk size at the beginning and end of the chunk and making
-         sure they match in free/realloc
-       o partial page allocated to make things page-aligned no longer
-         completely wasted
-       o block coalescing now enabled by default
-       o splitting and coalescing enabled for 32-byte chunks, the most
-         common size requested
-       o fixed a problem that resulted in spurious underflow messages and
-         aborts
-       o bin sizes are precomputed and stored in an array rather than
-         being computed at run time
-       o malloc will return memory blocks back to the system if the block
-         being freed is at the top of the heap and of sufficient size to
-         make it worthwhile
-       o malloc/free/realloc now inline memset instead of calling the
-         libc function; uses Duff's device for good performance
-
-e.  Check for getservent(); make the service name completion code dependent
-    on its presence.
-
-f.  Changed the readline callback that executes a command bound to a key
-    sequence to not save the executed command on the history list and to
-    save and restore the parsing state.
-
-g.  Changes to lib/sh/snprintf.c:  fixed some bugs in the `g' and `G'
-    floating point format display; implemented the "'" flag character
-    that turns on thousands' grouping; fixed behavior on systems where
-    MB_CUR_MAX does not evaluate to a constant.
-
-h.  The `unset' builtin no longer returns a failure status when asked to
-    unset a previously-unset variable or function.
-
-i.  Changes to the build system to make it easier to cross-compile bash
-    for different systems.
-
-j.  Added `,' to  the characters that are backslash-escaped during filename
-    completion, to avoid problems with complete-into-braces and RCS filenames
-    containing commas.
-
-k.  Some changes to the multibyte character support code to avoid many calls
-    to strlen().
-
-l.  Bash now correctly honors setting LANG to some value when LC_ALL does not
-    already have a value.
-
-m.  Fixed a bug that could cause SIGSEGV when processing nested traps with
-    trap handlers.
-
-n.  The `source/.' builtin now restores the positional parameters when it
-    returns unless they were changed using the `set' builtin during the file's
-    execution.
-
-o.  Fixed a bug that caused a syntax error when a command was terminated by
-    EOF.
-
-2.  New Features in Bash
-
-a.  There is now support for placing the long help text into separate files
-    installed into ${datadir}/bash.  Not enabled by default; can be turned
-    on with `--enable-separate-helpfiles' option to configure.
-
-b.  All builtins that take operands accept a `--' pseudo-option, except
-    `echo'.
-
-c.  The `echo' builtin now accepts \0xxx (zero to three octal digits following
-    the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/
-    POSIX.1-2001 compliance.
-
-3.  Changes to Readline
-
-a.  Fixed a small problem in _rl_insert_char with multibyte characters.
-
-b.  Fixes from IBM for line wrapping problems when using multibyte characters.
-
-c.  Fixed a problem which caused the display to be messed up when the last
-    line of a multi-line prompt (possibly containing invisible characters)
-    was longer than the screen width.
-
-d.  Fixed a problem with the vi-mode `r' command that ocurred on systems with
-    support for multibyte characters when running in a locale without any
-    multibyte characters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05b-alpha1,
-and the previous version, bash-2.05a-release.
-
-1.  Changes to Bash
-
-a.  Some changes to work around inlining differences between compilers.
-
-b.  Added more prototypes for internal shell typedefs, to catch argument
-    passing errors when using pointers to functions.
-
-c.  The `cd' builtin now fails in posix mode when a valid directory cannot be
-    constructed from a relative pathname argument and the $PWD using pathname
-    canonicalization, and the -P option has not been supplied.  Previously,
-    the shell would attempt to use what the user typed, leading to weird
-    values for $PWD and discrepancies between the value of $PWD and the
-    actual working directory.
-
-d.  The `cd' builtin now resets $PWD when canonicalization fails but a chdir
-    to the pathname passed as an argument succeeds (when not in posix mode).
-
-e.  The `fc' builtin has been fixed, as POSIX requires, to use the closest
-    history position in range when given an out-of-range argument.
-
-f.  The history file loading code was changed to allow lines to be saved in
-    the history list from the shell startup files.
-
-g.  `history -s args' now works better in compound commands.
-
-h.  The tilde expansion code was fixed to better recognize when it's being
-    invoked in an assignment context, which enables expansion after `='
-    and `:'.
-
-i.  Fixed the command name completion code so a slash is no longer appended
-    to a single match if there happens to be a directory with that name in
-    $PWD.
-
-j.  Fixed compound array assignment to no longer perform alias expansion, to
-    allow reserved words as array members, and to not produce extra output
-    when the `-v' option had been enabled.
-
-k.  Fixed the programmable completion code to better handle newlines in lists
-    of possible completions (e.g., `complete -W').
-
-l.  Removed the reserved words from the `bash-builtins' manual page.
-
-m.  Parser error reporting now attempts to do a better job of identifying the
-    token in error rather than doing straight textual analysis.
-
-n.  Fixes for Inf/NaN, locales, wide/multibyte characters and zero-length
-    arguments in the library snprintf(3) replacement.
-
-o.  `read -e' no longer does command name completion on the first word on
-    the line being read.
-
-p.  `select' now returns failure if the read of the user's selection fails.
-
-q.  Fixed a bug that could cause a core dump when setting $PIPESTATUS.
-
-r.  Fixes to not allocate so many job slots when the shell is running a loop
-    with job control enabled in a subshell of an interactive shell.
-
-s.  Fixed a bug in the trap code that caused traps to be inherited by
-    command substitutions in some cases.
-
-t.  Fixed a bug that could cause alias expansion to inappropriately expand
-    the word following the alias.
-
-u.  Fixed a bug in the `kill' builtin that mishandled negative pid arguments.
-
-v.  The parser is less lenient when parsing assignment statements where the
-    characters before the `=' don't comprise a valid identifier.
-
-w.  The arithmetic expression evaluation code now honors the setting of the
-    `-u' option when expanding variable names.
-
-x.  Fixed the arithmetic evaluation code to allow array subscripts to be
-    assigned (`let b[7]=42') and auto-incremented and auto-decremented
-    (e.g., b[7]++).
-
-y.  Reimplemented the existing prompt string date and time expansions using
-    strftime(3), which changed the output of \@ in some locales.
-
-z.  Fixed a bug that could cause a core dump when a special shell variable
-    (like RANDOM) was converted to an array with a variable assignment.
-
-aa. Fixed a bug that would reset the handler for a signal the user had
-    trapped to a function that would exit the shell when setting the exit
-    trap in a non-interactive shell.
-
-bb. Changed the execve(2) wrapper code to check whether or not a failing
-    command is a directory before looking at whether a `#!' interpreter
-    failed for some reason.
-
-cc. Fixed a bug in the command printing code so it no longer inserts a `;'
-    after a newline, which produces a syntax error when reused as input.
-
-dd. The code that expands $PS4 no longer inherits the `-x' flag.
-
-ee. The bash-specific completion functions may now take advantage of the
-    double-TAB and M-?  features of the standard readline completion
-    functions.
-
-ff. The mail checking code no longer prints a message if the checked file's
-    size has not increased, even if the access time is less than the modification time.
-
-gg. Rewrote the variable symbol table code: there is now a stack of
-    contexts, each possibly including a separate symbol table; there can
-    be more than one temporary environment supplied to nested invocations
-    of `./source'; the temporary environments no longer require so much
-    special-case code; shell functions now handle the temporary environment
-    and local variables more consistently; function scope exit is faster now
-    that the entire symbol table does not have to be traversed to dispose of
-    local variables; it is now easier to push vars from the temporary
-    environment to the shell's variable table in posix mode; some duplicated
-    code has been removed.
-
-hh. Regularized the error message printing code; builtin_error is now called
-    more consistently, and common error message strings are handled by small
-    functions.  This should make eventual message translation easier.
-
-ii. Error messages now include the line number in a script when the shell
-    is not interactive.
-
-jj. Array subscript expansion now takes place even when the array variable is
-    unset, so side effects will take place.
-
-kk. Fixed a bug in the SICGHLD child-reaping code so that it won't find
-    jobs already marked as terminated if the OS reuses pids quickly enough.
-
-ll. Fixed a bug that could cause a signal to not interrupt the `wait'
-    builtin while it was waiting for a background process to terminate.
-
-mm. A couple of changes to make it easier for multiple shells to share history
-    files using `history -n', `history -r', and `history -w'.
-
-nn. The `getopts' builtin always increments OPTIND to point to the next
-    option to be handled when an option is returned, whether it's valid
-    or not, as POSIX 1003.x-2001 requires.
-
-oo. Changed some parts of the expansion code to avoid allocating and
-    immediately freeing memory without using the results for anything.
-
-pp. The shell now keeps track of $IFS internally, updating its internal map
-    each time the variable is assigned a new value (or at local scope exit).
-    This saves thousands of hash lookups for IFS, which, while individually
-    cheap, add up.
-
-qq. Rewrote the hash table code:  searching and insertion are much faster now,
-    and it uses a better string hashing function; augmented the function
-    interface to simplify other parts of the code and remove duplicated code
-
-rr. The shell now uses a simple, generic `object cache' for allocating and
-    caching words and word lists, which were the major users of
-    malloc/free.
-
-ss. Fixed the assignment statement parsing code to allow whitespace and
-    newlines in subscripts when performing array element assignment.
-
-tt. The shell now issues many fewer calls to sigprocmask and other signal
-    masking system calls.
-
-uu. Fixed the `test' and conditional command file comparison operators to
-    work right when one file has a non-positive timestamp and the other
-    does not exist.
-
-vv. Fixed some cases where the special characters '\001' and '\177' in the
-    values of variables or positional parameters caused incorrect expansion
-    results.
-
-2.  Changes to Readline
-
-a.  Fixed output of comment-begin character when listing variable values.
-
-b.  Added some default key bindings for common escape sequences produced by
-    HOME and END keys.
-
-c.  Fixed the mark handling code to be more emacs-compatible.
-
-d.  A bug was fixed in the code that prints possible completions to keep it
-    from printing empty strings in certain circumstances.
-
-e.  Change the key sequence printing code to print ESC as M\- if ESC is a
-    meta-prefix character -- it's easier for users to understand than \e.
-
-f.  Fixed unstifle_history() to return values that match the documentation.
-
-g.  Fixed the event loop (rl_event_hook) to handle the case where the input
-    file descriptor is invalidated.
-
-h.  Fixed the prompt display code to work better when the application has a
-    custom redisplay function.
-
-i.  Changes to make reading and writing the history file a little faster, and
-    to cope with huge history files without calling abort(3) from xmalloc.
-
-j.  The vi-mode `S' and `s' commands are now undone correctly.
-
-3.  New Features in Bash
-
-a.  If set, TMOUT is the default timeout for the `read' builtin.
-
-b.  `type' has two new options:  `-f' suppresses shell function lookup, and
-    `-P' forces a $PATH search.
-
-c.  New code to handle multibyte characters.
-
-d.  `select' was changed to be more ksh-compatible, in that the menu is
-    reprinted each time through the loop only if REPLY is set to NULL.
-    The previous behavior is available as a compile-time option.
-
-e.  `complete -d' and `complete -o dirnames' now force a slash to be
-    appended to names which are symlinks to directories.
-
-f.  There is now a bindable edit-and-execute-command readline command,
-    like the vi-mode `v' command, bound to C-xC-e in emacs mode.
-
-g.  Added support for ksh93-like [:word:] character class in pattern matching.
-
-h.  The  $'...' quoting construct now expands \cX to Control-X.
-
-i.  A new \D{...} prompt expansion; passes the `...' to strftime and inserts
-    the result into the expanded prompt.
-
-j.  The shell now performs arithmetic in the largest integer size the
-    machine supports (intmax_t), instead of long.
-
-k.  If a numeric argument is supplied to one of the bash globbing completion
-    functions, a `*' is appended to the word before expansion is attempted.
-
-l.  The bash globbing completion functions now allow completions to be listed
-    with double tabs or if `show-all-if-ambiguous' is set.
-
-m.  New `-o nospace' option for `complete' and `compgen' builtins; suppresses
-    readline's appending a space to the completed word.
-
-n.  New `here-string' redirection operator:  <<< word.
-
-o.  When displaying variables, function attributes and definitions are shown
-    separately, allowing them to be re-used as input (attempting to re-use
-    the old output would result in syntax errors).
-
-p.  There is a new configuration option `--enable-mem-scramble', controls
-    bash malloc behavior of writing garbage characters into memory at
-    allocation and free time.
-
-q.  The `complete' and `compgen' builtins now have a new `-s/-A service'
-    option to complete on names from /etc/services.
-
-r.  `read' has a new `-u fd' option to read from a specified file descriptor.
-
-s.  Fix the completion code so that expansion errors in a directory name
-    don't cause a longjmp back to the command loop.
-
-t.  Fixed word completion inside command substitution to work a little more
-    intuitively.
-
-u.  The `printf' %q format specifier now uses $'...' quoting to print the
-    argument if it contains non-printing characters.
-
-v.  The `declare' and `typeset' builtins have a new `-t' option.  When applied
-    to functions, it causes the DEBUG trap to be inherited by the named
-    function.  Currently has no effect on variables.
-
-w.  The DEBUG trap is now run *before* simple commands, ((...)) commands,
-    [[...]] conditional commands, and for ((...)) loops.
-
-x.  The expansion of $LINENO inside a shell function is only relative to the
-    function start if the shell is interactive -- if the shell is running a
-    script, $LINENO expands to the line number in the script.  This is as
-    POSIX-2001 requires.
-
-y.  The bash debugger in examples/bashdb has been modified to work with the
-    new DEBUG trap semantics, the command set has been made more gdb-like,
-    and the changes to $LINENO make debugging functions work better.  Code
-    from Gary Vaughan.
-
-z.  New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup
-    and close).
-
-aa. There is a new `-l' invocation option, equivalent to `--login'.
-
-bb. The `hash' builtin has a new `-l' option to list contents in a reusable
-    format, and a `-d' option to remove a name from the hash table.
-
-4.  New Features in Readline
-
-a.  Support for key `subsequences':  allows, e.g., ESC and ESC-a to both
-    be bound to readline functions.  Now the arrow keys may be used in vi
-    insert mode.
-
-b.  When listing completions, and the number of lines displayed is more than
-    the screen length, readline uses an internal pager to display the results.
-    This is controlled by the `page-completions' variable (default on).
-
-c.  New code to handle editing and displaying multibyte characters.
-
-d.  The behavior introduced in bash-2.05a of deciding whether or not to
-    append a slash to a completed name that is a symlink to a directory has
-    been made optional, controlled by the `mark-symlinked-directories'
-    variable (default is the 2.05a behavior).
-
-e.  The `insert-comment' command now acts as a toggle if given a numeric
-    argument:  if the first characters on the line don't specify a
-    comment, insert one; if they do, delete the comment text
-
-f.  New application-settable completion variable:
-    rl_completion_mark_symlink_dirs, allows an application's completion
-    function to temporarily override the user's preference for appending
-    slashes to names which are symlinks to directories.
-
-g.  New function available to application completion functions:
-    rl_completion_mode, to tell how the completion function was invoked
-    and decide which argument to supply to rl_complete_internal (to list
-    completions, etc.).
-
-h.  Readline now has an overwrite mode, toggled by the `overwrite-mode'
-    bindable command, which could be bound to `Insert'.
-
-i.  New application-settable completion variable:
-    rl_completion_suppress_append, inhibits appending of
-    rl_completion_append_character to completed words.
-
-j.  New key bindings when reading an incremental search string:  ^W yanks
-    the currently-matched word out of the current line into the search
-    string; ^Y yanks the rest of the current line into the search string,
-    DEL or ^H deletes characters from the search string.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05a-release,
-and the previous version, bash-2.05a-rc1.
-
-1.  Changes to Bash
-
-a.  Fixed the `printf' builtin so that the variable name supplied as an
-    argument to a %n conversion must be a valid shell identifier.
-
-b.  Improved the random number generator slightly.
-
-c.  Changes to configuration to not put -I/usr/include into $CFLAGS, since
-    it messes up some includes.
-
-d.  Corrected description of POSIXLY_CORRECT in man page and info manual.
-
-e.  Fixed a couple of cases of incorrect function prototypes that sneaked
-    through and caused compilation problems.
-
-f.  A few changes to avoid potential core dumps in the programmable completion
-    code.
-
-g.  Fixed a configure problem that could cause a non-existent file to show
-    up in LIBOBJS.
-
-h.  Fixed a configure problem that could cause siglist.o to not be built when
-    required.
-
-i.  Changes to the strtoimax and strtoumax replacement functions to work
-    around buggy compilers.
-
-j.  Fixed a problem with the snprintf replacement function that could
-    potentially cause a core dump.
-
-2.  Changes to Readline
-
-a.  Fixed a locale-specific problem in the vi-mode `goto mark' command.
-
-b.  Fixed Makefile to not put -I/usr/include into CFLAGS, since it can cause
-    include file problems.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05a-rc1,
-and the previous version, bash-2.05a-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed the snprintf replacement to correctly implement the `alternate form'
-    of the %g and %G conversions.
-
-b.  Fixed snprintf to correctly handle the optional precision with the %g and
-    %G conversions.
-
-c.  Fixed the arithmetic evaluation code to correct the values of `@' and `_'
-    when translating base-64 constants (they were backwards).
-
-d.  New library functions for formatting long and long long ints.
-
-e.  Fixed a few places where negative array subscripts could have occurred,
-    mostly as the result of systems using signed characters.
-
-f.  Fixed a few places that assumed a pid_t was no wider than an int.
-
-g.  Fixed the `maildir' mail checking code to work on systems where a
-    `struct stat' doesn't include an `st_blocks' member.
-
-h.  Fixed snprintf to make `unsigned long long' conversion formats (%llu)
-    work better.
-
-i.  Fixed snprintf to not print a sign when asked to do an unsigned conversion.
-
-j.  Made configure changes to avoid compiling empty source files in lib/sh.
-
-k.  New replacement functions (if necessary) for strtoull, strtoll, strtoimax,
-    strtoumax.
-
-l.  The `printf' builtin now handles the `ll' and `j' length modifiers
-    directly, since they can affect the type and width of the argument
-    passed to printf(3).
-
-m.  Renamed a number of the bash-specific autoconf macros in aclocal.m4 to
-    have more sytematic naming, with accompanying changes to configure.in.
-
-n.  Fixed snprintf to handle long doubles and the %a/%A conversions by
-    falling back to sprintf, as long as sprintf supports them.
-
-o.  Fixed return value from vsnprintf/snprintf to be the number of characters
-    that would have been printed, even if that number exceeds the buffer
-    size passed as an argument.
-
-p.  Bash no longer attempts to define its own versions of some ctype macros
-    if they are implemented as functions in libc but not as macros in
-    <ctype.h>.
-
-q.  Changed the variable printing code (used by `set', `export', etc.) to
-    not use the $'...' syntax when in posix mode, since that caused
-    interoperability problems with other shells (most notably with autoconf).
-    When not in posix mode, it uses $'...' if the string to be printed
-    contains non-printing characters and regular single quotes otherwise.
-
-r.  snprintf now recognizes the %F conversion.
-
-s.  Fixed a bug that could cause the wrong status to be returned by a shell
-    function when the shell is compiled without job control and a null
-    command containing a command substutition was executed in the function.
-
-t.  When in posix mode, the default value for MAILCHECK is 600.
-
-u.  Bash only initializes FUNCNAME, GROUPS, and DIRSTACK as special variables
-    if they're not in the initial environment.
-
-v.  If SECONDS appears in the initial environment with a valid integer value,
-    bash uses that as the starting value, as if an assignment had been
-    performed.
-
-w.  Bash no longer auto-exports HOME, PATH, SHELL, or TERM, even though it
-    gives them default values if they don't appear in the initial environment.
-
-x.  Bash no longer auto-exports HOSTNAME, HOSTTYPE, MACHTYPE, or OSTYPE,
-    even if it assigns them default values.
-
-y.  Bash no longer removes the export attribute from SSH_CLIENT or SSH2_CLIENT
-    if they appear in the initial environment.
-
-z.  Bash no longer attempts to discover if it's being run by sshd in order to
-    run the startup files.  If the SSH_SOURCE_BASHRC is uncommented in
-    config-top.h it will attempt to do so as previously, but that's commented
-    out in the distributed version.
-
-aa. Fixed a typo in the code that tests for LC_NUMERIC.
-
-bb. The POSIXLY_CORRECT shell variable and its effects are now documented.
-
-cc. Some changes to several of the support shell scripts included in the
-    definitions to try to avoid race conditions and attacks.
-
-dd. Several changes to avoid warnings from `gcc -Wall'.
-
-ee. Fixed a problem with the `unset' builtin that could cause incorrect
-    results if asked to unset a variable and an array subscript in the
-    same command.
-
-ff. A few changes to the shell's temporary file creation code to avoid
-    potential file descriptor leaks and to prefer the system's idea of
-    the temporary directory to use.
-
-gg. Fixes to build with the C alloca in lib/malloc/alloca.c if the system
-    requires it but the shell has been configured --without-bash-malloc.
-
-hh. Updated the documentation to note that only interactive shells resend
-    SIGHUP to all jobs before exiting.
-
-ii. Fixes to only pass unquoted tilde words to tilde_expand, rather than
-    rely on tilde_expand or getpwnam(3) to handle the quotes (MacOS 10.x
-    will remove backslashes in any login name passed to getpwnam(3)).
-
-jj. Small change from Paul Eggert to make LINENO right in commands run with
-    `bash -c'.
-
-2.  New Features in Bash
-
-a.  The `printf' builtin now handles the %a and %A conversions if they're
-    implemented by printf(3).
-
-b.  The `printf' builtin now handles the %F conversion (just about like %f).
-
-c.  The `printf' builtin now handles the %n conversion like printf(3).  The
-    corresponding argument is the name of a shell variable to which the
-    value is assigned.
-
-3.  Changes to Readline
-
-a.  Fixed a few places where negative array subscripts could have occurred.
-
-b.  Fixed the vi-mode code to use a better method to determine the bounds of
-    the array used to hold the marks.
-
-c.  Fixed the defines in chardefs.h to work better when chars are signed.
-
-d.  Fixed configure.in to use the new names for bash autoconf macros.
-
-e.  Readline no longer attempts to define its own versions of some ctype
-    macros if they are implemented as functions in libc but not as macros in
-    <ctype.h>.
-
-f.  Fixed a problem where rl_backward could possibly set point to before
-    the beginning of the line.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05a-beta1,
-and the previous version, bash-2.05a-alpha1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in the evalution of arithmetic `for' statements when the
-    expanded expression is NULL.
-
-b.  Fixed an unassigned variable problem in the redirection printing code.
-
-c.  Added more prototypes to extern function declarations in the header
-    files and to static function declarations in C source files.
-
-d.  Make sure called functions have a prototype in scope, to get the arguments
-    and return values right instead of casting.  Removed extern function
-    declarations from C source files that were already included in header
-    files.
-
-e.  Changed some function arguments to use function typedefs in general.h so
-    the prototypes can be checked.  The only use of Function and VFunction
-    now is for unwind-protects.
-
-f.  More const changes to function arguments and appropriate variables.
-
-g.  Changed the mail checking support to handle `maildir'-style mail
-    directories.
-
-h.  Augmented the bash malloc to pass in the file and line number information
-    for each malloc, realloc, and free.  This should result in better error
-    messages.
-
-i.  The `old' gnu malloc is no longer a configuration option.
-
-j.  Augmented the bash malloc with optional tracing and registering allocated
-    and freed memory.
-
-k.  Prompt string decoding now saves and restores the value of $? when it
-    expands the prompt string, so command substitutions don't change $?.
-
-i.  Array indices are now `long', since shell arithmetic is performed as long,
-    and the internal arrayind_t type is used consistently.
-
-j.  Some more `unsigned char *' fixes from Paul Eggert.
-
-k.  Fixed a bad call to builtin_error that could cause core dumps when making
-    local variables.
-
-l.  `return' may no longer be used to terminate a `select' command, for
-    compatibility with ksh.
-
-m.  Changed code that reads octal numbers to do a better job of detecting
-    overflows.
-
-n.  The time formatting code no longer uses absolute indices into a buffer,
-    because the buffer size changes depending on the size of a `time_t'.
-
-o.  `umask' now prints four digits when printing in octal mode, for
-    compatibility with other shells.
-
-p.  Lots of changes to the `printf' builtin from Paul Eggert:  it handles `L'
-    formats and long doubles better, and internal functions have been
-    simpified where appropriate.
-
-q.  Some `time_t' fixes for machines were a time_t is bigger than a long.
-
-r.  Replaced some bash-specific autoconf macros with standard equivalents.
-
-s.  Improvmed the code that constructs temporary filenames to make the
-    generated names a bit more random.
-
-t.  Added code that checks for ascii before calling any of the is* ctype
-    functions.
-
-u.  Changed some places where a `char' was used as an array subscript to use
-    `unsigned char', since a `char' can be negative if it's signed by default.
-
-v.  Lots of changes to the `ulimit' builtin from Paul Eggert to add support
-    for the new POSIX-200x RLIM_SAVED_CUR and RLIM_SAVED_MAX values and
-    simplify the code.
-
-w.  `ulimit' now prints the description of a resource in any error message
-    relating to fetching or setting that resource's limits.
-
-x.  The `snprintf' replacement now computes maximum values at compile
-    time rather than using huge constants for things like long long.
-
-y.  Interactive shells now ignore `set -n'.
-
-z.  Changed the malloc bookkeeping information so that it's now 8 bytes
-    instead of 12 on most 32-bit machines (saving 4 bytes per allocation),
-    restoring 8-byte alignment.
-
-aa. The malloc error reporting code now attempts to print the file and line
-    number of the call that caused the error.
-
-bb. Changed the redirection error reporting code to catch EBADF errors and
-    report the file descriptor number rather than the file being redirected
-    to or from (e.g., things like `exec 4242<x' where 4242 is an out-of-range
-    file descriptor).
-
-cc. `printf', `echo -e', and the $'...' code now process only two hex digits
-    after a `\x' escape sequence for compatibility with other shells, and
-    the documentation was changed to note that the octal and hex escape
-    sequences result in an eight-bit value rather than strict ASCII.
-
-2.  Changes to Readline
-
-a.  The completion code now attempts to do a better job of preserving the
-    case of the word the user typed if ignoring case in completions.
-
-b.  Readline defaults to not echoing the input and lets the terminal
-    initialization code enable echoing if there is a controlling terminal.
-
-c.  The key binding code now processes only two hex digits after a `\x'
-    escape sequence, and the documentation was changed to note that the
-    octal and hex escape sequences result in an eight-bit value rather
-    than strict ASCII.
-
-3.  New Features in Bash
-
-a.  The builtin `ulimit' now takes two new non-numeric arguments:  `hard',
-    meaning the current hard limit, and `soft', meaning the current soft
-    limit, in addition to `unlimited'
-
-b.  `ulimit' now prints the option letter associated with a particular
-    resource when printing more than one limit.
-
-c.  `ulimit' prints `hard' or `soft' when a value is not `unlimited' but is
-    one of RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively.
-
-4.  New Features in Readline
-
-a.  New bindable variable `history-preserve-point'.  If set, the history
-    code attempts to place the user at the same location on each history
-    line retrived with previous-history or next-history.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05a-alpha1,
-and the previous version, bash-2.05-release.
-
-1.  Changes to Bash
-
-a.  Better checks in the redirection code for write errors.
-
-b.  bashbug now uses $TMPDIR, defaulting to /tmp, and uses mktemp(1) more
-    portably.
-
-c.  System-specific configuration changes for:  Interix, OpenBSD, FreeBSD,
-    MacOS X.
-
-d.  Some more `const' cleanups through the code.
-
-e.  Fixed a typo in the /dev/fd redirection code, better checks for valid
-    numeric fds in /dev/fd.
-
-f.  Fixed many parts of the shell to handle integer overflow more gracefully
-    and to do more stringent checks for valid numbers.
-
-g.  Fixed mksignames to include config.h.
-
-h.  Fixed an uninitialized variable problem that could cause the shell to core
-    dump when replacing characters in a string.
-
-i.  New mechanism for updating the patch level when official patches are
-    released (patchlevel.h).
-
-j.  configure.in changed to no longer require external files _distribution and
-    _patchlevel.
-
-k.  Fixed non-interactive shell initialization problem when bash started as
-    `bash -i filename'.
-
-l.  Fixed printf builtin conversion error handling to be POSIX.2-conformant.
-
-m.  autoconf-2.52 is now used to build configure; autoconf-2.50 or newer is
-    required.  Some of the bash-specific macros were removed, since they are
-    now standard.
-
-n.  Startup files and files read with source or `.' are no longer required to
-    be regular files.
-
-o.  Fixed core dump in builtin printf when user-supplied precision or field
-    width is 0.
-
-p.  Fixed builtin printf to treat a negative field width as a positive field
-    width with left-justification.
-
-r.  New unwind-protect implementation from Paul Eggert.
-
-s.  Fixed an inadvertently-unclosed comment in the bash completion code that
-    caused programmable completions to not add trailing slashes or spaces to
-    completions.
-
-t.  Fixed the process substitution code to cope better when stdin is closed.
-
-v.  Fixes, mostly from Paul Eggert, for a few possible buffer overflows in
-    the shell.
-
-w.  Fixes from Paul Eggert to avoid most of the type casts in the shell code,
-    and use more appropriate types for a number of variables.
-
-x.  Command substition no longer inherits the DEBUG trap.
-
-y.  Some fixes to the process substition code on machines without /dev/fd so
-    that named pipes are not removed inappropriately.
-
-z.  The loadable `getconf' builtin is now much more complete, and will become
-    part of the shell in the future.
-
-aa. The select command no longer terminates on a `return', so it can be used
-    to return from an enclosing function (as ksh does it).
-
-bb. Fixed the extended pattern matching code to behave better when presented
-    with incorrectly-formed patterns.
-
-cc. Some changes were made with the intent of making cross-compilation easier.
-
-dd. The network code (/dev/tcp and /dev/udp redirections) uses getaddrinfo(3)
-    if it's available, which adds support for IPv6.
-
-ee. Subshells of login shells no longer source ~/.bash_logout when they exit.
-
-ff. Fixes so that subshells don't exit inappropriately if the -e option has
-    been set.
-
-gg. Restricted shells no longer allow functions to be exported.
-
-hh. Changes to the pattern matching code so extended pattern matching works
-    on systems with deficient shared library implementations, like MacOS X.
-
-ii. Better error messages when a script with a leading `#!interp' fails
-    to execute because of problems with `interp'.
-
-jj. Fixed `compgen' to handle the `-o default' option better.
-
-kk. Fixed the job control code to force an asynchronous process's standard
-    input to /dev/null only if job control is not active.
-
-ll. Fixed a possible infinite recursion problem when `fc ""=abc' (a null
-    pattern) is used to re-execute a previous command.
-
-mm. Fixed `declare [-a] var=value' to assign VALUE to element 0 if VAR is an
-    array variable.  Similarly for `declare [-a] var[N]=value'.  This is like
-    ksh93.
-
-nn. Fixed a bug that caused `read -a aname' to work even if ANAME had been
-    declared readonly.
-
-oo. Fixed a possible integer overflow problem when constructing names for
-    temporary files.
-
-2.  New Features in Bash
-
-a.  Added support for DESTDIR installation root prefix, so you can do a
-    `make install DESTDIR=bash-root' and do easier binary packaging.
-
-b.  Added support for builtin printf "'" flag character as per latest POSIX
-    drafts.
-
-c.  Support for POSIX.2 printf(1) length specifiers `j', `t', and `z' (from
-    ISO C99).
-
-d.  New autoconf macro, RL_LIB_READLINE_VERSION, for use by other applications
-    (bash doesn't use very much of what it returns).
-
-e.  `set [-+]o nolog' is recognized as required by the latest POSIX drafts,
-    but ignored.
-
-f.  New read-only `shopt' option:  login_shell.  Set to non-zero value if the
-    shell is a login shell.
-
-g.  New `\A' prompt string escape sequence; expands to time in 24 HH:MM format.
-
-h.  New `-A group/-g' option to complete and compgen; does group name
-    completion.
-
-i.  New `-t' option to `hash' to list hash values for each filename argument.
-
-j.  New [-+]O invocation option to set and unset `shopt' options at startup.
-
-k.  configure's `--with-installed-readline' option now takes an optional
-    `=PATH' suffix to set the root of the tree where readline is installed
-    to PATH.
-
-l.  The ksh-like `ERR' trap has been added.  The `ERR' trap will be run
-    whenever the shell would have exited if the -e option were enabled.
-    It is not inherited by shell functions.
-
-m.  `readonly', `export', and `declare' now print variables which have been
-    given attributes but not set by assigning a value as just a command and
-    a variable name (like `export foo') when listing, as the latest POSIX
-    drafts require.
-
-n.  `bashbug' now requires that the subject be changed from the default.
-
-o.  configure has a new `--enable-largefile' option, like other GNU utilities.
-
-p.  `for' loops now allow empty word lists after `in', like the latest POSIX
-    drafts require.
-
-3.  Changes to Readline
-
-a.  More `const' and type casting fixes.
-
-b.  Changed rl_message() to use vsnprintf(3) (if available) to fix buffer
-    overflow problems.
-
-c.  The completion code no longer appends a `/' or ` ' to a match when
-    completing a symbolic link that resolves to a directory name, unless
-    the match does not add anything to the word being completed.  This
-    means that a tab will complete the word up to the full name, but not
-    add anything, and a subsequent tab will add a slash.
-
-d.  Fixed a trivial typo that made the vi-mode `dT' command not work.
-
-e.  Fixed the tty code so that ^S and ^Q can be inserted with rl_quoted_insert.
-
-f.  Fixed the tty code so that ^V works more than once.
-
-g.  Changed the use of __P((...)) for function prototypes to PARAMS((...))
-    because the use of __P in typedefs conflicted g++ and glibc.
-
-4.  New Features in Readline
-
-a.  Added extern declaration for rl_get_termcap to readline.h, making it a
-    public function (it was always there, just not in readline.h).
-
-b.  New #defines in readline.h:  RL_READLINE_VERSION, currently 0x0402,
-    RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2.
-
-c.  New readline variable:  rl_readline_version, mirrors RL_READLINE_VERSION.
-
-d.  New bindable boolean readline variable:  match-hidden-files.  Controls
-    completion of files beginning with a `.' (on Unix).  Enabled by default.
-
-e.  The history expansion code now allows any character to terminate a
-    `:first-' modifier, like csh.
-
-f.  The incremental search code remembers the last search string and uses
-    it if ^R^R is typed without a search string.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05-release,
-and the previous version, bash-2.05-beta2.
-
-1.  Changes to Bash
-
-a.  Make sure we note that the first line of a multi-line command was not
-    saved in the history if the tests for HISTCONTROL succeed, but the
-    HISTIGNORE check fails.
-
-b.  Fixed a bug in the pattern matching code that caused `[' to be treated
-    as a special character inside a `[...]' bracket expression.
-
-c.  Fixed a bug in the pattern matching code that caused `]' to terminate
-    a bracket expression even if it was the first character after the `['
-    (or a leading `!' or `^').
-
-d.  Made a small change to report a more user-friendly error message if
-    execve(2) fails because of an error with the interpreter in a script
-    with a leading `#! interpreter'.
-
-e.  If the OS does not support an exec(2) magic number of `#!', make sure we
-    have a non-null interpreter name before attempting to execute it.
-
-f.  Fixed a bug that caused the shell process to end up in a different
-    process group than the controlling terminal if a job-control shell was
-    run with `exec' in the startup files.
-
-g.  When started in POSIX mode, either by `bash --posix', `bash -o posix', or
-    `sh', $SHELLOPTS includes `posix' and POSIXLY_CORRECT is set.
-
-h.  Fixed a problem that caused the `\W' prompt string escape sequence to
-    expand to nothing when $PWD was `//'.
-
-i.  The `bashbug' shell script no longer uses $(...) command substitution.
-
-j.  When `set' is invoked without options in POSIX mode, it no longer prints
-    the names and definitions of shell functions.
-
-2.  Changes to Readline
-
-a.  rl_set_paren_blink_timeout() is now documented.
-
-b.  Corrected history.3 man page: `$' is not in the default value of
-    history_word_delimiters.
-
-c.  If a hook function assigned to rl_event_hook sets rl_done to a non-zero
-    value, rl_read_key() now immediately returns '\n' (which is assumed to
-    be bound to accept-line).
-
-3.  New Features in Bash
-
-a.  The `>&word' redirection now works in POSIX mode as it does by default,
-    since POSIX.2 leaves it unspecified.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05-beta2,
-and the previous version, bash-2.05-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in the arithmetic evaluation code so that a^=b is supported.
-
-b.  Fixed startup so posixly_correct is retained across subshells begun to
-    execute scripts without a leading `#!'.
-
-c.  Fixed a bug that caused $(< file) to not work in a (...) subshell.
-
-d.  Added config support for Linux running on the IBM S390.
-
-e.  Fixed a bug that caused bash to get its input pointer out of sync when
-    reading commands through a pipe and running a command with standard
-    input redirected from a file.
-
-f.  Made a change so that command completion now makes about half as many
-    stat(2) calls when searching the $PATH.
-
-g.  Fixed a bug that caused variable assignments preceding `return' to not
-    be propagated to the shell environment in POSIX mode.
-
-h.  Fixed a bug with ${parameter[:]?word} -- tilde expansion was not performed
-    on `word'.
-
-i.  In POSIX mode, `break' and `continue' do not complain and return success
-    if called when the shell is not executing a loop.
-
-j.  Fixed `bash -o posix' to work the same as `bash --posix'.
-
-k.  Fixed a bug where variable assignments preceding `eval' or `source/.'
-    would not show up in the environment exported to subshells run by the
-    commands.
-
-l.  In POSIX mode, shells started to execute command substitutions inherit
-    the value of the `-e' option from their parent shell.
-
-m.  In POSIX mode, aliases are expanded even in non-interactive shells.
-
-n.  Changed some of the job control messages to display the text required by
-    POSIX.2 when the shell is in POSIX mode.
-
-o.  Fixed a bug in `test' that caused it to occasionally return incorrect
-    results when non-numeric arguments were supplied to `-t'.
-
-2.  Changes to Readline
-
-a.  Some changes were made to avoid gcc warnings with -Wall.
-
-b.  rl_get_keymap_by_name now finds keymaps case-insensitively, so
-    `set keymap EMACS' works.
-
-c.  The history file writing and truncation functions now return a useful
-    status on error.
-
-d.  Fixed a bug that could cause applications to dereference a NULL pointer
-    if a NULL second argument was passed to history_expand().
-
-3.  New Features in Bash
-
-a.  doc/readline.3 has been moved to the readline distribution.
-
-4.  New Features in Readline
-
-a.  New function, rl_get_screen_size (int *rows, int *columns), returns
-    readline's idea of the screen dimensions.
-
-b.  The timeout in rl_gather_tyi (readline keyboard input polling function)
-    is now settable via a function (rl_set_keyboard_input_timeout()).
-
-c.  Renamed the max_input_history variable to history_max_entries; the old
-    variable is maintained for backwards compatibility.
-
-d.  The list of characters that separate words for the history tokenizer is
-    now settable with a variable:  history_word_delimiters.  The default
-    value is as before.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05-beta1,
-and the previous version, bash-2.05-alpha1.
-
-1.  Changes to Bash
-
-a.  Changes to allow shared library and object building on the GNU Hurd.
-
-b.  Fixes to the way exported functions are placed into the environment and
-    cached.
-
-c.  The globbing library once again respects locales when processing ranges
-    in bracket expressions while doing pattern matching.
-
-d.  System-specific configuration changes for:  Tru 64, Interix
-
-e.  Bashbug now uses /usr/bin/editor as one of the editing alternatives, and
-    will use mktemp(1) or tempfile(1), if present, for temporary file creation.
-
-f.  Bash no longer performs a binary file check on a script argument that's
-    really a tty (like /dev/fd/0 or /dev/stdin).
-
-g.  Fixed a bug in the execution of shell scripts that caused the effects of
-    $BASH_ENV to be undone in some cases.
-
-h.  Fixed several bugs that made `bash [-i] /dev/stdin' not work correctly.
-
-i.  Several changes to the job control code to avoid some signal state
-    manipulation.
-
-j.  The Bash malloc no longer blocks signals as often, which should make it
-    faster.
-
-k.  Fixed a parsing bug that did not allow backslash to escape a single quote
-    inside a $'...' construct.
-
-l.  Fixed a bug that caused things like ${var:=$'value'} to be parsed
-    incorrectly.  This showed up in newer versions of autoconf.
-
-m.  Fixed a bug in the bash-specific readline initialization that caused
-    key bindings to bash-specific function names appearing in .inputrc to
-    not be honored.
-
-n.  Bash now sets the file descriptor it uses to save the file descriptor
-    opened on a shell script to close on exec.
-
-o.  Fixed a bug in the prompt string decoding that caused it to misbehave
-    when presented an octal sequence of fewer than three characters.
-
-p.  Fixed the `test' builtin to return an error if `[' is supplied a single
-    argument that is not `]'.
-
-q.  Fixed a bug that caused subshells started to run executable shell scripts
-    without a leading `#!' to incorrectly inherit an argument list preceding
-    a shell builtin (like such a script called from a script sourced with `.',
-    where there were variable assignments preceding the `.' command)
-
-r.  Fixed a bug that caused changes to variables supplied in an assignment
-    statement preceding a shell builtin to not be honored (like a script
-    run with `.').
-
-s.  HOSTTYPE, OSTYPE, and MACHTYPE are set only if they do not have values
-    when the shell is started.
-
-t.  Fixed a bug that caused SIGINT to kill shell scripts after the script
-    called `wait'.
-
-u.  The `fc' builtin now tries to create its temporary files in the directory
-    named by $TMPDIR.
-
-v.  Bash no longer calls any Readline functions or uses any Readline variables
-    not declared in readline.h.
-
-w.  Fixed a bug that caused some substitutions involving $@ to not be split
-    correctly, especially expansions of the form ${paramterOPword}.
-
-x.  SSH2_CLIENT is now treated like SSH_CLIENT and not auto-exported if it
-    appears in the initial environment.
-
-y.  Fixed a couple of problems with shell scripts without a leading `#!'
-    being executed out of shell functions that could cause core dumps if
-    such a script attempted to execute `return'.
-
-z.  Fixed a problem with the `-nt' and `-ot' binary operators for the
-    `test/[' builtin and the `[[' conditional command that caused wrong
-    return values if one of the file arguments did not exist.
-
-aa. Fixed a bug that caused non-interactive shells which had previously
-    executed `shopt -s expand_aliases' to fail to expand aliases in a
-    command like `(command) &'.
-2.  Changes to Readline
-
-a.  Changes to make most (but not yet all -- there is still crlf()) of the
-    exported readline functions declared in readline.h have an rl_ prefix.
-
-b.  More `const' changes in function arguments, mostly for completion
-    functions.
-
-c.  Fixed a bug in rl_forward that could cause the point to be set to before
-    the beginning of the line in vi mode.
-
-d.  Fixed a bug in the callback read-char interface to make it work when a
-    readline function pushes some input onto the input stream with
-    rl_execute_next (like the incremental search functions).
-
-e.  Fixed a file descriptor leak in the history file manipulation code that
-    was tripped when attempting to truncate a non-regular file (like
-    /dev/null).
-
-f.  Some existing variables are now documented and part of the public
-    interface (declared in readline.h):  rl_explict_arg, rl_numeric_arg,
-    rl_editing_mode, rl_last_func.
-
-g.  Renamed rltty_set_default_bindings to rl_tty_set_default_bindings and
-    crlf to rl_crlf, so there are no public functions declared in readline.h
-    without an `rl_' prefix.  The old functions still exist for backwards
-    compatibility.
-
-3.  New Features in Bash
-
-a.  A new loadable builtin, realpath, which canonicalizes and expands symlinks
-    in pathname arguments.
-
-b.  When `set' is called without options, it prints function defintions in a
-    way that allows them to be reused as input.  This affects `declare' and
-    `declare -p' as well.
-
-4.  New Features in Readline
-
-a.  New application-callable function rl_set_prompt(const char *prompt):
-    expands its prompt string argument and sets rl_prompt to the result.
-
-b.  New application-callable function rl_set_screen_size(int rows, int cols):
-    public method for applications to set readline's idea of the screen
-    dimensions.
-
-c.  The history example program (examples/histexamp.c) is now built as one
-    of the examples.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.05-alpha1,
-and the previous version, bash-2.04-release.
-
-1.  Changes to Bash
-
-a.  A fix was made to allow newlines in compond array assignments.
-
-b.  configure now checks for real-time signals with unusable values.
-
-c.  Interactive shells no longer exit if a substitution fails because of an
-    unset variable within a sourced file.
-
-d.  Fixed a problem with incorrect matching of extended glob patterns when
-    doing pattern substitution.
-
-e.  `{' is now quoted by the completion code when it appears in a filename.
-
-f.  Fixed an error in pattern matching that caused the matcher to not
-    correctly skip the rest of a bracket expression after a character
-    matched.
-
-g.  Fixed a bug in the IFS word splitting code to make a non-whitespace IFS
-    character preceded by IFS whitespace part of the current delimiter rather
-    than generating a separate field.
-
-h.  The {!prefix@} expansion now generates separate words, analogous to $@,
-    when double-quoted.
-
-i.  Command substitution now ignores NUL bytes in the command output, and the
-    parser ignores them on input.
-
-j.  A fix was made to the job control code to prevent hanging processes when
-    the shell thinks background processes are running but the kernel returns
-    -1/ECHILD from waitpid().
-
-k.  `pwd' now prints an error message if the write fails when displaying the
-    current directory.
-
-l.  When in POSIX mode, the shell prints trap dispostions without a leading
-    `SIG' in the signal specification.
-
-m.  Fixed a parser bug that caused the current command's line count to be
-    messed up by a compound array assignment.
-
-n.  Fixed a bug in the unwind-protect code that caused bad behavior on machines
-    where ints and pointers are not the same size.
-
-o.  System-specific configure changes for:  MacOS X.
-
-p.  Changes for Cygwin to translate \r\n and \r to \n and to set file
-    descriptors used for reading input to text mode in various places.
-
-q.  Fixed a bug that caused `!' to occasionally not be honored when in
-    a (...) subshell.
-
-r.  Bash no longer assumes that getcwd() will return any useful error message
-    in the buffer passed as an argument if the call fails.
-
-s.  The `source', `.', and `fc' builtins no longer check whether a file is
-    binary before reading commands from it.
-
-t.  Subshells no longer turn off job control when they exit, since that
-    sometimes resulted in the terminal being reset to the wrong process
-    group.
-
-u.  The history code no longer tries to save the second and subsequent lines
-    of a multi-line command if the first line was not saved.
-
-v.  The history saving code now does a better job of saving blank lines in a
-    multi-line command.
-
-w.  Removed a `feature' that made `ulimit' silently translate `unlimited' to
-    the current hard limit, which obscured some kernel error returns.
-
-x.  Fixed the grammar so that `}' is recognized as a reserved word after
-    another reserved word, rather than requiring a `;' or newline.  This
-    means that constructs like
-
-       { { echo a b c ; } }
-
-    work as expected.
-
-y.  Conditional commands ([[...]]) now perform tilde expansion on their
-    arguments.
-
-z.  Noted in the documentation that `set -a' will cause functions to be
-    exported if they are defined after `set -a' is executed.
-
-aa. When an interactive login shell starts, if $PWD and $HOME refer to the
-    same directory but are not the same string, $PWD is set to $HOME.
-
-bb. Fixed `printf' to handle invalid floating point numbers better.
-
-cc. Temporary files are now created with random filenames, to improve security.
-
-dd. The readline initialization code now binds the custom bash functions and
-    key bindings after the readline defaults are set up.
-
-ee. Fixed the `source' builtin to no longer overwrite a shell function's
-    argument list, even if the sourced file changes the positional parameters.
-
-ff. A bug fix was made in the expansion of `$*' in contexts where it should
-    not be split, like assignment statements.
-
-gg. Fixed a bug in the parameter substring expansion to handle conditional
-    arithmetic expressions ( exp ? val1 : val2 ) without cutting the expression
-    off at the wrong `:'.
-
-hh. The `<>' redirection is no longer subject to the current setting of
-    `noclobber', as POSIX.2 specifies.
-
-ii. Fixed a bug in the conditional command parsing code that caused expressions
-    in parentheses to occasionally be parsed incorrectly.
-
-jj. Fixed a bug in the ((...)) arithmetic command to allow do...done or
-    {...} to follow the )) without an intervening list terminator.
-
-kk. `printf' now treats `\E' the same as `\e' when performing backslash escape
-    expansion for the `%b' format specifier.
-
-ll. When in POSIX mode, the shell no longer searches the current directory for
-    a file to be sourced with `.' or `source' if `.' is not in $PATH.
-
-mm. Interactive comments are no longer turned off when POSIX mode is disabled.
-
-nn. The UID, EUID, HOSTNAME variables are not set if they are in the shell's
-    environment when it starts up.
-
-oo. Fixed a bug in the `command' builtin so the effect of a command like
-    `command exec 4<file' is as if the `command' had been omitted.
-
-pp. ${foo[@]} and ${foo[*]} now work as in ksh93 if `foo' is not an array
-    variable.
-
-qq. ${#foo[X]}, where X is 0, @, or *, now work as in ksh93 if `foo' is not
-    an array variable.
-
-rr. The shell's idea of an absolute pathname now takes into account a
-    possible drive specification on Cygwin and other Windows systems.
-
-ss. Fixed a bug which caused incorrect parsing of some multi-character
-    constructs if they were split across input lines with backslash-newline
-    line continuation.
-
-tt. Fixed a bug that caused restricted shell mode to be set inappropriately
-    when trying to execute a shell script without a leading `#!'.
-
-uu. Shell function definitions no longer require that the body be a group
-    command ( {...} ), as POSIX.2 requires.
-
-vv. The `cd' and `pwd' builtins now process symlinks in pathnames internally
-    and should require many fewer calls to getcwd().
-
-ww. Fixed a bug that caused a pipeline's process group to be set incorrectly
-    if one of the pipeline elements contained a command substitution.
-
-xx. Fixed a bug that caused core dumps when expanding the value of HISTIGNORE.
-
-yy. The output of `set' is now quoted using $'...' so invisible characters are
-    displayed as escape sequences.
-
-zz. Fixed the help text for `unset', since PATH and IFS may both be unset.
-
-aaa. The shell no longer puts directory names into the command hash table.
-
-bbb. Fixed a bug in `read' that caused it to occasionally free memory twice if
-     it was interrupted after reading a large amount of data.
-
-ccc. Assignment statements that attempt to assign values to readonly variables
-     now cause the command to return an error status.
-
-ddd. Fixed a bug that could cause incorrect output if a $(<file) construct was
-     interrupted.
-
-eee. GROUPS and FUNCNAME now return an error status when assignment is
-     attempted, but may be unset (in which case they lose their special
-     properties).  In all respects except unsetting, they are readonly.
-
-fff. The string-to-integer conversion code now ignores trailing whitespace in
-     the string, even if strtol(3) does not.
-
-ggg. The tcsh magic-space function now does a better job of inserting the
-     space close to where the point was before the history expansion, rather
-     than just appending it.
-
-hhh. Fixed a bug which caused a file sourced from an interactive shell to
-     fill up the jobs table if it ran lots of jobs.
-
-iii. Fixed a bug in the parameter pattern substitution code to avoid infinite
-     recursion on zero-length matches.
-
-2.  Changes to Readline
-
-a.  When setting the terminal attributes on systems using `struct termio',
-    readline waits for output to drain before changing the attributes.
-
-b.  A fix was made to the history word tokenization code to avoid attempts to
-    dereference a null pointer.
-
-c.  Readline now defaults rl_terminal_name to $TERM if the calling application
-    has left it unset, and tries to initialize with the resultant value.
-
-d.  Instead of calling (*rl_getc_function)() directly to get input in certain
-    places, readline now calls rl_read_key() consistently.
-
-e.  Fixed a bug in the completion code that allowed a backslash to quote a
-    single quote inside a single-quoted string.
-
-f.  rl_prompt is no longer assigned directly from the argument to readline(),
-    but uses memory allocated by readline.  This allows constant strings to
-    be passed to readline without problems arising when the prompt processing
-    code wants to modify the string.
-
-g.  Fixed a bug that caused non-interactive history searches to return the
-    wrong line when performing multiple searches backward for the same string.
-
-h.  Many variables, function arguments, and function return values are now
-    declared `const' where appropriate, to improve behavior when linking with
-    C++ code.
-
-i.  The control character detection code now works better on systems where
-    `char' is unsigned by default.
-
-j.  The vi-mode numeric argument is now capped at 999999, just like emacs mode.
-
-k.  The Function, CPFunction, CPPFunction, and VFunction typedefs have been
-    replaced with a set of specific prototyped typedefs, though they are
-    still in the readline header files for backwards compatibility.
-
-m.  Nearly all of the (undocumented) internal global variables in the library
-    now have an _rl_ prefix -- there were a number that did not, like
-    screenheight, screenwidth, alphabetic, etc.
-
-n.  The ding() convenience function has been renamed to rl_ding(), though the
-    old function is still defined for backwards compatibility.
-
-o.  The completion convenience functions filename_completion_function,
-    username_completion_function, and completion_matches now have an rl_
-    prefix, though the old names are still defined for backwards compatibility.
-
-p.  The functions shared by readline and bash (linkage is satisfied from bash
-    when compiling with bash, and internally otherwise) now have an sh_ prefix.
-
-q.  Changed the shared library creation procedure on Linux and BSD/OS 4.x so
-    that the `soname' contains only the major version number rather than the
-    major and minor numbers.
-
-r.  Fixed a redisplay bug that occurred when the prompt spanned more than one
-    physical line and contained invisible characters.
-
-3.  New Features in Bash
-
-a.  Added a new `--init-file' invocation argument as a synonym for `--rcfile',
-    per the new GNU coding standards.
-
-b.  The /dev/tcp and /dev/udp redirections now accept service names as well as
-    port numbers.
-
-c.  `complete' and `compgen' now take a `-o value' option, which controls some
-    of the aspects of that compspec.  Valid values are:
-
-       default - perform bash default completion if programmable
-                 completion produces no matches
-       dirnames - perform directory name completion if programmable
-                  completion produces no matches
-       filenames - tell readline that the compspec produces filenames,
-                   so it can do things like append slashes to
-                   directory names and suppress trailing spaces
-
-4.  New Features in Readline
-
-a.  The blink timeout for paren matching is now settable by applications.
-
-b.  _rl_executing_macro has been renamed to rl_executing_macro, which means
-    it's now part of the public interface.
-
-c.  Readline has a new variable, rl_readline_state, which is a bitmap that
-    encapsulates the current state of the library; intended for use by
-    callbacks and hook functions.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-release,
-and the previous version, bash-2.04-beta5.
-
-1.  Changes to Bash
-
-a.  Better compile-time and configure-time checks for the necessity of
-    inet_aton().
-
-b.  A bug was fixed in the expansion of "${@:-}" when there are positional
-    parameters.
-
-c.  A typo was fixed in the output of `complete'.
-
-d.  The matches generated for a word by the `-W' argument to complete and
-    compgen are now matched against the word being completed, and only
-    matches are returned as the result.
-
-e.  Some fixes were made for systems which do not restart read(2) when a
-    signal caught by bash is received.
-
-f.  A bug was fixed which caused the umask to be set to 0 when an invalid
-    symbolic mode mask was parsed.
-
-g.  Fixed a bug that could cause a core dump if a SIGCHLD was received while
-    performing an assignment statement using command substitution.
-
-h.  Changed the word splitting function for programmable completion so cases
-    in which the cursor is between words are handled a bit better.
-
-2.  Changes to Readline
-
-a.  rl_funmap_names() is now documented.
-
-3.  New Features in Bash
-
-a.  The LC_NUMERIC variable is now treated specially, and used to set the
-    LC_NUMERIC locale category for number formatting, e.g., when `printf'
-    displays floating-point numbers.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-beta5,
-and the previous version, bash-2.04-beta4.
-
-1.  Changes to Bash
-
-a.  A couple of changes were made to the Makefiles for easier building on
-    non-Unix systems.
-
-b.  Fixed a bug where the current prompt would be set to $PS2 at startup.
-
-c.  The shell script that tests an already-installed version was changed to
-    remove the directory it created its test programs in at exit.
-
-d.  Several changes were made to the code that tokenizes an input line for
-    the programmable completion code.  Shell metacharacters will now appear
-    as individual words in the word list passed to the completion functions.
-    Some of the example completion shell functions were changed to understand
-    redirection operators.
-
-e.  A bug was fixed that, under obscure circumstances, could confuse the
-    parser when a shell function was run by the programmable completion code.
-
-f.  A bug was fixed in the ulimit builtin for systems not using getrlimit().
-
-g.  The execution code now propagates the correct exit status back to the rest
-    of the code if the return value of a subshell command was being inverted.
-    Some new test cases for inverting return values with the `!' reserved
-    word have been added.
-
-h.  Negative exponents in the arithmetic evaluation of v**e now return an
-    evaluation error.
-
-i.  A bug that caused bash to check the wrong process in a pipeline for
-    abnormal termination (and consequently resetting the terminal attributes)
-    was fixed.
-
-j.  Fixed a bug that caused $PS2 to be displayed after PROMPT_COMMAND was
-    executed.
-
-2.  Changes to Readline
-
-1.  Fixed a bug in a C preprocessor define that caused the keypad control
-    functions to be compiled out for all platforms except DJGPP.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-beta4,
-and the previous version, bash-2.04-beta3.
-
-1.  Changes to Bash
-
-a.  A couple of changes were made to the redirection to attempt to avoid
-    race conditions and malicious file replacement.
-
-2.  A change was made to the string evaluation code (used for command 
-    substitution, `eval', and the `.' builtin) to fix an obscure core
-    dump on alpha machines.
-
-3.  A bug that caused $LINENO to be wrong when executing arithmetic for
-    commands was fixed.
-
-4.  A couple of memory leaks in the programmable completion code were fixed.
-
-5.  A bug that could cause a core dump by freeing memory twice during a call
-    to `eval' if `set -u' had been enabled and an undefined variable was
-    referenced was fixed.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-beta3,
-and the previous version, bash-2.04-beta2.
-
-1.  Changes to Bash
-
-a.  Bash should run the appropriate startup files when invoked by ssh2.
-
-b.  Fixed a bug in the parsing of conditional commands that could cause a
-    core dump.
-
-c.  Fixed a bug in parsing job specifications that occasionally caused
-    core dumps when an out-of-range job was referenced.
-
-d.  Fixed the `type' and `command' builtins to do better reporting of
-    commands that are not found in $PATH or the hash table.
-
-e.  Fixed a POSIX.2 compliance problem in the command builtin -- commands
-    are supposed to be reported as full pathnames.
-
-f.  The `echo' builtin now returns failure if a write error occurs.
-
-g.  Fixed a bug which caused the locale to not be reset correctly when
-    LC_ALL was unset.
-
-h.  Changed description of `getopts' in man page and reference manual to make
-    it clear that option characters may be characters other than letters.
-
-i.  If the shell exits while in a function, make sure that any trap on EXIT
-    doesn't think the function is still executing.
-
-j.  Bashbug now tries harder to find a usable editor if $EDITOR is not set,
-    rather than simply defaulting to `emacs'.
-
-k.  Changes to the scripts that guess and canonicalize the system type, from
-    the latest `automake' distribution via Debian.
-
-l.  When using named pipes for process substitution, make sure the file
-    descriptors opened for reading are set to non-blocking mode.
-
-m.  Fixed a bug that caused termination of pipelines that are killed by a
-    signal to not be reported in some cases.
-
-n.  When not in literal-history mode, shell comment lines are not added to
-    the history list.
-
-o.  When running in POSIX.2 mode, bash no longer performs word splitting on
-    the expanded value of the word supplied as the filename argument to
-    redirection operators.
-
-p.  The prompt string decoding code now backslash-quotes only characters that
-    are special within double quotes when expanding the \w and \W escape
-    sequences.
-
-q.  Fixed a bug in the prompt decoding code that could cause a non-interactive
-    shell to seg fault if `\u' was used in PS4 and the shell was in xtrace
-    mode.
-
-r.  Fixed a bug that caused function definitions to be printed with any
-    redirections that should be attached to the entire function before the
-    closing brace.
-
-s.  Changed the tilde expansion code for Cygwin systems to avoid creating
-    pathnames beginning with `//' if $HOME == `/'.
-
-t.  Fixed a couple of autoconf tests to avoid creating files with fixed names
-    in /tmp.
-
-u.  The `trap' and `kill' builtins now know the names of the POSIX.1b real-
-    time signals on systems which support them.
-
-2.  Changes to Readline
-
-a.  Fixed a problem with the single-quote quoting function that could cause
-    buffer overflows.
-
-b.  Fixed a bug that caused incorrect `stat characters' to be printed if
-    the files being completed were in the root directory and visible-stats
-    was enabled.
-
-3.  New Features in Bash
-
-a.  There is a new `rbash.1' manual page, from the Debian release.
-
-b.  The `--enable-usg-echo-default' option to `configure' has been renamed to
-    `--enable-xpg-echo-default'.  The old option is still there for backwards
-    compatibility.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-beta2,
-and the previous version, bash-2.04-beta1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that could cause pipes to be closed inappropriately in
-    some obscure cases.
-
-b.  Fixed a bug that caused creation of the exported environment to clobber
-    the current command string if there were any exported shell functions.
-
-c.  Some changes were made to reduce bash's memory usage.
-
-d.  Fixed a problem with programmable completion and filenames to be
-    completed containing quote characters.
-
-e.  Changed the code the removes named pipes created for the <(...) and >(...)
-    expansions to defer removal until after any current shell function has
-    finished executing.
-
-f.  Fixed a bug in `select' which caused it to not handle the `continue'
-    builtin correctly.
-
-g.  Autoconf tests added for cygwin32 and mingw32.
-
-2.  New Features in Bash
-
-a.  The `--with-bash-malloc' configure option replaces `--with-gnu-malloc'
-    (which is still there for backwards compatibility).
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-beta1,
-and the previous version, bash-2.04-alpha1.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in the programmable completion code that occurred when
-    trying to complete command lines containing a `;' or `@'.
-
-b.  The file descriptor from which the shell is reading a script is now
-    moved to a file descriptor above the user-addressible range.
-
-c.  Changes to `printf' so that it can handle integers beginning with 0
-    or 0x as octal and hex, respectively.
-
-d.  Fixes to the programmable completion code so it handles nonsense like
-    `compgen -C xyz' gracefully.
-
-e.  The shell no longer modifies the signal handler for SIGPROF, allowing
-    profiling again on certain systems.
-
-f.  The shell checks for a new window size, if the user has requested it,
-    after a process exits due to a signal.
-
-g.  Fixed a bug with variables with null values in a program's temporary
-    environment and the bash getenv() replacement.
-
-h.  `declare' and the other builtins that take variable assignments as
-    arguments now honor `set -a' and mark modified variables for export.
-
-i.  Some changes were made for --dump-po-strings mode when writing strings
-    with embedded newlines.
-
-j.  The code that caches export strings from the initial environment now
-    duplicates the string rather than just pointing into the environment.
-
-k.  The filename completion quoting code now uses single quotes by default
-    if the filename being completed contains newlines, since \<newline>
-    has a special meaning to the parser.
-
-l.  Bash now uses typedefs bits32_t and u_bits32_t instead of int32_t and
-    u_int32_t, respectively to avoid conflicts on certain Unix versions.
-
-m.  Configuration changes were made for: Rhapsody, Mac OS, FreeBSD-3.x.
-
-n.  Fixed a problem with hostname-to-ip-address translation in the
-    /dev/(tcp|udp)/hostname/port redirection code.
-
-o.  The texinfo manual has been reorganized slightly.
-
-p.  Filename generation (globbing) range comparisons in bracket expressions
-    no longer use strcoll(3) even if it is available, since it has unwanted
-    effects in certain locales.
-
-q.  Fixed a cosmetic problem in the source that caused the shell to not
-    compile if DPAREN_ARITHMETIC was not defined but ARITH_FOR_COMMAND was.
-
-r.  Fixed a bug in the here-document code tripped when the file descriptor
-    opened to the file containing the text of the here document was the
-    same as a redirector specified by the user.
-
-s.  Fixed a bug where the INVERT_RETURN flag was not being set for `pipeline'
-    in `time ! pipeline'.
-
-t.  Fixed a bug with the `wait' builtin which manifested itself when an
-    interrupt was received while the shell was waiting for asynchronous
-    processes in a shell script.
-
-u.  Fixed the DEBUG trap code so that it has the correct value of $?.
-
-v.  Fixed a bug in the parameter pattern substitution code that could cause
-    the shell to attempt to free unallocated memory if the pattern started
-    with `/' and an expansion error occurs.
-
-w.  Fixed a bug in the positional parameter substring code that could
-    cause the shell to loop freeing freed memory.
-
-x.  Fixed a bug in the positional parameter pattern substitution code so
-    that it correctly handles null replacement strings with a pattern
-    string prefixed with `%' or `#'.
-
-y.  The shell no longer attempts to import functions from the environment if
-    started with `-n'.
-
-z.  Fixed a bug that caused `return' in a command substitution executed in
-    a shell function to return from the function in a subshell and continue
-    execution.
-
-aa. `hash -p /pathname/with/slashes name' is no longer allowed when the shell
-    is restricted.
-
-bb. The wait* job control functions now behave better if called when there
-    are no unwaited-for children.
-
-cc. Command substitution no longer unconditionally disables job control in
-    the subshell started to run the command.
-
-dd. A bug was fixed that occasionally caused traps to mess up the parser
-    state.
-
-ee. `bashbug' now honors user headers in the mail message it sends.
-
-ff. A bug was fixed that caused the `:p' history modifier to not print the
-    history expansion if the `histverify' option was set.
-
-2.  Changes to Readline
-
-a.  Fixed a bug in the redisplay code for lines with more than 256 line
-    breaks.
-
-b.  A bug was fixed which caused invisible character markers to not be
-    stripped from the prompt string if the terminal was in no-echo mode.
-
-c.  Readline no longer tries to get the variables it needs for redisplay
-    from the termcap entry if the calling application has specified its
-    own redisplay function.  Readline treats the terminal as `dumb' in
-    this case.
-
-d.  Fixes to the SIGWINCH code so that a multiple-line prompt with escape
-    sequences is redrawn correctly.
-
-3.  New Features in Bash
-
-a.  `bashbug' now accepts `--help' and `--version' options.
-
-b.  There is a new `xpg_echo' option to `shopt' that controls the behavior
-    of echo with respect to backslash-escaped characters at runtime.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-alpha1,
-and the previous version, bash-2.04-devel.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that could cause core dumps when performing substring
-    expansion.
-
-b.  Shared object configuration changes for:  Solaris, OSF/1
-
-c.  The POSIX_GLOB_LIBRARY code that uses the POSIX.2 globbing facilities
-    for pathname expansion now understands GLOBIGNORE.
-
-d.  The code that implements `eval' was changed to save the value of the
-    current prompt, so an eval in a shell function called by the programmable
-    completion code will not change the prompt to $PS2.
-
-e.  Restored the undocumented NON_INTERACTIVE_LOGIN_SHELLS #define to
-    config-top.h.  If this is defined, all login shells will read the
-    startup files, not just interactive and non-interactive started with
-    the `--login' option.
-
-f.  Fixed a bug that caused the expansion code to occasionally dump core if
-    IFS contained characters > 128.
-
-g.  Fixed a problem with the grammar so that a newline is not required
-    after the `))' in the new-style arithmetic for statement; a semicolon
-    may be used as expected.
-
-h.  Variable indirection may now reference the shell's special variables.
-
-i.  The $'...' and $"..." constructs are now added to the history correctly
-    if they contain newlines and command-oriented history is enabled.
-
-j.  It is now an error to try to assign a value to a function-local copy
-    of a readonly shell variable (declared with the `local' builtin).
-
-2.  Changes to Readline
-
-a.  The history file code now uses O_BINARY mode when reading and writing
-    the history file on cygwin32.
-
-3.  New Features in Bash
-
-a.  A new programmable completion facility, with two new builtin commands:
-    complete and compgen.
-
-b.  configure has a new option, `--enable-progcomp', to compile in the
-    programmable completion features (enabled by default).
-
-c.  `shopt' has a new option, `progcomp', to enable and disable programmable
-    completion at runtime.
-
-d.  Unsetting HOSTFILE now clears the list of hostnames used for completion.
-
-4.  New Features in Readline
-
-a.  A new variable, rl_gnu_readline_p, always 1.  The intent is that an
-    application can verify whether or not it is linked with the `real'
-    readline library or some substitute.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.04-devel,
-and the previous version, bash-2.03-release.
-
-1.  Changes to Bash
-
-a.  System-specific configuration and source changes for:  Interix, Rhapsody
-
-b.  Fixed a bug in execute_cmd.c that resulted in a compile-time error if
-    JOB_CONTROL was not defined.
-
-c.  An obscure race condition in the trap code was fixed.
-
-d.  The string resulting from $'...' is now requoted to avoid any further
-    expansion.
-
-e.  The $'...' quoting syntax now allows backslash to escape a single quote,
-    for ksh-93 compatibility.
-
-f.  The $"..." quoting syntax now escapes backslashes and double quotes in
-    the translated string when displaying them with the --dump-po-strings
-    option.
-
-g.  `echo -e' no longer converts \' to '.
-
-h.  Fixes were made to the extended globbing code to handle embedded (...)
-    patterns better.
-
-i.  Some improvements were made to the code that unsets `nodelay' mode on
-    the file descriptor from which bash is reading input.
-
-j.  Some changes were made to the replacement termcap library for better
-    operation on MS-DOS.
-
-k.  Some changes were made to the tilde expansion code to handle backslash
-    as a pathname separator on MS-DOS.
-
-l.  The source has been reorganized a little bit -- there is now an `include'
-    subdirectory, and lib/posixheaders has been removed.
-
-m.  Improvements were made to the `read' builtin so that it makes many
-    fewer read(2) system calls.
-
-n.  The expansion of $- will include `c' and `s' when those options are
-    supplied at shell invocation.
-
-o.  Several improvments were made to the completion code:  variable completion
-    now works better when there are unterminated expansions, command
-    completion understands quotes better, and completion now works in certain
-    unclosed $(... constructs.
-
-p.  The arithmetic expansion code was fixed to not need the value of a
-    variable being assigned a value (fixes the "ss=09; let ss=10" bug).
-
-q.  Some changes were made to make exported environment creation faster.
-
-r.  The html documentation will be installed into $(htmldir) if that variable
-    has a value when `make install' is run.
-
-s.  Fixed a bug that would cause the bashrc file to be sourced inappropriately
-    when bash is started by sshd.
-
-t.  The SSH_CLIENT environment variable is no longer auto-exported.
-
-u.  A bug that caused redirections with (...) subshells to be performed in
-    the wrong order was fixed.
-
-v.  A bug that occasionally caused inappropriate expansion of assignment
-    statements in compound array assignments was fixed.
-
-w.  The code that parses the words in a compound array assignment was
-    simplified considerably and should work better now.
-
-x.  Fixes to the non-job-control code in nojobs.c to make it POSIX.2-compliant
-    when a user attempts to retrieve the status of a terminated background
-    process.
-
-y.  Fixes to the `printf' builtin so that it doesn't try to expand all
-    backslash escape sequences in the format string before parsing it for
-    % format specifiers.
-
-2.  Changes to Readline
-
-a.  The history library tries to truncate the history file only if it is a
-    regular file.
-
-b.  A bug that caused _rl_dispatch to address negative array indices on
-    systems with signed chars was fixed.
-
-c.  rl-yank-nth-arg now leaves the history position the same as when it was
-    called.
-
-d.  Changes to the completion code to handle MS-DOS drive-letter:pathname
-    filenames.
-
-e.  Completion is now case-insensitive by default on MS-DOS.
-
-f.  Fixes to the history file manipulation code for MS-DOS.
-
-g.  Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS.
-
-h.  Some fixes were made to the redisplay code for better operation on MS-DOS.
-
-i.  The quoted-insert code will now insert tty special chars like ^C.
-
-j.  A bug was fixed that caused the display code to reference memory before
-    the start of the prompt string.
-
-k.  More support for __EMX__ (OS/2).
-
-l.  A bug was fixed in readline's signal handling that could cause infinite
-    recursion in signal handlers.
-
-m.  A bug was fixed that caused the point to be less than zero when rl_forward
-    was given a very large numeric argument.
-
-n.  The vi-mode code now gets characters via the application-settable value
-    of rl_getc_function rather than calling rl_getc directly.
-
-3.  New Features in Bash
-
-a.  The history builtin has a `-d offset' option to delete the history entry
-    at position `offset'.
-
-b.  The prompt expansion code has two new escape sequences: \j, the number of
-    active jobs; and \l, the basename of the shell's tty device name.
-
-c.  The `bind' builtin has a new `-x' option to bind key sequences to shell
-    commands.
-
-d.  There is a new shell option, no_empty_command_completion, which, when
-    enabled, disables command completion when TAB is typed on an empty line.
-
-e.  The `help' builtin has a `-s' option to just print a builtin's usage
-    synopsys.
-
-f.  There are several new arithmetic operators:  id++, id-- (variable
-    post-increment/decrement), ++id, --id (variabl pre-increment/decrement),
-    expr1 , expr2 (comma operator).
-
-g.  There is a new ksh-93 style arithmetic for command:
-       for ((expr1 ; expr2; expr3 )); do list; done
-
-h.  The `read' builtin has a number of new options:
-       -t timeout      only wait timeout seconds for input
-       -n nchars       only read nchars from input instead of a full line
-       -d delim        read until delim rather than newline
-       -s              don't echo input chars as they are read
-
-i.  The redirection code now handles several filenames specially:
-    /dev/fd/N, /dev/stdin, /dev/stdout, and /dev/stderr, whether or
-    not they are present in the file system.
-
-j.  The redirection code now recognizes pathnames of the form
-    /dev/tcp/host/port and /dev/udp/host/port, and tries to open a socket
-    of the appropriate type to the specified port on the specified host.
-
-k.  The ksh-93 ${!prefix*} expansion, which expands to the names of all
-    shell variables whose names start with prefix, has been implemented.
-
-l.  There is a new dynamic variable, FUNCNAME, which expands to the name of
-    a currently-executing function.  Assignments to FUNCNAME have no effect.
-
-m.  The GROUPS variable is no longer readonly; assignments to it are silently
-    discarded.  This means it can be unset.
-
-4.  New Features in Readline
-
-a.  Parentheses matching is now always compiled into readline, and enabled
-    or disabled when the value of the `blink-matching-paren' variable is
-    changed.
-
-b.  MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
-
-c.  MS-DOS systems now use ~/_history as the default history file.
-
-d.  history-search-{forward,backward} now leave the point at the end of the
-    line when the string to search for is empty, like
-    {reverse,forward}-search-history.
-
-e.  history-search-{forward,backward} now leave the last history line found
-    in the readline buffer if the second or subsequent search fails.
-
-f.  New function for use by applications:  rl_on_new_line_with_prompt, used
-    when an application displays the prompt itself before calling readline().
-
-g.  New variable for use by applications:  rl_already_prompted.  An application
-    that displays the prompt itself before calling readline() must set this to
-    a non-zero value.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.03-release,
-and the previous version, bash-2.03-beta2.
-
-1.  Changes to Bash
-
-a.  A file descriptor leak in the `fc' builtin was fixed.
-
-b.  A bug was fixed in the `read' builtin that caused occasional spurious
-    failures when using `read -e'.
-
-c.  The version code needed to use the value of the cpp variable
-    CONF_MACHTYPE rather than MACHTYPE.
-
-d.  A new test was added to exercise the command printing and copying code.
-
-e.  A bug was fixed that caused `time' to be recognized as a reserved word
-    if it was the first pattern in a `case' statement pattern list.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.03-beta2,
-and the previous version, bash-2.03-beta1.
-
-1.  Changes to Bash
-
-a.  Slight additions to support/shobj-conf, mostly for the benefit of AIX 4.2.
-
-b.  config.{guess,sub} support added for the NEC SX4.
-
-c.  Changed some of the cross-compiling sections of the configure macros in
-    aclocal.m4 so that configure won't abort.
-
-d.  Slight changes to how the HTML versions of the bash and readline manuals
-    are generated.
-
-e.  Fixed conditional command printing to avoid interpreting printf `%'-escapes
-    in arguments to [[.
-
-f.  Don't include the bash malloc on all variants of the alpha processor.
-
-g.  Changes to configure to make --enable-profiling work on Solaris 2.x.
-
-h.  Fixed a bug that manifested itself when shell functions were called
-    between calls to `getopts'.
-
-i.  Fixed pattern substitution so that a bare `#'as a pattern causes the
-    replacement string to be prefixed to the search string, and a bare
-    `%' causes the replacement string to be appended to the search string.
-
-j.  Fixed a bug in the command execution code that caused child processes
-    to occasionally have the wrong value for $!.
-
-2.  Changes to Readline
-
-a.  Added code to the history library to catch history substitutions using
-    `&' without a previous history substitution or search having been
-    performed.
-
-3.  New Features in Bash
-
-4.  New Features in Readline
-
-a.  New bindable variable: `isearch-terminators'.
-
-b.  New bindable function: `forward-backward-delete-char' (unbound by default).
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.03-beta1,
-and the previous version, bash-2.03-alpha.
-    
-1.  Changes to Bash
-
-a.  A change was made to the help text for `{...}' to make it clear that a
-    semicolon is required before the closing brace.
-
-b.  A fix was made to the `test' builtin so that syntax errors cause test
-    to return an exit status > 1.
-
-c.  Globbing is no longer performed on assignment statements that appear as
-    arguments to `assignment builtins' such as `export'.
-
-d.  System-specific configuration changes were made for:  Rhapsody,
-    AIX 4.2/gcc, BSD/OS 4.0.
-
-e.  New loadable builtins: ln, unlink.
-
-f.  Some fixes were made to the globbing code to handle extended glob patterns
-    which immediately follow a `*'.
-
-g.  A fix was made to the command printing code to ensure that redirections
-    following compound commands have a space separating them from the rest
-    of the command.
-
-h.  The pathname canonicalization code was changed to produce fewer leading
-    `//' sequences, since those are interpreted as network file system
-    pathnames on some systems.
-
-i.  A fix was made so that loops containing `eval' commands in commands passed
-    to `bash -c' would not exit prematurely.
-
-j.  Some changes were made to the job reaping code when the shell is not
-    interactive, so the shell will retain exit statuses longer for examination
-    by `wait'.
-
-k.  A fix was made so that `jobs | command' works again.
-
-l.  The erroneous compound array assignment var=((...)) is now a syntax error.
-
-m.  A change was made to the dynamic loading code in `enable' to support
-    Tenon's MachTen.
-
-n.  A fix was made to the globbing code so that extended globbing patterns
-    will correctly match `.' in a bracket expression.
-
-2.  Changes to Readline
-
-a.  A fix was made to the completion code in which a typo caused the wrong
-    value to be passed to the function that computed the longest common
-    prefix of the list of matches.
-
-b.  The completion code now checks the value of rl_filename_completion_desired,
-    which is set by application-supplied completion functions to indicate
-    that filename completion is being performed, to decide whether or not to
-    call an application-supplied `ignore completions' function.
-
-3.  New Features in Bash
-
-a.  A change was made to the startup file code so that any shell begun with
-    the `--login' option, even non-interactive shells, will source the login
-    shell startup files.
-
-4.  New Features in Readline
-
-a.  A new variable, rl_erase_empty_line, which, if set by an application using
-    readline, will cause readline to erase, prompt and all, lines on which the
-    only thing typed was a newline.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.03-alpha,
-and the previous version, bash-2.02.1-release.
-
-1.  Changes to Bash
-
-a.  System-specific configuration changes were made for: Irix 6.x, Unixware 7.
-
-b.  The texi2dvi and texi2html scripts were updated to the latest versions
-    from the net.
-
-c.  The configure tests that determine which native type is 32 bits were
-    changed to not require a compiled program.
-
-d.  Fixed a bug in shell_execve that could cause memory to be freed twice
-    after a failed exec.
-
-e.  The `printf' test uses `diff -a' if it's available to prevent confusion
-    due to the non-ascii output.
-
-f.  Shared object configuration is now performed by a shell script,
-    support/shobj-conf, which generates values to be substituted into
-    makefiles by configure.
-
-g.  Some changes were made to `ulimit' to avoid the use of RLIM_INVALID as a
-    return value.
-
-h.  Changes were made to `ulimit' to work around HPUX 9.x's peculiar
-    handling of RLIMIT_FILESIZE.
-
-i.  Some new loadable builtins were added: id, printenv, sync, whoami, push,
-    mkdir.  `pushd', `popd', and `dirs' can now be built as regular or
-    loadable builtins from the same source file.
-
-j.  Changes were made to `printf' to handle NUL bytes in the expanded format
-    string.
-
-k.  The various `make clean' Makefile targets now descend into lib/sh.
-
-l.  The `type' builtin was changed to use the internal `getopt' so that things
-    like `type -ap' work as expected.
-
-m.  There is a new configuration option, --with-installed-readline, to link
-    bash with a locally-installed version of readline.  Only readline version
-    4.0 and later releases can support this.  Shared and static libraries
-    are supported.  The installed include files are used.
-
-n.  There is a new autoconf macro used to find which basic type is 64 bits.
-
-o.  Dynamic linking and loadable builtins should now work on SCO 3.2v5*,
-    AIX 4.2 with gcc, Unixware 7, and many other systems using gcc, where
-    the `-shared' options works correctly.
-
-p.  A bug was fixed in the bash filename completion code that caused memory to
-    be freed twice if a directory name containing an unset variable was
-    completed and the -u option was set.
-
-q.  The prompt expansion code now quotes the `$' in the `\$' expansion so it
-    is not processed by subsequent parameter expansion.
-
-r.  Fixed a parsing bug that caused a single or double quote after a `$$' to
-    trigger ANSI C expansion or locale translation.
-
-s.  Fixed a bug in the globbing code that caused quoted filenames containing
-    no globbing characters to sometimes be incorrectly expanded.
-
-t.  Changes to the default prompt strings if prompt string decoding is not
-    compiled into the shell.
-
-u.  Added `do', `then', `else', `{', and `(' to the list of keywords that may
-    precede the `time' reserved word.
-
-v.  The shell may now be cross-built for BeOS as well as cygwin32.
-
-w.  The conditional command execution code now treats `=' the same as `=='
-    for deciding when to perform pattern matching.
-
-x.  The `-e' option no longer causes the shell to exit if a command exits
-    with a non-zero status while running the startup files.
-
-y.  The `printf' builtin no longer dumps core if a modifier is supplied in
-    the format string without a conversion character (e.g. `%h').
-
-z.  Array assignments of the form a=(...) no longer show up in the history
-    list.
-
-aa. The parser was fixed to obey the POSIX.2 rules for finding the closing
-    `}' in a ${...} expression.
-
-bb. The history file is now opened with mode 0600 rather than 0666, so bash
-    no longer relies on the user's umask being set appropriately.
-
-cc. Setting LANG no longer causes LC_ALL to be assigned a value; bash now
-    relies on proper behavior from the C library.
-
-dd. Minor changes were made to allow quoted variable expansions using
-    ${...} to be completed correctly if there is no closing `"'.
-
-ee. Changes were made to builtins/Makefile.in so that configuring the shell
-    with `--enable-profiling' works right and builtins/mkbuiltins is
-    generated.
-
-2.  Changes to Readline
-
-a.  The version number is now 4.0.
-
-b.  There is no longer any #ifdef SHELL code in the source files.
-
-c.  Some changes were made to the key binding code to fix memory leaks and
-    better support Win32 systems.
-
-d.  Fixed a silly typo in the paren matching code -- it's microseconds, not
-    milliseconds.
-
-e.  The readline library should be compilable by C++ compilers.
-
-f.  The readline.h public header file now includes function prototypes for
-    all readline functions, and some changes were made to fix errors in the
-    source files uncovered by the use of prototypes.
-
-g.  The maximum numeric argument is now clamped at 1000000.
-
-h.  Fixes to rl_yank_last_arg to make it behave better.
-
-i.  Fixed a bug in the display code that caused core dumps if the prompt
-    string length exceeded 1024 characters.
-
-j.  The menu completion code was fixed to properly insert a single completion
-    if there is only one match.
-
-k.  A bug was fixed that caused the display code to improperly display tabs
-    after newlines.
-
-3.  New Features in Bash
-
-a.  New `shopt' option, `restricted_shell', indicating whether or not the
-    shell was started in restricted mode, for use in startup files.
-
-b.  Filename generation is now performed on the words between ( and ) in
-    array assignments (which it probably should have done all along).
-
-c.  OLDPWD is now auto-exported, as POSIX.2 seems to require.
-
-d.  ENV and BASH_ENV are read-only variables in a restricted shell.
-
-4.  New Features in Readline
-
-a.  Many changes to the signal handling:
-       o Readline now catches SIGQUIT and cleans up the tty before returning;
-       o A new variable, rl_catch_signals, is available to application writers 
-         to indicate to readline whether or not it should install its own
-         signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
-         SIGTTIN, and SIGTTOU;
-       o A new variable, rl_catch_sigwinch, is available to application
-         writers to indicate to readline whether or not it should install its
-         own signal handler for SIGWINCH, which will chain to the calling
-         applications's SIGWINCH handler, if one is installed;
-       o There is a new function, rl_free_line_state, for application signal
-         handlers to call to free up the state associated with the current
-         line after receiving a signal;
-       o There is a new function, rl_cleanup_after_signal, to clean up the
-         display and terminal state after receiving a signal;
-       o There is a new function, rl_reset_after_signal, to reinitialize the
-         terminal and display state after an application signal handler
-         returns and readline continues
-
-b.  There is a new function, rl_resize_terminal, to reset readline's idea of
-    the screen size after a SIGWINCH.
-
-c.  New public functions: rl_save_prompt and rl_restore_prompt.  These were
-    previously private functions with a `_' prefix.
-
-d.  New function hook: rl_pre_input_hook, called just before readline starts
-    reading input, after initialization.
-
-e.  New function hook: rl_display_matches_hook, called when readline would
-    display the list of completion matches.  The new function
-    rl_display_match_list is what readline uses internally, and is available
-    for use by application functions called via this hook.
-
-f.  New bindable function, delete-char-or-list, like tcsh.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.02.1-release,
-and the previous version, bash-2.02-release.
-
-1.  Changes to Bash
-
-a.  A bug that caused the bash readline support to not compile unless aliases
-    and csh-style history were configured into the shell was fixed.
-
-b.  Fixed a bug that could cause a core dump when here documents contained
-    more than 1000 characters.
-
-c.  Fixed a bug that caused a CDPATH entry of "" to not be treated the same
-    as the current directory when in POSIX mode.
-
-d.  Fixed an alignment problem with the memory returned by the bash malloc,
-    so returned memory is now 64-bit aligned.
-
-e.  Fixed a bug that caused command substitutions executed within pipelines
-    to put the terminal in the wrong process group.
-
-f.  Fixes to support/config.sub for: alphas, SCO Open Server and Open Desktop,
-    Unixware 2, and Unixware 7.
-
-g.  Fixes to the pattern matching code to make it work correctly for eight-bit
-    characters.
-
-h.  Fixed a problem that occasionally caused the shell to display the wrong
-    value for the new working directory when changing to a directory found
-    in $CDPATH when in physical mode.
-
-i.  Fixed a bug that caused core dumps when using conditional commands in
-    shell functions.
-
-j.  Fixed a bug that caused the printf builtin to loop forever if the format
-    string did not consume any of the arguments.
-
-k.  Fixed a bug in the parameter expansion code that caused "$@" to be
-    incorrectly split if $IFS did not contain a space character.
-
-l.  Fixed a bug that could cause a core dump when completing hostnames if
-    the number of matching hostnames was an exact multiple of 16.
-
-m.  Fixed a bug that caused the shell to fork too early when a command
-    such as `%2 &' was given.
-
-2.  Changes to Readline
-
-a.  Fixed a problem with redisplay that showed up when the prompt string was
-    longer than the screen width and the prompt contained invisible characters.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.02-release,
-and the previous version, bash-2.02-beta2.
-
-1.  Changes to Bash
-
-a.  A bug was fixed that caused the terminal process group to be set
-    incorrectly when performing command substitution of builtins in a
-    pipeline.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.02-beta2,
-and the previous version, bash-2.02-beta1.
-
-1.  Changes to Bash
-
-a.  Attempting to `wait' for stopped jobs now generates a warning message.
-
-b.  Pipelines which exit due to SIGPIPE in non-interactive shells are now
-    not reported if the shell is compiled -DDONT_REPORT_SIGPIPE.
-
-c.  Some changes were made to builtins/psize.sh and support/bashbug.sh to
-    attempt to avoid some /tmp file races and surreptitious file
-    substitutions.
-
-d.  Fixed a bug that caused the shell not to compile if configured with
-    dparen arithmetic but without aliases.
-
-e.  Fixed a bug that caused the input stream to be switched when assigning
-    empty arrays with `bash -c'.
-
-f.  A bug was fixed in the readline expansion glue code that caused bash to
-    dump core when expanding lines with an unclosed single quote.
-
-g.  A fix was made to the `cd' builtin so that using a non-empty directory
-    from $CDPATH results in an absolute pathname of the new current working
-    directory to be displayed after the current directory is changed.
-
-h.  Fixed a bug in the variable assignment code that caused the shell to
-    dump core when referencing an unset variable with `set -u' enabled in
-    an assignment statement preceding a command.
-
-i.  Fixed a bug in the exit trap code that caused reserved words to not be
-    recognized under certain circumstances.
-
-j.  Fixed a bug in the parameter pattern substitution code so that quote
-    removal is performed.
-
-k.  The shell should now configure correctly on Apple Rhapsody systems.
-
-l.  The `kill' builtin now prints a usage message if it is not passed any
-    arguments.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.02-beta1,
-and the previous version, bash-2.02-alpha1.
-
-1.  Changes to Bash
-
-a.  A few compilation bugs were fixed in the new extended globbing code.
-
-b.  Executing arithmetic commands now sets the command name to `((' so
-    error messages look right.
-
-c.  Fixed some build problems with various configuration options.
-
-d.  The `printf' builtin now aborts immediately if an illegal format
-    character is encountered.
-
-e.  The code that creates here-documents now behaves better if the file it's
-    trying to create already exists for some reason.
-
-f.  Fixed a problem with the extended globbing code that made patterns like
-    `x+*' expand incorrectly.
-
-g.  The prompt string expansion code no longer quotes tildes with backslashes.
-
-h.  The bash getcwd() implementation in lib/sh/getcwd.c now behaves better in
-    the presence of lstat(2) failures.
-
-i.  Fixed a bug with strsub() that caused core dumps when executing `fc -s'.
-
-j.  The mail checking code now ensures that it has a valid default mailpath.
-
-k.  A bug was fixed that caused local variables to be unset inappropriately
-    when sourcing a script from within another sourced script.
-
-l.  A bug was fixed in the history saving code so that functions are saved
-    in the history list correctly if `cmdhist' is enabled, but `lithist'
-    is not.
-
-m.  A bug was fixed that caused printf overflows when displaying error
-    messages.
-
-n.  It should be easier to build the loadble builtins in examples/loadables,
-    though some manual editing of the generated Makefile is still required.
-
-o.  The user's primary group is now always ${GROUPS[0]}.
-
-p.  Some updates were made to support/config.guess from the GNU master copy.
-
-q.  Some changes were made to the autoconf support for Solaris 2.6 large
-    files.
-
-r.  The `command' builtins now does the right thing when confstr(3) cannot
-    find a value for _CS_PATH.
-
-s.  Extended globbing expressions like `*.!(c)' are not history expanded if
-    `extglob' is enabled.
-
-t.  Using the `-P' option to `cd' will force the value that is assigned to
-    PWD to not contain any symbolic links.
-
-2.  Changes to Readline
-
-a.  The code that prints completion listings now behaves better if one or
-    more of the filenames contains non-printable characters.
-
-b.  The time delay when showing matching parentheses is now 0.5 seconds.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.02-alpha1,
-and the previous version, bash-2.01.1-release.
-
-1.  Changes to Bash
-
-a.  OS-specific configuration changes for:  BSD/OS 3.x, Minix 2.x,
-    Solaris 2.6, SINIX SVR4.
-
-b.  Changes were made to the generated `info' files so that `install-info'
-    works correctly.
-
-c.  PWD is now auto-exported.
-
-d.  A fix was made to the pipeline code to make sure that the shell forks
-    to execute simple commands consisting solely of assignment statements.
-
-e.  Changes to the test suite for systems with 14-character filenames.
-
-f.  The default sizes of some internal hash tables have been made smaller
-    to reduce the shell's memory footprint.
-
-g.  The `((...))' arithmetic command is now executed directly instead of
-    being translated into `let "..."'.
-
-h.  Fixes were made to the expansion code so that "$*", "$@", "${array[@]}",
-    and "${array[@]}" expand correctly when IFS does not contain a space
-    character, is unset, or is set to NULL.
-
-i.  The indirect expansion code (${!var}) was changed so that the only
-    valid values of `var' are variable names, positional parameters, `#',
-    `@', and `*'.
-
-j.  An arithmetic expression error in a $((...)) expansion now causes a
-    non-interactive shell running in posix mode to exit.
-
-k.  Compound array assignment now splits the words within the parentheses
-    on shell metacharacters like the parser would before expansing them
-    and performing the assignment.  This is for compatibility with ksh-93.
-
-l.  The internal shell backslash-quoting code (used in the output of `set'
-    and completion) now quotes tildes if they appear at the start of the
-    string or after a `=' or `:'.
-
-m.  A couple of bugs with `shopt -o' were fixed.
-
-n.  `bash +o' now displays the same output as `set +o' before starting an
-    interactive shell.
-
-o.  A bug that caused command substitution and the `eval' builtin to
-    occasionally free memory twice when an error was encountered was fixed.
-
-p.  The filename globbing code no longer requires read permission for a
-    directory when the filename to be matched does not contain any globbing
-    characters, as POSIX.2 specifies.
-
-q.  A bug was fixed so that the job containing the last asynchronous
-    process is not removed from the job table until a `wait' is executed
-    for that process or another asynchronous process is started.  This
-    satisfies a POSIX.2 requirement.
-
-r.  A `select' bug was fixed so that a non-numeric user response is treated
-    the same as a numeric response that is out of range.
-
-s.  The shell no longer parses the value of SHELLOPTS from the environment
-    if it is restricted, running setuid, or running in `privileged mode'.
-
-t.  Fixes were made to enable large file support on systems such as
-    Solaris 2.6, where the size of a file may be larger than can be held
-    in an `int'.
-
-u.  The filename hashing code was fixed to not add `./' to the beginning of
-    filenames which already begin with `./'.
-
-v.  The configure script was changed so that the GNU termcap library is not
-    compiled in if `prefer-curses' has been specified.
-
-w.  HISTCONTROL and HISTIGNORE are no longer applied to the second and
-    subsequent lines of a multi-line command.
-
-x.  A fix was made to `disown' so that it does a better job of catching
-    out-of-range jobs.
-
-y.  Non-interactive shells no longer report the status of processes terminated
-    due to SIGINT, even if the standard output is a terminal.
-
-z.  A bug that caused the output of `jobs' to have extra carriage returns
-    was fixed.
-
-aa. A bug that caused PIPESTATUS to not be set when builtins or shell
-    functions were executed in the foreground was fixed.
-
-bb. Bash now attempts to detect when it is being run by sshd, and treats
-    that case identically to being run by rshd.
-
-cc. A bug that caused `set -a' to export SHELLOPTS when one of the shell
-    options was changed was fixed.
-
-dd. The `kill' builtin now disallows empty or missing process id arguments
-    instead of treating them as identical to `0', which means the current
-    process.
-
-ee. `var=value declare -x var' now behaves identically to
-    `var=value export var'.  Similarly for `var=value declare -r var' and
-    `var=value readonly var'.
-
-ff. A few memory leaks were fixed.
-
-gg. `alias' and `unalias' now print error messages when passed an argument
-    that is not an alias for printing or deletion, even when the shell is
-    not interactive, as POSIX.2 specifies.
-
-hh. `alias' and `alias -p' now return a status of 0 when no aliases are
-    defined, as POSIX.2 specifes.
-
-ii. `cd -' now prints the pathname of the new working directory if the shell
-    is interactive.
-
-jj. A fix was made so that the code that binds $PWD now copes with getcwd()
-    returning NULL.
-
-kk. `unset' now checks whether or not a function name it's trying to unset
-    is a valid shell identifier only when the shell is running in posix mode.
-
-ll. A change was made to the code that generates filenames for here documents
-    to make them less prone to name collisions.
-
-mm. The parser was changed so that `time' is recognized as a reserved word
-    only at the beginning of a pipeline.
-
-nn. The pathname canonicalization code was changed so that `//' is converted
-    into `/', but all other pathnames beginning with `//' are left alone, as
-    POSIX.2 specifies.
-
-oo. The `logout' builtin will no longer exit a non-interactive non-login
-    shell.
-
-2.  Changes to Readline
-
-a.  Fixed a problem in the readline test program rltest.c that caused a core
-    dump.
-
-b.  The code that handles parser directives in inputrc files now displays
-    more error messages.
-
-c.  The history expansion code was fixed so that the appearance of the
-    history comment character at the beginning of a word inhibits history
-    expansion for that word and the rest of the input line.
-
-3.  New Features in Bash
-
-a.  A new version of malloc, based on the older GNU malloc, that has many
-    changes, is more page-based, is more conservative with memory usage,
-    and does not `orphan' large blocks when they are freed.
-
-b.  A new version of gmalloc, based on the old GLIBC malloc, with many
-    changes and range checking included by default.
-
-c.  A new implementation of fnmatch(3) that includes full POSIX.2 Basic
-    Regular Expression matching, including character classes, collating
-    symbols, equivalence classes, and support for case-insensitive pattern
-    matching.
-
-d.  ksh-88 egrep-style extended pattern matching ([@+*?!](patlist)) has been
-    implemented, controlled by a new `shopt' option, `extglob'.
-
-e.  There is a new ksh-like `[[' compound command, which implements
-    extended `test' functionality.
-
-f.  There is a new `printf' builtin, implemented according to the POSIX.2
-    specification.
-
-g.  There is a new feature for command substitution: $(< filename) now expands
-    to the contents of `filename', with any trailing newlines removed
-    (equivalent to $(cat filename)).
-
-h.  There are new tilde prefixes which expand to directories from the
-    directory stack.
-
-i.  There is a new `**' arithmetic operator to do exponentiation.
-
-j.  There are new configuration options to control how bash is linked:
-    `--enable-profiling', to allow bash to be profiled with gprof, and
-    `--enable-static-link', to allow bash to be linked statically.
-
-k.  There is a new configuration option, `--enable-cond-command', which
-    controls whether or not the `[[' command is included.  It is on by
-    default.
-
-l.  There is a new configuration option, `--enable-extended-glob', which
-    controls whether or not the ksh extended globbing feature is included.
-    It is enabled by default.
-
-m.  There is a new configuration #define in config.h.top that, when enabled,
-    will cause all login shells to source /etc/profile and one of the user-
-    specific login shell startup files, whether or not the shell is
-    interactive.
-
-n.  There is a new invocation option, `--dump-po-strings', to dump
-    a shell script's translatable strings ($"...") in GNU `po' format.
-
-o.  There is a new `shopt' option, `nocaseglob', to enable case-insensitive
-    pattern matching when globbing filenames and using the `case' construct.
-
-p.  There is a new `shopt' option, `huponexit', which, when enabled, causes
-    the shell to send SIGHUP to all jobs when an interactive login shell
-    exits.
-
-q.  `bind' has a new `-u' option, which takes a readline function name as an
-    argument and unbinds all key sequences bound to that function in a
-    specified keymap.
-
-r.  `disown' now has `-a' and `-r' options, to limit operation to all jobs
-    and running jobs, respectively.
-
-s.  The `shopt' `-p' option now causes output to be displayed in a reusable
-    format.
-
-t.  `test' has a new `-N' option, which returns true if the filename argument
-    has been modified since it was last accessed.
-
-u.  `umask' now has a `-p' option to print output in a reusable format.
-
-v.  A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...'
-    translation code.  It expands to the character whose ascii code is NNN
-    in hexadecimal.
-
-w.  The prompt string expansion code has a new `\r' escape sequence.
-
-x.  The shell may now be cross-compiled for the CYGWIN32 environment on
-    a Unix machine.
-
-4.  New Features in Readline
-
-a.  There is now an option for `iterative' yank-last-arg handline, so a user
-    can keep entering `M-.', yanking the last argument of successive history
-    lines.
-
-b.  New variable, `print-completions-horizontally', which causes completion
-    matches to be displayed across the screen (like `ls -x') rather than up
-    and down the screen (like `ls').
-
-c.  New variable, `completion-ignore-case', which causes filename completion
-    and matching to be performed case-insensitively.
-
-d.  There is a new bindable command, `magic-space', which causes history
-    expansion to be performed on the current readline buffer and a space to
-    be inserted into the result.
-
-e.  There is a new bindable command, `menu-complete', which enables tcsh-like
-    menu completion (successive executions of menu-complete insert a single
-    completion match, cycling through the list of possible completions).
-
-f.  There is a new bindable command, `paste-from-clipboard', for use on Win32
-    systems, to insert the text from the Win32 clipboard into the editing
-    buffer.
-
-g.  The key sequence translation code now understands printf-style backslash
-    escape sequences, including \NNN octal escapes.  These escape sequences
-    may be used in key sequence definitions or macro values.
-
-h.  An `$include' inputrc file parser directive has been added.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.01.1-release,
-and the previous version, bash-2.01-release.
-
-1.  Changes to Bash
-
-a.  The select command was fixed to check the validity of the user's
-    input more strenuously.
-
-b.  A bug was fixed that prevented `time' from timing commands correctly
-    when supplied as an argument to `bash -c'.
-
-c.  A fix was made to the mail checking code to keep from adding the same
-    mail file to the list of files to check multiple times when parsing
-    $MAILPATH.
-
-d.  Fixed an off-by-one error in the tilde expansion library.
-
-e.  When using the compound array assignment syntax, the old value of
-    the array is cleared before assigning the new value.
-
-f.  Fixed a bug that could cause a core dump when a trap handler was reset
-    to the default in the trap command associated with that signal.
-
-g.  Fixed a bug in the locale code that occurred when assigning a value
-    to LC_ALL.
-
-h.  A change was made to the parser so that words of the form xxx=(...)
-    are not considered compound assignment statements unless there are
-    characters before the `='.
-
-i.  A fix was made to the command tracing code to correctly quote each
-    word of output.
-
-j.  Some changes were made to the bash-specific autoconf tests to make them
-    more portable.
-
-k.  Completion of words with globbing characters now correctly quotes the
-    result.
-
-l.  The directory /var/spool/mail is now preferred to /usr/spool/mail when
-    configure is deciding on the default mail directory.
-
-m.  The brace completion code was fixed to not quote the `{' and `}'.
-
-n.  Some fixes were made to make $RANDOM more random in subshells.
-
-o.  System-specific changes were made to configure for: SVR4.2
-
-p.  Changes were made so that completion of words containing globbing chars
-    substitutes the result only if a single filename was matched.
-
-q.  The window size is now recomputed after a job is stopped with SIGTSTP if
-    the user has set `checkwinsize' with `shopt'.
-
-r.  When doing substring expansion, out-of-range substring specifiers now
-    cause nothing to be substituted rather than an expansion error.
-
-s.  A fix was made so that you can no longer trap `SIGEXIT' or `SIGDEBUG' --
-    only `EXIT' and `DEBUG' are accepted.
-
-t.  The display of trapped signals now uses the signal number if signals
-    for which bash does not know the name are trapped.
-
-u.  A fix was made so that `bash -r' does not turn on restricted mode until
-    after the startup files are executed.
-
-v.  A bug was fixed that occasionally caused a core dump when a variable
-    found in the temporary environment of export/declare/readonly had a
-    null value.
-
-w.  A bug that occasionally caused unallocated memory to be passed to free()
-    when doing arithmetic substitution was fixed.
-
-x.  A bug that caused a buffer overrun when expanding a prompt string
-    containing `\w' and ${#PWD} exceeded PATH_MAX was fixed.
-
-y.  A problem with the completion code that occasionally caused it to
-    refer to a character before the beginning of the readline line buffer
-    was fixed.
-
-z.  A bug was fixed so that the `read' builtin restarts reads when
-    interrupted by signals other than SIGINT.
-
-aa. Fixed a bug that caused a command to be freed twice when there was
-    an evaluation error in the `eval' command.
-
-2.  Changes to Readline
-
-a.  Added a missing `extern' to a declaration in readline.h that kept
-    readline from compiling cleanly on some systems.
-
-b.  The history file is now opened with mode 0600 when it is written for
-    better security.
-
-c.  Changes were made to the SIGWINCH handling code so that prompt redisplay
-    is done better.
-
-d.  ^G now interrupts incremental searches correctly.
-
-e.  A bug that caused a core dump when the set of characters to be quoted
-    when completing words was empty was fixed.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.01-release,
-and the previous version, bash-2.01-beta2.
-
-1.  Changes to Bash
-
-a.  The `distclean' target should remove the `printenv' executable if it
-    has been created.
-
-b.  The test suite was changed slightly to ensure that the error messages
-    are printed in English.
-
-c.  A bug that caused the shell to dump core when a filename containing a
-    `/' was passed to `hash' was fixed.
-
-d.  Pathname canonicalization now leaves a leading `//' intact, as POSIX.1
-    requires.
-
-e.  A memory leak when completing commands was fixed.
-
-f.  A memory leak that occurred when checking the hash table for commands
-    with relative paths was fixed.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.01-beta2,
-and the previous version, bash-2.01-beta1.
-
-1.  Changes to Bash
-
-a.  The `ulimit' builtin translates RLIM_INFINITY to the hard limit only if
-    the current (soft) limit is less than or equal to the hard limit.
-
-b.  Fixed a bug that caused the bash emulation of strcasecmp to produce
-    incorrect results.
-
-c.  A bug that caused memory to be freed twice when a trap handler resets
-    the trap more than once was fixed.
-
-d.  A bug that caused machines where sizeof (pointer) > sizeof (int) to
-    fail (and possibly dump core) when trying to unwind-protect a null
-    pointer was fixed.
-
-e.  The startup files should not be run with job control enabled.  This fix
-    allows SIGINT to once again interrupt startup file execution.
-
-f.  Bash should not change the SIGPROF handler if it is set to something
-    other than SIG_DFL.
-
-g.  The completion code that provides bash-specific completions for readline
-    now quotes characters that the readline code would treat as word break
-    characters if they appear in a file name.
-
-h.  The completion code now correctly quotes filenames containing a `!',
-    even if the user attempted to use double quotes when attempting
-    completion.
-
-i.  A bug that caused the shell to dump core when `disown' was called without
-    arguments and there was no current job was fixed.
-
-j.  A construct like $((foo);bar) is now processed as a command substitution
-    rather than as a bad arithmetic substitution.
-
-k.  A couple of bugs that caused `fc' to not obey the `cmdhist' and `lithist'
-    shell options when editing and re-executing a series of commands were
-    fixed.
-
-l.  A fix was made to the grammar -- the list of commands between `do' and
-    `done' in the body of a `for' command should be treated the same as a
-    while loop.
-
-2.  Changes to Readline
-
-a.  A couple of bugs that caused the history search functions to attempt to
-    free a NULL pointer were fixed.
-
-b.  If the C library provides setlocale(3), readline does not need to look
-    at various environment variables to decide whether or not to go into
-    eight-bit mode automatically -- just check whether the current locale
-    is not `C' or `POSIX'.
-
-c.  If the filename completion function finds that a directory was not closed
-    by a previous (interrupted) completion, it closes the directory with
-    closedir().
-
-3.  New Features in Bash
-
-a.  New bindable readline commands:  history-and-alias-expand-line and
-    alias-expand-line.  The code was always in there, there was just no
-    way to execute it.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.01-beta1,
-and the previous version, bash-2.01-alpha1.
-
-1.  Changes to Bash
-
-a.  Fixed a problem that could cause file descriptors used for process
-    substitution to conflict with those used explicitly in redirections.
-
-b.  Made it easier to regenerate configure if the user changes configure.in.
-
-c.  ${GROUPS[0]} should always be the primary group, even on systems without
-    multiple groups.
-
-d.  Spelling correction is no longer enabled by default.
-
-e.  Fixes to quoting problems in `bashbug'.
-
-f.  OS-specific configuration changes were made for: Irix 6.
-
-g.  OS-specific code changes were made for: QNX.
-
-h.  A more meaningful message is now printed when the file in /tmp for a
-    here document cannot be created.
-
-i.  Many changes to the shell's variable initialization code to speed
-    non-interactive startup.
-
-j.  Changes to the non-job-control code so that it does not try to open
-    /dev/tty.
-
-k.  The output of `set' and `export' is once again sorted, as POSIX wants.
-
-l.  Fixed a problem caused by a recursive call reparsing the value of
-    $SHELLOPTS.
-
-m.  The tilde code no longer calls getenv() when it's compiled as part of
-    the shell, which should eliminate problems on systems that cannot
-    redefine getenv(), like the NeXT OS.
-
-n.  Fixed a problem that caused `bash -o' or `bash +o' to not list all
-    the shell options.
-
-o.  Fixed `ulimit' to convert RLIM_INFINITY to the appropriate hard limit
-    only if the hard limit is greater than the current (soft) limit.
-
-p.  Fixed a problem that arose when building bash in a different directory
-    than the source and y.tab.[ch] were remade with something other than
-    bison.  This came up most often on NetBSD.
-
-q.  Fixed a problem with completion -- it thought that `pwd`/[TAB] indicated
-    an unfinished command completion (`/), which generated errors.
-
-r.  The bash special tilde expansions (~-, ~+) are now attempted before
-    calling the standard tilde expansion code, which should eliminate the
-    problems people have been seeing with this on Solaris 2.5.1.
-
-s.  Added support for <stdarg.h> to places where it was missing.
-
-t.  Changed the code that reads the output of a command substitution to not
-    go through stdio.  This reduces the memory requirements and is faster.
-
-u.  A number of changes to speed up export environment creation were made.
-
-v.  A number of memory leaks were fixed as the result of running the test
-    scripts through Purify.
-
-w.  Fixed a bug that caused subshells forked to interpret executable
-    scripts without a leading `#!' to not reinitialize the values of
-    the shell options.
-
-2.  Changes to Readline
-
-a.  History library has less `#ifdef SHELL' code -- abstracted stuff out
-    into application-specific function hooks.
-
-b.  Readline no longer calls getenv() if it's compiled as part of the shell,
-    which should eliminate problems on systems that cannot redefine getenv(),
-    like the NeXT OS.
-
-c.  Fixed translation of ESC when `untranslating' macro values.
-
-d.  The region kill operation now fixes the mark if it ends up beyond the
-    boundaries of the line after the region is deleted.
-
-3.  New Features in Bash
-
-a.  New argument for `configure':  `--with-curses'.  This can be used to
-    override the selection of the termcap library on systems where it is
-    deficient.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.01-alpha1,
-and the previous version, bash-2.0-release.
-
-1.  Changes to Bash
-
-a.  System-specific configuration changes for: FreeBSD, SunOS4, Irix,
-    MachTen, QNX 4.2, Harris Night Hawk, SunOS5.
-
-b.  System-specific code changes were made for: Linux, 4.4 BSD, QNX 4.2,
-    HP-UX, AIX 4.2.
-
-c.  A bug that caused the exec builtin to fail because the full pathname of
-    the command could not be found was fixed.
-
-d.  The code that performs output redirections is now more resistant to
-    race conditions and possible security exploits.
-
-e.  A bug that caused the shell to dump core when performing pattern
-    substitutions on variable values was fixed.
-
-f.  More hosts are now recognized by the auto-configuration mechanism
-    (OpenBSD, QNX, others).
-
-g.  Assignments to read-only variables that attempt to convert them to
-    arrays are now errors.
-
-h.  A bug that caused shell scripts using array assignments in POSIX mode
-    to exit after the assignment was performed was fixed.
-
-i.  The substring expansion code is now more careful about running off the
-    ends of the expanded variable value.
-
-j.  A bug that caused completion to fail if a backquoted command substitution
-    appeared anywhere on the line was fixed.
-
-k.  The `source' builtin no longer turns off history if it has been enabled
-    in a non-interactive shell.
-
-l.  A bug that caused the shell to crash when `disown' was given a pid
-    instead of a job number was fixed.
-
-m.  The `cd' spelling correction code will not try to change to `.' if no
-    directory entries match a single-character argument.
-
-n.  A bad variable name supplied to `declare', `export', or `readonly' no
-    longer causes a non-interactive shell in POSIX mode to exit.
-
-o.  Some fixes were made to the test suite to handle peculiarities of
-    various Unix versions.
-
-p.  The bash completion code now quotes characters that readline would
-    treat as word breaks for completion but are not shell metacharacters.
-
-q.  Bad options supplied at invocation now cause a usage message to be
-    displayed.
-
-r.  Fixes were made to the code that handles DEBUG traps so that the trap
-    string is not freed inappropriately.
-
-s.  Some changes were made to the bash debugger in examples/bashdb -- it
-    should be closer to working now.
-
-t.  A problem that caused the default filename used for mail checking to be
-    wrong was fixed.
-
-u.  A fix was made to the `echo' builtin so that NUL characters printed with
-    `echo -e' do not cause the output to be truncated.
-
-v.  A fix was made to the job control code so that the shell behaves better
-    when monitor mode is enabled in a non-interactive shell.
-
-w.  Bash no longer catches all of the terminating signals in a non-
-    interactive shell until a trap is set on EXIT, which should result in
-    quicker startup.
-
-x.  A fix was made to the command timing code so that `time' can be used in
-    a loop.
-
-y.  A fix was made to the parser so that `((cmd); cmd2)' is now parsed as
-    a nested subshell rather than strictly as an (erroneous) arithmetic
-    command.
-
-z.  A fix was made to the globbing code so that it correctly matches quoted
-    filenames beginning with a `.'.
-
-aa. A bug in `fc' that caused some multi-line commands to not be stored as
-    one command in the history when they were re-executed after editing
-    (with `fc -e') was fixed.
-
-bb. The `ulimit' builtin now attempts to catch some classes of integer
-    overflows.
-
-cc. The command-oriented-history code no longer attempts to add `;'
-    inappropriately when a newline appears while reading a $(...) command
-    substitution.
-
-dd. A bug that caused the shell to dump core when `help --' was executed
-    was fixed.
-
-ee. A bug that caused the shell to crash when an unset variable appeared
-    in the body of a here document after `set -u' had been executed was
-    fixed.
-
-ff. Implicit input redirections from /dev/null for asynchronous commands
-    are now handled better.
-
-gg. A bug that caused the shell to fail to compile when configured with
-    `--disable-readline' was fixed.
-
-hh. The globbing code should now be interruptible.
-
-ii. Bash now notices when the `kill' builtin is used to send SIGCONT to a
-    stopped job and adjusts the data structures accordingly, as if `bg' had
-    been executed instead.
-
-jj. A bug that caused the shell to crash when mixing calls to `getopts'
-    and `shift' on the same set of positional parameters was fixed.
-
-kk. The command printing code now preserves the `-p' flag to `time'.
-
-ll. The command printing code now handles here documents better when there
-    are other redirections associated with the command.
-
-mm. The special glibc environment variable (NNN_GNU_nonoption_argv_flags_)
-    is no longer placed into the environment of executed commands -- users
-    of glibc had too many problems with it.
-
-nn. Reorganized the code that generates signames.h.  The signal_names list
-    is now more complete but may be slightly different (SIGABRT is favored
-    over SIGIOT, for example).  The preferred signal names are those
-    listed in the POSIX.2 standard.
-
-oo. `bashbug' now uses a filename shorter than 14 characters for its
-    temporary file, and asks for confirmation before sending the bug
-    report.
-
-pp. A bug that caused TAB completion in vi editing mode to not be turned
-    off when `set -o posix' was executed or back on when `set +o posix'
-    was executed was fixed.
-
-qq. A bug in the brace expansion code that caused brace expansions appearing
-    in new-style $(...) command substitutions to be inappropriately expanded
-    was fixed.
-
-rr. A bug in the readline hook shell-expand-line that could cause memory to
-    be inappropriately freed was fixed.
-
-ss. A bug that caused some arithmetic expressions containing `&&' and `||'
-    to be parsed with the wrong precedence has been fixed.
-
-tt. References to unbound variables after `set -u' has been executed now
-    cause the shell to exit immediately, as they should.
-
-uu. A bug that caused the shell to exit inappropriately when `set -e' had
-    been executed and a command's return status was being inverted with the
-    `!' reserved word was fixed.
-
-vv. A bug that could occasionally cause the shell to crash with a
-    divide-by-zero error when timing a command was fixed.
-
-ww. A bug that caused parameter pattern substitution to leave stray
-    backslashes in the replacement string when the expression is in
-    double quotes was fixed.
-
-xx. The `break' and `continue' builtins now break out of all loops when an
-    invalid count argument is supplied.
-
-yy. Fixed a bug that caused PATH to be set to the empty string if
-    `command -p' is executed with PATH unset.
-
-zz. Fixed `kill -l signum' to print the signal name without the `SIG' prefix,
-    as POSIX specifies.
-
-aaa. Fixed a bug that caused the shell to crash while setting $SHELLOPTS
-     if there were no shell options set.
-
-bbb. Fixed `export -p' and `readonly -p' so that when the shell is in POSIX
-     mode, their output is as POSIX.2 specifies.
-
-ccc. Fixed a bug in `readonly' so that `readonly -a avar=(...)' actually
-     creates an array variable.
-
-ddd. Fixed a bug that prevented `time' from correctly timing background
-     pipelines.
-
-2.  Changes to Readline
-
-a.  A bug that caused an extra newline to be printed when the cursor was on
-    an otherwise empty line was fixed.
-
-b.  An instance of memory being used after it was freed was corrected.
-
-c.  The redisplay code now works when the prompt is longer than the screen
-    width.
-
-d.  `dump-macros' is now a bindable name, as it should have been all along.
-
-e.  Non-printable characters are now expanded when displaying macros and
-    their values.
-
-f.  The `dump-variables' and `dump-macros' commands now output a leading
-    newline if they're called as the result of a key sequence, rather
-    than directly by an application.
-
-3.  New Features in Bash
-
-a.  There is a new builtin array variable: GROUPS, the set of groups to which
-    the user belongs.  This is used by the test suite.
-
-4.  New Features in Readline
-
-a.  If a key sequence bound to `universal-argument' is read while reading a
-    numeric argument started with `universal-argument', it terminates the
-    argument but is otherwise ignored.  This provides a way to insert multiple
-    instances of a digit string, and is how GNU emacs does it.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-release,
-and the previous version, bash-2.0-beta3.
-
-1.  Changes to Bash
-
-a.  Fix to the `getopts' builtin so that it does the right thing when a
-    required option argument is not present.
-
-b.  The completion code now updates the common prefix of matched names
-    after FIGNORE processing is done, since any names that were removed
-    may have changed the common prefix.
-
-c.  Fixed a bug that made messages in MAILPATH entries not work correctly.
-
-d.  Fixed a serious documentation error in the description of the new
-    ${parameter:offset[:length]} expansion.
-
-e.  Fixes to make parameter substring expansion ({$param:offset[:length]})
-    work when within double quotes.
-
-f.  Fixes to make ^A (CTLESC) survive an unquoted expansion of positional
-    parameters.
-
-g.  Corrected a misspelling of `unlimited' in the output of `ulimit'.
-
-h.  Fixed a bug that caused executable scripts without a leading `#!' to
-    occasionally pick up the wrong set of positional parameters.
-
-i.  Linux systems now have a working `ulimit -v', using RLIMIT_AS.
-
-j.  Updated config.guess so that many more machine types are recognized.
-
-k.  Fixed a bug with backslash-quoted slashes in the ${param/pat[/sub]}
-    expansion.
-
-l.  If the shell is named `-su', and `-c command' is supplied, read and
-    execute the login shell startup files even though the shell is not
-    interactive.  This is to support the `-' option to `su'.
-
-m.  Fixed a bug that caused core dumps when the DEBUG trap was ignored
-    with `trap "" DEBUG' and a shell function was subsequently executed.
-
-n.  Fixed a bug that caused core dumps in the read builtin when IFS was
-    set to the null string and the input had leading whitespace.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused a numeric argument of 1024 to be ignored when
-    inserting text.
-
-b.  Fixed the display code so that the numeric argument is displayed as it's
-    being entered.
-
-c.  Fixed the numeric argument reading code so that `M-- command' is
-    equivalent to `M--1 command', as the prompt implies.
-
-3.  New Features in Bash
-
-a.  `ulimit' now sets both hard and soft limits and reports the soft limit
-    by default (when neither -H nor -S is specified).  This is compatible
-    with versions of sh and ksh that implement `ulimit'.
-
-b.  Integer constants have been extended to base 64.
-
-4.  New Features in Readline
-
-a.  The `home' and `end' keys are now bound to beginning-of-line and
-    end-of-line, respectively, if the corresponding termcap capabilities
-    are present.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-beta3,
-and the previous version, bash-2.0-beta2.
-
-1.  Changes to Bash
-
-a.  System-specific changes for: AIX 4.2, SCO 3.2v[45], HP-UX.
-
-b.  When in POSIX mode, variable assignments preceding a special builtin
-    persist in the shell environment after the builtin completes.
-
-c.  Changed all calls to getwd() to getcwd().  Improved check for systems
-    where the libc getcwd() calls popen(), since that breaks on some
-    systems when job control is being used.
-
-d.  Fixed a bug that caused seg faults when executing scripts with the
-    execute bit set but without a leading `#!'.
-
-e.  The environment passed to executed commands is never sorted.
-
-f.  A bug was fixed in the code that expands ${name[@]} to the number of
-    elements in an array variable.
-
-g.  A bug was fixed in the array compound assignment code ( A=( ... ) ).
-
-h.  Window size changes now correctly propagate down to readline if
-    the shopt `checkwinsize' option is enabled.
-
-i.  A fix was made in the code that expands to the length of a variable
-    value (${#var}).
-
-j.  A fix was made to the command builtin so that it did not turn on the
-    `no fork' flag inappropriately.
-
-k.  A fix was made to make `set -n' work more reliably.
-
-l.  A fix was made to the job control initialization code so that the
-    terminal process group is set to the shell's process group if the
-    shell changes its own process group.
-
-2.  Changes to Readline
-
-a.  System-specific changes for: SCO 3.2v[45].
-
-b.  The behavior of the vi-mode `.' when redoing an `i' command was changed
-    to insert the text previously inserted by the `i' command rather than
-    simply entering insert mode.
-
-3.  New features in Bash
-
-a.  There is a new version of the autoload function package, in
-    examples/functions/autoload.v2, that uses arrays and provides more
-    functionality.
-
-b.  Support for LC_COLLATE and locale-specific sorting of the results of
-    pathname expansion if strcoll() is available.
-
-4.  New Features in Readline
-
-a.  Support for locale-specific sorting of completion possibilities if
-    strcoll() is available.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-beta2,
-and the previous version, bash-2.0-beta1.
-
-1.  Changes to Bash
-
-a.  `pushd -' is once again equivalent to `pushd $OLDPWD'.
-
-b.  OS-specific changes for: SCO 3.2v[45].
-
-c.  A change was made to the fix for the recently-reported security hole
-    when reading characters with octal value 255 to make it work better on
-    systems with restartable system calls when not using readline.
-
-d.  Some changes were made to the test suite so that it works if you
-    configure bash with --enable-usg-echo-default.
-
-e.  A fix was made to the parsing of conditional arithmetic expressions.
-
-f.  Illegal arithmetic bases now cause an arithmetic evaluation error rather
-    than being silently reset.
-
-g.  Multiple arithmetic bases now cause an arithmetic evaluation error
-    instead of being ignored.
-
-h.  A fix was made to the evaluation of ${param?word} to conform to POSIX.2.
-
-i.  A bug that sometimes caused array indices to be evaluated twice (which
-    would cause errors when they contained assignment statements) was fixed.
-
-j.  `ulimit' was rewritten to avoid problems with getrlimit(2) returning
-    unsigned values and to simplify the code.
-
-k.  A bug in the command-oriented-history code that caused it to sometimes
-    put semicolons after right parens inappropriately was fixed.
-
-l.  The values inserted into the prompt by the \w and \W escape sequences
-    are now quoted to prevent further expansion.
-
-m.  An interactive shell invoked as `sh' now reads and executes commands
-    from the file named by $ENV when it starts up.  If it's a login shell,
-    it does this after reading /etc/profile and ~/.profile.
-
-n.  The file named by $ENV is never read by non-interactive shells.
-
-2.  Changes to Readline
-
-a.  A few changes were made to hide some macros and functions that should not
-    be public.
-
-b.  An off-by-one error that caused seg faults in the history expansion code
-    was fixed.
-
-3.  New Features in Bash
-
-a.  The ksh-style ((...)) arithmetic command was implemented.  It is exactly
-    identical to let "...".  This is controlled by a new option to configure,
-    `--enable-dparen-arithmetic', which is on by default.
-
-b.  There is a new #define available in config.h.top: SYS_BASH_LOGOUT.  If
-    defined to a filename, bash reads and executes commands from that file
-    when a login shell exits.  It's commented out by default.
-
-c.  `ulimit' has a `-l' option that reports the maximum amount of data that
-    may be locked into memory on 4.4BSD-based systems.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-beta1,
-and the previous version, bash-2.0-alpha4.
-
-1.  Changes to Bash
-
-a.  A bug that sometimes caused traps to be ignored on signals the
-    shell treats specially was fixed.
-
-b.  The internationalization code was changed to track the values of
-    LC_* variables and call setlocale() as appropriate.  The TEXTDOMAIN
-    and TEXTDOMAINDIR variables are also tracked; changes cause calls
-    to textdomain() and bindtextdomain(), if available.
-
-c.  A bug was fixed that sometimes caused double-quoted strings to be
-    parsed incorrectly.
-
-d.  Changes were made so that the siglist code compiles correctly on
-    Solaris 2.5.
-
-e.  Added `:' to the set of characters that cause word breaks for the
-    completion code so that pathnames in assignments to $PATH can be
-    completed.
-
-f.  The `select' command was fixed to print $PS3 to stderr.
-
-g.  Fixed an error in the manual page section describing the effect that
-    setting and unsetting GLOBIGNORE has on the setting of the `dotglob'
-    option.
-
-h.  The time conversion code now uses CLK_TCK rather than CLOCKS_PER_SEC
-    on systems without gettimeofday() and resources.
-
-i.  The getopt static variables are now initialized each time a subshell
-    is started, so subshells using `getopts' work right.
-
-j.  A sign-extension bug that caused a possible security hole was fixed.
-
-k.  The parser now reads characters between backquotes within a double-
-    quoted string as a single word, so double quotes in the backquoted
-    string don't terminate the enclosing double-quoted string.
-
-l.  A bug that caused `^O' to work incorrectly when typed as the first
-    thing to an interactive shell was fixed.
-
-m.  A rarely-exercised off-by-one error in the code that quotes variable
-    values was fixed.
-
-n.  Some memory and file descriptor leaks encountered when running a
-    shell script that is executable but does not have a leading `#!'
-    were plugged.
-
-2.  Changes to Readline
-
-a.  A bug that sometimes caused incorrect results when trying to read
-    typeahead on systems without FIONREAD was fixed.
-
-3.  New Features in Bash
-
-a.  The command timing code now uses the value of the TIMEFORMAT variable
-    to format and display timing statistics.
-
-b.  The `time' reserved word now accepts a `-p' option to force the
-    POSIX.2 output format.
-
-c.  There are a couple of new and updated scripts to convert csh startup
-    files to bash format.
-
-d.  There is a new builtin array variable: BASH_VERSINFO.  The various
-    members hold the parts of the version information in BASH_VERSION,
-    plus the value of MACHTYPE.
-
-4.  New Features in Readline
-
-a.  Setting LANG to `en_US.ISO8859-1' now causes readline to enter
-    eight-bit mode.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-alpha4,
-and the previous version, bash-2.0-alpha3.
-
-1.  Changes to Bash
-
-a.  There is better detection of rsh connections on Solaris 2.
-
-b.  Assignments to read-only variables preceding a command name are now
-    variable assignment errors.  Variable assignment errors cause
-    non-interactive shells running in posix mode to exit.
-
-c.  The word tokenizer was rewritten to handle nested quotes and pairs
-    ('', "", ``, ${...}, $(...), $[...], $'...', $"...", <(...), >(...))
-    correctly.  Some of the parameter expansion code was updated as a
-    consequence.
-
-d.  A fix was made to `test' when given three arguments so that a binary
-    operator is checked for first, before checking that the first argument
-    is `!'.
-
-e.  2''>/dev/null is no longer equivalent to 2>/dev/null.
-
-f.  Parser error messages were regularized, and in most cases the name of
-    the shell script being read by a non-interactive shell is not printed
-    twice.
-
-g.  A fix was made to the completion code so that it no longer removes the
-    text the user typed in some cases.
-
-h.  The special glibc `getopt' environment variable is no longer put into
-    the environment on machines with small values of ARG_MAX.
-
-i.  The expansion of ${...} now follows the POSIX.2 rules for finding the
-    closing `}'.
-
-j.  The shell no longer displays spurious status messages for background
-    jobs in shell scripts that complete successfully when the script is
-    run from a terminal.
-
-k.  `shopt -o' now correctly updates $SHELLOPTS.
-
-l.  A bug that caused the $PATH searching code to return a non-executable
-    file even when an executable file with the same name appeared later in
-    $PATH was fixed.
-
-m.  The shell now does tilde expansions on unquoted `:~' in assignment
-    statements when not in posix mode.
-
-n.  Variable assignment errors when a command consists only of assignments
-    now cause non-interactive shells to exit when in posix mode.
-
-o.  If the variable in a `for' or `select' command is read-only, or not a
-    legal shell identifier, a variable assignment error occurs.
-
-p.  `test' now handles `-a' and `-o' as binary operators when three arguments
-    are supplied, and correctly parses `( word )' as equivalent to `word'.
-
-q.  `test' was fixed so that file names of the form /dev/fd/NN mean the same
-    thing on all systems, even Linux.
-
-r.  Fixed a bug in the globbing code that caused patterns with multiple
-    consecutive `*'s to not be matched correctly.
-
-s.  Fixed a bug that caused $PS2 to not be printed when an interactive shell
-    not using readline is reading a here document.
-
-t.  Fixed a bug that caused history expansion to be performed inappropriately
-    when a single-quoted string spanned more than one line.
-
-u.  `getopts' now checks that the variable name passed by the user as the
-    second argument is a legal shell identifier and that the variable is
-    not read-only.
-
-v.  Fixed `getopts' to obey POSIX.2 rules for setting $OPTIND when it
-    encounters an error.
-
-w.  Fixed `set' to display variable values in a form that can be re-read.
-
-x.  Fixed a bug in the code that keeps track of whether or not local variables
-    have been declared at the current level of function nesting.
-
-y.  Non-interactive shells in posix mode now exit if the name in a function
-    declaration is not a legal identifier.
-
-z.  The job control code now ignores stopped children when the shell is not
-    interactive.
-
-aa. The `cd' builtin no longer attempts spelling correction on the directory
-    name if the shell is not interactive, regardless of the setting of the
-    `cdspell' option.
-
-bb. Some OS-specific changes were made for SCO 3.2v[45] and AIX 4.2.
-
-cc. `time' now prints its output to stderr, as POSIX.2 specifies.
-
-2.  Fixes to Readline
-
-a.  After printing possible completions, all lines of a multi-line prompt
-    are redisplayed.
-
-b.  Some changes were made to the terminal handling code in rltty.c to
-    work around AIX 4.2 bugs.
-
-3.  New Features in Bash
-
-a.  There is a new loadable builtin: sprintf, with calling syntax
-               sprintf var format [args]
-    This provides an easy way to simulate ksh left- and right-justified
-    variable values.
-
-b.  The expansions of \h and \H in prompt strings were swapped.  \h now
-    expands to the hostname up to the first `.', as in bash-1.14.
-
-4.  New Features in Readline
-
-a.  The bash-1.14 behavior when ^M is typed while doing an incremental
-    search was restored.  ^J may now be used to terminate the search without
-    accepting the line.
-
-b.  There is a new bindable variable: disable-completion.  This inhibits
-    word completion and causes the completion character to be inserted as
-    if it had been bound to self-insert.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-2.0-alpha3,
-and the previous version, bash-2.0-alpha2.
-
-There is now a file `COMPAT' included in the distribution that lists the
-user-visible incompatibilities between 1.14 and 2.0.
-
-1. Changes to Bash
-
-a. Some work was done so that word splitting of the rhs of assignment
-   statements conforms more closely to historical practice.
-
-b. A couple of errant memory frees were fixed.
-
-c. A fix was made to the test builtin so it recognizes `<' and `>' as
-   binary operators.
-
-d. The GNU malloc in lib/malloc/malloc.c now scrambles memory as it's
-   allocated and freed.  This is to catch callers that refer to freed
-   memory or assume something about newly-allocated memory.
-
-e. Fixed a problem with conversion to 12-hour time in the prompt
-   expansion code.
-
-f. Fixed a problem with configure's argument parsing order.  Now you can
-   correctly turn on specific options after using --enable-minimal-config.
-
-g. The configure script now automatically disables the use of GNU malloc
-   on systems where it's appropriate (better than having people read the
-   NOTES file and do it manually).
-
-h. There are new prompt expansions (\v and \V) to insert version information
-   into the prompt strings.
-
-i. The default prompt string now includes the version number.
-
-j. Most of the builtins that take no options were changed to use the
-   internal getopt so they can produce proper error messages for -?
-   and incorrect options.
-
-k. Some system-specific changes were made for SVR4.2 and Solaris 2.5.
-
-l. Bash now uses PATH_MAX instead of MAXPATHLEN and NAME_MAX instead of
-   MAXNAMLEN.
-
-m. A couple of problems caused by uninitialized variables were fixed.
-
-n. There are a number of new loadable builtin examples: logname, basename,
-   dirname, tty, pathchk, tee, head, and rmdir.  All of these conform to
-   POSIX.2.
-
-o. Bash now notices changes in TZ and calls tzset() if present, so
-   changing TZ will alter the time printed by prompt expansions.
-
-p. The source was reorganized a bit so I don't have to wait so long for
-   some files to compile, and to facilitate the creation of a `shell
-   library' at some future point.
-
-q. Bash no longer turns off job control if called as `sh', since the
-   POSIX.2 spec includes job control as a standard feature.
-
-r. `bash -o posix' now works as intended.
-
-s. Fixed a problem with the completion code: when completing a filename
-   that contained globbing characters, if show-all-if-ambiguous was set,
-   the completion code would remove the user's text.
-
-t. Fixed ulimit so that (hopefully) the full range of limits is available
-   on HPUX systems.
-
-u. A new `shopt' option (`hostcomplete') enables and disables hostname
-   completion.
-
-v. The shell no longer attempts to save the history on an abort(),
-   which is usually called by programming_error().
-
-w. The `-s' option to `fc' was changed to echo the command to be executed
-   to stderr instead of stdout.
-
-x. If the editor invoked by `fc -e' exits with a non-zero status, no
-   commands are executed.
-
-y. Fixed a bug that made the shopt `histverify' option work incorrectly.
-
-z. There is a new variable `MACHTYPE' whose value is the GNU-style
-   `cpu-company-system' system description as set by configure.  (The
-   values of MACHTYPE and HOSTTYPE should really be swapped.)
-
-aa. The `ulimit' builtin now allows the maximum virtual memory size to be
-    set via setrlimit(2) if RLIMIT_VMEM is defined.
-
-bb. `bash -nc 'command'' no longer runs `command'.
-
-2. Changes to Readline
-
-a. Fixed a typo in the code that checked for FIONREAD in input.c.
-
-b. Fixed a bug in the code that outputs keybindings, so things like C-\
-   are quoted properly.
-
-c. Fixed a bug in the inputrc file parsing code to handle the problems
-   caused by inputrc files created from the output of `bind -p' in
-   previous versions of bash.  The problem was due to the bug fixed
-   in item b above.
-
-d. Readline no longer turns off the terminal's meta key, and turns it on
-   once the first time it's called.
-
-------------------------------------------------------------------------------
-This file documents the changes between this version, bash-2.0-alpha2,
-and the previous version, bash-2.0-alpha.
-
-1. Changes to Bash
-
-a. The shell no longer thinks directories are executable.
-
-b. `disown' has a new option, `h', which inhibits the resending of SIGHUP
-   but does not remove the job from the jobs table.
-
-c. The varargs functions in error.c now use ANSI-C `stdarg' if available.
-
-d. The build process now treats the `build version' in .build as local to
-   the build directory, so different versions built from the same source
-   tree have different `build versions'.
-
-e. Some problems with the grammar have been fixed. (It used `list' in a few
-   productions where `compound_list' was needed.  A `list' must be terminated
-   with a newline or semicolon; a `compound_list' need not be.)
-
-f. A fix was made to keep `wait' from hanging when waiting for all background
-   jobs.
-
-g. `bash --help' now writes its output to stdout, like the GNU Coding Standards
-   specify, and includes the machine type (the value of MACHTYPE).
-
-h. `bash --version' now prints more information and exits successfully, like
-   the GNU Coding Standards specify.
-
-i. The output of `time' and `times' now prints fractional seconds with three
-   places after the decimal point.
-
-j. A bug that caused process substitutions to screw up the pipeline printed
-   by `jobs' was fixed.
-
-k. Fixes were made to the code that implements $'...' and $"..." so they
-   work as documented.
-
-l. The process substitution code now opens named pipes for reading with
-   O_NONBLOCK to avoid hanging.
-
-m. Fixes were made to the trap code so the shell cleans up correctly if the
-   trap command contains a `return' and we're executing a function or
-   sourcing a script with `.'.
-
-n. Fixes to doc/Makefile.in so that it doesn't try to remake all of the
-   documentation (ps, dvi, etc.) on a `make install'.
-
-o. Fixed an auto-increment error that caused bash -c args to sometimes dump
-   core.
-
-p. Fixed a bug that caused $HISTIGNORE to fail when the history line
-   contained globbing characters.
-
-2. Changes to Readline
-
-a. There is a new string variable, rl_library_version, available for use by
-   applications.  The current value is "2.1".
-
-b. A bug encountered when expand-tilde was enabled and file completion was
-   attempted on a word beginning with `~/' was fixed.
-
-c. A slight change was made to the incremental search termination behavior.
-   ESC still terminates the search, but if input is pending or arrives
-   within 0.1 seconds (on systems with select(2)), it is used as a prefix
-   character.  This is intented to allow users to terminate searches with
-   the arrow keys and get the behavior they expect.
index 953cef069310fce59e27f57573da7114d4dcabe8..ee608e1cd670ac374338819559b5b58100908a5a 100644 (file)
--- a/CHANGES~
+++ b/CHANGES~
@@ -1,3 +1,58 @@
+This document details the changes between this version, bash-4.3-beta, and the
+previous version, bash-4.3-alpha.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the prompt directory name "trimming" code that caused
+    memory corruption and garbled the results.
+
+b.  Fixed a bug that caused single quotes that resulted from $'...' quoting
+    in the replacement portion of a double-quoted ${word/pat/rep} expansion
+    to be treated as quote characters.
+
+c.  Fixed a bug that caused assignment statements preceding a command word to
+    result in assignment statements following a declaration command to not be
+    expanded like assignment statements.
+
+d.  Fixed a bug with variable search order in the presence of local variables
+    with the same name as variables in the temporary environment supplied to
+    a shell function.
+
+e.  Fixed a bug that caused constructs like 1<(2) to be interpreted as process
+    substitutions even in an arithmetic context.
+
+f.  Fixed several cases where `invisible' variables (variables with attributes
+    but no values, which are technically unset) were treated incorrectly.
+
+g.  Fixed a bug that caused group commands in pipelines that were not the
+    last element to not run the EXIT trap.
+
+h.  Fixed a bug that caused `unset -n' to not unset a nameref variable in
+    certain cases.
+
+i.  Fixed the nameref circular reference checking to be less strict and only
+    disallow a nameref variable with the same value as its name at the global
+    scope.
+
+2.  Changes to Readline
+
+a.  Fixed a bug in vi mode that caused the arrow keys to set the saved last
+    vi-mode command to the wrong value.
+
+b.  Fixed a bug that caused double-quoted strings to be scanned incorrectly
+    when being used as the value of a readline variable assignment.
+
+c.  Fixed a bug with vi mode that prevented `.' from repeating a command
+    entered on a previous line (command).
+
+d.  Fixed a bug that could cause completion to core dump if it was interrupted
+    by a signal.
+
+3.  New Features in Bash
+
+a.  Shells started to run process substitutions now run any trap set on EXIT.
+
+------------------------------------------------------------------------------
 This document details the changes between this version, bash-4.3-alpha,
 and the previous version, bash-4.2-release.
 
index ae1afdddbea94039c511ed60759208f27b9f5252..2e4f64b7c0f937d48de41717f372269e2d620a44 100644 (file)
@@ -4922,3 +4922,26 @@ builtins/declare.def
 configure.ac
        - update release status to beta
 
+                                  5/23
+                                  ----
+trap.c
+       - run_pending_traps: save and restore pipeline around calls to
+         evalstring() in case we get a trap while running a trap. Have to
+         figure out the recursive running traps issue elsewhere.  Fixes
+         bug reported by Roman Rakus <rrakus@redhat.com>
+       - run_pending_traps: make sure to set running_trap to the appropriate
+         signal value when running a trap command
+       - run_pending_traps: short-circuit immediately if running_trap set
+         when invoked.  Could change this later to only skip if it would
+         run the same trap as currently being run (running_trap == sig + 1)
+
+configure.ac
+       - add warning if bison not found
+
+lib/readline/doc/rltech.texi
+       - new section with an example program illustrating the callback
+         interface. Suggested by Peng Yu <pengyu.ut@gmail.com>
+
+examples/loadables/Makefile.in
+       - remove references to `cut' and `getconf', which were removed in
+         early March
diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~
new file mode 100644 (file)
index 0000000..392397b
--- /dev/null
@@ -0,0 +1,4943 @@
+                                2/14/2011
+                                ---------
+[bash-4.2 released]
+
+                                  2/15
+                                  ----
+lib/glob/gmisc.c
+       - fix wmatchlen and umatchlen to avoid going past the end of the
+         string on an incomplete bracket expression that ends with a
+         NUL.  Partial fix for bug reported by Clark Wang <dearvoid@gmail.com>
+
+                                  2/16
+                                  ----
+subst.h
+       - new string extract flag value: SX_WORD.  Used when calling
+         extract_dollar_brace_string to skip over the word in
+         ${param op word} from parameter_brace_expand
+
+subst.c
+       - change parameter_brace_expand to add SX_WORD to flags passed to
+         extract_dollar_brace_string
+       - change parameter_brace_expand to use SX_POSIXEXP for all non-posix
+         word expansion operators that treat single quotes as special, not
+         just % and #
+       - change extract_dollar_brace_string to initialize dolbrace_state to
+         DOLBRACE_WORD if SX_WORD flag supplied and we shouldn't use
+         DOLBRACE_QUOTE.  Fixes bug reported by Juergen Daubert <jue@jue.li>
+
+doc/{bash.1,bashref.texi}
+       - document the exact expansions here strings undergo
+
+                                  2/17
+                                  ----
+lib/readline/vi_mode.c
+       - make sure that `dd', `cc', and `yy' call vidomove_dispatch from
+         rl_domove_read_callback.  Fixes bug reported by Clark Wang
+         <dearvoid@gmail.com>
+
+lib/readline/callback.c
+       - make sure _rl_internal_char_cleanup is called after the
+         vi-motion callbacks (rl_vi_domove_callback) in rl_callback_read_char.
+         Companion to above fix
+
+doc/{bash.1,bashref.texi}
+       - make sure that the text describing the rhs of the == and =~
+         operators to [[ states that only the quoted portion of the pattern
+         is matched as a string
+
+                                  2/18
+                                  ----
+lib/glob/gmisc.c
+       - better fix for umatchlen/wmatchlen: keep track of the number of
+         characters in a bracket expression as the value to increase
+         matchlen by if the bracket expression is not well-formed.  Fixes
+         bug reported by Clark Wang <dearvoid@gmail.com>
+
+subst.c
+       - change expand_string_for_rhs so that it sets the W_NOSPLIT2 flag
+         in the word flags.  We will not perform word splitting or quote
+         removal on the result, so we do not want to add quoted nulls if
+         we see "" or ''.  Fixes bug reported by Mike Frysinger
+         <vapier@gentoo.org>
+
+                                  2/19
+                                  ----
+variables.c
+       - new function, int chkexport(name), checks whether variable NAME is
+         exported and remakes the export environment if necessary.  Returns
+         1 if NAME is exported and 0 if not
+       - call chkexport(name) to get tzset to look at the right variable in
+         the environment when modifying TZ in sv_tz.  Don't call tzset if
+         chkexport doesn't indicate that the variable is exported
+
+variables.h
+       - new extern declaration for chkexport
+
+
+{parse.y,builtins/printf.def}
+       - call sv_tz before calling localtime() when formatting time strings
+         in prompt strings or using printf.  Fixes bug reported by
+         Dennis Williamson <dennistwilliamson@gmail.com>
+
+execute_cmd.c
+       - modify fix of 2/9 to add casts when those variables are passed to
+         functions; some compilers throw errors instead of warnings.  Report
+         and fix from Joachim Schmitz <jojo@schmitz-digital.de>
+
+support/shobj-conf
+       - add a stanza for nsk on the Tandem from Joachim Schmitz
+         <jojo@schmitz-digital.de>
+
+{shell,lib/readline/shell}.c
+       - Tandem systems should use getpwnam (getlogin()); for some reason
+         they don't do well with using getuid().  Fix from Joachim Schmitz
+         <jojo@schmitz-digital.de>
+
+                                   3/1
+                                   ---
+variables.c
+       - make sure that the return value from find_variable is non-null
+         before trying to use it in chkexport.  Fixes bug reported by
+         Evangelos Foutras <foutrelis@gmail.com>
+
+                                   3/3
+                                   ---
+parse.y
+       - when adding $$ to the current token buffer in read_token_word(),
+         don't xmalloc a buffer for two characters and then strcpy it, just
+         copy the characters directly into the token buffer.  Fix from
+         Michael Whitten <mfwitten@gmail.com>
+
+execute_cmd.c
+       - fix expand_word_unsplit to add the W_NOSPLIT2 flag to the word to
+         be expanded, so "" doesn't add CTLNUL.  Similar to fix of 2/18 to
+         expand_string_for_rhs.  Fixes bug reported by Nathanael D. Noblet
+         <nathanael@gnat.ca> and Matthias Klose <doko@debian.org>
+
+parse.y
+       - fix extended_glob case of read_token_word to allocate an extra
+         space in the buffer for the next character read after the extended
+         glob specification if it's a CTLESC or CTLNUL.  Report and fix from
+         Michael Witten <mfwitten@gmail.com>
+       - fix shell expansions case of read_token_word to allocate an extra
+         space in the buffer for the next character read after the shell
+         expansion if it's a CTLESC or CTLNUL.  Report and fix from
+         Michael Witten <mfwitten@gmail.com>
+       - TENTATIVE: fix read_token_word to reduce the amount of buffer space
+         required to hold the translated and double-quoted value of $"..."
+         strings.  Report and fix from Michael Witten <mfwitten@gmail.com>
+       - change code around got_character and got_escaped_character labels to
+         make sure that we call RESIZE_MALLOCED_BUFFER before adding the
+         CTLESC before a CTLESC or CTLNUL, and before adding the character if
+         we're not adding a CTLESC.  Report and fix from
+         Michael Witten <mfwitten@gmail.com>
+
+subst.c
+       - new param flags value, PF_ASSIGNRHS, mirrors W_ASSIGNRHS, noting that
+         parameter expansion is on rhs of assignment statement.  That inhibits
+         word splitting
+       - change param_expand to call string_list_dollar_at with quoted == 1
+         if PF_ASSIGNRHS is set, so it will quote IFS characters in the
+         positional parameter before separating them with the first char of
+         $IFS.  This keeps the rhs from being split inappropriately.  Fixes
+         bug reported by Andres Perera <andres.p@zoho.com>
+
+                                   3/4
+                                   ---
+lib/readline/bind.c
+       - add a missing free of `names' in rl_function_dumper.  Bug report
+         and fix from Michael Snyder <msnyder@vmware.com>
+
+                                   3/5
+                                   ---
+lib/readline/rltty.c
+       - change rl_deprep_terminal so it uses fileno (stdin) for the tty fd
+         if rl_instream is not set, like rl_prep_terminal
+
+                                   3/6
+                                   ---
+lib/readline/display.c
+       - fix rl_message to use a dynamically-allocated buffer instead of a
+         fixed-size buffer of 128 chars for the `local message prompt'.  Bug
+         report and fix from Micah Cowan <micah@cowan.name>
+
+                                   3/7
+                                   ---
+jobs.c
+       - add sentinel to wait_sigint_handler so it only sets wait_sigint_received
+         if waiting_for_child is non-zero; otherwise, it restores the old
+         SIGINT handler and sends itself the SIGINT
+       - set waiting_for_child around the calls to waitchld that use it to
+         synchronously wait for a process
+       - change logic that decides whether or not the child process blocked
+         or handled SIGINT based on whether or not waitpid returns -1/EINTR
+         and the shell receives a SIGINT and the child does not exit.  If
+         the child later exits due to SIGINT, cancel the assumoption that it
+         was handled
+       - instead of testing whether or not the child exited due to SIGINT
+         when deciding whether the shell should act on a SIGINT it received
+         while waiting, test whether or not we think the child caught
+         SIGINT.  If it did, we let it go (unless the shell has it trapped);
+         if it did not catch it, the shell acts on the SIGINT.  Fix from
+         Linus Torvalds <torvalds@linux-foundation.org>, bug report originally
+         from Oleg Nesterov <oleg@redhat.com>
+
+                                   3/8
+                                   ---
+shell.c
+       - initialize no_line_editing to 1 if READLINE is not defined -- we
+         can't have line editing without readline
+
+                                  3/12
+                                  ----
+lib/readline/signals.c
+       - add SIGHUP to the set of signals readline handles
+
+lib/readline/doc/rltech.texi
+       - document that SIGHUP is now part of the set of signals readline
+         handles
+
+lib/readline/input.c
+       - if _rl_caught_signal indicates that read() was interrupted by a
+         SIGHUP or SIGTERM, return READERR or EOF as appropriate
+       - call rl_event_hook, if it's set, if call to read in rl_getc
+         returns -1/EINTR.  If rl_event_hook doesn't do anything, this
+         continues the loop as before.  This handles the other fatal
+         signals
+
+execute_cmd.c
+       - add a couple of QUIT; calls to execute_disk_command and
+         execute_simple_command to improve responsiveness to interrupts
+         and fatal signals
+
+input.c
+       - rearrange getc_with_restart so that the return values from read()
+         are handled right
+
+parse.y
+       - don't need to set terminate_immediately in yy_stream_get, since
+         getc_with_restart checks for terminating signals itself
+       - since readline returns READERR on SIGHUP or SIGTERM, don't need
+         to set terminate_immediately.  Still doesn't handle other
+         signals well -- will have to check that some more
+
+bashline.c
+       - new function, bash_event_hook, for rl_event_hook.  Just checks for
+         terminating signals and acts on them using CHECK_TERMSIG.
+       - set rl_event_hook to bash_event_hook
+
+builtins/read.def
+       - take out setting terminate_immediately; add calls to CHECK_TERMSIG
+         after read calls
+
+doc/{bash.1,bashref.texi}
+       - move the text describing the effect of negative subscripts used to
+         reference indexed array elements to the paragraphs describing
+         ${parameter[subscript]}, since that's where they are implemented.
+         Pointed out by Christopher F. A. Johnson <cfajohnson@gmail.com>
+
+arrayfunc.[ch],subst.c
+       - array_expand_index now takes a new first argument: a SHELL_VAR *
+         of the array variable being subscripted.  Can be used later to fully
+         implement negative subscripts
+
+                                  3/14
+                                  ----
+lib/glob/glob.c
+       - fix mbskipname to not turn the directory entry name into a wide char
+         string if the conversion of the pattern to a wide char string fails
+       - fix mbskipname to call skipname if either the pattern or the filename
+         can't be converted into a wide-char string
+
+lib/glob/xmbsrtowcs.c
+       - fix xdupmbstowcs2 to handle return value of 0 from mbsnrtowcs and
+         short-circuit with failure in that case.  Fixes bug reported by
+         Roman Rakus <rrakus@redhat.com>
+
+                                  3/15
+                                  ----
+bashline.c
+       - new variable, bash_filename_quote_characters to store the value
+         assigned to rl_filename_quote_characters so it can be restored
+         if changed.
+       - change bashline_reset and attempt_shell_completion to restore
+         rl_filename_quote_characters if not set to default
+
+                                  3/22
+                                  ----
+lib/glob/glob.c
+       - wdequote_pathname falls back to udequote_pathname if xdupmbstowcs
+         fails to convert the pathname to a wide-character string
+
+lib/glob/xmbsrtowcs.c
+       - xdupmbstowcs2: change to fix problem with leading '\\' (results in
+         nms == 0, which causes it to short-circuit with failure right
+         away).  Fixes bug pointed out by Werner Fink <werner@suse.de>
+       - xdupmbstowcs2: compensate for mbsnrtowcs returning 0 by taking the
+         next single-byte character and going on
+       - xdupmbstowcs2: change memory allocation to increase by WSBUF_INC
+         bytes; try to avoid calls to realloc (even if they don't actually
+         result in more memory being allocated)
+
+                                  3/24
+                                  ----
+doc/{bash.1,bashref.texi}
+       - slightly modify BASH_SUBSHELL description based on complaint from
+         Sam Liddicott <sam@liddicott.com>
+
+                                  3/25
+                                  ----
+trap.c
+       - change free_trap_strings to not call free_trap_string for signals
+         that are being ignored, like reset_or_restore_signal_handlers.
+         Fixes bug reported by Satoshi Takahashi <blue3waters@gmail.com>
+
+                                  3/26
+                                  ----
+lib/readline/rltypedefs.h
+       - remove old Function/VFunction/CPFunction/CPPFunction typedefs as
+         suggested by Tom Tromey <tromey@redhat.com>
+
+lib/readline/rlstdc.h
+       - move defines for USE_VARARGS/PREFER_STDARG/PREFER_VARARGS from
+         config.h.in to here because declaration of rl_message in
+         readline.h uses the defines.  This makes it hard for another packages
+         to use after the header files are installed, since config.h is not
+         one of the installed files.  Suggested by Tom Tromey
+         <tromey@redhat.com>
+
+                                  3/27
+                                  ----
+print_cmd.c
+       - change indirection_string from a static buffer to a dynamic one
+         managed by indirection_level_string(), so we don't end up truncating
+         PS4.  Suggested by Dennis Williamson <dennistwilliamson@gmail.com>
+
+lib/readline/shell.c
+       - change sh_set_lines_and_columns to use static buffers instead of
+         allocating the buffers to pass to setenv/putenv
+
+lib/readline/terminal.c
+       - change _rl_get_screen_size to not call sh_set_lines_and_columns if
+         ignore_env == 0
+       - _rl_sigwinch_resize_terminal: new function to just retrieve terminal
+         size, ignoring environment
+
+lib/readline/rlprivate.h
+       - new external declaration for _rl_sigwinch_resize_terminal() (currently
+         unused)
+
+lib/readline/signals.c
+       - rl_sigwinch_handler: set _rl_caught_signal to SIGWINCH
+       - rl_sigwinch_handler: don't immediately call rl_resize_terminal; just
+         leave _rl_caught_signal set for RL_CHECK_SIGNALS to handle
+       - _rl_signal_handler: call rl_resize_terminal if sig == SIGWINCH.
+         Should fix hang when sending multiple repeated SIGWINCH reported by
+         Henning Bekel <h.bekel@googlemail.com>
+
+                                  3/29
+                                  ----
+lib/sh/snprintf.c
+       - include math.h for any defines for isinf/isnan
+       - use code from gnulib documentation to implement isinf/isnan if they
+         are not defined
+
+configure.in
+       - don't check for isinf or isnan; c99 says they're macros anyway
+
+config.h.in
+       - remove defines for ISINF_IN_LIBC and ISNAN_IN_LIBC, no longer used
+         by snprintf.c
+
+                                   4/2
+                                   ---
+braces.c
+       - brace_gobbler: fix to understand double-quoted command substitution,
+         since the shell understands unquoted comsubs.  Fixes bug reported
+         by Michael Whitten <mfwitten@gmail.com>
+
+lib/readline/display.c
+       - include <pc.h> on MDOS
+       - get and set screen size using DJGPP-specific calls on MSDOS
+       - move cursor up clear screen using DJGPP-specific calls
+       - don't call tputs on DJGPP; there is no good terminfo support
+
+lib/readline/terminal.c
+       - include <pc.h> on MDOS
+       - get and set screen size using DJGPP-specific calls on MSDOS
+       - use DJGPP-specific initialization on MSDOS, zeroing all the
+         _rl_term_* variables
+       - don't call tputs on DJGPP; there is no good terminfo support
+         DJGPP support from Eli Zaretskii  <eliz@gnu.org>
+
+                                   4/6
+                                   ---
+
+config-top.h
+       - change DEFAULT_PATH_VALUE to something more useful and modern
+
+                                   4/8
+                                   ---
+tests/printf2.sub
+       - make sure LC_ALL and LC_CTYPE are set so LANG assignment takes effect.
+         Reported by Cedric Arbogast <arbogast.cedric@gmail.com>
+
+                                  4/11
+                                  ----
+include/chartypes.h
+       - fix a couple of dicey defines (though ones that don't cause any
+         compiler warnings) in IN_CTYPE_DOMAIN
+
+doc/{bashref.texi,bash.1}
+       - add note referring to duplicating file descriptors in sections
+         describing redirecting stdout and stderr and appending to stdout
+         and stderr.  Suggested by Matthew Dinger <mdinger.bugzilla@gmail.com>
+
+pcomplete.c
+       - it_init_helptopics: new function to support completing on help topics,
+         not just builtins
+       - it_helptopics: new programmable completion list of help topics
+       - build list of helptopic completions in gen_action_completions on
+         demand
+
+pcomplete.h
+       - new extern declaration for it_helptopics
+
+builtins/complete.def
+       - the `helptopic' action now maps to CA_HELPTOPIC intead of CA_BUILTIN,
+         since there are more help topics than just builtins.  Suggested by
+         Clark Wang <dearvoid@gmail.com>
+
+                                  4/12
+                                  ----
+print_cmd.c
+       - fix print_arith_for_command to add a call to PRINT_DEFERRED_HEREDOCS
+         before ending the body of the command, so heredocs get attached to
+         the right command instead of to the loop.  From gentoo bug 363371
+         http://bugs.gentoo.org/show_bug.cgi?id=363371
+
+execute_cmd.c
+       - change coproc_pidchk to unset the appropriate shell variables when
+         the (currently single) known coproc pid terminates
+       - cleanup and new functions to fully support multiple coprocesses when
+         and if I decide to go there
+
+                                  4/13
+                                  ----
+print_cmd.c
+       - fix print_group_command to add a call to PRINT_DEFERRED_HEREDOCS
+         after call to make_command_string_internal before printing closing
+         `}'
+       - fix make_command_string_internal to add a call to
+         PRINT_DEFERRED_HEREDOCS after recursive call to
+         make_command_string_internal in case cm_subshell before printing
+         closing `)'
+
+                                  4/14
+                                  ----
+print_cmd.c
+       - change overlapping strcpy in named_function_string to memmove
+
+sig.h
+       - UNBLOCK_SIGNAL: convenience define, same as UNBLOCK_CHILD, just
+         restores an old signal mask
+
+trap.c
+       - set_signal: instead of setting the signal handler to SIG_IGN while
+         installing the new trap handler, block the signal and unblock it
+         after the new handler is installed.  Fixes bug reported by Roman
+         Rakus <rrakus@redhat.com>
+
+                                  4/15
+                                  ----
+doc/{bash.1,bashref.texi}
+       - make it clear that enabling monitor mode means that all jobs run in
+         separate process groups
+
+                                  4/18
+                                  ----
+builtins/fc.def
+       - update fix of 4/15/2010 to not take saved_command_line_count into
+         account when stepping down the history list to make sure that
+         last_hist indexes something that is valid.  Fixes bug reported by
+         <piuma@piumalab.org>
+
+                                  4/19
+                                  ----
+builtins/fc.def
+       - fc_gethnum: make sure the calculation to decide the last history
+         entry is exactly the same as fc_builtin.  Fixes bug uncovered by
+         fix of 4/18 to stop seg fault
+
+                                  4/22
+                                  ----
+lib/readline/terminal.c
+       - change _rl_enable_meta_key to set a flag indicating that it sent the
+         enable-meta sequence
+       - _rl_disable_meta_key: new function to turn off meta mode after we
+         turned it on with _rl_enable_meta_key
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_disable_meta_key
+
+configure.in
+       - if not cross-compiling, set CFLAGS_FOR_BUILD from any CFLAGS inherited
+         from the environment.  Fixes HP/UX build problem reported by
+         "Daniel Richard G." <skunk@iSKUNK.ORG>
+
+                                  4/26
+                                  ----
+config-top.h
+       - define MULTIPLE_COPROCS to 0 so the code is still disabled but easy
+         to enable via configure option or editing this file
+
+                                  4/29
+                                  ----
+lib/sh/eaccess.c
+       - freebsd provides faccessat, with the same misfeature as their eaccess
+         and access implementations (X_OK returns true for uid==0 regardless
+         of the actual file permissions), so reorganize code to check the
+         file permissions as with eaccess.  Report and fix from Johan Hattne
+         <johan.hattne@utsouthwestern.edu>
+
+                                   5/2
+                                   ---
+doc/{bash.1,bashref.texi}
+       - add forward reference to `Pattern Matching' from `Pathname
+         Expansion', suggested by Greg Wooledge <wooledg@eeg.ccf.org>
+
+                                   5/5
+                                   ---
+pcomplib.c
+       - the bash_completion project now distributes over 200 completions
+         for various programs, with no end in sight, so increase the value
+         of COMPLETE_HASH_BUCKETS from 32 to 128
+
+pathexp.c
+       - quote_string_for_globbing: make sure CTLESC quoting CTLESC is
+         translated into \<CTLESC> even if the flags include QGLOB_REGEXP.
+         We don't want to process the second CTLESC as a quote character.
+         Fixes bug reported by Shawn Bohrer <sbohrer@rgmadvisors.com>
+
+                                   5/6
+                                   ---
+builtins/printf.def
+       - change PRETURN to not call fflush if ferror(stdout) is true
+       - if a call to one of the stdio functions or printstr leaves
+         ferror(stdout) true, and PRETURN is going to be called, let PRETURN
+         print the error message rather than doubling up the messages.  Fixes
+         problem reported by Roman Rakus <rrakus@redhat.com>
+
+                                   5/9
+                                   ---
+doc/{bash.1,bashref.texi}
+       - add note to the effect that lists inside compound command can be
+         terminated by newlines as well as semicolons.  Suggested by
+         Roman Byshko <rbyshko@gmail.com>
+
+                                  5/10
+                                  ----
+subst.c
+       - remove_quoted_nulls: fix problem that caused it to skip over the
+         character after a CTLNUL, which had the effect of skipping every
+         other of a series of CTLNULs.  Fixes bug reported by
+         Marten Wikstrom <marten.wikstrom@keystream.se>
+
+                                  5/11
+                                  ----
+subst.c
+       - extract_process_subst: add SX_COMMAND flag to call to
+         extract_delimited_string, since we're expanding the same sort of
+         command as command substitution.  Fixes bug reported in Ubuntu
+         bug 779848
+
+                                  5/12
+                                  ----
+configure.in
+       - set the prefer_shared and prefer_static variables appropriately
+         depending on the value of $opt_static_link
+
+aclocal.m4
+       - AC_LIB_LINKFLAGS_BODY: change to not prefer shared versions of the
+         libraries it's searching for if the prefer_shared variable is "no".
+         Fixes problem reported by Cedric Arbogast <arbogast.cedric@gmail.com>
+
+                                  5/13
+                                  ----
+lib/readline/readline.c
+       - _rl_internal_teardown: add call to _rl_disable_meta_key to make the
+         meta key active only for the duration of the call to readline()
+       - _rl_internal_setup: move call to _rl_enable_meta_key here from
+         readline_initialize_everything so the meta key is active only for
+         the duration of the call to readline().  Suggestion from Miroslav
+         Lichvar <mlichvar@redhat.com>
+
+builtins/help.def
+       - help_builtin: change strncmp to strcmp so that `help read' no longer
+         matches `readonly'.  Suggested by Clark Wang <dearvoid@gmail.com>
+
+config.h.in
+       - add define for GLIBC21, checked using jm_GLIBC21 as part of the tests
+         for libintl
+
+lib/malloc/malloc.c
+       - internal_free: don't use the cached value of memtop when deciding
+         whether or not to adjust the break and give memory back to the kernel
+         when using the GNU C library, since glibc uses sbrk for its own
+         internal purposes.  From Debian bug 614815, reported by Samuel
+         Thibault <samuel.thibault@gnu.org>
+
+aclocal.m4
+       - BASH_STRUCT_WEXITSTATUS_OFFSET: change AC_RUN_IFELSE to AC_TRY_RUN
+         to avoid warning about not using AC_LANG_SOURCE
+
+                                  5/14
+                                  ----
+bashline.[ch]
+       - two new functions, bashline_set_event_hook and bashline_reset_event_hook,
+         to set rl_event_hook to bash_event_hook and back to NULL, respectively
+       - don't set rl_event_hook unconditionally
+
+sig.c
+       - termsig_sighandler: if the shell is currently interactive and
+         readline is active, call bashline_set_event_hook to cause
+         termsig_handler to be called via bash_event_hook when the shell
+         returns from the signal handler
+
+                                  5/15
+                                  ----
+lib/readline/display.c
+       - _rl_col_width: Mac OS X has a bug in wcwidth: it does not return 0
+         for UTF-8 combining characters.  Added workaround dependent on
+         MACOSX.  Fixes problem pointed out by Thomas De Contes
+         <d.l.tDecontes@free.fr>
+
+                                  5/16
+                                  ----
+lib/readline/rlmbutil.h
+       - WCWIDTH: wrapper for wcwidth that returns 0 for Unicode combining
+         characters on systems where wcwidth is broken (e.g., Mac OS X).
+
+lib/readline/{complete,display,mbutil}.c
+       - use WCWIDTH instead of wcwidth
+
+                                  5/17
+                                  ----
+lib/readline/display.c
+       - update_line: after computing ofd and nfd, see whether the next
+         character in ofd is a zero-width combining character.  If it is,
+         back ofd and nfd up one, so the base characters no longer compare
+         as equivalent.  Fixes problem reported by Keith Winstein
+         <keithw@mit.edu>
+
+lib/readline/nls.c
+       - _rl_utf8locale: new flag variable, set to non-zero if the current
+         locale is UTF-8
+       - utf8locale(): new function, returns 1 if the passed lspec (or the
+         current locale) indicates that the locale is UTF-8.  Called from
+         _rl_init_eightbit
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_utf8locale
+
+locale.c
+       - locale_utf8locale: new flag variable, set to non-zero if the current
+         locale is UTF-8 (currently unused)
+       - locale_isutf8(): new function, returns 1 if the passed lspec (or the
+         current locale) indicates that the locale is UTF-8.  Should be called
+         whenever the locale or LC_CTYPE value is modified
+
+aclocal.m4
+       - BASH_WCWIDTH_BROKEN: new test for whether or not wcwidth returns
+         zero-width characters like unicode combining characters as having
+         display length 1; define WCWIDTH_BROKEN in this case
+
+config.h.in
+       - WCWIDTH_BROKEN: new define
+
+lib/readline/rlmbutil.h
+       - change WCWIDTH macro to use _rl_utf8locale and the full range of
+         Unicode combining characters (U+0300-U+036F)
+
+                                  5/19
+                                  ----
+lib/readline/rlprivate.h
+       - _rl_search_context: new member, prevc, will hold character read
+         prior to lastc
+
+lib/readline/isearch.c
+       - _rl_isearch_dispatch: if the character causes us to index into
+         another keymap, save that character in cxt->prevc
+       - _rl_isearch_dispatch: if we index into another keymap, but don't
+         find a function that's special to i-search, and the character that
+         caused us to index into that keymap would have terminated the
+         search, push back cxt->prevc and cxt->lastc to make it appear as
+         if `prevc' terminated the search, and execute lastc as a command.
+         We have to push prevc back so we index into the same keymap before
+         we read lastc.  Fixes bug report from Davor Cubranic
+         <cubranic@stat.ubc.ca>
+
+                                  5/20
+                                  ----
+expr.c
+       - expr_bind_variable: pay attention to the return value from
+         bind_variable and check whether or not we should error out due to
+         a readonly or noassign variable.  Fixes bug reported by Eric
+         Blake <eblake@redhat.com>
+
+                                  5/26
+                                  ----
+
+lib/readline/search.c
+       - include histlib.h for ANCHORED_SEARCH defines
+       - rl_history_search_flags: new variable, holds ANCHORED_SEARCH flag for
+         the duration of a history search
+       - rl_history_search_reinit: takes a new flags variable, defines whether
+         or not the search is anchored; assigned to rl_history_search_flags
+       - rl_history_serarch_reinit: if ANCHORED_SEARCH flag passed, add ^ to
+         beginning of search string; otherwise search string is unmodified
+       - rl_history_search_internal: set rl_point appropriately based on
+         whether or not rl_history_search_flags includes ANCHORED_SEARCH
+       - rl_history_substr_search_forward: new function, for non-anchored
+         substring search forward through history for string of characters
+         preceding rl_point
+       - rl_history_substr_search_backward: new function, for non-anchored
+         substring search backward through history for string of characters
+         preceding rl_point.  Original code from Niraj Kulkarni
+         <kulkarniniraj14@gmail.com>
+
+lib/readline/readline.h
+       - extern declarations for rl_history_substr_search_{for,back}ward
+
+lib/readline/funmap.c
+       - history-substring-search-forward: new bindable command, invokes
+         rl_history_substr_search_forward
+       - history-substring-search-backward: new bindable command, invokes
+         rl_history_substr_search_backward
+
+lib/readline/doc/{rluser.texi,readline.3}
+       - document history-substring-search-forward and
+         history-substring-search-backward
+
+                                  5/27
+                                  ----
+{nojobs,jobs}.c
+       - add support for DONT_REPORT_SIGTERM so that the shell doesn't print
+         a message when a job exits due to SIGTERM since that's the default
+         signal sent by the kill builtin.  Suggested by Marc Herbert
+         <mark.herbert@gmail.com>
+
+config-top.h
+       - DONT_REPORT_SIGTERM: new user-modifiable setting.  Commented out
+         by default
+
+                                  5/28
+                                  ----
+lib/readline/bind.c
+       - _rl_skip_to_delim: skip to a closing double quote or other delimiter,
+         allowing backslash to quote any character, including the delimiter
+       - rl_parse_and_bind: call _rl_skip_to_delim instead of using inline
+         code
+       - rl_parse_and_bind: allow quoted strings as the values of string
+         variables.  Variable values without double quotes have trailing
+         whitespace removed (which still allows embedded whitespace, for
+         better or worse).  Fixes problem with string variables not matching
+         in `set' command if values happen to have trailing spaces or tabs
+         (debian bash bug #602762), but introduces slight incompatibility.
+
+                                  5/29
+                                  ----
+doc/{bash.1,bashref.texi}
+       - clarify unset description to specify that without options, a
+         variable, then a shell function if there is no variable by that
+         name, is unset.  Fixes discrepancy reported by Mu Qiao
+         <qiaomuf@gentoo.org>
+
+                                  6/4
+                                  ----
+doc/{bash.1,bashref.texi}
+       - clarify description of LINES and COLUMNS (and checkwinsize shopt
+         option) to make it clear that only interactive shells set a
+         handler for SIGWINCH and update LINES and COLUMNS.  Original
+         report submitted by Jonathan Nieder <jrnieder@gmail.com>
+
+arrayfunc.c
+       - expand_compound_array_assignment: defer expansion of words between
+         parens when performing compound assignmnt to an associative array
+         variable
+       - assign_compound_array_list: perform the same expansions when doing
+         a compound array assignment to an associative array variable as
+         when doing a straight array index assignment.  The idea is that
+               foo=( [ind1]=bar [ind2]=quux)
+         is the same as
+               foo[ind1]=bar ; foo[ind2]=quux
+
+         This fixes problems with double-expansion and quote removal being
+         performed on the array indices
+
+                                  6/13
+                                  ----
+doc/{bash.1,bashref.texi}
+       - Add a little text to make it clear that the locale determines how
+         range expressions in glob patterns are handled.
+
+
+                                  6/21
+                                  ----
+builtins/read.def
+       - display a message and return error status if -a is used with an
+         existing associative array.  Fixes bug reported by Curtis Doty
+         <curtis@greenkey.net>
+
+                                  6/24
+                                  ----
+{jobs,nojobs}.c
+       - non-interactive shells now react to the setting of checkwinsize
+         and set LINES and COLUMNS after a foreground job exits.  From a
+         suggestion by Leslie Rhorer <lrhorer@satx.rr.com>
+
+doc/{bash.1,bashref.texi}
+       - checkwinsize: remove language saying that only interactive shells
+         check the window size after each command
+
+lib/readline/histfile.c
+       - history_backupfile: new file, creates a backup history file name
+         given a filename (appending `-')
+       - history_do_write: when overwriting the history file, back it up
+         before writing.  Restore backup file on a write error.  Suggested
+         by chkno@chkno.net
+
+bashline.c
+       - find_cmd_name: two new arguments, return the start and end of the
+         actual text string used to find the command name, without taking
+         whitespace into account
+       - attempt_shell_completion: small changes to make sure that completion
+         attempted at the beginning of a non-empty line does not find a
+         programmable completion, even if the command name starts at point
+       - attempt_shell_completion: small change to make sure that completion
+         does not find a progcomp when in whitespace before the command
+         name
+       - attempt_shell_completion: small change to make sure that completion
+         does not find a progcomp when point is at the first character of a
+         command name, even when there is leading whitespace (similar to
+         above).  Fixes problems noted by Ville Skytta <ville.skytta@iki.fi>
+
+subst.c
+       - brace_expand_word_list: since the individual strings in the strvec
+         returned by brace_expand are already allocated, don't copy them to
+         newly-allocated memory when building the WORD_LIST, just use them
+         intact
+
+locale.c
+       - locale_mb_cur_max: cache value of MB_CUR_MAX when we set or change
+         the locale to avoid a function call every time we need to read it
+
+shell.h
+       - new struct to save shell_input_line and associated variables:
+         shell_input_line_state_t
+       - add members of sh_parser_state_t to save and restore token and the
+         size of the token buffer
+
+parse.y
+       - {save,restore}_input_line_state: new functions to save and restore
+         shell_input_line and associated variables
+       - {save,restore}_parser_state: add code to save and restore the token
+         and token buffer size
+       - xparse_dolparen: call save_ and restore_input_line_state to avoid
+         problems with overwriting shell_input_line when we recursively
+         call the parser to parse a command substitution.  Fixes bug
+         reported by Rui Santos <rsantos@grupopie.com>
+
+include/shmbutil.h
+       - use locale_mb_cur_max instead of MB_CUR_MAX in ADVANCE_CHAR and
+         similar macros
+
+lib/glob/smatch.c
+       - rangecmp,rangecmp_wc: change to take an additional argument, which
+         forces the use of strcoll/wscoll when non-zero.  If it's 0, a new
+         variable `glob_asciirange' controls whether or not we use strcoll/
+         wscoll.  If glob_asciirange is non-zero, we use straight
+         C-locale-like ordering. Suggested by  Aharon Robbins
+         <arnold@skeeve.com>
+
+                                  6/30
+                                  ----
+execute_cmd.c
+       - execute_pipeline: make sure the lastpipe code is protected by
+         #ifdef JOB_CONTROL.  Fixes problem reported by Thomas Cort
+         <tcort@minix3.org>
+
+                                   7/2
+                                   ---
+lib/readline/complete.c
+       - EXPERIMENTAL: remove setting of _rl_interrupt_immediately around
+         completion functions that touch the file system.  Idea from Jan
+         Kratochvil <jan.ktratochvil@redhat.com> and the GDB development
+         team
+
+lib/readline/signals.c
+       - rl_signal_handler: if we're in callback mode, don't interrupt
+         immediately on a SIGWINCH
+
+                                   7/3
+                                   ---
+bashline.c
+       - set_directory_hook: and its siblings are a new set of functions to
+         set, save, and restore the appropriate directory completion hook
+       - change callers to use {set,save,restore}_directory_hook instead of
+         manipulating rl_directory_rewrite_hook directly
+       - dircomplete_expand: new variable, defaults to 0, if non-zero causes
+         directory names to be word-expanded during word and filename
+         completion
+       - change {set,save,restore}_directory_hook to look at dircomplete_expand
+         and change rl_directory_completion_hook or rl_directory_rewrite_hook
+         appropriately
+
+bashline.h
+       - extern declaration for set_directory_hook so shopt code can use it
+
+                                   7/6
+                                   ---
+builtins/shopt.def
+       - globasciiranges: new settable shopt option, makes glob ranges act
+         as if in the C locale (so b no longer comes between A and B).
+         Suggested by Aharon Robbins <arnold@skeeve.com>
+
+                                   7/7
+                                   ---
+doc/{bash.1,bashref.texi}
+       - document new `globasciiranges' shopt option
+
+                                   7/8
+                                   ---
+builtins/shopt.def
+       - direxpand: new settable option, makes filename completion expand
+         variables in directory names like bash-4.1 did.
+       - shopt_set_complete_direxpand: new function, does the work for the
+         above by calling set_directory_hook
+
+doc/{bash.1,bashref.texi}
+       - document new `direxpand' shopt option
+
+                                  7/15
+                                  ----
+lib/readline/isearch.c
+       - _rl_isearch_dispatch: when adding character to search string, use
+         cxt->lastc (which we use in the switch statement) instead of c,
+         since lastc can be modified earlier in the function
+
+                                  7/18
+                                  ----
+lib/readline/rlprivate.h
+       - _rl_search_context: add another member to save previous value of
+         (multibyte) lastc: pmb is to mb as prevc is to lastc
+
+lib/readline/isearch.c:
+       - _rl_isearch_dispatch: if a key sequence indexes into a new keymap,
+         but doesn't find any bound function (k[ind].function == 0) or is
+         bound to self-insert (k[ind].function == rl_insert), back up and
+         insert the previous character (the one that caused the index into a
+         new keymap) and arrange things so the current character is the next
+         one read, so both of them end up in the search string.  Fixes bug
+         reported by Clark Wang <dearvoid@gmail.com>
+       - _rl_isearch_dispatch: a couple of efficiency improvements when adding
+         characters to the isearch string
+
+                                  7/24
+                                  ----
+lib/readline/isearch.c
+       - _rl_isearch_dispatch: save and restore cxt->mb and cxt->pmb
+         appropriately when in a multibyte locale
+
+doc/{bash.1,bashref.texi}
+       - correct description of {x}>file (and other redirection operators
+         that allocate a file descriptor) to note the the fd range is
+         greater than or equal to 10.  Fixes problem reported by
+         Christian Ullrich 
+
+lib/readline/signals.c
+       - rl_signal_handler: don't interrupt immediately if in callback mode
+
+lib/readline/callback.c
+       - rl_callback_read_char: install signal handlers only when readline
+         has control in callback mode, so readline's signal handlers aren't
+         called when the application is active (e.g., between the calls to
+         rl_callback_handler_install and rl_callback_read_char).  If the
+         readline signal handlers only set a flag, which the application
+         doesn't know about, the signals will effectively be ignored until
+         the next time the application calls into the readline callback
+         interface.  Fixes problem of calling unsafe functions from signal
+         handlers when in callback mode reported by Jan Kratochvil
+         <jan.kratochvil@redhat.com>
+
+execute_cmd.c
+       - fix_assignment_words: when in Posix mode, the `command' builtin
+         doesn't change whether or not the command name it protects is an
+         assignment builtin.  One or more instances of `command'
+         preceding `export', for instance, doesn't make `export' treat its
+         assignment statement arguments differently.  Posix interpretation
+         #351
+
+doc/{bash.1,bashref.texi}
+       - document new Posix-mode behavior of `command' when preceding builtins
+         that take assignment statements as arguments
+
+builtins/printf.def
+       - printstr: if fieldwidth or precision are < 0 or > INT_MAX when
+         supplied explicitly (since we take care of the `-' separately),
+         clamp at INT_MAX like when using getint().  Fixes issue reported
+         by Ralph Coredroy <ralph@inputplus.co.uk>
+
+                                  7/25
+                                  ----
+lib/readline/chardefs.h
+       - isxdigit: don't define if compiling with c++; declared as a c++
+         template function.  Fixes bug reported by Miroslav Lichvar
+         <mlichvar@redhat.com>
+
+builtins/printf.def
+       - getint: if garglist == 0, return whatever getintmax returns (0).
+         Fixes bug reported  by Ralph Coredroy <ralph@inputplus.co.uk>
+
+                                  7/28
+                                  ----
+doc/{bash.1,bashref.texi}
+       - minor changes to the descriptions of the cd and pushd builtins
+
+lib/sh/zread.c
+       - zsyncfd: change variable holding return value from lseek to
+         off_t.  Bug report and fix from Gregory Margo <gmargo@pacbell.net>
+
+                                   8/1
+                                   ---
+expr.c
+       - don't check for division by 0 when in a context where no evaluation
+         is taking place.  Fixes bug reported by dnade.ext@orange-ftgroup.com
+
+                                   8/6
+                                   ---
+execute_cmd.c
+       - execute_command_internal: the parent branch of the subshell code
+         (where the child calls execute_in_subshell) should not close all
+         open FIFOs with unlink_fifo_list if it's part of a shell function
+         that's still executing.  Fixes bug reported by Maarten Billemont
+         <lhunath@lyndir.com>
+
+                                   8/9
+                                   ---
+builtins/common.c
+       - get_exitstat: return EX_BADUSAGE (2) on a non-numeric argument
+
+builtins/return.def
+       - return_builtin: just call get_exitstat to get the return status,
+         let it handle proper parsing and handling of arguments.  Fixes
+         issue most recently raised by Linda Walsh <bash@tlinx.org>.
+         Reverses change from 9/11/2008 (see above)
+
+                                  8/16
+                                  ----
+doc/{bash.1,bashref.texi}
+       - clean up `set -e' language to make it clearer that any failure of
+         a compound command will cause the shell to exit, not just subshells
+         and brace commands
+
+                                  8/17
+                                  ----
+configure.in
+       - make the various XXX_FOR_BUILD variables `precious' to autoconf to
+         avoid stale data
+       - change how CC_FOR_BUILD is initialized when cross-compiling and not,
+         but do not change behavior
+       - initialize CFLAGS_FOR_BUILD to -g when cross-compiling
+       - initialize LIBS_FOR_BUILD to $(LIBS) when not cross-compiling, empty
+         when cross-compiling
+       - create AUTO_CFLAGS variable to hold basic CFLAGS defaults; used when
+         CFLAGS not inherited from environment (like effect of old
+         auto_cflags variable)
+       - substitute LIBS_FOR_BUILD into output Makefiles
+         [changes inspired by bug report from Nathan Phillip Brink
+         <ohnobinki@ohnopublishing.net> -- gentoo bug 378941]
+
+builtins/Makefile.in   
+       - substitute LIBS_FOR_BUILD from configure, not strictly initialized
+         to $(LIBS)
+
+                                  8/27
+                                  ----
+doc/{bash.1,bashref.texi}
+       - minor changes to the here string description to clarify the
+         expansions performed on the word
+
+support/shobj-conf
+       - handle compilation on Lion (Mac OS X 10.7/darwin11) with changes
+         to darwin stanzas.  Fixes readline bug reported by Vincent
+         Sheffer <vince.sheffer@apisphere.com>
+
+lib/sh/strtrans.c
+       - ansic_wshouldquote: check a string with multi-byte characters for
+         characters that needs to be backslash-octal escaped for $'...'
+       - ansic_shouldquote: if is_basic fails for one character, let
+         ansic_wshouldquote examine the rest of the string and return what
+         it returns.  From a patch sent by Roman Rakus <rrakus@redhat.com>
+
+                                  8/30
+                                  ----
+lib/sh/strtrans.c
+       - ansic_quote: changes to quote (or not) multibyte characters.  New
+         code converts them to wide characters and uses iswprint to check
+         valid wide chars.  From a patch sent by Roman Rakus
+         <rrakus@redhat.com>
+
+                                   9/7
+                                   ---
+lib/sh/shquote.c
+       - sh_backslash_quote: change to be table-driven so we can use a
+         different table if we want to
+       - sh_backslash_quote: takes a second char table[256] argument;
+
+externs.h
+       - sh_backslash_quote: add second argument to function prototype
+
+bashline.c,braces.c,parse.y,builtins/printf.def
+       - change callers of sh_backslash_quote to add second argument
+
+bashline.c
+       - filename_bstab: table of characters to pass to sh_backslash_quote;
+         characters with value 1 will be backslash-quoted
+       - set_filename_bstab: turn on characters in filename backslash-quote
+         table according to passed string argument
+       - call set_filename_bstab every time rl_filename_quote_characters is
+         assigned a value
+       - bash_quote_filename: call sh_backslash_quote with filename_bstab
+         as second argument.  This allows other characters in filenames to
+         be quoted without quoting, for instance, a dollar sign in a shell
+         variable reference
+
+                                   9/8
+                                   ---
+bashline.c
+       - complete_fullquote: new variable, controls table passed to
+         sh_backslash_quote.  If non-zero (the default), the standard set
+         of shell metacharacters -- as in bash versions up to and including
+         bash-4.2 -- gets backslash-quoted by the completion code.  If zero,
+         sh_backslash_quote gets the table with the characters in the
+         variable reference removed, which means they are removed from the
+         set of characters to be quoted in filenames
+
+                                  9/10
+                                  ----
+bashline.c
+       - bash_filename_stat_hook: new function, designed to expand variable
+         references in filenames before readline passes them to stat(2)
+         to determine whether or not they are a directory
+
+                                  9/15
+                                  ----
+builtins/declare.def
+       - if assign_array_element fails due to a bad (or empty) subscript, mark
+         it as an assignment error and don't attempt any further processing
+         of that declaration.  Fixes segfault bug reported by Diego Augusto
+         Molina <diegoaugustomolina@gmail.com>
+
+                                  9/19
+                                  ----
+expr.c
+       - exppower: replace the simple exponentiation algorithm with an
+         implementation of exponentiation by squaring.  Inspired by report
+         from Nicolas ARGYROU <nargy@yahoo.com>
+
+bashline.c
+       - bash_quote_filename: check for rtext being non-null before
+         dereferencing it
+       - set_saved_history: operate_and_get_next assumes that the previous
+         line was added to the history, even when the history is stifled and
+         at the max number of entries.  If it wasn't, make sure the history
+         number is incremented properly.  Partial fix for bug reported by
+         gregrwm <backuppc-users@whitleymott.net>
+
+doc/{bash.1,bashref.texi},lib/readline/doc/{hsuser,rluser}.texi
+       - minor editorial changes inspired by suggestions from
+         Roger Zauner <rogerx.oss@gmail.com>
+
+                                  9/20
+                                  ----
+lib/intl/localealias.c
+       - read_alias_file: close resource leak (fp) when returning on error
+
+                                  9/22
+                                  ----
+execute_command.c
+       - execute_intern_function: implement Posix interpretation 383 by making
+         it an error to define a function with the same name as a special
+         builtin when in Posix mode.
+         http://austingroupbugs.net/view.php?id=383#c692
+
+                                  9/25
+                                  ----
+doc/{bash.1,bashref.texi}
+       - formatting and some content changes from Benno Schulenberg
+         <bensberg@justemail.net>
+       - document new posix-mode behavior from interp 383 change of 9/22
+
+                                  9/30
+                                  ----
+execute_cmd.c
+       - shell_execve: add strerror to error message about executable file
+         that shell can't execute as a shell script.  From suggestion by
+         daysleeper <daysleeper@centrum.cz>
+
+                                  10/1
+                                  ----
+bashhist.c
+       - maybe_add_history: act as if literal_history is set when parser_state
+         includes PST_HEREDOC, so we save the bodies of here-documents just
+         as they were entered.  Fixes bug reported by Jonathan Wakely
+         <bugs@kayari.org>
+       - bash_add_history: make sure that the second and subsequent lines of
+         a here document don't have extra newlines or other delimiting
+         chars added, since they have the trailing newline preserved, when
+         `lithist' is set and history_delimiting_chars isn't called
+
+execute_cmd.c
+       - execute_command_internal: avoid fd exhaustion caused by using
+         process substitution in loops inside shell functions by using
+         copy_fifo_list and close_new_fifos ().  Fixes debian bash bug
+         642504
+
+lib/readline/complete.c
+       - new variable, rl_filename_stat_hook, used by append_to_match.  If
+         filename completion is desired, and rl_filename_stat_hook points
+         to a function, call that function to expand the filename in an
+         application-specific way before calling stat.
+
+bashline.c
+       - bash_default_completion: if variable completion returns a single
+         match, use bash_filename_stat_hook and file_isdir to determine
+         whether or not the variable name expands to a directory.  If it
+         does, set the filename_append_character to `/'.  This is not
+         perfect, so we will see how it works out.  Adds functionality
+         requested by Peter Toft <pto@linuxbog.dk> and Patrick Pfeifer
+         <patrick@pfeifer.de>
+       - rl_filename_stat_hook: assigned bash_filename_stat_hook, so things
+         like $HOME/Downloads (after completion) have a slash appended.
+         In general, this causes the stat hook to be called whenever
+         filename completion is appended.  Adds functionality requested by
+         Patrick Pfeifer <patrick@pfeifer.de>
+
+lib/readline/readline.h
+       - new extern declaration for rl_filename_stat_hook
+
+lib/readline/doc/rltech.texi
+       - rl_directory_rewrite_hook: now documented
+       - rl_filename_stat_hook: document
+
+pcomplete.c
+       - gen_action_completions: in the CA_DIRECTORY case, turn off
+         rl_filename_completion_desired if it was off before we called
+         rl_filename_completion_function and we didn't get any matches.
+         Having it on causes readline to quote the matches as if they
+         were filenames.  Adds functionality requested by many,
+         including Clark Wang <dearvoid@gmail.com>
+
+assoc.[ch]
+       - assoc_replace: new function, takes the same arguments as
+         assoc_insert, but returns the old data instead of freeing it
+       - assoc_insert: if the object returned by hash_insert doesn't have
+         the same value for its key as the key passed as an argument, we
+         are overwriting an existing value.  In this case, we can free the
+         key.  Fixes bug reported by David Parks <davidparks21@yahoo.com>
+
+                                  10/5
+                                  ----
+print_cmd.c
+       - indirection_level_string: small change to only re-enable `x'
+         option after calling decode_prompt_string if it was on before.  In
+         normal mode, it will be, but John Reiser <jreiser@bitwagon.com>
+         has a novel use for that code in conjunction with a pre-loaded
+         shared library that traces system call usage in shell scripts
+
+                                  10/10
+                                  -----
+Makefile.in
+       - Fix from Mike Frysinger <vapier@gentoo.org> to avoid trying to
+         build y.tab.c and y.tab.h with two separate runs of yacc if
+         parse.y changes.  Problem with parallel makes
+       - Fix from Mike Frysinger <vapier@gentoo.org> to avoid subdirectory
+         builds each trying to make version.h (and all its dependencies)
+
+lib/sh/Makefile.in
+       - remove some dependencies on version.h where it doesn't make sense
+
+variables.c
+       - initialize_shell_variables: while reading the environment, a shell
+         running in posix mode now checks for SHELLOPTS being readonly (it
+         gets set early on in main()) before trying to assign to it.  It
+         saves an error message and the variable gets parsed as it should.
+         Fixes bug reported by Len Giambrone <Len.Giambrone@intersystems.com>
+
+                                  10/14
+                                  -----
+doc/{bash.1,bashref.texi}
+       - add to the "duplicating file descriptors" description that >&word
+         doesn't redirect stdout and stderr if word expands to `-'
+       - add to the "appending standard output and standard error"
+         description a note that >&word, where word is a number or `-',
+         causes other redirection operators to apply for sh and Posix
+         compatibility reasons.  Suggested by Greg Wooledge
+         <wooledg@eeg.ccf.org>
+
+                                  10/15
+                                  -----
+pcomplete.c
+       - change pcomp_filename_completion_function to only run the filename
+         dequoting function in the cases (as best as it can figure) where
+         readline won't do it via rl_filename_completion_function.  Based
+         on reports from <lolilolicon@gmail.com>
+
+                                  10/19
+                                  -----
+bashline.c
+       - attempt_shell_completion: add call to set_directory_hook() to make
+         sure the rewrite functions are correct.  It's cheap and doesn't
+         hurt
+       - command_word_completion_function: if completing a command name that
+         starts with `.' or `..', temporarily suppress the effects of the
+         `direxpand' option and restore the correct value after calling
+         rl_filename_completion_function.  If it's enabled, the directory
+         name will be rewritten and no longer match `./' or `../'.  Fixes
+         problem reported by Michael Kalisz <michael@kalisz.homelinux.net>
+
+                                  10/22
+                                  -----
+builtins/history.def
+       - push_history: make sure remember_on_history is enabled before we
+         try to delete the last history entry -- the `history -s' command
+         might not have been saved.  Fixes bug reported by
+         lester@vmw-les.eng.vmware.com
+
+lib/readline/complete.c
+       - rl_callback_read_char: add calls to a macro CALLBACK_READ_RETURN
+         instead of straight return; add same call at end of function.
+         Placeholder for future work in deinstalling signal handlers when
+         readline is not active
+
+                                  10/25
+                                  -----
+expr.c
+       - exp2: catch arithmetic overflow when val1 == INTMAX_MIN and val2 == -1
+         for DIV and MOD and avoid SIGFPE.  Bug report and pointer to fix
+         from Jaak Ristioja <jaak.ristioja@cyber.ee>
+       - expassign: same changes for arithmetic overflow for DIV and MOD
+
+                                  10/28
+                                  -----
+subst.c
+       - parameter_brace_expand: allow pattern substitution when there is an
+         expansion of the form ${var/} as a no-op: replacing nothing with
+         nothing
+       - parameter_brace_patsub: don't need to check for PATSUB being NULL;
+         it never is
+
+flags.c
+       - if STRICT_POSIX is defined, initialize history_expansion to 0, since
+         history expansion (and its treatment of ! within double quotes) is
+         not a conforming posix environment.  From austin-group issue 500
+
+lib/readline/histexpand.c
+       - history_expand: when processing a string within double quotes
+         (DQUOTE == 1), make the closing double quote inhibit history
+         expansion, as if the word were outside double quotes.  In effect,
+         we assume that the double quote is followed by a character in
+         history_no_expand_chars.  tcsh and csh seem to do this.  This
+         answers a persistent complaint about history expansion
+
+                                  10/29
+                                  -----
+make_cmd.c
+       - make_arith_for_command: use skip_to_delim to find the next `;'
+         when breaking the string between the double parens into three
+         separate components instead of a simple character loop.  Fixes
+         bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  11/2
+                                  ----
+Makefile.in
+       - make libbuiltins.a depend on builtext.h to serialize its creation
+         and avoid conflict between multiple invocations of mkbuiltins.
+         Fix from Mike Frysinger <vapier@gentoo.org>
+
+                                  11/5
+                                  ----
+findcmd.c
+       - user_command_matches: if stat(".", ...) returns -1, set st_dev
+         and st_ino fields in dotinfo to 0 to avoid same_file matches
+       - find_user_command_in_path: check stat(2) return the same way
+
+lib/glob/glob.c
+       - glob_vector: don't call strlen(pat) without checking pat == 0
+       - glob_dir_to_array: make sure to free `result' and all allocated
+         members before returning error due to malloc failure
+       - glob_vector: make sure to free `nextname' and `npat' on errors
+         (mostly when setting lose = 1)
+       - glob_vector: if flags & GX_MATCHDIRS but not GX_ALLDIRS, make
+         sure we free `subdir'
+       - glob_filename: when expanding ** (GX_ALLDIRS), make sure we
+         free temp_results (return value from glob_vector)
+
+lib/glob/xmbsrtowcs.c
+       - xdupmbstowcs: fix call to realloc to use sizeof (char *) instead
+         of sizeof (char **) when assigning idxtmp
+
+execute_cmd.c
+       - print_index_and_element: return 0 right away if L == 0
+       - is_dirname: fix memory leak by freeing `temp'
+       - time_command: don't try to deref NULL `command' when assigning
+         to `posix_time'
+       - shell_execve: null-terminate `sample' after READ_SAMPLE_BUF so it's
+         terminated for functions that expect that
+
+builtins/read.def
+       - read_builtin: don't call bind_read_variable with a potentially-null
+         string
+
+pcomplete.c
+       - gen_command_matches: don't call dispose_word_desc with a NULL arg
+       - gen_compspec_completions: fix memory leak by freeing `ret' before
+         calling gen_action_completions (tcs, ...).  happens when
+         performing directory completion as default and no completions
+         have been generated
+       - gen_progcomp_completions: make sure to set foundp to 0 whenever
+         returning NULL
+       - it_init_aliases: fix memory leak by freeing alias_list before
+         returning
+
+bashline.c
+       - command_word_completion_function: don't call restore_tilde with a
+         NULL directory_part argument
+       - bash_directory_expansion: bugfix: don't throw away results of
+         rl_directory_rewrite_hook if it's set and returns non-zero
+       - bind_keyseq_to_unix_command: free `kseq' before returning error
+
+arrayfunc.c
+       - assign_array_element_internal: make sure `akey' is freed if non-null
+         before returning error
+       - assign_compound_array_list: free `akey' before returning error
+       - array_value_internal: free `akey' before returning error
+       - unbind_array_element: free `akey' before returning error
+
+subst.c
+       - array_length_reference: free `akey' before returning error in case
+         of expand_assignment_string_to_string error
+       - array_length_reference: free `akey' after call to assoc_reference
+       - skip_to_delim: if skipping process and command substitution, free
+         return value from extract_process_subst
+       - parameter_brace_substring: free `val' (vtype == VT_VARIABLE) before
+         returning if verify_substring_values fails
+       - parameter_brace_expand: remove two duplicate lines that allocate
+         ret in parameter_brace_substring case
+       - parameter_brace_expand: convert `free (name); name = xmalloc (...)'
+         to use `xrealloc (name, ...)'
+       - parameter_brace_expand: free `name' before returning when handling
+         ${!PREFIX*} expansion
+       - split_at_delims: fix memory leak by freeing `d2' before returning
+
+redir.c
+       - redirection_error: free `filename' if the redirection operator is
+         REDIR_VARASSIGN by assigning allocname
+
+eval.c
+       - send_pwd_to_eterm: fix memory leak by freeing value returned by
+         get_working_directory()
+
+builtins/cd.def
+       - change_to_directory: fix memory leak by freeing return value from
+         resetpwd()
+       - cd_builtin: fix memory leak by freeing value returned by dirspell()
+       - cd_builtin: fix memory leak by freeing `directory' if appropriate
+         before overwriting with return value from resetpwd()
+
+builtins/type.def
+       - describe_command: free `full_path' before overwriting it with return
+         value from sh_makepath
+
+builtins/complete.def
+       - compgen_builtin: fix memory leak by calling strlist_dispose (sl)
+         before overwriting sl with return value from completions_to_stringlist
+
+builtins/hash.def
+       - list_hashed_filename_targets: fix memory leak by freeing `target'
+
+make_cmd.c
+       - make_arith_for_command: free `init', `test', and `step' before
+         returning error on parse error
+
+jobs.c
+       - initialize_job_control: don't call move_to_high_fd if shell_tty == -1
+
+general.c
+       - check_dev_tty: don't call close with an fd < 0
+       - legal_number: deal with NULL `string' argument, return invalid
+
+lib/sh/fmtulong.c
+       - fmtulong: if the `base' argument is invalid, make sure we index
+         buf by `len-1' at maximum
+
+print_cmd.c
+       - print_deferred_heredocs: don't try to dereference a NULL `cstring'
+       - cprintf: make sure to call va_end (args)
+
+variables.c
+       - push_dollar_vars: fix call to xrealloc to use sizeof (WORD_LIST *)
+         instead of sizeof (WORD_LIST **)
+
+lib/sh/zmapfd.c
+       - zmapfd: if read returns error, free result and return -1 immediately
+         instead of trying to reallocate it
+
+                                  11/6
+                                  ----
+execute_cmd.c
+       - cpl_reap: rewrote to avoid using pointer after freeing it; now builds
+         new coproc list on the fly while traversing the old one and sets the
+         right values for coproc_list when done
+
+                                  11/12
+                                  -----
+builtins/set.def
+       - if neither -f nor -v supplied, don't allow a readonly function to
+         be implicitly unset.  Fixes bug reported by Jens Schmidt
+         <jens.schmidt35@arcor.de>
+
+lib/readline/callback.c
+       - change CALLBACK_READ_RETURN to clear signal handlers before returning
+         from rl_callback_read_char so readline's signal handlers aren't
+         installed when readline doesn't have control.  Idea from Jan
+         Kratochvil <jan.ktratochvil@redhat.com> and the GDB development
+         team
+
+pcomplete.h
+       - COPT_NOQUOTE: new complete/compgen option value
+
+builtins/complete.def
+       - noquote: new complete/compgen option; will be used to disable
+         filename completion quoting
+
+pcomplete.c
+       - pcomp_set_readline_variables: pay attention to COPT_NOQUOTE; turns
+         of rl_filename_quoting_desired if set; turns it on if unset (value
+         is inverted, since default is on)
+
+doc/bash.1,lib/readline/doc/rluser.texi
+       - document new -o noquote option to complete/compgen/compopt
+
+pathexp.c
+       - quote_string_for_globbing: if QGLOB_REGEXP, make sure characters
+         between brackets in an ERE bracket expression are not inappropriately
+         quoted with backslashes.  This is a pretty substantial change,
+         should be stressed when opening bash up for alpha and beta tests.
+         Fixes bug pointed out by Stephane Chazleas
+         <stephane_chazelas@yahoo.fr>
+
+doc/{bash.1,bashref.texi}
+       - document that regexp matches can be inconsistent when quoting
+         characters in bracket expressions, since usual quoting characters
+         lose their meaning within brackets
+       - note that regular expression matching when the pattern is stored
+         in a shell variable which is quoted for expansion causes string
+         matching
+
+redir.h
+       - RX_SAVEFD: new flag value; notes that a redirection denotes an
+         fd used to save another even if it's not >= SHELL_FD_BASE
+
+redir.c
+       - do_redirection_internal: when deciding whether or not to reset the
+         close-on-exec flag on a restored file descriptor, trust the value
+         of redirect->flags & RX_SAVCLEXEC even if the fd is < SHELL_FD_BASE
+         if the RX_SAVEFD flag is set
+       - add_undo_redirect: set the RX_SAVEFD flag if the file descriptor
+         limit is such that the shell can't duplicate to a file descriptor
+         >= 10.  Fixes a limitation that tripped a coreutils test reported
+         by Paul Eggert <eggert@cs.ucla.edu>
+
+                                  11/19
+                                  -----
+doc/{bash.1,bashref.texi},lib/readline/doc/hsuser.texi
+       - make it clear that bash runs HISTFILESIZE=$HISTSIZE after reading
+         the startup files
+       - make it clear that bash runs HISTSIZE=500 after reading the
+         startup files
+       - make it clear that setting HISTSIZE=0 causes commands to not be
+         saved in the history list
+       - make it clear that setting HISTFILESIZE=0 causes the history file
+         to be truncated to zero size
+
+variables.c
+       - sv_histsize: change so setting HISTSIZE to a value less than 0
+         causes the history to be `unstifled'
+       - sv_histsize: change so setting HISTFILESIZE to a value less than 0
+         results in no file truncation
+       - make it clear that numeric values less than 0 for HISTFILESIZE or
+         HISTSIZE inhibit the usual functions
+
+                                  11/23
+                                  -----
+parse.y
+       - save_input_line_state: add missing `return ls' at the end, since the
+         function is supposed to return its argument.  Pointed out by
+         Andreas Schwab <schwab@linux-m68k.org>
+
+builtins/read.def
+       - skip over NUL bytes in input, as most modern shells seem to.  Bug
+         report by Matthew Story <matt@tablethotels.com>
+
+lib/readline/vi_mode.c
+       - rl_vi_replace: set _rl_vi_last_key_before_insert to invoking key
+
+                                  11/25
+                                  -----
+builtins/read.def
+       - read_builtin: if xrealloc returns same pointer as first argument,
+         don't bother with the remove_unwind_protect/add_unwind_protect pair
+       - read_builtin: set a flag (`reading') around calls to zread/zreadc
+         and readline()
+       - sigalrm: change to set flag (`sigalrm_seen') and only longjmp if
+         currently in read(2) (reading != 0)
+       - CHECK_ALRM: new macro, checks sigalrm_seen and longjmps if non-zero,
+         behavior of old SIGALRM catching function
+       - read_builtin: call CHECK_ALRM in appropriate places while reading
+         line of input.  Fixes bug reported by Pierre Gaston
+         <pierre.gaston@gmail.com>
+
+lib/readline/vi_mode.c
+       - rl_vi_replace: initialize characters before printing characters in
+         vi_replace_keymap to their default values in vi_insertion_keymap,
+         since we're supposed to be in insert mode replacing characters
+       - rl_vi_replace: call rl_vi_start_inserting to set last command to
+         `R' for undo
+       - rl_vi_replace: set _rl_vi_last_key_before_insert to `R' for future
+         use by _rl_vi_done_inserting
+       - vi_save_insert_buffer: new function, broke out code that copies text
+         into vi_insert_buffer from _rl_vi_save_insert
+       - _rl_vi_save_replace: new function, saves text modified by
+         rl_vi_replace (using current point and vi_replace_count to figure
+         it out) to vi_replace_buffer
+       - _rl_vi_save_insert: call vi_save_insert_buffer
+       - _rl_vi_done_inserting: if _rl_vi_last_key_before_insert == 'R', call
+         _rl_vi_save_replace to save text modified in replace mode (uses
+         vi_save_insert_buffer)
+       - _rl_vi_replace_insert: new function, replaces the number of chars
+         in vi_insert_buffer after rl_point with contents ov vi_insert_buffer
+       - rl_vi_redo: call _rl_vi_replace_insert if last command == 'R' and
+         there's something in vi_insert_buffer.  Fixes bug with `.' not
+         redoing the most recent `R' command, reported by Geoff Clare
+         <g.clare@opengroup.org> in readline area on savannah
+
+                                  11/26
+                                  -----
+lib/readline/rlprivate.h
+       - RL_SIG_RECEIVED(): evaluate to non-zero if there is a pending signal
+         to be handled
+       - RL_SIGINT_RECEIVED(): evaluate to non-zero if there is a pending
+         SIGINT to be handled
+
+lib/readline/complete.c
+       - remove all mention of _rl_interrupt_immediately
+       - rl_completion_matches: check RL_SIG_RECEIVED after each call to
+         the entry function, call RL_CHECK_SIGNALS if true to handle the
+         signal
+       - rl_completion_matches: if RL_SIG_RECEIVED evaluates to true, free
+         and zero out the match_list this function allocated
+       - rl_completion_matches: if the completion entry function is
+         rl_filename_completion_function, free the contents of match_list,
+         because that function does not keep state and will not free the
+         entries; avoids possible memory leak pointed out by
+         Garrett Cooper <yanegomi@gmail.com>
+       - gen_completion_matches: if RL_SIG_RECEIVED evalutes to true after
+         calling rl_attempted_completion_function, free the returned match
+         list and handle the signal with RL_CHECK_SIGNALS; avoids
+         possible memory leak pointed out by Garrett Cooper
+         <yanegomi@gmail.com>
+       - gen_completion_matches: if RL_SIG_RECEIVED evaluates to true after
+         calling rl_completion_matches, free the returned match list and
+         handle the signal with RL_CHECK_SIGNALS
+
+lib/readline/util.c
+       - rl_settracefp: new utility function to set the tracing FILE *
+
+lib/readline/signals.c
+       - _rl_sigcleanup: pointer to a function that will be called with the
+         signal and a void * argument from _rl_handle_signal
+       - _rl_sigcleanarg: void * that the rest of the code can set to have
+         passed to the signal cleanup function
+       - _rl_handle_signal: if _rl_sigcleanup set, call as
+               (*_rl_sigcleanup) (sig, _rl_sigcleanarg)
+
+lib/readline/rlprivate.h
+       - extern declarations for _rl_sigcleanup and _rl_sigcleanarg
+
+lib/readline/complete.c
+       - _rl_complete_sigcleanup: signal cleanup function for completion code;
+         calls _rl_free_match_list on _rl_sigcleanarg if signal == SIGINT
+       - rl_complete_internal: before calling display_matches if what_to_do
+         == `?', set _rl_sigcleanup to _rl_complete_sigcleanup so the match
+         list gets freed on SIGINT; avoids possible memory leak pointed out
+         by Garrett Cooper <yanegomi@gmail.com>
+       - rl_complete_internal: in default switch case, call _rl_free_match_list
+         before returning to avoid memory leak
+
+doc/bashref.texi
+       - start at a set of examples for the =~ regular expression matching
+         operator, touching on keeping the pattern in a shell variable and
+         quoting portions of the pattern to remove their special meaning
+
+                                  12/1
+                                  ----
+lib/glob/gmisc.c
+       - extglob_pattern: new function, returns 1 if pattern passed as an
+         argument looks like an extended globbing pattern
+
+lib/glob/glob.c
+       - skipname: return 0 immediately if extglob_pattern returns non-zero,
+         let the extended globbing code do the right thing with skipping
+         names beginning with a `.'
+       - mbskipname: return 0 immediately if extglob_pattern returns non-zero,
+         let the extended globbing code do the right thing with skipping
+         names beginning with a `.'.  Fixes bug reported by Yongzhi Pan
+         <panyongzhi@gmail.com>
+
+                                  12/2
+                                  ----
+lib/glob/smatch.c
+       - patscan, patscan_wc: no longer static so other parts of the glob
+         library can use them, renamed to glob_patscan, glob_patscan_wc
+
+lib/glob/glob.c
+       - extern declarations for glob_patscan, glob_patscan_wc
+       - wchkname: new function, does skipname on wchar_t pattern and dname,
+         old body of mbskipname after converting to wide chars
+       - extglob_skipname: new function, checks all subpatterns in an extglob
+         pattern to determine whether or not a filename should be skipped.
+         Calls skipname for each subpattern.  Dname is only skipped if all
+         subpatterns indicate it should be.  Better fix for bug reported by
+         Yongzhi Pan <panyongzhi@gmail.com>
+       - wextglob_skipname: wide-char version of extglob_skipname, calls
+         wchkname instead of calling back into mbskipname for each
+         subpattern to avoid problems with char/wchar_t mismatch
+       - skipname: call extglob_skipname if extglob_pattern returns non-zero
+       - mbskipname: call wextglob_skipname if extglob_pattern returns non-zero
+       - mbskipname: short-circuit immediately if no multibyte chars in
+         pattern or filename
+
+execute_cmd.c
+       - execute_cond_node: added parens to patmatch assignment statement to
+         make intent clearer
+
+                                  12/3
+                                  ----
+configure.in,config.h.in
+       - check for imaxdiv, define HAVE_IMAXDIV if present
+
+expr.c
+       - expassign, exp2: use imaxdiv if available.  Doesn't help with checks
+         for overflow from 10/25
+
+                                  12/6
+                                  ----
+lib/readline/complete.c
+       - compute_lcd_of_matches: if we're ignoring case in the matches, only
+         use what the user typed as the lcd if it matches the first match
+         (after sorting) up to the length of what was typed (if what the
+         user typed is longer than the shortest of the possible matches, use
+         the shortest common length of the matches instead).  If it doesn't
+         match, use the first of the list of matches, as if case were not
+         being ignored.  Fixes bug reported by Clark Wang
+         <dearvoid@gmail.com>
+
+                                  12/7
+                                  ----
+builtins/cd.def
+       - cd_builtin: add code to return error in case cd has more than one
+         non-option argument, conditional on CD_COMPLAINS define (which is
+         not defined anywhere)
+
+doc/{bash.1,bashref.texi}
+       - note that additional arguments to cd following the directory name
+         are ignored.  Suggested by Vaclav Hanzl <hanzl@noel.feld.cvut.cz>
+
+                                  12/10
+                                  -----
+lib/readline/input.c
+       - rl_read_key: don't need to increment key sequence length here; doing
+         it leads to an off-by-one error
+
+lib/readline/macro.c
+       - rl_end_kbd_macro: after off-by-one error with rl_key_sequence_length
+         fixed, can decrement current_macro_index by rl_key_sequence_length
+         (length of key sequence that closes keyboard macro)
+
+lib/readline/readline.c
+       - _rl_dispatch_subseq: fix extra increment of rl_key_sequence_length
+         when ESC maps to a new keymap and we're converting meta characters
+         to ESC+key
+       - _rl_dispatch_subseq: better increment of rl_key_sequence_length
+         before we dispatch to a function in the ISFUNC case (where the
+         second increment above should have happened)
+       - rl_executing_keyseq: the full key sequence that ended up executing
+         a readline command.  Available to the calling application, maintained
+         by _rl_dispatch_subseq, indexed by rl_key_sequence_length
+       - rl_executing_key: the key that was bound to the currently-executing
+         readline command.  Same as the `key' argument to the function
+
+lib/readline/readline.h
+       - rl_executing_keyseq: extern declaration
+       - rl_executing_key: extern declaration
+       - rl_key_sequence_length: declaration moved here from rlprivate.h,
+         now part of public interface
+
+lib/readline/rlprivate.h
+       - new extern declaration for _rl_executing_keyseq_size, buffer size
+         for rl_executing_keyseq
+
+lib/readline/doc/rltech.texi
+       - documented new variables: rl_executing_key, rl_executing_keyseq,
+         rl_key_sequence_length
+
+                                  12/13
+                                  -----
+bashline.c
+       - bash_execute_unix_command: replace ad-hoc code that searches
+         cmd_xmap for correct command with call to rl_function_of_keyseq
+         using rl_executing_keyseq; now supports key sequences longer
+         than two characters.  Fixes bug reported by Michael Kazior
+         <kazikcz@gmail.com>
+
+                                  12/15
+                                  -----
+make_cmd.c
+       - make_function_def: don't null out source_file before calling
+         make_command so it can be used later on when the function definition
+         is executed
+
+execute_cmd.c
+       - execute_intern_function: second argument is now FUNCTION_DEF *
+         instead of COMMAND *
+       - execute_command_internal: call execute_intern_function with the
+         new second argument (the entire FUNCTION_DEF instead of just the
+         command member)
+       - execute_intern_function: if DEBUGGER is defined, call
+         bind_function_def before calling bind_function, just like
+         make_function_def does (might be able to take out the call in
+         make_function_def depending on what the debugger does with it).
+         Fixes bug reported by <dethrophes@motd005>
+
+expr.c
+       - more minor changes to cases of INTMAX_MIN % -1 and INTMAX_MIN / 1;
+         fix typos and logic errors
+
+                                  12/16
+                                  -----
+bashline.c
+       - find_cmd_start: change flags to remove SD_NOSKIPCMD so it skips over
+         command substitutions and doesn't treat them as command separators
+       - attempt_shell_completion: instead of taking first return from
+         find_cmd_name as command name to use for programmable completion,
+         use loop to skip over assignment statements.  Fixes problem reported
+         by Raphael Droz <raphael.droz+floss@gmail.com>
+       - attempt_shell_completion: if we don't find a command name but the
+         command line is non-empty, assume the other words are all assignment
+         statements and flag that point is in a command position so we can
+         do command name completion
+       - attempt_shell_completion: if the word being completed is the first
+         word following a series of assignment statements, and the
+         command line is non-empty, flag that point is in a command position
+         so we can do command name completion
+
+lib/readline/history.c
+       - history_get_time: atol -> strtol
+
+                                  12/18
+                                  -----
+parse.y
+       - parser_in_command_position: external interface to the
+         command_token_position macro for use by other parts of the shell,
+         like the completion mechanism
+
+externs.h
+       - extern declaration for parser_in_command_position
+
+                                  12/19
+                                  -----
+
+builtins/read.def
+       - read_builtin: make sure all calls to bind_read_variable are passed
+         a non-null string.  Fixes bug reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+bashline.c
+       - attempt_shell_completion: mark that we're in a command position if
+         we're at the start of the line and the parser is ready to accept
+         a reserved word or command name.  Feature most recently suggested
+         by Peng Yu <pengyu.ut@gmail.com>
+
+                                  12/21
+                                  -----
+lib/readline/bind.c
+       - _rl_escchar: return the character that would be backslash-escaped
+         to denote the control character passed as an argument ('\n' -> 'n')
+       - _rl_isescape: return 1 if character passed is one that has a
+         backslash escape
+       - _rl_untranslate_macro_value: new second argument: use_escapes, if
+         non-zero translate to backslash escapes where possible instead of
+         using straight \C-x for control character `x'.  Change callers
+       - _rl_untranslate_macro_value: now global
+
+lib/readline/rlprivate.h
+       - _rl_untranslate_macro_value: extern declaration
+
+lib/readline/{macro.c,readline.h}
+       - rl_print_last_kbd_macro: new bindable function, inspired by patch
+         from Mitchel Humpherys
+
+lib/readline/funmap.c
+       - print-last-kbd-macro: new bindable command, bound to
+         rl_print_last_kbd_macro
+
+lib/readline/doc/{rluser.texi,readline.3},doc/bash.1
+       - print-last-kbd-macro: document.
+
+lib/readline/text.c
+       - _rl_insert_next: if we're defining a macro, make sure the key gets
+         added to the macro text (should really audit calls to rl_read_key()
+         and make sure the right thing is happening for all of them)
+
+bashline.[ch]
+       - print_unix_command_map: new function, prints all bound commands in
+         cmd_xmap using rl_macro_dumper in a reusable format
+
+builtins/bind.def
+       - new -X option: print all keysequences bound to Unix commands using
+         print_unix_command_map.  Feature suggested by Dennis Williamson
+         (2/2011)
+
+doc/{bash.1,bashref.texi}
+       - document new `bind -X' option
+
+                                  12/24
+                                  -----
+
+doc/{bash.1,bashref.texi}
+       - add a couple of sentences to the description of the case modification
+         operators making it clearer that each character of parameter is
+         tested against the pattern, and that the pattern should only attempt
+         to match a single character.  Suggested by Bill Gradwohl
+         <bill@ycc.com>
+
+                                  12/28
+                                  -----
+shell.c
+       - init_noninteractive: instead of calling set_job_control(0) to
+         unconditionally turn off job control, turn on job control if
+         forced_interactive or jobs_m_flag is set
+       - shell_initialize: call initialize_job_control with jobs_m_flag as
+         argument so `bash -m script' enables job control while running the
+         script
+
+jobs.c
+       - initialize_job_control: if the `force' argument is non-zero, turn on
+         job control even if the shell is not currently interactive
+         (interactive == 0)
+
+                                  12/29
+                                  -----
+
+flags.h
+       - new extern declaration for jobs_m_flag
+
+builtins/{cd,set}.def,doc/{bash.1,bashref.texi}
+       - added text clarifying the descriptions of cd -L and -P, suggested by
+         Padraig Brady <p@draigbrady.com>
+       - slight change to the description of `set -P' about resolving symbolic
+         links
+
+lib/readline/doc/rluser.texi
+       - Added an example to the programmable completion section: _comp_cd,
+         a completion function for cd, with additional verbiage.  Text
+         includes a reference to the bash_completion project
+
+                                1/1/2012
+                                --------
+jobs.c
+       - set_job_status_and_cleanup: note that a job is stopped due to
+         SIGTSTP (any_tstped) if job_control is set; there's no need to
+         test interactive
+
+                                   1/5
+                                   ---
+quit.h
+       - LASTSIG(): new macro, expands to signal number of last terminating
+         signal received (terminating_signal or SIGINT)
+
+trap.c
+       - first_pending_trap: returns lowest signal number with a trap pending
+       - trapped_signal_received: set to the last trapped signal the shell
+         received in trap_handler(); reset to 0 in run_pending_traps
+
+builtins/read.def
+       - read_builtin: changes to posix-mode (posixly_correct != 0) to make
+         `read' interruptible by a trapped signal.  After the trap runs,
+         read returns 128+sig and does not assign the partially-read line
+         to the named variable(s).  From an austin-group discussion started
+         by David Korn
+
+                                  1/11
+                                  ----
+doc/{bash.1,bashref.texi}
+       - slight changes to the descriptions of the compat32 and compat40 shell
+         options to clarify their meaning
+
+                                  1/12
+                                  ----
+lib/readline/{colors.[ch],parse-colors.[ch]}
+       - new files, part of color infrastructure support
+
+Makefile.in,lib/readline/Makefile.in
+       - arrange to have colors.o and parse-colors.o added to readline
+         library
+
+{configure,config.h}.in
+       - check for stdbool.h, define HAVE_STDBOOL_H if found
+
+                                  1/14
+                                  ----
+lib/readline/bind.c
+       - colored_stats: new bindable variable, enables using colors to
+         indicate file type when listing completions
+
+lib/readline/complete.c
+       - _rl_colored_stats: new variable, controlled by colored-stats bindable
+         variable
+       - colored_stat_start, colored_stat_end: new functions to set and reset
+         the terminal color appropriately depending on the type of the
+         filename to be printed
+       - print_filename: changes to print colors if `colored-stats' variable
+         set.  Changes contributed by Raphael Droz
+         <raphael.droz+floss@gmail.com>
+
+lib/readline/readline.c
+       - rl_initialize_everything: add call to _rl_parse_colors to parse
+         color values out of $LS_COLORS.  May have to add to rl_initialize
+         to make more dynamic if LS_COLORS changes (which doesn't happen
+         very often, if at all)
+
+lib/readline/rlprivate.h
+       - _rl_colored_stats: new extern declaration
+
+lib/readline/doc/{readline.3,rluser.texi},doc/bash.1
+       - colored-stats: document new bindable readline variable
+
+lib/readline/colors.c
+       - _rl_print_color_indicator: call rl_filename_stat_hook before calling
+         lstat/stat so we can get color indicators for stuff like
+         $HOME/Applications
+
+lib/readline/complete.c
+       - stat_char: call rl_filename_stat_hook before calling lstat/stat
+
+findcmd.[ch],execute_cmd.c
+       - search_for_command: now takes a second `flags' argument; changed
+         header function prototype and callers
+       - search_for_command: if (flags & 1), put the command found in $PATH
+         into the command hash table (previous default behavior)
+
+execute_cmd.c
+       - is_dirname: call search_for_command with flags argument of 0 so it
+         doesn't try to put something in the command hash table
+
+bashline.c
+       - bash_command_name_stat_hook: a hook function for readline's
+         filename_stat_hook that does $PATH searching the same way that
+         execute_cmd.c:execute_disk_command() does it, and rewrites the
+         passed filename if found.  Does not put names into command hash
+         table.  This allows command name completion to take advantage
+         of `visible-stats' and `colored-stats' settings.
+       - executable_completion: new function, calls the directory completion
+         hook to expand the filename before calling executable_file or
+         executable_or_directory; change command_word_completion_function to
+         call executable_completion.  This allows $HOME/bin/[TAB] to do
+         command completion and display alternatives
+
+                                  1/17
+                                  ----
+pcomplete.c
+       - gen_command_matches: now takes a new second argument: the command
+         name as deciphered by the programmable completion code and used
+         to look up the compspec; changed callers (gen_compspec_completions)
+       - gen_shell_function_matches: now takes a new second argument: the
+         command that originally caused the completion function to be
+         invoked; changed callers (gen_compspec_completions))
+       - build_arg_list: now takes a new second argument: the command name
+         corresponding to the current compspec; changed callers
+         (gen_command_matches, gen_shell_function_matches)
+       - build_arg_list: now uses `cmd' argument to create $1 passed to
+         invoked command or shell function
+       - gen_compspec_completions: if we skipped a null command at the
+         beginning of the line (e.g., for completing `>'), add a new word for
+         it at the beginning of the word list and increment nw and cw
+         appropriately.  This is all a partial fix for the shortcoming
+         pointed out by Sung Pae <sungpae@gmail.com>
+
+                                  1/18
+                                  ----
+
+{configure,config.h}.in
+       - new check: check for AUDIT_USER_TTY defined in <linux/audit.h>,
+         define HAVE_DECL_AUDIT_USER_TTY if both are found
+
+lib/readline/rlconf.h
+       - ENABLE_TTY_AUDIT_SUPPORT: new define, allows use of the Linux kernel
+         tty auditing system if it's available and enabled
+
+lib/readline/util.c
+       - _rl_audit_tty: new function, send a string to the kernel tty audit
+         system
+
+lib/readline/rlprivate.h
+       - _rl_audit_tty: new extern declaration
+
+lib/readline/readline.c
+       - readline: call _rl_audit_tty with line to be returned before returning
+         it if the Linux tty audit system is available and it's been enabled
+         in rlconf.h  Original patch from Miroslav Trmac; recent request
+         from Miroslav Lichvar <mlichvar@redhat.com>
+
+                                  1/21
+                                  ----
+
+lib/readline/readline.c:
+       - _rl_dispatch_subseq: add an inter-character timeout for multi-char
+         key sequences.  Suggested by <rogerx.oss@gmail.com>.  Still needs
+         work to make a user-settable variable
+
+parse.y
+       - shell_getc: make code that uses the pop_alias dependent on ALIAS
+         define
+
+variables.h
+       - sv_tz: extern define should only depend on HAVE_TZSET
+
+expr.c
+       - expr_streval: if ARRAY_VARS is not defined, set lvalue->ind to -1;
+         move assignment to `ind' inside define
+       - expr_bind_array_element: declaration and uses need to be #ifdef
+         ARRAY_VARS
+
+arrayfunc.h
+       - AV_ALLOWALL, AV_QUOTED, AV_USEIND: define to 0 if ARRAY_VARS not
+         defined; used in subst.c unconditionally
+
+sig.h
+       - make the signal blocking functions not dependent on JOB_CONTROL
+
+sig.c
+       - sigprocmask: make the replacement definition not dependent on
+         JOB_CONTROL
+
+trap.c
+       - use BLOCK_SIGNAL/UNBLOCK_SIGNAL instead of code dependent on
+         HAVE_POSIX_SIGNALS and BSD signals
+
+                                  1/24
+                                  ----
+
+print_cmd.c
+       - print_redirection_list: change the conditions under which
+         r_duplicating_output_word is mapped to r_err_and_out to more or
+         less match those used in redir.c.  Fixes bug pointed out by
+         Dan Douglas <ormaaj@gmail.com>
+
+
+                                  1/29
+                                  ----
+lib/readline/signals.c
+       - _rl_block_sigwinch,_rl_release_sigwinch: don't compile in bodies
+         unless SIGWINCH is defined.  Fixes bug reported by Pierre Muller
+         <pierre.muller@ics-cnrs.unistra.fr>
+
+doc/{bash.1,bashref.texi}
+       - small modifications to the introduction to the REDIRECTION section
+         to describe how redirections can modify file handles
+       - small modification to the section describing base#n to make it
+         clearer that n can be denoted using non-numerics.  From a posting
+         by Linda Walsh <bash@tlinx.org>
+
+                                   2/2
+                                   ---
+builtins/printf.def
+       - printf_builtin: make sure vbuf is intialized and non-null when -v
+         is supplied, since other parts of the code assume that it's not
+         null (e.g., bind_printf_variable()).  Fixes bug reported by Jim
+         Avera <james_avera@yahoo.com>
+
+                                   2/4
+                                   ---
+lib/readline/undo.c
+       - _rl_free_undo_list: new function, old body of rl_free_undo_list,
+         frees undo entries in UNDO_LIST * passed as argument
+       - rl_free_undo_list: call _rl_free_undo_list
+
+lib/readline/rlprivate.h
+       - _rl_free_undo_list: new extern declaration
+       - _rl_keyseq_timeout: new extern declaration (see below)
+
+lib/readline/misc.c
+       - rl_clear_history: new function.  Clears the history list and frees
+         all associated data similar to history.c:clear_history(), but
+         takes rl_undo_list into account and frees and UNDO_LISTs saved as
+         `data' members of a history list entry
+
+lib/readline/doc/rltech.texi
+       - rl_clear_history: documented
+
+lib/readline/readline.c
+       - _rl_keyseq_timeout: new variable to hold intra-key timeout value
+         from 1/21 fix; specified in milliseconds.  Default value is 500
+       - _rl_dispatch_subseq: change to use _rl_keyseq_timeout as intra-key
+         timeout if it's greater than 0; no timeout if <= 0
+       - _rl_dispatch_subseq: don't check for queued keyboard input if we have
+         pushed or pending input, or if we're reading input from a macro
+
+lib/readline/bind.c
+       - keyseq-timeout: new bindable variable, shadows _rl_keyseq_timeout
+       - string_varlist: add keyseq-timeout
+       - sv_seqtimeout: new function to modify value of _rl_keyseq_timeout;
+         clamps negative values at 0 for now
+       - _rl_get_string_variable_value: return value for keyseq-timeout
+
+doc/bash.1,lib/readline/doc/{rluser.texi,readline.3}
+       - keyseq-timeout: documented
+
+lib/readline/isearch.c
+       - _rl_isearch_dispatch: modification to fix from 7/18 to not use
+         cxt->keymap and cxt->okeymap, since by the time this code is
+         executed, they are equal.  Use `f' to check for rl_insert or
+         unbound func
+       - _rl_isearch_dispatch: if we're switching keymaps, not in
+         callback mode, and don't have pending or pushed input, use
+         _rl_input_queued to resolve a potentially ambiguous key sequence.
+         Suggested by Roger Zauner <rogerx.oss@gmail.com>
+       - _rl_isearch_dispatch: if we have changed keymaps and resolved to
+         an editing function (not self-insert), make sure we stuff the
+         right characters back onto the input after changing the keymap
+         back so the right editing function is executed after the search
+         is terminated.  Rest of fix for bug reported by Roger Zauner
+         <rogerx.oss@gmail.com>
+
+                                   2/5
+                                   ---
+builtins/gen-helpfiles.c
+       - new file: reads struct builtin and writes the long docs to files
+         in the `helpdirs' subdirectory.  The filename is given in the
+         previously-unused `handle' member of the struct builtin.  Links
+         with `tmpbuiltins.o', which is created by Makefile to have the
+         right long documentation.  When not cross-compiling, gets the
+         right #defines based on configuration options from config.h instead
+         of trying to parse conditional parts of def files.  Fixes
+         shortcoming pointed out by Andreas Schwab <schwab@linux-m68k.org>
+
+builtins/Makefile.in
+       - tmpbuiltins.c: new generated file, created to enable creation of
+         separate helpfiles based on correct #defines instead of trying to
+         parse conditional parts of def files
+       - gen-helpfiles: new program to generate helpfiles, links with
+         tmpbuiltins.o
+       - HELPFILES_TARGET: new target, substituted by configure to `helpdoc'
+         if separate helpfiles requested
+       - targets: new target, libbuiltins.a and $(HELPFILES_TARGET)
+       - CREATED_OBJECTS: new variable, holds created object files for
+         make clean; changed make clean to remove created objects
+       - helpdoc: changed to call gen-helpfiles instead of mkbuiltins
+
+Makefile.in
+       - when building libbuiltins.a, recursively call make with `targets'
+         argument to make sure separate helpfiles get built
+
+configure.in
+       - substitute `helpdoc' as value of HELPFILES_TARGET if
+         --enable-separate-helpfiles supplied as configure argument
+
+builtins/mkbuiltins.c
+       - `-nofunctions': new argument, causes mkbuiltins to not write value
+         for function implementing a particular builtin to struct builtin
+         and to write document file name to `handle' member of struct builtin
+       - no longer writes separate helpfiles; that is left to gen-helpfiles
+
+                                   2/8
+                                   ---
+subst.c
+       - make sure last_command_exit_value is set to a non-zero value before
+         any calls to report_error, since `-e' set will short-circuit
+         report_error.  Fixes bug reported by Ewan Mellor
+         <Ewan.Mellor@eu.citrix.com>
+
+variables.c
+       - make_local_array_variable: added second argument; if non-zero,
+         function will return an existing local associative array variable
+         instead of insisting on an indexed array
+
+variable.h,subst.c
+       - make_local_array_variable: changed prototype and caller
+
+builtins/declare.def
+       - declare_internal: add second arg to call to make_local_array_variable;
+         making_array_special, which indicates we're processing an
+         assignment like declare a[b]=c.  Fixes seg fault resulting from
+         a being an already-declared local associative array variable in a
+         function.  Ubuntu bash bug 928900.
+
+                                  2/14
+                                  ----
+
+execute_cmd.c
+       - execute_command_internal: if redirections into or out of a loop fail,
+         don't try to free ofifo_list unless saved_fifo is non-zero.  It's
+         only valid if saved_fifo is set
+
+                                  2/15
+                                  ----
+{arrayfunc,braces,variables}.c
+       - last_command_exit_value: make sure it's set before any calls to
+         report_error, since -e will cause that to exit the shell
+
+builtins/common.c
+       - get_job_by_name: call internal_error instead of report_error so this
+         doesn't exit the shell
+
+                                  2/18
+                                  ----
+builtins/evalstring.c
+       - parse_and_execute: make sure the file descriptor to be redirected to
+         is 1 before calling cat_file.  One fix for bug reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+parse.y
+       - read_token_word: don't return NUMBER if a string of all digits
+         resolves to a number that overflows the bounds of an intmax_t.
+         Other fix for bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  2/19
+                                  ----
+lib/sh/strtrans.c
+       - ansicstr: use 0x7f as the boundary for characters that translate
+         directly from ASCII to unicode (\u and \U escapes) instead of
+         UCHAR_MAX, since everything >= 0x80 requires more than one byte.
+         Bug and fix from John Kearney <dethrophes@web.de>
+
+builtins/printf.def
+       - tescape: ditto for printf \u and \U escape sequences
+
+                                  2/20
+                                  ----
+lib/sh/unicode.c
+       - u32toutf8: fix to handle encodings up to six bytes long correctly
+         (though technically UTF-8 only has characters up to 4 bytes long).
+         Report and fix from John Kearney <dethrophes@web.de>
+       - u32toutf8: first argument is now an unsigned 32-bit quantity,
+         changed callers (u32cconv) to pass c instead of wc
+       - u32reset: new function, resets local static state to uninitialized
+         (locale information, currently)
+
+locale.c
+       - call u32reset whenever LC_CTYPE/LC_ALL/LANG is changed to reset the
+         cached locale information used by u32cconv.  From a report from
+         John Kearney <dethrophes@web.de>
+
+                                  2/21
+                                  ----
+doc/{bash,builtins}.1
+       - minor changes from Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
+
+lib/sh/unicode.c
+       - u32cconv: only assume you can directly call wctomb on the passed
+         value if __STDC_ISO_10646__ is defined and the value is <=
+         0x7fffffff
+       - stub_charset: return locale as default instead of "ASCII", let
+         rest of code decide what to do with it
+
+lib/readline/parens.c
+       - _rl_enable_paren_matching: make paren matching work in vi insert
+         mode.  Bug report from <derflob@derflob.de>
+
+                                  2/22
+                                  ----
+lib/sh/shquote.c
+       - sh_backslash_quote: quote tilde in places where it would be
+         expanded.  From a report from John Kearney <dethrophes@web.de>
+
+                                  2/23
+                                  ----
+execute_cmd.c
+       - execute_pipeline: wrap the discard_unwind_frame call in #ifdef
+         JOB_CONTROL, since the frame is only created if JOB_CONTROL is
+         defined.  Bug and fix from Doug Kehn <rdkehn@yahoo.com>
+
+                                  2/25
+                                  ----
+error.c
+       - report_error: make sure last_command_exit_value is non-zero before
+         we call exit_shell, since the exit trap may reference it.  Call
+         exit_shell with last_command_exit_value to allow exit statuses
+         other than 1
+
+unicode.c
+       - stub_charset: use local static buffer to hold charset, don't change
+         value returned by get_locale_var.  Based on idea and code from
+         John Kearney <dethrophes@web.de>
+       - u32toutf16: function to convert unsigned 32-bit value (unicode) to
+         UTF-16.  From John Kearney <dethrophes@web.de>
+       - u32cconv: call u32toutf16 if __STDC_ISO_10646__ defined and wchar_t
+         is two bytes, send result to wcstombs, return if not encoding error.
+         From John Kearney <dethrophes@web.de>
+       - u32cconv: return UTF-8 conversion if iconv conversion to local
+         charset is unsupported
+
+                                   3/2
+                                   ---
+lib/readline/complete.c
+       - print_filename: if there is no directory hook, but there is a stat
+         hook, and we want to append a slash to directories, call the stat
+         hook before calling path_isdir on the expanded directory name.
+         Report and pointer to fix from Steve Rago <sar@nec-labs.com>
+
+                                   3/3
+                                   ---
+builtins/evalstring.c
+       - parse_and_execute: fix to change of 2/18: make sure the file
+         descriptor being redirected to is 0 before calling cat_file when
+         we see something like $(< file).  Real fix for bug reported by
+         Dan Douglas <ormaaj@gmail.com>
+
+subst.c
+       - parameter_brace_patsub: run the replacement string through quote
+         removal even if the expansion is within double quotes, because
+         the parser and string extract functions treat the quotes and
+         backslashes as special.  If they're treated as special, quote
+         removal should remove them (this is the Posix position and
+         compatible with ksh93).  THIS IS NOT BACKWARDS COMPATIBLE.
+
+                                   3/4
+                                   ---
+lib/readline/complete.c
+       - rl_menu_complete: fix to make show-all-if-ambiguous and
+         menu-complete-display-prefix work together if both are set.  Fix
+         from Sami Pietila <sami.pietila@gmail.com>
+
+                                   3/5
+                                   ---
+bashline.c
+       - dircomplete_expand_relpath: new variable, if non-zero, means that
+         `shopt -s direxpand' should expand relative pathnames.  Zero by
+         default, not user-settable yet
+       - bash_directory_completion_hook: if we have a relative pathname that
+         isn't changed by canonicalization or spell checking after being
+         appended to $PWD, then don't change what the user typed.  Controlled
+         by dircomplete_expand_relpath
+
+                                   3/7
+                                   ---
+m4/timespec.m4
+       - new macros, cribbed from gnulib and coreutils: find out whether we
+         have `struct timespec' and what file includes it
+
+m4/stat-time.m4
+       - new macros, cribbed from gnulib and coreutils: find out whether the
+         mtime/atime/ctime/etctime fields of struct stat are of type
+         struct timespec, and what the name is
+
+include/stat-time.h
+       - new file, cribbed from gnulib, with additions from coreutils: include
+         the right file to get the struct timespec define, or provide our own
+         replacement.  Provides a bunch of inline functions to turn the
+         appropriate members of struct stat into `struct timespec' values,
+         zeroing out the tv_nsec field if necessary
+
+test.c
+       - include "stat-time.h" for the nanosecond timestamp resolution stuff
+       - stat_mtime: new function, returns struct stat and the mod time
+         normalized into a `struct timespec' for the filename passed as the
+         first argument
+       - filecomp: call stat_mtime instead of sh_stat for each filename
+         argument to get the mtime as a struct timespec
+       - filecomp: call timespec_cmp instead of using a straight arithmetic
+         comparison for the -nt and -ot operators, using timespec returned by
+         stat_mtime.  Added functionality requested by by Werner Fink
+         <werner@suse.de> for systems that can support it
+
+                                  3/10
+                                  ----
+include/posixdir.h
+       - REAL_DIR_ENTRY: remove dependency on _POSIX_SOURCE, only use feature
+         test macros to decide whether dirent.d_ino is present and usable;
+         define D_INO_AVAILABLE.  Report and fix from Fabrizion Gennari
+         <fabrizio.ge@tiscali.it>
+       - D_FILENO_AVAILABLE: define if we can use dirent.d_fileno
+
+lib/sh/getcwd.c
+       - use D_FILENO_AVAILABLE to decide whether or not to compile in
+         _path_checkino and whether or not to call it.  Report and initial
+         fix from Fabrizion Gennari <fabrizio.ge@tiscali.it>
+
+lib/readline/signals.c
+       - make sure all occurrences of SIGWINCH are protected by #ifdef
+
+sig.c
+       - make sure all occurrences of SIGCHLD are protected by #ifdef
+
+nojobs.c
+       - make sure SA_RESTART is defined to 0 if the OS doesn't define it
+
+version.c
+       - show_shell_version: don't use string literals in printf, use %s.
+         Has added benefit of removing newline from string to be translated
+
+trap.c
+       - queue_sigchld_trap: new function, increments the number of pending
+         SIGCHLD signals by the argument, which is by convention the number
+         of children reaped in a call to waitchld()
+
+trap.h
+       - queue_sigchld_trap: new extern declaration
+
+jobs.c
+       - waitchld: if called from the SIGCHLD signal handler (sigchld > 0),
+         then call queue_sigchld_trap to avoid running the trap in a signal
+         handler context.  Report and original fix from Siddhesh Poyarekar
+         <siddhesh@redhat.com>
+
+lib/sh/unicode.c
+       - u32tocesc: take an unsigned 32-bit quantity and encode it using
+         ISO C99 string notation (\u/\U)
+       - u32cconv: call u32tocesc as a fallback instead of u32cchar
+       - u32cconv: call u32tocesc if iconv cannot convert the character.
+         Maybe do the same thing if iconv_open fails
+       - u32reset: call iconv_close on localconv if u32init == 1
+
+                                  3/11
+                                  ----
+config-top.h
+       - CHECKWINSIZE_DEFAULT: new define, set to initial value of
+         check_window_size (shopt checkwinsize): 0 for off, 1 for on.
+         Default is 0
+
+{jobs,nojobs}.c
+       - check_window_size: default initial value to CHECKWINSIZE_DEFAULT
+
+                                  3/13
+                                  ----
+doc/bashref.texi
+       - change text referring to the copying restrictions to that
+         recommended by the FSF (no Front-Cover Texts and no Back-Cover
+         Texts)
+
+lib/readline/doc/{history,rlman,rluserman}.texi
+       - change text referring to the copying restrictions to that
+         recommended by the FSF (no Front-Cover Texts and no Back-Cover
+         Texts)
+
+                                  3/15
+                                  ----
+array.c
+       - LASTREF_START: new macro to set the starting position for an array
+         traversal to `lastref' if that's valid, and to the start of the array
+         if not.  Used in array_reference, array_insert, array_remove
+       - array_remove: try to be a little smarter with lastref instead of
+         unconditionally invalidating it
+
+                                  3/16
+                                  ----
+array.c
+       - array_insert: fix memory leak by deleting element to be added in the
+         case of an error
+
+                                  3/18
+                                  ----
+lib/sh/mbschr.c
+       - mbschr: don't call mbrlen unless is_basic is false; devolves to a
+         straight character-by-character run through the string
+
+                                  3/19
+                                  ----
+stringlib.c
+       - substring: use memcpy instead of strncpy, since we know the length
+         and are going to add our own NUL terminator
+
+                                  3/20
+                                  ----
+subst.c
+       - parameter_brace_expand_rhs: if expand_string_for_rhs returns a quoted
+         null string (a list with one element for which
+         QUOTED_NULL(list->word->word) returns true), return the quoted null
+         and set the flags in the returned word to indicate it.  Fixes bug
+         reported by Mark Edgar <medgar123@gmail.com>
+
+lib/sh/tmpfile.c
+       - use random(3) instead of get_random_number to avoid perturbing the
+         random sequence you get using $RANDOM.  Bug report and fix from
+         Jurij Mihelic <jurij.mihelic@fri.uni-lj.si>
+
+                                  3/21
+                                  ----
+config-top.h
+       - OPTIMIZE_SEQUENTIAL_ARRAY_ASSIGNMENT: define to 1 to optimize
+         sequential indexed array assignment patterns.  Defined to 1 by
+         default
+
+array.c
+       - array_insert: if OPTIMIZE_SEQUENTIAL_ARRAY_ASSIGNMENT is defined,
+         start the search at lastref (see change from 3/15)
+
+                                  3/27
+                                  ----
+print_cmd.c
+       - debug_print_word_list: new debugging function, prints a word list
+         preceded by an optional string and using a caller-specified
+         separator
+
+                                   4/1
+                                   ---
+command.h
+       - W_ASSNGLOBAL: new flag, set to indicate declare -g
+
+execute_cmd.c
+       - fix_assignment_words: note that we have a -g argument to an assignment
+         builtin and set the W_ASSNGLOBAL flag in the variable word
+
+subst.c
+       - dump_word_flags: print out W_ASSNGLOBAL if present
+       - do_assignment_internal: only set ASS_MKLOCAL if W_ASSIGNARG is set
+         and W_ASSNGLOBAL is not.  Don't want to create a local variable even
+         if variable_context is non-zero if ASSNGLOBAL is set.  Fixes bug
+         reported by Bill Gradwohl <bill@ycc.com>
+
+                                   4/7
+                                   ---
+lib/readline/readline.c
+       - _rl_dispatch_subseq: make the `keyseq-timeout' variable apply to
+         ESC processing when in vi mode.  After hitting ESC, readline will
+         wait up to _rl_keyseq_timeout*1000 microseconds (if set) for
+         additional input before dispatching on the ESC and switching to
+         command/movement mode.  Completes timeout work suggested by
+         <rogerx.oss@gmail.com>; this prompted by report from Barry Downes
+         <barry.downes@gmail.com>
+
+lib/sh/shmbchar.c
+       - sh_mbsnlen: new function, returns the number of (possibly multibyte)
+         characters in a passed string with a passed length, examining at most
+         maxlen (third argument) bytes
+
+externs.h
+       - sh_mbsnlen: extern declaration for new function
+
+shell.c
+       - exit_shell: call maybe_save_shell_history if remember_on_history is
+         set, not just in interactive shells.  That means the history is
+         saved if history is enabled, regardless of whether or not the shell
+         is interactive
+
+doc/{bash.1,bashref.texi}
+       - TMOUT: fix description to make it explicit that TMOUT is the timeout
+         period for a complete line of input, not just any input.  Fixes
+         problem reported in Ubuntu bug 957303:
+         https://bugs.launchpad.net/ubuntu/+source/bash/+bug/957303
+       - HISTFILE: document change to write history list to history file in
+         any shell with history enabled, not just interactive shells.  This
+         seems to be more logical behavior.  Suggested by Greg Wooledge
+         <wooledg@eeg.ccf.org>
+
+                                  4/12
+                                  ----
+lib/readline/colors.h
+       - only include stdbool.h if HAVE_STDBOOL_H is defined
+       - if HAVE_STDBOOL_H is not defined, provide enough definition for the
+         library to use `bool', `true', and `false'
+
+lib/readline/parse-colors.[ch]
+       - don't try to include <stdbool.h> at all; rely on colors.h to do it
+
+lib/sh/snprintf.c
+       - vsnprintf_internal: only treat '0' as a flag to indicate zero padding
+         if `.' hasn't been encountered ((flags&PF_DOT) == 0); otherwise treat
+         it as the first digit of a precision specifier.  Fixes bug reported
+         by Petr Sumbera <petr.sumbera@sun.com>
+
+                                  4/15
+                                  ----
+lib/sh/snprintf.c
+       - vsnprintf_internal: if the '0' and '-' flags both occur, the '0'
+         flag is ignored -- Posix.  Start of a series of fixes based on
+         tests and patches from Petr Sumbera <petr.sumbera@sun.com>
+       - PUT_PLUS: make sure PF_PLUS flag is specified before putting the `+'
+       - vsnprintf_internal: when '+' is read as a flag, don't set right-
+         justify flag if the LADJUST (`-') flag has already been supplied
+       - floating: make sure to output space padding before the `+', zero
+         padding after
+       - exponent: make sure to output space padding before the `+', zero
+         padding after
+       - exponent: only subtract one from the width for the decimal point
+         if we're really going to print one
+       - floating: use presence of PF_PLUS flag to decide whether to account
+         for the `+' in the padded field width.  Ditto for exponent()
+
+                                  4/16
+                                  ----
+lib/sh/snprintf.c
+       - vsnprint_internal: only reduce precision by 1 when processing the `g'
+         format if it's > 0.  A precision of 0 should stay 0; otherwise it
+         gets set to -1 (NOT_FOUND) and converted to the default
+       - number, lnumber: if an explicit precision is supplied, turn off the
+         zero-padding flag and set the pad character back to space
+       - number, lnumber: only account for a `+' when performing the field
+         width calculation if the coversion is base 10; we don't add a `+'
+         for other bases
+
+                                  4/18
+                                  ----
+tests/printf3.sub
+       - try using "perl -e 'print time'" to get the current time in seconds
+         since the epoch if "date +%s" is not available (solaris 8-10)
+
+                                  4/19
+                                  ----
+tests/run-printf
+       - use cat -v instead of relying on diff -a being available to convert
+         control characters to ascii and avoid the dreaded "Binary files
+         /tmp/xx and printf.right differ"
+
+                                  4/20
+                                  ----
+lib/sh/strftime.c
+       - incoporated new version from Aharon Robbins <arnold@skeeve.com>
+
+                                  4/22
+                                  ----
+doc/{bash.1,bashref.texi}
+       - slight change to the description of /dev/tcp and /dev/udp
+
+subst.c
+       - match_wpattern: logic fix to the calculation of `simple' (was |=,
+         needs to be &=).  Bug report from Mike Frysinger <vapier@gentoo.org>,
+         fix from Andreas Schwab <schwab@linux-m68k.org>
+
+bashline.c
+       - bash_filename_stat_hook: add code from bash_directory_completion_hook
+         that performs pathname canonicalization in the same way that cd and
+         other builtins will do
+
+                                  4/25
+                                  ----
+execute_cmd.c
+       - execute_pipeline: change the call to move_to_high_fd to make it use
+         getdtablesize() and to not stomp on existing open file descriptors,
+         like the fd the shell is using to read a script.  Bug report from
+         Greg Wooledge <wooledg@eeg.ccf.org>
+
+                                   5/6
+                                   ---
+subst.c
+       - expand_word_internal: case '$': after calling param_expand and
+         setting had_quoted_null, set TEMP to null.  The code that builds the
+         returned string at the end of the function will take care of making
+         and returning a quoted null string if there's nothing else in
+         ISTRING.  If there is, the quoted null should just go away.  Part of
+         fix for bug reported by Ruediger Kuhlmann <RKuhlmann@orga-systems.com>
+       - expand_word_internal: when processing ISTRING to build return value,
+         only set W_HASQUOTEDNULL in the returned word flags if the word is
+         a quoted null string AND had_quoted_null is set.  Rest of fix
+
+                                   5/9
+                                   ---
+variables.c
+       - bind_variable_internal: if we get an array variable here (implicit
+         assignment to index 0), call make_array_variable_value, which
+         dummies up a fake SHELL_VAR * from array[0].  This matters when
+         we're appending and have to use the current value
+       - bind_variable_internal: after computing the new value, treat assoc
+         variables with higher precedence than simple array variables; it
+         might be that a variable has both attributes set
+
+arrayfunc.c
+       - bind_array_var_internal: break code out that handles creating the
+         new value to be assigned to an array variable index into a new
+         function, make_array_variable_value.  This handles creating a
+         dummy SHELL_VAR * for implicit array[0] assignment.  Fixes bug
+         reported by Dan Douglas <ormaaj@gmail.com>
+
+arrayfunc.h
+       - make_array_variable_value: new extern declaration
+
+                                  5/19
+                                  ----
+variables.c
+       - bind_int_variable: if an assignment statement like x=y comes in
+         from the expression evaluator, and x is an array, handle it like
+         x[0]=y.  Fixes bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  5/24
+                                  ----
+
+braces.c
+       - mkseq: handle possible overflow and break the sequence generating
+         loop if it occurs.  Fixes OpenSUSE bug 763591:
+         https://bugzilla.novell.com/show_bug.cgi?id=763591
+
+                                  5/25
+                                  ----
+Makefile.in
+       - LDFLAGS_FOR_BUILD: add to compilation recipes for build tools
+         buildversion, mksignames, mksyntax
+       - LDFLAGS_FOR_BUILD: add to compilation recipes for test tools
+         recho, zecho, printenv, xcase
+
+builtins/Makefile.in
+       - LDFLAGS_FOR_BUILD: add to compilation recipes for build tools
+         gen-helpfiles, psize.aux
+
+variables.c
+       - bind_int_variable: if LHS is a simple variable name without an array
+         reference, but resolves to an array variable, call
+         bind_array_variable with index 0 to make x=1 equivalent to x[0]=1.
+         Fixes bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  5/27
+                                  ----
+subst.c
+       - expand_word_internal: make sure has_dollar_at doesn't get reset before
+         recursive calls to param_expand or expand_word_internal, since it has
+         to save state of what came before.  Use temp variable and make sure
+         has_dollar_at is incremented if recursive call processes "$@".
+         Fixes bug reported by gregrwm <backuppc-users@whitleymott.net> and
+         supplemented by Dan Douglas <ormaaj@gmail.com>
+
+doc/{bash.1,bashref.texi}
+       - changes to the description of substring expansion inspired by
+         suggestions from Bill Gradwohl <bill@ycc.com>
+
+doc/bashref.texi
+       - added substring expansion examples inspired by suggestions from
+         Bill Gradwohl <bill@ycc.com>
+
+variables.c
+       - find_shell_variable: search for a variable in the list of shell
+         contexts, ignore the temporary environment
+       - find_variable_tempenv: search for a variable in the list of shell
+         contexts, force search of the temporary environment
+       - find_variable_notempenv: search for a variable in the list of shell
+         contexts, don't force search of the temporary environment
+
+variables.h
+       - find_shell_variable: extern declaration
+       - find_variable_tempenv: extern declaration
+       - find_variable_notempenv: extern declaration
+
+arrayfunc.c
+       - bind_array_variable: call find_shell_variable instead of calling
+         var_lookup directly
+
+findcmd.c
+       - search_for_command: call find_variable_tempenv instead of
+         find_variable_internal directly
+       - _find_user_command_internal: call find_variable_tempenv instead of
+         find_variable_internal directly
+
+builtins/setattr.def
+       - set_var_attribute: call find_variable_notempenv instead of
+         find_variable_internal directly
+       - show_name_attributes:  call find_variable_tempenv instead of
+         find_variable_internal directly
+
+                                   6/1
+                                   ---
+sig.c
+       - termsig_handler: don't try to save the shell history on a terminating
+         signal any more, since it just causes too many problems on Linux
+         systems using glibc and glibc malloc
+
+lib/readline/vi_mode.c
+       - rl_vi_change_to: change to correctly redo `cc', since `c' is not a vi
+         motion character.  From Red Hat bug 813289
+       - rl_vi_delete_to: change to correctly redo `dd', since `d' is not a vi
+         motion character
+       - rl_vi_yank_to: change to correctly redo `yy', since `y' is not a vi
+         motion character
+
+                                   6/4
+                                   ---
+lib/sh/mktime.c
+       - current versions of VMS do not need to include <stddef.h>.  Fix from
+         John E. Malmberg <wb8tyw@qsl.net>
+
+                                   6/5
+                                   ---
+lib/sh/eaccess.c
+       - sh_stat: instead of using a static buffer to do the DEV_FD_PREFIX
+         translation, use a dynamically-allocated buffer that we keep
+         resizing.  Fixes potential security hole reported by David Leverton
+         <levertond@googlemail.com>
+
+                                   6/5
+                                   ---
+braces.c
+       - expand_seqterm: check errno == ERANGE after calling strtoimax for
+         rhs and incr.  Part of a set of fixes from Scott McMillan
+         <scotty.mcmillan@gmail.com>
+       - expand_seqterm: incr now of type `intmax_t', which changes
+         arguments to mkseq
+       - mkseq: a better fix for detecting overflow and underflow since it's
+         undefined in C and compilers `optimize' out overflow checks.  Uses
+         ADDOVERFLOW and SUBOVERFLOW macros
+       - mkseq: use sh_imaxabs (new macro) instead of abs() for intmax_t
+         variables
+       - mkseq: don't allow incr to be converted to -INTMAX_MIN
+       - mkseq: make sure that strvec_create isn't called with a size argument
+         greater than INT_MAX, since it only takes an int
+
+                                   6/6
+                                   ---
+braces.c
+       - mkseq: try and be smarter about not overallocating elements in
+         the return array if the increment is not 1 or -1
+
+                                   6/7
+                                   ---
+parse.y
+       - history_delimiting_chars: if the parser says we're in the middle of
+         a compound assignment (PST_COMPASSIGN), just return a space to avoid
+         adding a stray semicolon to the history entry.  Fixes bug reported
+         by "Davide Brini" <dave_br@gmx.com>
+
+                                   6/8
+                                   ---
+bashline.c
+       - bash_directory_completion_hook: don't attempt spelling correction
+         on the directory name unless the direxpand option is set and we are
+         going to replace the directory name with the corrected one in the
+         readline line.  Suggested by Linda Walsh <bash@tlinx.org>
+
+lib/sh/shquote.c
+       - sh_backslash_quote: now takes a third argument: flags.  If non-zero,
+         tildes are not backslash-escaped.  Have to handle both printf %q,
+         where they should be escaped, and filename completion, where they
+         should not when used as usernames
+
+externs.h
+       - sh_backslash_quote: declaration now takes a third argument
+
+builtins/printf.def
+       - printf_builtin: call sh_backslash_quote with 1 as third argument
+         so tildes get escaped
+
+{bashline,bracecomp}.c
+       - call sh_backslash_quote with 0 as third argument so tildes are not
+         escaped in completed words
+
+doc/bash.1
+       - add `coproc' to the list of reserved words.  From a report by
+         Jens Schweikhardt <schweikh@schweikhardt.net>
+
+                                  6/10
+                                  ----
+execute_cmd.c
+       - line_number_for_err_trap: now global, so parse_and_execute can save
+         and restore it with unwind-protect
+
+builtins/evalstring.c
+       - parse_prologue: save and restore line_number_for_err_trap along
+         with line_number
+       - restore_lastcom: new function, unwind-protect to restore
+         the_printed_command_except_trap
+       - parse_prologue: use restore_lastcom to save and restore the value
+         of the_printed_command_except_trap around calls to parse_and_execute
+         (eval/source/.)
+
+                                  6/15
+                                  ----
+lib/readline/complete.c
+       - complete_fncmp: change filename comparison code to understand
+         multibyte characters, even when doing case-sensitive or case-mapping
+         comparisons.  Fixes problem reported by Nikolay Shirokovskiy
+         <nshyrokovskiy@gmail.com>
+
+                                  6/20
+                                  ----
+builtins/mapfile.def
+       - mapfile: move the line count increment and check for having read
+         the specified number of lines to the end of the loop to avoid
+         reading an additional line with zgetline.  Fixes bug reported by
+         Dan Douglas <ormaaj@gmail.com>
+
+                                  6/21
+                                  ----
+
+execute_cmd.c
+       - execute_pipeline: make sure `lastpipe_flag' is initialized to 0 on
+         all systems, since it's tested later in the function.  Fixes bug
+         reported by John E. Malmberg <wb8tyw@qsl.net>
+
+                                  6/22
+                                  ----
+mailcheck.c
+       - file_mod_date_changed: return 0 right away if mailstat() does not
+         return success.  Fixes bug with using uninitialized values reported
+         by szymon.kalasz@uj.edu.pl
+
+builtins/set.def
+       - the `monitor' option is not available when the shell is compiled
+         without job control, since the underlying `m' flag is not available
+
+nojobs.c
+       - job_control: now declared as int variable, initialized to 0, never
+         modified
+
+jobs.h
+       - job_control: extern declaration no longer dependent on JOB_CONTROL
+
+execute_cmd.c
+       - execute_pipeline: made necessary changes so `lastpipe' shell option
+         is now available in all shells, even those compiled without
+         JOB_CONTROL defined
+
+                                  6/23
+                                  ----
+lib/glob/glob.c
+       - glob_filename: check for interrupts before returning if glob_vector
+         returns NULL or an error.  Bug reported by Serge van den Boom
+         <svdb@stack.nl>, fix from Andreas Schwab <schwab@linux-m68k.org>
+       - call run_pending_traps after each call to QUIT or test of
+         interrupt_state, like we do in mainline shell code
+       - glob_vector: don't call QUIT; in `if (lose)' code block; just free
+         memory, return NULL, and let callers deal with interrupt_state or
+         other signals and traps
+
+                                  6/25
+                                  ----
+lib/readline/input.c
+       - rl_read_key: restructure the loop that calls the event hook a little,
+         so that the hook is called only after rl_gather_tyi returns no input,
+         and any pending input is returned first.  This results in better
+         efficiency for processing pending input without calling the hook
+         on every input character as bash-4.1 did.  From a report from
+         Max Horn <max@quendi.de>
+
+                                  6/26
+                                  ----
+trap.c
+       - signal_is_pending: return TRUE if SIG argument has been received and
+         a trap is waiting to execute
+
+trap.h
+       - signal_is_pending: extern declaration
+
+lib/glob/glob.c
+       - glob_vector: check for pending SIGINT trap each time through the loop,
+         just like we check for interrupt_state or terminating_signal, and
+         set `lose = 1' so we clean up after ourselves and interrupt the
+         operation before running the trap.  This may require a change later,
+         maybe call run_pending_traps and do that if run_pending_traps returns?
+
+variables.c
+       - sv_histtimefmt: set history_comment_character to default (`#') if
+         it's 0 when we're turning on history timestamps.  The history code
+         uses the history comment character to prefix timestamps, and
+         leaving it at 0 effectively removes them from the history.  From a
+         report to help-bash by Dennis Williamson <dennistwilliamson@gmail.com>
+
+                                  6/27
+                                  ----
+lib/readline/signals.c
+       - rl_maybe_restore_sighandler: new function, sets handler for SIG to
+         HANDLER->sa_handler only if it's not SIG_IGN.  Needs to be called
+         on same signals set using rl_maybe_set_sighandler, which does not
+         override an existing SIG_IGN handler (SIGALRM is ok since it does
+         the check inline; doesn't mess with SIGWINCH)
+
+                                  6/30
+                                  ----
+variables.h
+       - additional defines for the new `nameref' variable attribute
+         (att_nameref): nameref_p, nameref_cell, var_setref
+
+variables.c
+       - find_variable_nameref: resolve SHELL_VAR V through chain of namerefs
+       - find_variable_last_nameref: resolve variable NAME until last in a
+         chain of possibly more than one nameref starting at shell_variables
+       - find_global_variable_last_nameref: resolve variable NAME until last
+         in a chain of possibly more than one nameref starting at
+         global_variables
+       - find_nameref_at_context: resolve SHELL_VAR V through chain of namerefs        
+         in a specific variable context (usually a local variable hash table)
+       - find_variable_nameref_context: resolve SHELL_VAR V through chain of
+         namerefs following a chain of varible contexts
+       - find_variable_last_nameref_context: resolve SHELL_VAR V as in
+         find_variable_last_context, but return the final nameref instead of
+         what the final nameref resolves to
+       - find_variable_tempenv, find_variable_notempenv, find_global_variable,
+         find_shell_variable, find_variable: modified to follow namerefs
+       - find_global_variable_noref: look up a global variable without following
+         any namerefs
+       - find_variable_noref: look up a shell variable without following any
+         namerefs
+       - bind_variable_internal: modify to follow a chain of namerefs in the
+         global variables table; change to handle assignments to a nameref by
+         following nameref chain
+       - bind_variable: modify to follow chain of namerefs when binding to a
+         local variable
+       - unbind_variable: changes to unset nameref variables (unsets both
+         nameref and variable it resolves to)
+
+subst.c
+       - parameter_brace_expand_word: change to handle expanding nameref whose
+         value is x[n]
+       - parameter_brace_expand_indir: change to expand in ksh93-compatible
+         way if variable to be indirected is nameref and a simple (non-array)
+         expansion
+       - param_expand: change to expand $foo where foo is a nameref whose value
+         is x[n]
+
+execute_cmd.c
+       - execute_for_command: changes to implement ksh93 semantics when index
+         variable is a nameref
+
+builtins/setattr.def
+       - show_var_attributes: change to add `n' to flags list if att_nameref
+         is set
+
+builtins/set.def
+       - unset_builtin: changes to error messages to follow nameref variables
+
+builtins/declare.def
+       - document new -n option
+       - declare_internal: new `-n' and `+n' options
+       - declare_internal: handle declare -n var[=value] and
+         declare +n var[=value] for existing and non-existant variables.
+         Enforce restriction that nameref variables cannot be arrays.
+         Implement semi-peculiar ksh93 semantics for typeset +n ref=value
+
+                                   7/5
+                                   ---
+variables.c
+       - unbind_variable: unset whatever a nameref resolves to, leaving the
+         nameref variable itself alone
+       - unbind_nameref: new function, unsets a nameref variable, not the
+         variable it references
+
+variables.h
+       - unbind_nameref: extern declaration
+
+builtins/set.def
+       - unset_builtin: modify to add -n option, which calls unbind_nameref
+         leaving unbind_variable for the usual case.  This required slight
+         changes and additions to the test suite
+
+doc/{bash.1,bashref.texi}
+       - document namerefs and typeset/declare/local/unset -n
+
+                                  7/13
+                                  ----
+lib/sh/casemod.c
+       - include shmbchar.h for is_basic and supporting pieces
+       - sh_casemod: use _to_wupper and _to_wlower to convert wide character
+         case instead of TOUPPER and TOLOWER.  Fixes bug reported by
+         Dennis Williamson <dennistwilliamson@gmail.com>, fix from
+         Andreas Schwab <schwab@linux-m68k.org>
+       - cval: short-circuit and return ascii value if is_basic tests true
+       - sh_casemod: short-circuit and use non-multibyte case modification
+         and toggling code if is_basic tests true
+
+lib/readline/signals.c
+       - _rl_{block,release}_sigint: remove the code that actually blocks and
+         releases the signals, since we defer signal handling until calls to
+         RL_CHECK_SIGNALS()
+
+lib/readline/{callback,readline,util}.c
+       - if HAVE_POSIX_SIGSETJMP is defined, use sigsetjmp/siglongjmp without
+         saving and restoring the signal mask instead of setjmp/longjmp
+
+lib/readline/rltty.c
+       - prepare_terminal_settings: don't mess with IXOFF setting if
+         USE_XON_XOFF defined
+
+doc/{bash.1,bashref.texi}
+       - add some text to the description of set -e clarifying its effect
+         on shell functions and shell function execution.  Suggested by
+         Rainer Blome <rainer.blome@gmx.de>
+
+bashline.c
+       - edit_and_execute_command: increment current_command_line_count before
+         adding partial line to command history (for command-oriented-history
+         because of rl_newline at beginning of function), then reset it to 0
+         before adding the dummy history entry to make sure the dummy entry
+         doesn't get added to previous incomplete command.  Partial fix for
+         problem reported by Peng Yu <pengyu.ut@gmail.com>
+
+                                  7/24
+                                  ----
+configure.in
+       - interix: define RECYCLES_PIDS.  Based on a report from Michael
+         Haubenwallner <michael.haubenwallner@salomon.at>
+
+                                  7/26
+                                  ----
+jobs.c
+       - make_child: call bgp_delete on the newly-created pid unconditionally.
+         Some systems reuse pids before cycling through an entire set of
+         CHILD_MAX/_SC_CHILD_MAX unique pids.  This is no longer dependent
+         on RECYCLES_PIDS.  Based on a report from Michael Haubenwallner
+         <michael.haubenwallner@salomon.at>
+
+support/shobj-conf
+       - Mac OS X: drop MACOSX_DEPLOYMENT_TARGET=10.3 from the LDFLAGS. We
+         can finally kill Panther
+
+                                  7/28
+                                  ----
+subst.c
+       - command_substitute: make sure last_made_pid gets reset if make_child
+         fails
+
+execute_cmd.c
+       - execute_command_internal: case cm_simple: decide whether or not to
+         wait_for a child if already_making_children is non-zero, indicates
+         that there is an unwaited-for child.  More of fix for bug report
+         from Michael Haubenwallner <michael.haubenwallner@salomon.at>
+
+jobs.c
+       - make_child: call delete_old_job (new_pid) unconditionally, don't
+         bother to check whether or not pid wrap occurred.  Rest of fix for
+         bug report from Michael Haubenwallner
+         <michael.haubenwallner@salomon.at>
+
+                                  7/29
+                                  ----
+shell.c
+       - subshell_exit: new function, exits the shell (via call to sh_exit())
+         after calling any defined exit trap
+
+externs.h
+       - subshell_exit: new extern declaration
+
+execute_cmd.c
+       - execute_command_internal: make sure to call subshell_exit for
+         {} group commands executed asynchronously (&).  Part of fix for
+         EXIT trap bug reported by Maarten Billemont <lhunath@lyndir.com>
+
+sig.c
+       - reset_terminating_signals: make sure to set termsigs_initialized back
+         to 0, so a subsequent call to initialize_terminating_signals works
+         right.  Rest of fix for bug reported by Maarten Billemont
+         <lhunath@lyndir.com>
+
+{execute_cmd,general,jobs,mailcheck,mksyntax,test}.c
+builtins/{cd,fc,pushd,ulimit}.def
+lib/malloc/getpagesize.h
+lib/sh/{clktck,fpurge,inet_aton,mailstat,oslib,pathcanon,pathphys,spell,strerror}.c
+       - make inclusion of <sys/param.h> dependent on HAVE_SYS_PARAM_H
+         consistently
+
+                                   8/6
+                                   ---
+lib/readline/histexpand.c
+       - history_expand_internal: now takes an additional argument saying
+         whether the history expansion occurs within a quoted string, set to
+         the open quote character
+       - history_expand_internal: use new argument instead of checking prev
+         char and initializing quoted_search_delimiter, pass qc directly to
+         get_history_event, where it allows a matching quote to terminate a
+         string defining an event
+       - history_expand: change single-quote handling code so that if
+         history_quotes_inhibit_expansion is 0, single quotes are treated
+         like double quotes
+       - history_expand: change call to history_expand_internal to pass new
+         argument of `"' if double-quoted string, `'' if single-quoted string;
+         this lets history_expand decide what is a quoted string and what
+         is not
+
+                                   8/7
+                                   ---
+configure.in
+       - AC_CANONICAL_BUILD: invoke for later use
+
+lib/readline/macro.c
+       - _rl_prev_macro_key: new function, inverse of _rl_next_macro_key:
+         backs up the index into the current macro by 1
+
+lib/readline/rlprivate.h
+       - _rl_prev_macro_key: extern declaration
+
+
+lib/readline/readline.c
+       - _rl_dispatch_subseq, _rl_subseq_result: don't call _rl_unget_char
+         if we're currently reading from a macro; call _rl_prev_macro_key
+         instead.  Fixes bug reported by Clark Wang <clark.wang@oracle.com>
+
+                                  8/13
+                                  ----
+builtins/evalstring.c
+       - evalstring(): new function, wrapper around parse_and_execute.
+         make sure we handle cases where parse_and_execute can call `return'
+         and short-circuit without cleaning up properly.  We call
+         parse_and_execute_cleanup() then jump to the previous-saved return
+         location
+
+builtins/common.h
+       - extern declaration for evalstring()
+
+builtins/eval.def
+       - eval_builtin: make sure we handle `eval " ... return"' in contexts
+         where `return' is valid by calling evalstring().  Fixes bug with
+         `eval return' in sourced files reported by Clark Wang
+         <dearvoid@gmail.com>
+
+trap.c
+       - run_pending_traps: call evalstring instead of parse_and_execute.
+         XXX - still needs to handle saving and restoring token state in the
+         presence of `return'; could use unwind_protects for that
+
+builtins/mapfile.def
+       - run_callback: call evalstring instead of parse_and_execute
+
+                                  8/15
+                                  ----
+bashline.c
+       - bash_filename_stat_hook: make sure we don't free local_dirname
+         before using it to canonicalize any expanded filename.  Make sure
+         it always points to *dirname and only free it if we're replacing
+         it.
+
+lib/readline/complete.c
+       - append_to_match: make sure we call rl_filename_stat_hook with
+         newly-allocated memory to avoid problems with freeing it twice
+
+                                  8/17
+                                  ----
+variables.c,config-top.h
+       - if ARRAY_EXPORT is defined to 1 when variables.c is compiled, the
+         code that allows indexed arrays to be exported is enabled and
+         included
+
+                                  8/19
+                                  ----
+shell.c
+       - call start_debugger from main() only if dollar_vars[1] != 0 (close
+         enough to a non-interactive shell, since we can be interactive with
+         -i while running a shell script).  Fixes oddity reported by
+         Techlive Zheng <techlivezheng@gmail.com>
+
+                                  8/20
+                                  ----
+arrayfunc.c
+       - quote_array_assignment_chars: don't bother quoting if the word has
+         not been marked as an assignment (W_ASSIGNMENT)
+       - quote_array_assignment_chars: turn on W_NOGLOB in the word flags
+         so assignment statements don't undergo globbing.  Partial fix for
+         problems reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  8/21
+                                  ----
+command.h
+       - W_NOBRACE: new word flag that means to inhibit brace expansion
+
+subst.c
+       - brace_expand_word_list: suppress brace expansion for words with
+         W_NOBRACE flag
+
+                                  8/22
+                                  ----
+builtins/read.def
+       - read_builtin: don't call dequote_string on what we've read, even if
+         we saw an escape character, unless (input_string && *input_string).
+         We may have escaped an IFS whitespace character.  Fixes seg fault
+         reported by <armandsl@gmail.com>
+
+execute_cmd.c
+       - execute_command_internal: set the_printed_command_except trap when
+         about to execute a ( ... ) user subshell.  For now, set it only if
+         ERR is trapped; can relax that later.  Fixes bug reported by
+         Mike Frysinger <vapier@gentoo.org>
+
+                                  8/23
+                                  ----
+jobs.c
+       - remove references to first_pid and pid_wrap, since we're not using
+         them for anything anymore
+
+                                  8/24
+                                  ----
+subst.c
+       - changes for W_NOBRACE everywhere appropriate: so it can be displayed
+         for debugging, and passed out of expand_word_internal
+
+doc/{bash.1,bashref.texi}
+       - small changes to make it clearer that the = and == operators are
+         equivalent, and will cause pattern matching when used with [[.
+         From a question from Michal Soltys <soltys@ziu.info>
+
+doc/bashref.texi
+       - some small formatting changes from Karl Berry <karl@freefriends.org>
+
+                                  8/27
+                                  ----
+lib/readline/doc/{history,rlman,rluserman}.texi
+       - some small formatting changes from Karl Berry <karl@freefriends.org>
+
+arrayfunc.c
+       - assign_array_element_internal, assign_compound_array_list,
+         unbind_array_element, array_value_internal: changes to make
+         assignment statements to negative indices (a[-1]=2) and unsetting
+         array elements using negative indices (unset 'a[-1]') work.
+         From suggestions by Dennis Williamson <dennistwilliamson@gmail.com>
+         and Chris F. A. Johnson <chris@cfajohnson.com>
+
+subst.c
+       - array_length_reference: changes to make length references to array
+         elements using negative indices (${#a[-1]}) work
+
+                                  8/28
+                                  ----
+doc/{bash.1,bashref.texi}
+       - document new treatment of negative indices to indexed arrays when
+         assigning, referencing, calculating length, and unsetting
+
+                                  8/29
+                                  ----
+shell.c
+       - show_shell_usage: add -l to list of shell invocation options (short
+         for --login).  From Red Hat bug 852469
+
+configure.ac
+       - renamed from configure.in, as latest autoconf versions want.  Patches
+         Stefano Lattarini <stefano.lattarini@gmail.com>
+
+MANIFEST,Makefile.in,doc/bashref.texi,support/mkconffiles
+       - configure.in -> configure.ac
+
+                                   9/1
+                                   ---
+
+parse.y
+       - read_token_word: allow words like {array[ind]} to be valid redirection
+         words for constructs like {x}<file
+
+redir.c
+       - redir_varassign: bind_var_to_int already handles array assignments,
+         so don't need to do anything more for things like {a[i]}<file
+       - redir_varvalue: changes to allow references to {a[i]} when
+         performing redirections using valid_array_reference and
+         get_array_value.  Adds functionality requested most recently by
+         <unknown@vmw-les.eng.vmware.com>
+
+lib/readline/display.c
+       - update_line: if the first difference between the old and new lines
+         is completely before any invisible characters in the prompt, we
+         should not adjust _rl_last_c_pos, since it's before any invisible
+         characters.  Fixed in two places
+       - prompt_modechar: return a character indicating the editing mode:
+         emacs (@), vi command (:), or vi insert (+)
+       - _rl_reset_prompt: new function, just calls rl_expand_prompt.  Will be
+         inlined, placeholder for more changes
+       - expand_prompt: if show-mode-in-prompt is enabled, add a character to
+         the front of the prompt indicating the editing mode, adjusting the
+         various variables as appropriate to keep track of the number of
+         visible characters and number of screen positions
+
+lib/readline/bind.c
+       - show-mode-in-prompt: new bindable boolean variable, shadowed by
+         _rl_show_mode_in_prompt variable
+       - hack_special_boolean_var: call _rl_reset_prompt when toggling or
+         setting show-mode-in-prompt
+
+lib/readline/readline.c
+       - readline_internal_setup: make sure the correct vi mode keymap is set
+         before expanding the prompt string for the first time
+
+lib/readline/misc.c
+       - rl_emacs_editing_mode: make sure to call _rl_reset_prompt if we're
+         showing the editing mode in the prompt
+
+lib/readline/rlprivate.h
+       - _rl_reset_prompt, _rl_show_mode_in_prompt: extern declarations
+
+lib/readline/vi_mode.c
+       - rl_vi_insertion_mode: call _rl_reset_prompt
+       - rl_vi_movement_mode: call _rl_reset_prompt.  Finishes changes for
+         showing mode in prompt string, originally requested by Miroslav
+         Koskar <mkoskar@gmail.com> and most recently by Jordan Michael
+         Ziegler <jziegler@bnl.gov>
+
+doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
+       - document new show-mode-in-prompt variable, off by default
+
+                                   9/3
+                                   ---
+
+jobs.c
+       - set_childmax: new function, external mechanism for other parts of
+         the shell to set js.c_childmax, the number of saved exited child
+         statuses to remember
+jobs.h
+       - set_childmax: extern declaration
+
+variables.c
+       - CHILD_MAX: new special variable, with sv_childmax function to
+         run when it changes.  Setting CHILD_MAX to a value greater than
+         zero but less than some maximum (currently 8192) sets the number of
+         exited child statuses to remember.  set_childmax (jobs.c) ensures
+         that the number does not drop below the posix-mandated minimum
+         (CHILD_MAX)
+
+doc/{bash.1,bashref.texi}
+       - CHILD_MAX: document new meaning and action when variable is set
+
+                                   9/5
+                                   ---
+redir.c
+       - redir_varassign: call stupidly_hack_special_variables after
+         assigning fd number to specified variable, so we can use constructs
+         like {BASH_XTRACEFD}>foo.  Suggested by Pierre Gaston
+         <pierre.gaston@gmail.com>
+
+                                   9/8
+                                   ---
+expr.c
+       - readtok: invalidate previous contents of `curlval' before freeing
+         and reallocating tokstr (which, chances are, will get the same
+         pointer as before and render curlval inconsistent).  Fixes other
+         bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                   9/9
+                                   ---
+lib/readline/complete.c
+       - rl_username_completion_function: protect call to setpwent() with
+         #ifdef (HAVE_GETPWENT)/#endif.  Fixes bug reported by
+         Gerd Hofmann <gerd.hofmann.nbg@googlemail.com>
+
+lib/readline/display.c
+       - rl_message: second and subsequent calls to rl_message can result in
+         local_prompt being overwritten with new values (e.g., from the
+         successive calls displaying the incremental search string).  Need
+         to free before overwriting if it's not the same as the value saved
+         in saved_local_prompt.  Fixes memory leak reported by
+         Wouter Vermaelen <vermaelen.wouter@gmail.com>
+
+lib/readline/{terminal.c,rlprivate.h}
+       - move CUSTOM_REDISPLAY_FUNC and CUSTOM_INPUT_FUNC defines from
+         terminal.c to rlprivate.h so other files can use them
+
+expr.c
+       - expr_streval: if noeval is non-zero, just return 0 right away,
+         short-circuiting evaluation completely.  readtok will leave curtok
+         set correctly without re-entering the evaluator at all.  Rest of
+         fix for bug reported by Dan Douglas <ormaaj@gmail.com>
+
+                                  9/11
+                                  ----
+
+parse.y
+       - parse_comsub: make sure the `reserved word ok in this context' flag
+         is preserved after we read `do' followed by whitespace.  Fixes bug
+         reported by Benoit Vaugon <benoit.vaugon@gmail.com>
+
+                                  9/13
+                                  ----
+configure.ac,config.h.in
+       - enable-direxpand-default: new configure option, turns the `direxpand'
+         shell option on by default
+
+bashline.c
+       - dircomplete_expand, dircomplete_expand_relpath: initialize to 1 if
+         DIRCOMPLETE_EXPAND_DEFAULT is defined and non-zero
+
+doc/bashref.texi
+       - enable-direxpand-default: document new configure option
+
+                                  9/14
+                                  ----
+shell.c
+       - --protected: make option valid only when wordexp is compiled into
+         the shell.  Fix from Roman Rakus <rrakus@redhat.com>
+
+configure.ac
+       - HP NonStop (*-nsk*): compile --without-bash-malloc. Change from
+         Joachim Schmitz <jojo@schmitz-digital.de>
+
+                                  9/16
+                                  ----
+subst.c,execute_cmd.c,lib/glob/sm_loop.c,lib/sh/shquote.c
+       - minor code cleanups from Joachim Schmitz <jojo@schmitz-digital.de>
+
+lib/readline/colors.h
+       - workaround for HP NonStop compiler issue with <stdbool.h> from
+         Joachim Schmitz <jojo@schmitz-digital.de>
+
+                                  9/17
+                                  ----
+builtins/printf.def
+       - printf_builtin: handle localtime returning NULL, as can happen when
+         encountering overflow.  Bug report and initial fix from
+         Eduardo A. Bustamante López <dualbus@gmail.com>
+
+doc/{bash.1,bashref.texi}
+       - emphasize that brace expansion using character ranges ({a..c}) acts
+         as if the C locale were in use.  Prompted by message from
+         Marcel Giannelia <info@skeena.net>
+
+                                  9/20
+                                  ----
+lib/sh/wcsnwidth.c
+       - wcsnwidth: new function, variant of wcwidth, returns the number of
+         wide characters from a string that will be displayed to not exceed
+         a specified max column position
+
+                                  9/21
+                                  ----
+builtins/help.def
+       - show_builtin_command_help: break code that displays the short-doc
+         for each builtin in two columns into a new function: dispcolumn
+       - wdispcolumn: multibyte-char version of dispcolumn; uses wide
+         chars and printf "%ls" format.  Fixes problem reported by
+         Nguyá»n Thái Ngá»c Duy <pclouds@gmail.com>
+
+                                  9/22
+                                  ----
+execute_cmd.c
+       - execute_disk_command: before running the command-not-found hook,
+         call kill_current_pipeline() to make sure we don't add processes
+         to an existing pipeline or wait for processes erroneously
+
+                                  9/23
+                                  ----
+lib/readline/input.c
+       - rl_input_available_hook: new hook function, called from
+         _rl_input_available (or _rl_input_queued) to return whether or not
+         input is available wherever the input source is
+
+lib/readline/doc/rltech.texi
+       - rl_input_available_hook: document
+
+                                  9/27
+                                  ----
+lib/glob/sm_loop.c:
+       - GMATCH: after one or more `*', an instance of ?(x) can match zero or
+         1 times (unlike ?, which has to match one character).  The old code
+         failed if it didn't match at least once.  Fixes `a*?(x)' bug.
+       - GMATCH: if we hit the end of the search string, but not the end of
+         the pattern, and the rest of the pattern is something that can
+         match the NUL at the end of the search string, we should successfully
+         match.  Fixes `a*!(x)' bug reported by <hans1worst@gmail.com>
+
+                                  10/2
+                                  ----
+command.h
+       - add c_lock member to coproc structure for future use to tell who is
+         manipulating it
+
+execute_cmd.c
+       - execute_coproc: block SIGCHLD while parent is forking coproc
+         process and adding pid to sh_coproc struct to avoid race condition
+         where child is reaped before the pid is assigned and the coproc is
+         never marked as having died.  Fixes race condition identified by
+         Davide Baldini <baldiniebaldini@gmail.com>
+       - add assignments to c_lock member of struct coproc in various
+         functions that manipulate it; was used to identify race condition
+       - coproc_pidchk: don't call coproc_dispose to avoid using malloc and
+         other functions in a signal handler context
+       - coproc_dispose: call BLOCK_SIGNAL/UNBLOCK_SIGNAL for SIGCHLD while
+         manipulating the sh_coproc struct
+
+                                  10/6
+                                  ----
+lib/readline/complete.c
+       - rl_display_match_list: if printing completions horizontally, don't
+         bother with spacing calculations if limit == 1, which means we are
+         printing one completion per line no matter what.  Fixes bug
+         reported by David Kaasen <kaasen@nvg.ntnu.no>
+
+                                  10/7
+                                  ----
+builtins/declare.def
+       - declare_internal: add error checking for nameref attribute and
+         variable assignments: self-references, attempts to make an array
+         variable a nameref
+
+subst.c
+       - parameter_brace_expand: handle parameter_brace_expand_word returning
+         &expand_param_fatal or &expand_param_error and return the appropriate
+         error value
+       - parameter_brace_expand_word: if a nameref variable's value is not a
+         valid identifier, return an error
+       - param_expand: if a nameref variable's value is not a valid identifier,
+         return an error
+
+test.c
+       - unary_operator: add new -R variable, returns true if variable is set
+         and has the nameref attribute. From ksh93
+
+builtins/test.def
+       - add -R to description of conditional commands for help test
+
+doc/{bash.1,bashref.texi}
+       - document new -R unary conditional operator
+
+                                  10/13
+                                  -----
+trap.c
+       - check_signals_and_traps: new function, convenience function for the
+         rest of the shell to check for pending terminating and interrupt
+         signals, and to check for and process any pending traps
+       - any_signals_trapped: new function, returns non-zero if any signals
+         are trapped and -1 if not
+
+trap.h
+       - extern declaration for check_signals_and_traps
+
+bashline.c
+       - bashline_reset: make sure we reset the event hook
+       - bash_event_hook: call check_signals_and_traps instead of just
+         checking for terminating signals so we can run pending traps and
+         react to interrupts, and reset the event hook when we're done
+
+
+                                  10/14
+                                  -----
+trap.c
+       - trap_handler: if executing in a readline signal handler context,
+         call bashline_set_event_hook to install bash_event_hook to process
+         the signal (if bash cares about it)
+
+sig.c
+       - sigint_sighandler: call bashline_set_event_hook to set the event
+         hook if we're executing in a readline signal handler context
+
+lib/readline/input.c
+       - rl_getc: call RL_CHECK_SIGNALS if read returns -1/EINTR and the caught
+         signal is SIGINT or SIGQUIT rather than waiting until the next time
+         around the loop
+       - rl_getc: call rl_event_hook after calling RL_CHECK_SIGNALS to allow
+         an application signal handler to set the event hook in its own
+         signal handler (e.g., like bash trap_handler or sigint_sighandler)
+
+
+parse.y
+       - yy_readline_get: don't set interrupt_immediately before we call
+         readline().  Inspired by report from lanshun zhou
+         <zls.sogou@gmail.com>
+
+input.c
+       - getc_with_restart: add call to run_pending_traps after call to
+         CHECK_TERMSIG
+
+lib/sh/zread.c
+       - zread: call check_signals_and_traps if read() returns -1/EINTR
+         instead of just ignoring the EINTR and deferring handling any
+         signal that generated it
+
+builtins/mapfile.def
+       - mapfile: don't set interrupt_immediately before calling zgetline()
+         (which uses zread internally)
+
+builtins/read.def
+       - read_builtin: don't set interrupt_immediately before calling zread
+         (moved code around so that it was only being set right around calls
+         to zread to avoid signal handler conflicts).  Inspired by report
+         from lanshun zhou <zls.sogou@gmail.com>
+       - edit_line: don't set interrupt_immediately around call to readline()
+       - include shmbutil.h
+       - read_builtin: don't call read_mbchar unless is_basic(c) returns
+         false for the character we just read
+
+                                  10/15
+                                  -----
+sig.c
+       - throw_to_top_level: if interrupt_state is non-zero, make sure that
+         last_command_exit_value reflects 128+SIGINT if it's not already
+         greater than 128
+
+                                  10/20
+                                  -----
+builtins/wait.def
+       - WAIT_RETURN: set wait_signal_received back to 0 for the potential
+         next call to wait
+
+quit.h
+       - CHECK_WAIT_INTR: macro to check whether trap_handler handled a
+         signal and set wait_signal_received; longjmp to wait_intr_buf in
+         that case
+
+jobs.c
+       - wait_for, waitchld: call CHECK_WAIT_INTR at the same places we call
+         CHECK_TERMSIG to check for terminating signals
+       - wait_sigint_handler: don't longjmp out of the wait builtin unless
+         interrupt_immediately is set; otherwise just SIGRETURN from the
+         handler
+       - wait_sigint_handler: if interrupt_immediately not set, but we are
+         executing in the wait builtin and SIGINT is not trapped, treat it
+         as a `normally received' SIGINT: restore the signal handler and
+         send SIGINT to ourselves
+       - waitchld: when in posix mode and running SIGCHLD traps, don't longjmp
+         to wait_intr_buf (and let wait be interrupted) if we're running from
+         a signal handler.  Wait for CHECK_WAIT_INTR to do the longjmp.
+         run_pending_traps will run the SIGCHLD trap later
+
+nojobs.c
+       - reap_zombie_children, wait_for_single_pid, wait_for: call
+         CHECK_WAIT_INTR where we call CHECK_TERMSIG
+       - wait_sigint_handler: don't longjmp out of the wait builtin unless
+         interrupt_immediately is set; otherwise just SIGRETURN from the
+         handler
+
+trap.c
+       - trap_handler: make sure wait_signal_received is set if the wait
+         builtin is executing, and only longjmp if interrupt_immediately is
+         set.  This whole set of fixes was prompted by report from
+         lanshun zhou <zls.sogou@gmail.com>
+
+                                  10/24
+                                  -----
+lib/glob/glob.c
+       - glob_filename: only check directory_name for globbing chars if
+         it's of non-zero length
+
+lib/sh/strchrnul.c
+       - new simpler implementation
+
+subst.c
+       - command_substitute: call set_shellopts after turning off errexit
+         in subshells so it's reflected in $SHELLOPTS
+
+                                  11/7
+                                  ----
+builtins/evalstring.c
+       - parse_and_execute: treat ERREXIT case like reader_loop does: set
+         variable_context to 0 before longjmping back to top_level. Don't
+         run the unwind-protect context to avoid side effects from popping
+         function contexts.  Part of fix for problem reported by Nikolai
+         Kondrashov <nikolai.kondrashov@redhat.com>
+
+execute_cmd.c
+       - execute_simple_command: call unlink_fifo_list only if this is the
+         last element of a pipeline (or not in a pipeline), rather than for
+         every child.  Fixes difference in behavior between /dev/fd and
+         FIFOs reported by Zev Weiss <zev@bewilderbeest.net>
+       - execute_null_command: do the same thing in the parent branch after
+         make_child
+
+                                  11/14
+                                  -----
+subst.c
+       - parameter_brace_expand: a variable is null if it's special ($@, $*),
+         the expansion occurs within double quotes, and the expansion turns
+         into a quoted null.  Fixes debian bug 692447 reported by
+         Matrosov Dmitriy <sgf.dma@gmail.com>
+
+jobs.c
+       - run_sigchld_trap: make sure `running_trap' sentinel is set
+         appropriately
+       - waitchld: only run the sigchld trap if we're not in a signal
+         handler, not running a trap, and executing the wait builtin.
+         Otherwise, queue for later handling.  We still run one instance
+         of the trap handler per exited child.  Bulk of fix for bug
+         reported by Elliott Forney <idfah@cs.colostate.edu>
+
+trap.c
+       - queue_sigchld_trap: set catch_flag so run_pending_traps notices,
+         and set trapped_signal_received for completeness.  Rest of fix
+         for bug reported by Elliott Forney <idfah@cs.colostate.edu>
+
+lib/malloc/malloc.c
+       - block_signals: renamed to _malloc_block_signals, made public
+       - unblock_signals: renamed to _malloc_unblock_signals, made public
+
+lib/malloc/imalloc.h
+       - extern declarations for _malloc_{un,}block_signals
+
+lib/malloc/table.c
+       - mregister_alloc, mregister_free: block signals around table
+         manipulation
+
+                                  11/15
+                                  -----
+trap.c
+       - run_pending_traps: set SIG_INPROGRESS flag around calls to
+         run_sigchld_handler so other parts of the shell know that the
+         SIGCHLD trap handler is executing
+       - run_pending_traps: if we get a situation where we are looking at
+         running a SIGCHLD trap but the trap string is IMPOSSIBLE_TRAP_HANDLER
+         and the SIG_INPROGRESS flag is set, just skip it.  This is possible
+         if run_pending_traps is called from a SIGCHLD trap handler run by
+         run_sigchld_trap
+
+doc/bash.1,lib/readline/doc/{rluser.texi,readline.3}
+       - corrected description of the effect of `set history-size 0'.  Report
+         from Vesa-Matti J Kari <vmkari@cc.helsinki.fi>
+
+include/stdc.h
+       - CPP_STRING: new define, replaces __STRING
+
+lib/malloc/{malloc.c,imalloc.h}
+       - replace __STRING with CPP_STRING
+
+                                  11/16
+                                  -----
+lib/readline/bind.c
+       - sv_histsize: if argument evaluates to a value < 0, unstifle the
+         history
+
+                                  11/22
+                                  -----
+redir.c
+       - do_redirection_internal: if we have REDIR_VARASSIGN set in the
+         redirection flags and we set up `redirector' using fcntl or dup2,
+         don't add a redirect to make sure it stays open.  Let the
+         script programmer manage the file handle.  Fixes bug reported by
+         Sam Liddicott <sam@liddicott.com>
+
+                                  11/24
+                                  -----
+jobs.c
+       - wait_for_any_job: new function, waits for an unspecified background
+         job to exit and returns its exit status.  Returns -1 on no background
+         jobs or no children or other errors.  Calls wait_for with new
+         sentinel value ANY_PID
+       - wait_for: changes to handle argument of ANY_PID: don't look up or
+         try to modify the child struct, only go through the wait loop once.
+         Return -1 if waitpid returns no children
+
+jobs.h
+       - ANY_PID: new define
+
+builtins/wait.def
+       - new option: -n. Means to wait for the next job and return its exit
+         status.  Returns 127 if there are no background jobs (or no
+         children).  Feature most recently requested by Elliott Forney
+         <idfah@cs.colostate.edu>
+
+doc/{bash.1,bashref.texi}
+       - document new `wait -n' option
+
+execute_cmd.c
+       - execute_command_internal: save make_command_string () result in a
+         temp variable before calling savestring() on it; avoids evaluating
+         make_command_string() result twice.  Fix from John E. Malmberg
+         <wb8tyw@qsl.net>
+
+                                  11/28
+                                  -----
+
+builtins/declare.def
+       - declare_internal: if an array variable is declared using `declare -a'
+         or `declare -A', but not assigned a value, set the `invisible'
+         attribute so the variable does not show up as set.  Fix for bug
+         about variable initialization reported by Tim Friske <me@timfriske.com>
+
+builtins/{mapfile,read}.def
+       - after calling find_or_make_array_variable, make sure the invisible
+         flag is turned off, in case the variable was declared previously
+         using `declare -a' or `declare -A'.  Side effect of above change to
+         declare_internal
+
+subst.c
+       - shell_expand_word_list: handle the W_ASSNGLOBAL flag and put -g into
+         the list of options passed to make_internal_declare as appropriate.
+         Fix for bug reported by Tim Friske <me@timfriske.com>
+
+                                  11/30
+                                  -----
+test.c
+       - unary_op: make sure -v and -n check that the variable is not marked
+         as invisible before calling var_isset.  Fix for bug reported by Tim
+         Friske <me@timfriske.com>
+
+                                  12/2
+                                  ----
+subst.c
+       - process_substitute: turn off the `expanding_redir' flag, which
+         controls whether or not variables.c:find_variable_internal uses the
+         temporary environment to find variables.  We want to use the
+         temp environment, since we don't have to worry about order of
+         evaluation in a subshell.  Fixes bug reported by Andrey Borzenkov
+         <arvidjaar@gmail.com>
+
+                                  12/4
+                                  ----
+lib/glob/glob.c
+       - glob_filename: changes to avoid null filenames and multiple entries
+         returned for patterns like **/** (globstar enabled).  Fixes bug
+         reported by Ulf Magnusson <ulfalizer@gmail.com>
+
+                                  12/10
+                                  -----
+lib/glob/glob.c
+       - glob_filename: finish up a series of changes to make globstar-style   
+         globbing more efficient, avoid more duplicate filenames, and be more
+         compatible with other shells that implement it
+               o collapse a sequence of **/**/** to one **
+               o note when the directory name is all ** or ends in ** so we
+                 can treat it specially when the filename is **
+         All inspired by report from Andrey Borzenkov <arvidjaar@gmail.com>
+
+lib/sh/zread.c
+       - zreadn: new function, like zread, but takes an additional argument
+         saying how many bytes to read into the local buffer.  Can be used to
+         implement `read -N' without so many one-byte calls to zreadc.  Code
+         from Mike Frysinger <vapier@gentoo.org>
+
+                                  12/12
+                                  -----
+lib/glob/sm_loop.c
+       - PATSCAN (glob_patscan): if passed string already points to end of
+         pattern, return NULL immediately.  Fixes problem with
+         extglob_skipname reported by Raphaël Droz <raphael.droz@gmail.com>
+
+                                  12/13
+                                  -----
+execute_cmd.c
+       - execute_coproc: handle the command's exit status being inverted
+         (an oversight).  Fixes bug reported by DJ Mills
+         <danielmills1@gmail.com> and Andreas Schwab <schwab@linux-m68k.org>
+
+                                  12/14
+                                  -----
+lib/readline/readline.c
+       - bind_arrow_keys_internal: add MINGW key bindings for Home, End,
+         Delete, and Insert keys.  Fix from Pierre Muller
+         <pierre.muller@ics-cnrs.unistra.fr>
+
+builtins/printf.def
+       - printf_builtin: '%()T' conversion: if there is no argument supplied,
+         behave as if -1 had been supplied (current time).  ksh93-like feature
+         suggested by Clark Wang <dearvoid@gmail.com>
+
+doc/{bash.1,bashref.texi}
+       - document new printf %()T default argument behavior
+
+                                  12/15
+                                  -----
+lib/readline/display.c
+       - displaying_prompt_first_line: new variable, indicates whether or
+         not the first line of output is displaying the prompt.  Always true
+         in normal mode, sometimes false in horizontal scrolling mode
+       - rl_redisplay: set displaying_prompt_first_line to true unless we
+         are in horizontal mode; set to false in horizontal mode if the left
+         margin of the displayed line is greater than the end of the prompt
+         string
+       - rl_redisplay: when in horizontal scroll mode, don't adjust
+         _rl_last_c_pos by the wrap offset unless the line is displaying
+         a prompt containing invisible chars
+       - update line: don't adjust _rl_last_c_pos by the wrap offset unless
+         the line is displaying a prompt containing invisible chars
+       - update_line: if shrinking the line by reducing the number of
+         displayed characters, but we have already moved the cursor to the
+         beginning of the line where the first difference starts, don't
+         try to delete characters
+
+builtins/read.def
+       - unbuffered_read: set to 2 if invoked as `read -N'
+       - if unbuffered_read is set to 2, compute the number of chars we
+         need to read and read that many with zreadn.  Posix mode still
+         uses zreadintr.  Code from Mike Frysinger <vapier@gentoo.org>
+
+doc/{bash.1,bashref.texi}
+       - read: make it clear that if read times out, it saves any input
+         read to that point into the variable arguments.  Report from
+         Fiedler Roman <Roman.Fiedler@ait.ac.at>
+
+subst.c
+       - command_substitute: change direct assignment of exit_immediately_on_error
+         to use change_flag ('e', FLAG_OFF) instead
+
+flags.c
+       - use errexit_flag as the variable modified by changes to the -e
+         option, reflect those changes to exit_immediately_on_error
+
+execute_cmd.c
+       - execute_builtin: new global variable, builtin_ignoring_errexit, set
+         to 0 by default and set to 1 if eval/source/command executing in a
+         context where -e should be ignored
+       - execute_builtin: set exit_immediately_on_error to errextit_flag
+         after executing eval/source/command in a context where -e should
+         be ignored
+
+flags.c
+       - if builtin_ignoring_errexit is set, changes to errexit_flag are
+         not reflected in the setting of exit_immediately_on_error.  Fixes
+         bug reported by Robert Schiele <rschiele@gmail.com>
+
+                                  12/23
+                                  -----
+include/posixjmp.h
+       - setjmp_nosigs: new define, call setjmp in such a way that it will
+         not manipulate the signal mask
+
+{expr,test,trap}.c
+       - setjmp_nosigs: call instead of setjmp; don't need to manipulate
+         signal mask
+
+builtins/read.def
+       - read_builtin: setjmp_nosigs: call instead of setjmp; don't need
+         to manipulate signal mask
+
+builtins/evalstring.c:
+       - parse_and_execute: setjmp_nosigs: call instead of setjmp; don't need
+         to manipulate signal mask
+       - parse_string: setjmp_nosigs: call instead of setjmp; don't need
+         to manipulate signal mask
+       - parse_and_execute: save and restore the signal mask if we get a
+         longjmp that doesn't cause us to return or exit (case DISCARD)
+
+                                  12/24
+                                  -----
+general.c
+       - bash_tilde_expand: only set interrupt_immediately if there are no
+         signals trapped; we want to jump to top level if interrupted but
+         not run any trap commands
+
+                                  12/25
+                                  -----
+jobs.c
+       - run_sigchld_trap: no longer set interrupt_immediately before calling
+         parse_and_execute, even if this is no longer run in a signal handler
+         context
+
+input.c
+       - getc_with_restart: add call to QUIT instead of CHECK_TERMSIG
+
+parse.y
+       - yy_stream_get: now that getc_with_restart calls QUIT, don't need to
+         set interrupt_immediately (already had call to run_pending_traps)
+
+execute_cmd.c
+       - execute_subshell_builtin_or_function,execute_function,execute_in_subshell:
+         setjmp_nosigs: call instead of setjmp when saving return_catch; don't
+         need to manipulate signal mask
+       - execute_subshell_builtin_or_function,execute_in_subshell:
+         setjmp_nosigs: call instead of setjmp where appropriate when saving
+         top_level; don't need to manipulate signal mask if we're going to
+         exit right away
+
+subst.c
+       - command_substitute: setjmp_nosigs: call instead of setjmp when saving
+         return_catch; don't need to manipulate signal mask
+       - command_substitute: setjmp_nosigs: call instead of setjmp where
+         appropriate when saving top_level; don't need to manipulate signal
+         mask if we're going to exit right away
+
+trap.c
+       - run_exit_trap: setjmp_nosigs: call instead of setjmp when saving
+         return_catch; don't need to manipulate signal mask
+       - run_exit_trap: setjmp_nosigs: call instead of setjmp where
+         appropriate when saving top_level; don't need to manipulate signal
+         mask if we're going to exit right away
+       - _run_trap_internal: setjmp_nosigs: call instead of setjmp when saving
+         return_catch; don't need to manipulate signal mask
+
+builtins/evalfile.c
+       - _evalfile: setjmp_nosigs: call instead of setjmp when saving
+         return_catch; don't need to manipulate signal mask
+
+builtins/evalstring.c
+       - evalstring: setjmp_nosigs: call instead of setjmp when saving
+         return_catch; don't need to manipulate signal mask
+
+shell.c
+       - main: setjmp_nosigs: call instead of setjmp where appropriate when
+         saving top_level; don't need to manipulate signal mask if we're
+         going to exit right away
+       - run_one_command: setjmp_nosigs: call instead of setjmp where
+         appropriate when saving top_level; don't need to manipulate signal
+         mask if we're going to exit right away
+       - run_wordexp: setjmp_nosigs: call instead of setjmp where
+         appropriate when saving top_level; don't need to manipulate signal
+         mask if we're going to exit right away
+
+eval.c
+       - reader_loop: save and restore the signal mask if we get a longjmp
+         that doesn't cause us to return or exit (case DISCARD)
+
+                                  12/26
+                                  -----
+parse.y
+       - shell_input_line_{index,size,len}: now of type size_t; in some cases
+         the unsigned property makes a difference
+       - STRING_SAVER: saved_line_{size,index} now of type size_t
+       - shell_getc: don't allow shell_input_line to grow larger than SIZE_MAX;
+         lines longer than that are truncated until read sees a newline;
+         addresses theoretical buffer overflow described by Paul Eggert
+         <eggert@cs.ucla.edu>
+       - set_line_mbstate: size_t changes like shell_getc
+       - shell_getc: if shell_input_line is larger than 32K, free it and
+         start over to avoid large memory allocations sticking around
+
+variables.c
+       - bind_global_variable: new function, binds value to a variable in
+         the global shell_variables table
+
+variables.h
+       - bind_global_variable: new extern declaration
+
+builtins/declare.def
+       - declare_internal: if -g given with name=value, but variable is not
+         found in the global variable table, make sure to call
+         bind_global_variable so the variable is created and modified at
+         global scope.  Fixes a bug where declare -g x=y could modify `x'
+         at a previous function scope
+
+command.h
+       - W_ASSIGNARRAY: new word flag, compound indexed array assignment
+
+subst.h
+       - ASS_MKGLOBAL: new assignment flag, forcing global assignment even in
+         a function context, used by declare -g
+
+execute_cmd.c
+       - fix_assignment_words: set W_ASSIGNARRAY flag if -a option given to
+         declaration builtin
+
+subst.c
+       - do_assignment_internal: explicitly handle case where we are
+         executing in a function and we want to create a global array or
+         assoc variable
+       - shell_expand_word_list: call make_internal_declare if -a option
+         given to declaration builtin (W_ASSIGNARRAY); handle -g option with
+         it (W_ASSNGLOBAL).  Fixes inconsistency noticed by Vicente Couce
+         Diaz <vituko@gmail.com>, where declare -ag foo=(bar) could modify
+         array variable foo at previous function scope, not global scope
+
+                                  12/27
+                                  -----
+bashline.c
+       - Minix needs the third argument to tputs to be a void funtion taking
+         an int argument, not an int-returning function.  Fix from
+         John E. Malmberg <wb8tyw@qsl.net> as part of VMS bash port
+
+                                  12/29
+                                  -----
+configure.ac,version.c,patchlevel.h
+       - bash-4.3-devel: new version, new shell compatibility level (43)
+
+subst.c
+       - parameter_brace_patsub: put the bash-4.2 code back in from the
+         change of 3/3 that runs the replacement string through quote
+         removal, make it dependent on shell_compatibility_level <= 42
+
+builtins/shopt.def
+       - compat42: new shopt option
+       - set_compatibility_level: change logic to set and unset various
+         compat variables and shell_compatibility_level
+
+COMPAT
+       - new documentation for bash-4.3 compatibility changes
+
+doc/{bash.1,bashref.texi}
+       - compat42: document new shopt option
+
+builtins/shopt.def
+       - set_compatibility_opts: new function, sets the various shopt
+         compat variables based on the value of shell_compatibility_level
+
+builtins/common.h
+       - set_compatibility_opts: new extern declaration
+
+variables.c
+       - BASH_COMPAT: new special variable; sets the shell compatibility
+         level.  Accepts values in decimal (4.2) or integer (42) form;
+         Unsetting variable, setting it to empty string, or setting it to
+         out-of-range value sets the shell's compatibility level to the
+         default for the current version.  Valid values are 3.1/31 through
+         the current version
+       - sv_shcompat: new function implementing logic for BASH_COMPAT
+
+variables.h
+       - sv_shcompat: new extern declaration
+
+doc/{bash.1,bashref.texi}
+       - BASH_COMPAT: description of new variable
+
+lib/readline/complete.c
+       - _rl_colored_stats: default back to 0 for 4.3 release branch
+
+                                1/5/2013
+                                --------
+quit.h
+       - remove spurious call to itrace in CHECK_WAIT_INTR
+
+bashline.c
+       - bash_event_hook: if we're going to jump to top_level, make sure we
+         clean up after readline() by calling rl_cleanup_after_signal().
+         Fixes bug reported against devel branch by Raphaël Droz
+         <raphael.droz@gmail.com>
+       - bash_event_hook: reset the event hook before checking for signals
+         or traps in case we longjmp
+
+doc/{bash.1,bashref.texi}
+       - small additions to the set -e section to make it more clear that
+         contexts where -e is ignored extend to compound commands as well
+         as shell functions
+
+lib/readline/readline.h
+       - rl_signal_event_hook: new extern declaration
+
+lib/readline/input.c
+       - rl_signal_event_hook: new variable, hook function to call when a
+         function (currently just read(2)) is interrupted by a signal and
+         not restarted
+       - rl_getc: call rl_signal_event_hook instead of rl_event_hook
+
+lib/readline/doc/rltech.texi
+       - rl_signal_event_hook: document new function
+
+bashline.c
+       - changes to set rl_signal_event_hook instead of rl_event_hook
+
+lib/readline/readline.h
+       - change readline version numbers to 6.3
+
+                                   1/6
+                                   ---
+doc/{bash.1,bashref.texi}
+       - a couple of changes to the descriptions of the ERR trap and its
+         effects based on a message from Rob Nagler <nagler@bivio.biz>
+
+                                   1/9
+                                   ---
+expr.c
+       - expassign: invalidate curlval before freeing and NULLing tokstr to
+         avoid aliasing issues.  Fixes bug reported by Eduardo A. Bustamante
+         López<dualbus@gmail.com>  and Dan Douglas <ormaaj@gmail.com>
+
+braces.c
+       - array_concat: don't be so aggressive in trying to short-circuit. We
+         can only short-circuit if we have a single-element array where the
+         element is an empty string (array[0] == "" array[1] = 0x0).  Existing
+         practice requires us to replicate arrays and prefix or append empty
+         strings.  Fixes bug reported by Eduardo A. Bustamante López
+         <dualbus@gmail.com>
+
+                                  1/11
+                                  ----
+execute_cmd.c
+       - execute_builtin: since mapfile uses evalstring() to run its callbacks
+         internally, just like eval, so it needs to handle the case where the
+         temp environment given to mapfile persists throughout the entire
+         set of callback commands.  This might be a problem with trap also, but
+         trap isn't run in the same way.  Fixes bug reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+                                  1/13
+                                  ----
+redir.c
+       - redirection_error: before expanding the redirection word (if
+         expandable_redirection_filename returns true), disable command
+         substitution during expansion.  Fixes bug reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+subst.c
+       - expand_word_internal: case '\\': if the next character is an IFS
+         character, and the expansion occurs within double quotes, and the
+         character is not one for which backslash retains its meaning, add
+         the (escaped) '\' and the (escaped) character.  Fixes bug reported
+         by Dan Douglas <ormaaj@gmail.com>
+
+                                  1/15
+                                  ----
+builtins/cd.def
+       - cd_builtin: make sure call to internal_getopt handles -e option.
+         Fixes bug reported by <mashimiao.fnst@cn.fujitsu.com>
+
+                                  1/17
+                                  ----
+subst.c
+       - expand_word_list_internal: make sure tempenv_assign_error is
+         initialized to 0
+
+execute_cmd.c
+       - execute_simple_command: make sure tempenv_assign_error is reset to 0
+         after it's tested to see if an error should force the shell to exit.
+         Fixes problem where a the failure of a tempenv assignment preceding
+         a non-special builtin `sticks' and causes the next special builtin
+         to exit the shell.  From a discussion on bug-bash started by
+         douxin <wq-doux@cn.fujitsu.com>
+
+                                  1/20
+                                  ----
+subst.c
+       - parameter_brace_expand_rhs: call stupidly_hack_special_variables
+         after assigning with ${param[:]=word} even if IFS is changing.
+         Suggested by Dan Douglas <ormaaj@gmail.com> [TENTATIVE, needs work
+         on IFS side effects]
+
+command.h
+       - W_GLOBEXP (which was unused) is now W_SPLITSPACE (which isn't used
+         yet)
+
+{execute_cmd,subst,variables}.c
+       - removed all code that mentioned W_GLOBEXP
+       - removed mention of gnu_argv_flags and code that set it
+
+                                  1/22
+                                  ----
+subst.c
+       - param_expand: set W_SPLITSPACE if we expand (unquoted) $* and
+         IFS is unset or null so we can be sure to split this on spaces
+         no matter what happens with IFS later
+       - expand_word_internal: note that param_expand returns W_SPLITSPACE
+         in the returned word flags and keep track of that state with
+         `split_on_spaces'
+
+                                  1/23
+                                  ----
+subst.c
+       - expand_word_internal: if split_on_spaces is non-zero, make sure
+         we split `istring' on spaces and return the resultant word.  The
+         previous expansions should have quoted spaces in the positional
+         parameters where necessary.  Suggested by Dan Douglas
+         <ormaaj@gmail.com>
+
+execute_cmd.c
+       - execute_command_internal: make sure any subshell forked to run a
+         group command or user subshell at the end of a pipeline runs any
+         EXIT trap it sets.  Fixes debian bash bug 698411
+         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698411
+
+subst.c
+       - shell_expand_word_list: fix code that creates args for and calls
+         make_internal_declare to avoid calling it twice (missing `else'
+         in 12/26 change)
+       - do_assignment_internal: fix code from 12/26 change to fix problem
+         where an existing assoc variable could be converted to an array
+         without checking `mkassoc'
+
+                                  1/24
+                                  ----
+builtins/evalfile.c
+       - _evalfile: add missing `close (fd)' calls before returning to
+         avoid fd leaks.  Bug and fix from Roman Rakus <rrakus@redhat.com>
+
+                                  1/25
+                                  ----
+builtins/read.def
+       - read_builtin: don't try to play tricks with the top of the unwind-
+         protect stack after read gets a SIGALRM; save input_string to new
+         memory, run the stack, then restore input_string and assign the
+         variables.  Part of fix for bug reported by konsolebox
+         <konsolebox@gmail.com>; the rest of the fix is with the changes in
+         trap and signal handling and doing away with interrupt_immediately
+
+                                  1/26
+                                  ----
+redir.c
+       - redirection_expand, write_here_string, write_here_document: before
+         calling any of the word expansion functions, after setting
+         expanding_redir to 1 (which bypasses the temp environment in the
+         variable lookup functions), call sv_ifs to reset the cached IFS-
+         related variables set by subst.c:setifs().  This ensures that
+         redirections will not get any IFS values that are set in the
+         temporary environment, as Posix specifies.  Then, after the word
+         expansions, after resetting expanding_redir to 0, call sv_ifs
+         again to make sure the cached IFS values are set from any
+         assignments in the temporary environment.  We force executing_builtin
+         to 1 to `fool' the variable lookup functions into using any temp
+         environment, then reset it to its old value after sv_ifs returns.
+         This is what allows read() to use the (cached) IFS variables set
+         in the temp environment. Fixes inconsistency reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+                                  1/29
+                                  ----
+lib/readline/display.c
+       - update_line: fix off-by-one error when updating vis_lbreaks array
+         in a multibyte locale that occurs when moving multibyte chars from
+         one line down to another.  Bug report and fix from Egmont
+         Koblinger <egmont@gmail.com>
+
+                                  1/30
+                                  ----
+configure.ac
+       - changed version to 4.3-alpha
+
+redir.c
+       - redir_open: handle open returning -1/EINTR, which seems to happen
+         a lot with FIFOs and SIGCHLD, and call QUIT to handle other
+         signals that can interrupt open(2).  Bug report and initial fix
+         from Mike Frysinger <vapier@gentoo.org>
+
+                                  1/31
+                                  ----
+subst.c
+       - parameter_brace_expand: make sure to propagate the PF_ASSIGNRHS flag
+         to parameter_brace_expand_word
+       - parameter_brace_expand_word: make sure that if the PF_ASSIGNRHS flag
+         is set and we are expanding ${a[@]} or ${a[*]} we set quoted to
+         include Q_DOUBLE_QUOTES before calling array_value_internal, mirroring
+         what we do for $@ and $*.  Fixes inconsistency reported by Dan
+         Douglas <ormaaj@gmail.com>
+
+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 <vapier@gentoo.org>
+
+builtins/setattr.def
+       - set_var_attribute: check whether bind_variable (called when the
+         variable whose attributes are being modified is found in the temp
+         environment) just modified a read-only global variable, and don't
+         bother marking the temporary variable for propagation if so.  The
+         propagation is superfluous and will result in a strange error
+         message
+
+                                   2/2
+                                   ---
+variables.c
+       - initialize_shell_variables: don't try to import function definitions
+         with invalid names from the environment if already in posix mode,
+         but create them as (invisible) exported variables so they pass
+         through the environment.  Print an error message so user knows
+         what's wrong.  Fixes bug reported by Tomas Trnka <ttrnka@mail.muni.cz>
+
+                                   2/9
+                                   ---
+
+builtins/read.def
+       - sigalrm_seen, alrmbuf: now global so the rest of the shell (trap.c)
+         can use them
+       - sigalrm: just sets flag, no longer longjmps to alrmbuf; problem was
+         longjmp without manipulating signal mask, leaving SIGALRM blocked
+
+quit.h
+       - move CHECK_ALRM macro here from builtins/read.def so trap.c:
+         check_signals() can call it
+
+trap.c
+       - check_signals: add call to CHECK_ALRM before QUIT
+       - check_signals_and_traps: call check_signals() instead of including
+         CHECK_ALRM and QUIT inline.  Integrating check for read builtin's
+         SIGALRM (where zread call to check_signals_and_traps can see it)
+         fixes problem reported by Mike Frysinger <vapier@gentoo.org>
+
+                                  2/12
+                                  ----
+lib/glob/xmbsrtowcs.c
+       - xdupmbstowcs2: fixed but where end of string was not handled
+         correctly, causing loop to go past end of string in a bunch of cases.
+         Fixes bug reported by "Dashing" <dashing@hushmail.com>
+
+
+                                  2/13
+                                  ----
+builtins/pushd.def
+       - popd_builtin: treat any argument that isn't -n or of the form
+         [-+][[:digit:]]* as an error.  Fixes problem reported by Bruce
+         Korb <bruce.korb@gmail.com>
+
+                                  2/14
+                                  ----
+configure.ac
+       - add check for sig_atomic_t; already a placeholder for it in
+         config.h.in
+
+                                  2/15
+                                  ----
+subst.c
+       - do_compound_assignment: don't call assign_compound_array_list with
+         a NULL variable in case make_local_xxx_variable returns NULL
+         (it will if you try to shadow a readonly or noassign variable).
+         Fixes bug reported by Richard Tollerton <rich.tollerton@ni.com>
+
+                                  2/16
+                                  ----
+variables.c
+       - make_local_variable: print error messager if an attempt is made to
+         create a local variable shadowing a `noassign' variable.  Previously
+         we just silently refused to do it
+
+trap.[ch]
+       - get_original_signal: now global so rest of the shell can use it
+
+sig.c
+       - initialize_shell_signals: install a signal handler for SIGTERM
+         that does nothing except set a sigterm_received flag instead of
+         ignoring it with SIG_IGN, as long as SIGTERM is not ignored when
+         the shell is started.  Use get_original_signal early to get the
+         original handler, since we will do that later anyway
+       - set_signal_handler: if installing sigterm_sighandler as the SIGTERM
+         handler, make sure to add SA_RESTART flag to make it as close to
+         SIG_IGN as possible
+
+sig.h
+       - sigterm_sighandler: new extern declaration
+
+quit.h
+       - RESET_SIGTERM: set sigterm_receved to 0
+       - CHECK_SIGTERM: check sigterm_received; if it's non-zero, treat it
+         as a fatal signal and call termsig_handler to exit the shell
+
+jobs.c
+       - make_child: call RESET_SIGTERM just before fork() so we can detect
+         if the child process received a SIGTERM before it's able to change
+         the signal handler back to what it was when the shell started
+         (presumably SIG_DFL).  Only has effect if the shell installed
+         sigterm_sighandler for SIGTERM, interactive shells that were not
+         started with SIG_IGN as the SIGTERM handler
+       - make_child: call RESET_SIGTERM in the parent after fork() so the
+         rest of the shell won't react to it
+
+execute_cmd.c
+       - execute_simple_command: call CHECK_SIGTERM after make_child in child
+         to catch SIGTERM received after fork() and before restoring old
+         signal handlers
+       - execute_disk_command: call CHECK_SIGTERM after make_child in child
+         process after restoring old signal handlers and again just before
+         calling shell_execve.  Fixes race condition observed by
+         Padraig Brady <p@draigbrady.com> when testing with his `timeout'
+         program
+
+lib/readline/display.c
+       - open_some_spaces: new function, subset of insert_some_chars that just
+         opens up a specified number of spaces to be overwritten
+       - insert_some_spaces: now just calls to open_some_spaces followed by
+         _rl_output_some_chars
+       - update_line: use col_temp instead of recalculating it using
+         _rl_col_width in the case where we use more columns with fewer bytes
+       - update_line: use open_some_spaces and then output the right number
+         of chars instead of trying to print new characters then overwrite
+         existing characters in two separate calls.  This includes removing
+         some dodgy code and making things simpler.  Fix from Egmont
+         Koblinger <egmont@gmail.com>
+       - use new variable `bytes_to_insert' instead of overloading temp in
+         some code blocks (nls - nfd, bytes that comprise the characters
+         different in the new line from the old)
+
+                                  2/18
+                                  ----
+redir.c
+       - do_redirection_internal: add undoable redirection for the implicit
+         close performed by the <&n- and >&n- redirections.  Fixes bug
+         reported by Stephane Chazelas <stephane.chazelas@gmail.com>
+
+                                  2/19
+                                  ----
+sig.c
+       - termsig_handler: an interactive shell killed by SIGHUP and keeping
+         command history will try to save the shell history before exiting.
+         This is an attempt to preserve the save-history-when-the-terminal-
+         window-is-closed behavior
+
+                                  2/21
+                                  ----
+braces.c
+       - brace_expand: if a sequence expansion fails (e.g. because the
+         integers overflow), treat that expansion as a simple string, including
+         the braces, and try to process any remainder of the string.  The
+         remainder may include brace expansions.  Derived from SuSE bug
+         804551 example (https://bugzilla.novell.com/show_bug.cgi?id=804551)
+
+                                  2/23
+                                  ----
+{quit,sig}.h,sig.c
+       - sigterm_received declaration now in sig.h; type is sig_atomic_t
+       - sigwinch_received type now sig_atomic_t
+       - sig.h includes bashtypes.h and <signal.h> if SIG_DFL not defined
+         (same logic as trap.h) to pick up sig_atomic_t
+
+unwind_prot.c
+       - include sig.h before quit.h (reverse order)
+
+                                  2/27
+                                  ----
+builtins/shopt.def
+       - reset_shopt_options: make sure check_window_size is reset to the
+         default from config.h, not unconditionally to 0
+
+jobs.[ch]
+       - last_made_pid, last_asynchronous_pid: now volatile.  Change from SuSE
+
+jobs.c
+       - wait_for: if we're using sigaction to install a handler for SIGCHLD,
+         make sure we specify SA_RESTART
+
+lib/{tilde,readline}/shell.c
+       - get_home_dir: instead of looking in the password file every time,
+         look once and cache the result
+
+sig.[ch]
+       - sigwinch_received, sigterm_received: now `volatile' qualified
+
+sig.c,quit.h
+       - interrupt_state,terminating_signal: now sig_atomic_t
+
+                                   3/1
+                                   ---
+MANIFEST,examples/*
+       - removed around 120 files without FSF copyrights; requested by
+         Karl Berry in early January
+
+                                   3/2
+                                   ---
+lib/malloc/malloc.c
+       - morecore: only check whether SIGCHLD is trapped if SIGCHLD is defined
+
+doc/bashref.texi
+       - Fixed most of the examples in the GNU Parallel section to use better
+         shell idioms following complaints on bug-bash; added a couple of
+         examples and smoothed out the text
+
+quit.h
+       - include "sig.h" for sig_atomic_t
+
+lib/readline/display.c
+       - update_line: when inserting one or more characters at the end of
+         the display line in a non-multibyte environment, just write from the
+         first difference to the end of the line and return. We don't have
+         to adjust _rl_last_c_pos.  This is needed to adjust from the old
+         two-part copy to a single call to _rl_output_some_chars (change of
+         2/16)
+
+                                   3/4
+                                   ---
+Makefile.in,doc/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)
+
+doc/bash.1
+       - add URL to `POSIX' file in `SEE ALSO' section; put pointer to that
+         section in --posix and set -o posix descriptions
+
+examples/
+       - removed around 110 examples at the request of the FSF due to copyright
+         issues
+
+                                   3/5
+                                   ---
+builtins/setattr.def
+       - readonly: modified help text slightly to make it clearer that
+         functions aren't changed or displayed unless the -f option is given.
+         Report from <gotmynick@gmail.com>
+
+                                   3/9
+                                   ---
+include/typemax.h
+       - SIZE_MAX: define to 65535 (Posix minimum maximum) if not defined
+
+parse.y
+       - include "typemax.h" for possible SIZE_MAX definition, make sure we
+         include it after shell.h
+
+{braces,expr}.c
+       - include "typemax.h" for possible INTMAX_MIN and INTMAX_MAX definitions
+
+                                  3/10
+                                  ----
+bashline.c
+       - bash_default_completion: make sure completion type of `!' (same as
+         TAB but with show-all-if-ambiguous set) and glob-word-completion
+         sets rl_filename_completion_desired to 0 so extra backslashes don't
+         get inserted by `quoting' the completion.  We can't kill all the
+         matches because show-all-if-ambiguous needs them.   Bug report from
+         Marcel (Felix) Giannelia <info@skeena.net>
+
+[bash-4.3-alpha frozen]
+
+                                  3/14
+                                  ----
+general.c
+       - trim_pathname: use memmove instead of memcpy since the source and
+         destination pathnames may overlap.  Report and fix from Matthew
+         Riley <mattdr@google.com>
+
+                                  3/18
+                                  ----
+configure.ac
+       - socklen_t is defined as `unsigned int' if configure can't find it
+
+                                  3/20
+                                  ----
+lib/readline/complete.c
+       - S_ISVTX: since it's not defined on all platforms (Minix), make sure
+         its use is protected with #ifdef
+
+                                  3/21
+                                  ----
+doc/{bash.1,bashref.texi}
+       - Added mention of ${!name[@]} and ${!name[*]} expansions to get all
+         indices of an array.  Suggested by Jonathan Leffler
+         <jonathan.leffler@gmail.com>
+
+                                  3/24
+                                  ----
+subst.h
+       - SD_IGNOREQUOTE: new define for skip_to_delim; if set, means that
+         single quotes (for now) will be treated as ordinary characters
+
+subst.c
+       - skip_to_delim: handle SD_IGNOREQUOTE. no callers use it for now
+
+                                  3/25
+                                  ----
+support/config.{guess,sub}
+       - updated to versions from autoconf-2.69
+
+                                  3/31
+                                  ----
+lib/sh/shquote.c
+       - sh_single_quote: short-circuit quoting a single "'" instead of
+         creating a long string with empty single-quoted strings
+
+parser.h
+       - DOLBRACE_QUOTE2: new define, like DOLBRACE_QUOTE, but need to single-
+         quote results of $'...' expansion because quote removal will be
+         done later.  Right now this is only done for ${word/pat/rep}
+
+parse.y
+       - parse_matched_pair: set state to DOLBRACE_QUOTE2 for pattern
+         substitution word expansion so we don't treat single quote specially
+         in the pattern or replacement string
+       - parse_matched_pair: if we're parsing a dollar-brace word expansion
+         (${...}) and we're not treating single quote specially within
+         double quotes, single-quote the translation of $'...' ansi-c
+         escaped strings.  Original report and fix from Eduardo A.
+         Bustamante López <dualbus@gmail.com>
+
+subst.c
+       - extract_dollar_brace_string: ${word/pat/rep} scanning now sets the
+         DOLBRACE_QUOTE2 flag instead of DOLBRACE_QUOTE so we don't treat
+         single quotes specially within a double-quoted string
+
+execute_cmd.c
+       - fix_assignment_words: skip over assignment statements preceding a
+         command word before trying to figure out whether or not assignment
+         statements following a possible declaration command should be 
+         treated specially.  Fixes bug reported by Dan Douglas
+         <ormaaj@gmail.com>
+
+                                   4/4
+                                   ---
+lib/readline/readline.c
+       - _rl_dispatch_subseq: only call _rl_vi_set_last (and check whether
+         the key is a text modification command) if the key sequence length
+         is 1.  That keeps the arrow keys from setting the last command
+         when called in vi command mode.  Fixes bug reported by Ian A.
+         Watson <watson_ian_a@lilly.com>
+
+                                   4/6
+                                   ---
+lib/readline/bind.c
+       - rl_parse_and_bind: when parsing a double-quoted string as the value
+         of a variable, make sure we skip past the leading double quote.
+         Fix from Andreas Schwab <schwab@linux-m68k.org>
+
+variables.c
+       - hash_lookup: set new local variable last_table_searched to the table
+         a successful lookup appears in; tested in make_local_variable to
+         solve the problem below
+       - make_local_variable: if we find a variable with the tempenv flag
+         set at the same `level' as variable_context', but not found in the
+         temporary_env (temp environment preceding the builtin), return it.
+         The temp environment preceding the function call has already been
+         merged (in execute_function) into the list of variable contexts the
+         function sees as shell_variables by the time this is called.  Fixes
+         inconsistency pointed out by Dan Douglas <ormaaj@gmail.com>
+
+subst.c
+       - expand_arith_string: expanded out contents of expand_string,
+         expand_string_internal, expand_string_if_necessary to create a
+         WORD_DESC and call call_expand_word_internal() on it directly.
+         We don't want process substitution to be performed ( 1<(2) ) should
+         mean something different in an arithmetic expression context.
+         It doesn't work to just turn on the DQUOTE flag, since that means
+         that things like ${x["expression"]} are not expanded correctly.
+         Fixes problem pointed out by Dan Douglas <ormaaj@gmail.com>
+
+                                  4/13
+                                  ----
+subst.c
+       - process_substitute: run the EXIT trap before exiting, as other
+         shells seem to.  Fixes problem pointed out by Dan Douglas
+         <ormaaj@gmail.com>
+
+lib/readline/readline.c
+       - readline_internal_setup: call rl_vi_insertion_mode to enter vi
+         mode instead of rl_vi_insert_mode to avoid resetting the saved last
+         command information.  Posix says that `.' can repeat a command
+         that was entered on a previous line so we need to save the info.
+         Fixes bug reported by Ian A. Watson <watson_ian_a@lilly.com>
+
+                                  4/14
+                                  ----
+lib/readline/complete.c
+       - rl_completion_matches: make sure xrealloc returns something non-null
+         (can happen when interrupted by a signal) before trying to add
+         matches to match_list
+
+subst.c
+       - array_remove_pattern: return NULL right away if array_variable_part
+         returns an invisible variable
+       - array_length_reference: handle array_variable_part returning an
+         invisible variable
+       - get_var_and_type: handle array_variable_part returning an invisible
+         variable
+
+                                  4/15
+                                  ----
+execute_cmd.c
+       - execute_command_internal: make sure to run the EXIT trap for group
+         commands anywhere in pipelines, not just at the end.  From a point
+         raised by Andreas Schwab <schwab@linux-m68k.org>
+
+variables.c
+       - bind_int_variable: make sure invisible flag is unset.  Fixes problems
+         like "declare -ai a; : $(( a[4]=4 ));"
+
+arrayfunc.c
+       - array_variable_part: return variable even if invisible flag set,
+         callers must handle invisible vars
+
+                                  4/18
+                                  ----
+builtins/set.def
+       - unset_builtin: if -n flag given, call unset_nameref instead of
+         unset_variable
+
+variables.c
+       - find_variable_nameref: print warning message if nameref circular
+         reference detected, return NULL and let caller deal with it
+
+builtins/declare.def
+       - declare_builtin: only disallow global references at this point if
+         we are at the global scope
+
+                                  5/16
+                                  ----
+configure.ac
+       - update release status to beta
+
+                                  5/23
+                                  ----
+trap.c
+       - run_pending_traps: save and restore pipeline around calls to
+         evalstring() in case we get a trap while running a trap. Have to
+         figure out the recursive running traps issue elsewhere.  Fixes
+         bug reported by Roman Rakus <rrakus@redhat.com>
+       - run_pending_traps: make sure to set running_trap to the appropriate
+         signal value when running a trap command
+       - run_pending_traps: short-circuit immediately if running_trap set
+         when invoked.  Could change this later to only skip if it would
+         run the same trap as currently being run (running_trap == sig + 1)
+
+configure.ac
+       - add warning if bison not found
+
+lib/readline/doc/rltech.texi
+       - new section with an example program illustrating the callback
+         interface. Suggested by Peng Yu <pengyu.ut@gmail.com>
index 3c71378c5e286356aefe11ec5ff0e7c0ce3e6654..4657984487b6b125e922223b2cf13599323cfc4e 100644 (file)
@@ -1,5 +1,5 @@
 @%:@! /bin/sh
-@%:@ From configure.ac for Bash 4.3, version 4.057.
+@%:@ From configure.ac for Bash 4.3, version 4.058.
 @%:@ Guess values for system-dependent variables and create Makefiles.
 @%:@ Generated by GNU Autoconf 2.69 for bash 4.3-beta.
 @%:@
@@ -5820,6 +5820,12 @@ $as_echo "no" >&6; }
 fi
 
 
+case "$ac_cv_prog_YACC" in
+*bison*)       ;;
+*)     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: bison not available; needed to process parse.y" >&5
+$as_echo "$as_me: WARNING: bison not available; needed to process parse.y" >&2;} ;;
+esac
+
 case "$host_os" in
 opennt*|interix*)      MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
 *)                     MAKE_SHELL=/bin/sh ;;
index 683cbb60be857a70e3f8b3c0d3d2be1494b2de90..02bcb61df9cac0f93544231dcccb59cc7942d28b 100644 (file)
                         'configure.ac'
                       ],
                       {
-                        '_LT_AC_TAGCONFIG' => 1,
                         'AM_PROG_F77_C_O' => 1,
-                        'AC_INIT' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
                         'm4_pattern_forbid' => 1,
-                        '_AM_COND_IF' => 1,
+                        'AC_INIT' => 1,
                         'AC_CANONICAL_TARGET' => 1,
-                        'AC_SUBST' => 1,
+                        '_AM_COND_IF' => 1,
                         'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AC_FC_SRCEXT' => 1,
+                        'AC_SUBST' => 1,
                         'AC_CANONICAL_HOST' => 1,
+                        'AC_FC_SRCEXT' => 1,
                         'AC_PROG_LIBTOOL' => 1,
                         'AM_INIT_AUTOMAKE' => 1,
-                        'AM_PATH_GUILE' => 1,
                         'AC_CONFIG_SUBDIRS' => 1,
+                        'AM_PATH_GUILE' => 1,
                         'AM_AUTOMAKE_VERSION' => 1,
                         'LT_CONFIG_LTDL_DIR' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
                         'AC_CONFIG_LINKS' => 1,
-                        'm4_sinclude' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
                         'LT_SUPPORTED_TAG' => 1,
+                        'm4_sinclude' => 1,
                         'AM_MAINTAINER_MODE' => 1,
                         'AM_NLS' => 1,
                         'AC_FC_PP_DEFINE' => 1,
                         'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
                         '_m4_warn' => 1,
+                        'AM_MAKEFILE_INCLUDE' => 1,
                         'AM_PROG_CXX_C_O' => 1,
-                        '_AM_COND_ENDIF' => 1,
                         '_AM_MAKEFILE_INCLUDE' => 1,
+                        '_AM_COND_ENDIF' => 1,
                         'AM_ENABLE_MULTILIB' => 1,
                         'AM_SILENT_RULES' => 1,
                         'AM_PROG_MOC' => 1,
                         'AC_CONFIG_FILES' => 1,
-                        'include' => 1,
                         'LT_INIT' => 1,
-                        'AM_PROG_AR' => 1,
+                        'include' => 1,
                         'AM_GNU_GETTEXT' => 1,
+                        'AM_PROG_AR' => 1,
                         'AC_LIBSOURCE' => 1,
-                        'AM_PROG_FC_C_O' => 1,
                         'AC_CANONICAL_BUILD' => 1,
+                        'AM_PROG_FC_C_O' => 1,
                         'AC_FC_FREEFORM' => 1,
-                        'AH_OUTPUT' => 1,
                         'AC_FC_PP_SRCEXT' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AH_OUTPUT' => 1,
                         'AC_CONFIG_AUX_DIR' => 1,
-                        'sinclude' => 1,
-                        'AM_PROG_CC_C_O' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
                         'm4_pattern_allow' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'sinclude' => 1,
                         'AM_CONDITIONAL' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_XGETTEXT_OPTION' => 1,
                         'AC_CONFIG_HEADERS' => 1,
                         'AC_DEFINE_TRACE_LITERAL' => 1,
                         'AM_POT_TOOLS' => 1,
index deb42a430e33ba0f871fdb37c456aebd3443f5fe..30e8d1739fbb5269f65382502bb605edbc4e6a81 100644 (file)
@@ -692,26 +692,26 @@ m4trace:configure.ac:634: -1- m4_pattern_allow([^YFLAGS$])
 m4trace:configure.ac:635: -1- AC_SUBST([SET_MAKE])
 m4trace:configure.ac:635: -1- AC_SUBST_TRACE([SET_MAKE])
 m4trace:configure.ac:635: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.ac:641: -1- AC_SUBST([MAKE_SHELL])
-m4trace:configure.ac:641: -1- AC_SUBST_TRACE([MAKE_SHELL])
-m4trace:configure.ac:641: -1- m4_pattern_allow([^MAKE_SHELL$])
-m4trace:configure.ac:663: -1- AC_SUBST([SIZE])
-m4trace:configure.ac:663: -1- AC_SUBST_TRACE([SIZE])
-m4trace:configure.ac:663: -1- m4_pattern_allow([^SIZE$])
-m4trace:configure.ac:665: -1- m4_include([m4/stat-time.m4])
-m4trace:configure.ac:666: -1- m4_include([m4/timespec.m4])
-m4trace:configure.ac:669: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.ac:669: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.ac:672: -1- AC_DEFINE_TRACE_LITERAL([const])
-m4trace:configure.ac:672: -1- m4_pattern_allow([^const$])
-m4trace:configure.ac:672: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
+m4trace:configure.ac:646: -1- AC_SUBST([MAKE_SHELL])
+m4trace:configure.ac:646: -1- AC_SUBST_TRACE([MAKE_SHELL])
+m4trace:configure.ac:646: -1- m4_pattern_allow([^MAKE_SHELL$])
+m4trace:configure.ac:668: -1- AC_SUBST([SIZE])
+m4trace:configure.ac:668: -1- AC_SUBST_TRACE([SIZE])
+m4trace:configure.ac:668: -1- m4_pattern_allow([^SIZE$])
+m4trace:configure.ac:670: -1- m4_include([m4/stat-time.m4])
+m4trace:configure.ac:671: -1- m4_include([m4/timespec.m4])
+m4trace:configure.ac:674: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.ac:674: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.ac:677: -1- AC_DEFINE_TRACE_LITERAL([const])
+m4trace:configure.ac:677: -1- m4_pattern_allow([^const$])
+m4trace:configure.ac:677: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
 @%:@undef const])
-m4trace:configure.ac:673: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
+m4trace:configure.ac:678: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
    calls it, or to nothing if \'inline\' is not supported under any name.  */
 #ifndef __cplusplus
 #undef inline
 #endif])
-m4trace:configure.ac:674: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+m4trace:configure.ac:679: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
 # if defined __BIG_ENDIAN__
@@ -722,49 +722,49 @@ m4trace:configure.ac:674: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGE
 #  undef WORDS_BIGENDIAN
 # endif
 #endif])
-m4trace:configure.ac:674: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.ac:674: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.ac:674: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.ac:674: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.ac:674: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
+m4trace:configure.ac:679: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
+m4trace:configure.ac:679: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
+m4trace:configure.ac:679: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
+m4trace:configure.ac:679: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
+m4trace:configure.ac:679: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
 @%:@undef AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.ac:675: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
-m4trace:configure.ac:675: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
-m4trace:configure.ac:675: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
+m4trace:configure.ac:680: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
+m4trace:configure.ac:680: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
+m4trace:configure.ac:680: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
 @%:@undef HAVE_STRINGIZE])
-m4trace:configure.ac:676: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
+m4trace:configure.ac:681: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/types.m4:452: AC_C_LONG_DOUBLE is expanded from...
-configure.ac:676: the top level])
-m4trace:configure.ac:676: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.ac:676: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
-m4trace:configure.ac:676: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
+configure.ac:681: the top level])
+m4trace:configure.ac:681: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
+m4trace:configure.ac:681: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
+m4trace:configure.ac:681: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 @%:@undef HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.ac:676: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
-m4trace:configure.ac:676: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
-m4trace:configure.ac:676: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
+m4trace:configure.ac:681: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
+m4trace:configure.ac:681: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
+m4trace:configure.ac:681: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 @%:@undef HAVE_LONG_DOUBLE])
-m4trace:configure.ac:677: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
-m4trace:configure.ac:677: -1- m4_pattern_allow([^PROTOTYPES$])
-m4trace:configure.ac:677: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
+m4trace:configure.ac:682: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
+m4trace:configure.ac:682: -1- m4_pattern_allow([^PROTOTYPES$])
+m4trace:configure.ac:682: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
 @%:@undef PROTOTYPES])
-m4trace:configure.ac:677: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
-m4trace:configure.ac:677: -1- m4_pattern_allow([^__PROTOTYPES$])
-m4trace:configure.ac:677: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
+m4trace:configure.ac:682: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
+m4trace:configure.ac:682: -1- m4_pattern_allow([^__PROTOTYPES$])
+m4trace:configure.ac:682: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
 @%:@undef __PROTOTYPES])
-m4trace:configure.ac:678: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
+m4trace:configure.ac:683: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
 #ifndef __CHAR_UNSIGNED__
 # undef __CHAR_UNSIGNED__
 #endif])
-m4trace:configure.ac:678: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
-m4trace:configure.ac:678: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
-m4trace:configure.ac:679: -1- AC_DEFINE_TRACE_LITERAL([volatile])
-m4trace:configure.ac:679: -1- m4_pattern_allow([^volatile$])
-m4trace:configure.ac:679: -1- AH_OUTPUT([volatile], [/* Define to empty if the keyword `volatile\' does not work. Warning: valid
+m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
+m4trace:configure.ac:683: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
+m4trace:configure.ac:684: -1- AC_DEFINE_TRACE_LITERAL([volatile])
+m4trace:configure.ac:684: -1- m4_pattern_allow([^volatile$])
+m4trace:configure.ac:684: -1- AH_OUTPUT([volatile], [/* Define to empty if the keyword `volatile\' does not work. Warning: valid
    code using `volatile\' can become incorrect without. Disable with care. */
 @%:@undef volatile])
-m4trace:configure.ac:680: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to
+m4trace:configure.ac:685: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
@@ -777,93 +777,93 @@ m4trace:configure.ac:680: -1- AH_OUTPUT([restrict], [/* Define to the equivalent
 # define _Restrict
 # define __restrict__
 #endif])
-m4trace:configure.ac:680: -1- AC_DEFINE_TRACE_LITERAL([restrict])
-m4trace:configure.ac:680: -1- m4_pattern_allow([^restrict$])
-m4trace:configure.ac:680: -1- AC_DEFINE_TRACE_LITERAL([restrict])
-m4trace:configure.ac:680: -1- m4_pattern_allow([^restrict$])
-m4trace:configure.ac:683: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
-m4trace:configure.ac:683: -1- AC_SUBST([MKINSTALLDIRS])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^MKINSTALLDIRS$])
-m4trace:configure.ac:683: -1- AM_NLS
-m4trace:configure.ac:683: -1- AC_SUBST([USE_NLS])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.ac:683: -1- AC_SUBST([MSGFMT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([MSGFMT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.ac:683: -1- AC_SUBST([GMSGFMT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([GMSGFMT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.ac:683: -1- AC_SUBST([XGETTEXT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([XGETTEXT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.ac:683: -1- AC_SUBST([MSGMERGE])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([MSGMERGE])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
+m4trace:configure.ac:685: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.ac:685: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.ac:685: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.ac:685: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.ac:688: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+m4trace:configure.ac:688: -1- AC_SUBST([MKINSTALLDIRS])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^MKINSTALLDIRS$])
+m4trace:configure.ac:688: -1- AM_NLS
+m4trace:configure.ac:688: -1- AC_SUBST([USE_NLS])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.ac:688: -1- AC_SUBST([MSGFMT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([MSGFMT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^MSGFMT$])
+m4trace:configure.ac:688: -1- AC_SUBST([GMSGFMT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([GMSGFMT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^GMSGFMT$])
+m4trace:configure.ac:688: -1- AC_SUBST([XGETTEXT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([XGETTEXT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^XGETTEXT$])
+m4trace:configure.ac:688: -1- AC_SUBST([MSGMERGE])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([MSGMERGE])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^MSGMERGE$])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/status.m4:1026: AC_OUTPUT_COMMANDS is expanded from...
 aclocal.m4:3707: AM_PO_SUBDIRS is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 @%:@undef off_t])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef size_t])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 @%:@undef HAVE_ALLOCA_H])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 @%:@undef HAVE_ALLOCA])
-m4trace:configure.ac:683: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.ac:683: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.ac:688: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.ac:688: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 @%:@undef C_ALLOCA])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 @%:@undef CRAY_STACKSEG_END])
-m4trace:configure.ac:683: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.ac:688: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 @%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 @%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 @%:@undef HAVE_GETPAGESIZE])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 @%:@undef HAVE_MMAP])
-m4trace:configure.ac:683: -1- AC_SUBST([GLIBC21])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([GLIBC21])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^GLIBC21$])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:688: -1- AC_SUBST([GLIBC21])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([GLIBC21])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^GLIBC21$])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -871,12 +871,12 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is
 aclocal.m4:2613: gt_INTDIV0 is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
 @%:@undef INTDIV0_RAISES_SIGFPE])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -885,13 +885,13 @@ aclocal.m4:2715: jm_AC_HEADER_INTTYPES_H is expanded from...
 aclocal.m4:4016: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
    declares uintmax_t. */
 @%:@undef HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -900,13 +900,13 @@ aclocal.m4:3986: jm_AC_HEADER_STDINT_H is expanded from...
 aclocal.m4:4016: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
    uintmax_t. */
 @%:@undef HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -915,21 +915,21 @@ aclocal.m4:4043: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from...
 aclocal.m4:4016: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
 @%:@undef HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
    <inttypes.h> don\'t define. */
 @%:@undef uintmax_t])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
 @%:@undef HAVE_UINTMAX_T])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -937,12 +937,12 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 aclocal.m4:2688: gt_HEADER_INTTYPES_H is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
 @%:@undef HAVE_INTTYPES_H])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -950,78 +950,78 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 aclocal.m4:2743: gt_INTTYPES_PRI is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
 @%:@undef PRI_MACROS_BROKEN])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 @%:@undef HAVE_ARGZ_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 @%:@undef HAVE_LIMITS_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 @%:@undef HAVE_LOCALE_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
 @%:@undef HAVE_NL_TYPES_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 @%:@undef HAVE_MALLOC_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 @%:@undef HAVE_STDDEF_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 @%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 @%:@undef HAVE_STRING_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 @%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
 @%:@undef HAVE_FEOF_UNLOCKED])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
 @%:@undef HAVE_FGETS_UNLOCKED])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
 @%:@undef HAVE_GETC_UNLOCKED])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 @%:@undef HAVE_GETCWD])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
 @%:@undef HAVE_GETEGID])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
 @%:@undef HAVE_GETEUID])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
 @%:@undef HAVE_GETGID])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
 @%:@undef HAVE_GETUID])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 @%:@undef HAVE_MEMPCPY])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 @%:@undef HAVE_MUNMAP])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 @%:@undef HAVE_PUTENV])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 @%:@undef HAVE_SETENV])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 @%:@undef HAVE_SETLOCALE])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
 @%:@undef HAVE_LOCALECONV])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 @%:@undef HAVE_STPCPY])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 @%:@undef HAVE_STRCASECMP])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 @%:@undef HAVE_STRDUP])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 @%:@undef HAVE_STRTOUL])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
 @%:@undef HAVE_TSEARCH])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 @%:@undef HAVE___ARGZ_COUNT])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 @%:@undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 @%:@undef HAVE___ARGZ_NEXT])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
 @%:@undef HAVE___FSETLOCKING])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -1030,8 +1030,8 @@ aclocal.m4:2521: AM_ICONV_LINK is expanded from...
 aclocal.m4:2576: AM_ICONV is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -1040,30 +1040,30 @@ aclocal.m4:2521: AM_ICONV_LINK is expanded from...
 aclocal.m4:2576: AM_ICONV is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_ICONV$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
 @%:@undef HAVE_ICONV])
-m4trace:configure.ac:683: -1- AC_SUBST([LIBICONV])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([LIBICONV])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.ac:683: -1- AC_SUBST([LTLIBICONV])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([LTLIBICONV])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:688: -1- AC_SUBST([LIBICONV])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([LIBICONV])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^LIBICONV$])
+m4trace:configure.ac:688: -1- AC_SUBST([LTLIBICONV])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([LTLIBICONV])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^LTLIBICONV$])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:2576: AM_ICONV is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^ICONV_CONST$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^ICONV_CONST$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
 @%:@undef ICONV_CONST])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -1071,12 +1071,12 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 aclocal.m4:2040: AM_LANGINFO_CODESET is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 @%:@undef HAVE_LANGINFO_CODESET])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
@@ -1084,1106 +1084,1106 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 aclocal.m4:2810: AM_LC_MESSAGES is expanded from...
 aclocal.m4:2399: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
 @%:@undef HAVE_LC_MESSAGES])
-m4trace:configure.ac:683: -1- AC_SUBST([INTLBISON])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([INTLBISON])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INTLBISON$])
-m4trace:configure.ac:683: -1- AM_NLS
-m4trace:configure.ac:683: -1- AC_SUBST([USE_NLS])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:688: -1- AC_SUBST([INTLBISON])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([INTLBISON])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INTLBISON$])
+m4trace:configure.ac:688: -1- AM_NLS
+m4trace:configure.ac:688: -1- AC_SUBST([USE_NLS])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2111: AM_GNU_GETTEXT is expanded from...
-configure.ac:683: the top level])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
+configure.ac:688: the top level])
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^ENABLE_NLS$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
    language is requested. */
 @%:@undef ENABLE_NLS])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_GETTEXT$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
 @%:@undef HAVE_GETTEXT])
-m4trace:configure.ac:683: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.ac:683: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
+m4trace:configure.ac:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
+m4trace:configure.ac:688: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 @%:@undef HAVE_DCGETTEXT])
-m4trace:configure.ac:683: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
-m4trace:configure.ac:683: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
-m4trace:configure.ac:683: -1- AC_SUBST([CATOBJEXT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([CATOBJEXT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^CATOBJEXT$])
-m4trace:configure.ac:683: -1- AC_SUBST([DATADIRNAME])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([DATADIRNAME])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^DATADIRNAME$])
-m4trace:configure.ac:683: -1- AC_SUBST([INSTOBJEXT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([INSTOBJEXT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INSTOBJEXT$])
-m4trace:configure.ac:683: -1- AC_SUBST([GENCAT])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([GENCAT])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^GENCAT$])
-m4trace:configure.ac:683: -1- AC_SUBST([INTLOBJS])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([INTLOBJS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INTLOBJS$])
-m4trace:configure.ac:683: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
-m4trace:configure.ac:683: -1- AC_SUBST([INTLLIBS])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([INTLLIBS])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.ac:683: -1- AC_SUBST([LIBINTL])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([LIBINTL])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.ac:683: -1- AC_SUBST([LTLIBINTL])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([LTLIBINTL])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.ac:683: -1- AC_SUBST([POSUB])
-m4trace:configure.ac:683: -1- AC_SUBST_TRACE([POSUB])
-m4trace:configure.ac:683: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.ac:686: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
+m4trace:configure.ac:688: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
+m4trace:configure.ac:688: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
+m4trace:configure.ac:688: -1- AC_SUBST([CATOBJEXT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([CATOBJEXT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^CATOBJEXT$])
+m4trace:configure.ac:688: -1- AC_SUBST([DATADIRNAME])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([DATADIRNAME])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^DATADIRNAME$])
+m4trace:configure.ac:688: -1- AC_SUBST([INSTOBJEXT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([INSTOBJEXT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INSTOBJEXT$])
+m4trace:configure.ac:688: -1- AC_SUBST([GENCAT])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([GENCAT])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^GENCAT$])
+m4trace:configure.ac:688: -1- AC_SUBST([INTLOBJS])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([INTLOBJS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INTLOBJS$])
+m4trace:configure.ac:688: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
+m4trace:configure.ac:688: -1- AC_SUBST([INTLLIBS])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([INTLLIBS])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^INTLLIBS$])
+m4trace:configure.ac:688: -1- AC_SUBST([LIBINTL])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([LIBINTL])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^LIBINTL$])
+m4trace:configure.ac:688: -1- AC_SUBST([LTLIBINTL])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([LTLIBINTL])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^LTLIBINTL$])
+m4trace:configure.ac:688: -1- AC_SUBST([POSUB])
+m4trace:configure.ac:688: -1- AC_SUBST_TRACE([POSUB])
+m4trace:configure.ac:688: -1- m4_pattern_allow([^POSUB$])
+m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
    */
 @%:@undef HAVE_DIRENT_H])
-m4trace:configure.ac:686: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
+m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
    */
 @%:@undef HAVE_SYS_NDIR_H])
-m4trace:configure.ac:686: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
+m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
    */
 @%:@undef HAVE_SYS_DIR_H])
-m4trace:configure.ac:686: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
+m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
 @%:@undef HAVE_NDIR_H])
-m4trace:configure.ac:687: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.ac:687: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.ac:687: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+m4trace:configure.ac:692: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.ac:692: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.ac:692: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 @%:@undef TIME_WITH_SYS_TIME])
-m4trace:configure.ac:689: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+m4trace:configure.ac:694: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
 @%:@undef HAVE_INTTYPES_H])
-m4trace:configure.ac:689: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
-m4trace:configure.ac:689: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:694: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.ac:694: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 @%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
 @%:@undef HAVE_STDARG_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
 @%:@undef HAVE_VARARGS_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 @%:@undef HAVE_LIMITS_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 @%:@undef HAVE_STRING_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
 @%:@undef HAVE_MEMORY_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 @%:@undef HAVE_LOCALE_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
 @%:@undef HAVE_TERMCAP_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
 @%:@undef HAVE_TERMIO_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
 @%:@undef HAVE_TERMIOS_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
 @%:@undef HAVE_DLFCN_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STDBOOL_H], [/* Define to 1 if you have the <stdbool.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STDBOOL_H], [/* Define to 1 if you have the <stdbool.h> header file. */
 @%:@undef HAVE_STDBOOL_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 @%:@undef HAVE_STDDEF_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
 @%:@undef HAVE_STDINT_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
 @%:@undef HAVE_NETDB_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
 @%:@undef HAVE_PWD_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
 @%:@undef HAVE_GRP_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 @%:@undef HAVE_STRINGS_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
 @%:@undef HAVE_REGEX_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
 @%:@undef HAVE_SYSLOG_H])
-m4trace:configure.ac:691: -1- AH_OUTPUT([HAVE_ULIMIT_H], [/* Define to 1 if you have the <ulimit.h> header file. */
+m4trace:configure.ac:696: -1- AH_OUTPUT([HAVE_ULIMIT_H], [/* Define to 1 if you have the <ulimit.h> header file. */
 @%:@undef HAVE_ULIMIT_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
 @%:@undef HAVE_SYS_PTE_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
 @%:@undef HAVE_SYS_STREAM_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
 @%:@undef HAVE_SYS_SELECT_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
 @%:@undef HAVE_SYS_FILE_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
 @%:@undef HAVE_SYS_RESOURCE_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 @%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
 @%:@undef HAVE_SYS_SOCKET_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 @%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
 @%:@undef HAVE_SYS_TIMES_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
 @%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.ac:695: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
+m4trace:configure.ac:700: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
 @%:@undef HAVE_SYS_WAIT_H])
-m4trace:configure.ac:698: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
+m4trace:configure.ac:703: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
 @%:@undef HAVE_NETINET_IN_H])
-m4trace:configure.ac:698: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
+m4trace:configure.ac:703: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
 @%:@undef HAVE_ARPA_INET_H])
-m4trace:configure.ac:709: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.ac:709: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.ac:714: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.ac:714: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 @%:@undef HAVE_ALLOCA_H])
-m4trace:configure.ac:709: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.ac:709: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.ac:714: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.ac:714: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 @%:@undef HAVE_ALLOCA])
-m4trace:configure.ac:709: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.ac:709: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.ac:709: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.ac:709: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.ac:709: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.ac:714: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.ac:714: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.ac:714: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.ac:714: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.ac:714: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 @%:@undef C_ALLOCA])
-m4trace:configure.ac:709: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.ac:709: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.ac:714: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.ac:714: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 @%:@undef CRAY_STACKSEG_END])
-m4trace:configure.ac:709: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.ac:714: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.ac:709: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.ac:709: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.ac:710: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
-m4trace:configure.ac:710: -1- m4_pattern_allow([^GETPGRP_VOID$])
-m4trace:configure.ac:710: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
+m4trace:configure.ac:714: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.ac:714: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.ac:715: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
+m4trace:configure.ac:715: -1- m4_pattern_allow([^GETPGRP_VOID$])
+m4trace:configure.ac:715: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
 @%:@undef GETPGRP_VOID])
-m4trace:configure.ac:711: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete.  Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1710: AC_FUNC_SETVBUF_REVERSED is expanded from...
-configure.ac:711: the top level])
-m4trace:configure.ac:712: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
+m4trace:configure.ac:716: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete.  Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1710: AC_FUNC_SETVBUF_REVERSED is expanded from...
+configure.ac:716: the top level])
+m4trace:configure.ac:717: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
 @%:@undef HAVE_VPRINTF])
-m4trace:configure.ac:712: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
-m4trace:configure.ac:712: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.ac:712: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
-m4trace:configure.ac:712: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.ac:712: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
+m4trace:configure.ac:717: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
+m4trace:configure.ac:717: -1- m4_pattern_allow([^HAVE_VPRINTF$])
+m4trace:configure.ac:717: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
+m4trace:configure.ac:717: -1- m4_pattern_allow([^HAVE_DOPRNT$])
+m4trace:configure.ac:717: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
 @%:@undef HAVE_DOPRNT])
-m4trace:configure.ac:713: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
-m4trace:configure.ac:713: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.ac:713: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
+m4trace:configure.ac:718: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
+m4trace:configure.ac:718: -1- m4_pattern_allow([^HAVE_STRCOLL$])
+m4trace:configure.ac:718: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
    */
 @%:@undef HAVE_STRCOLL])
-m4trace:configure.ac:734: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
-m4trace:configure.ac:734: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.ac:739: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
-m4trace:configure.ac:739: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:739: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:739: -1- AC_LIBSOURCE([vprint.c])
-m4trace:configure.ac:743: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+m4trace:configure.ac:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
+m4trace:configure.ac:739: -1- m4_pattern_allow([^HAVE_VPRINTF$])
+m4trace:configure.ac:744: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
+m4trace:configure.ac:744: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:744: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:744: -1- AC_LIBSOURCE([vprint.c])
+m4trace:configure.ac:748: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/types.m4:746: AC_TYPE_SIGNAL is expanded from...
-configure.ac:743: the top level])
-m4trace:configure.ac:743: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.ac:743: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.ac:743: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+configure.ac:748: the top level])
+m4trace:configure.ac:748: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.ac:748: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.ac:748: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 @%:@undef RETSIGTYPE])
-m4trace:configure.ac:746: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
-m4trace:configure.ac:746: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
-m4trace:configure.ac:747: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
-m4trace:configure.ac:747: -2- m4_pattern_allow([^HAVE_WAIT3$])
-m4trace:configure.ac:750: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
-m4trace:configure.ac:750: -2- m4_pattern_allow([^HAVE_MKFIFO$])
-m4trace:configure.ac:750: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
-m4trace:configure.ac:750: -2- m4_pattern_allow([^MKFIFO_MISSING$])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
+m4trace:configure.ac:751: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
+m4trace:configure.ac:751: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
+m4trace:configure.ac:752: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
+m4trace:configure.ac:752: -2- m4_pattern_allow([^HAVE_WAIT3$])
+m4trace:configure.ac:755: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
+m4trace:configure.ac:755: -2- m4_pattern_allow([^HAVE_MKFIFO$])
+m4trace:configure.ac:755: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
+m4trace:configure.ac:755: -2- m4_pattern_allow([^MKFIFO_MISSING$])
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
 @%:@undef HAVE_DUP2])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
 @%:@undef HAVE_EACCESS])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
 @%:@undef HAVE_FCNTL])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
 @%:@undef HAVE_GETDTABLESIZE])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
 @%:@undef HAVE_GETGROUPS])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
 @%:@undef HAVE_GETHOSTNAME])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 @%:@undef HAVE_GETPAGESIZE])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
 @%:@undef HAVE_GETPEERNAME])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
 @%:@undef HAVE_GETRLIMIT])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
 @%:@undef HAVE_GETRUSAGE])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
 @%:@undef HAVE_GETTIMEOFDAY])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
 @%:@undef HAVE_KILL])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
 @%:@undef HAVE_KILLPG])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
 @%:@undef HAVE_LSTAT])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
 @%:@undef HAVE_READLINK])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
 @%:@undef HAVE_SBRK])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
 @%:@undef HAVE_SELECT])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
 @%:@undef HAVE_SETDTABLESIZE])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
 @%:@undef HAVE_SETITIMER])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
 @%:@undef HAVE_TCGETPGRP])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
 @%:@undef HAVE_UNAME])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
 @%:@undef HAVE_ULIMIT])
-m4trace:configure.ac:753: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
+m4trace:configure.ac:758: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
 @%:@undef HAVE_WAITPID])
-m4trace:configure.ac:757: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
+m4trace:configure.ac:762: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
 @%:@undef HAVE_RENAME])
-m4trace:configure.ac:757: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RENAME])
-m4trace:configure.ac:757: -1- m4_pattern_allow([^HAVE_RENAME$])
-m4trace:configure.ac:757: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS rename.$ac_objext"])
-m4trace:configure.ac:757: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:757: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:757: -1- AC_LIBSOURCE([rename.c])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
+m4trace:configure.ac:762: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RENAME])
+m4trace:configure.ac:762: -1- m4_pattern_allow([^HAVE_RENAME$])
+m4trace:configure.ac:762: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS rename.$ac_objext"])
+m4trace:configure.ac:762: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:762: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:762: -1- AC_LIBSOURCE([rename.c])
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
 @%:@undef HAVE_BCOPY])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
 @%:@undef HAVE_BZERO])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
 @%:@undef HAVE_CONFSTR])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_FACCESSAT], [/* Define to 1 if you have the `faccessat\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_FACCESSAT], [/* Define to 1 if you have the `faccessat\' function. */
 @%:@undef HAVE_FACCESSAT])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
 @%:@undef HAVE_FNMATCH])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
 @%:@undef HAVE_GETADDRINFO])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
 @%:@undef HAVE_GETHOSTBYNAME])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
 @%:@undef HAVE_GETSERVBYNAME])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
 @%:@undef HAVE_GETSERVENT])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
 @%:@undef HAVE_INET_ATON])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_IMAXDIV], [/* Define to 1 if you have the `imaxdiv\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_IMAXDIV], [/* Define to 1 if you have the `imaxdiv\' function. */
 @%:@undef HAVE_IMAXDIV])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
 @%:@undef HAVE_MEMMOVE])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
 @%:@undef HAVE_PATHCONF])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 @%:@undef HAVE_PUTENV])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
 @%:@undef HAVE_RAISE])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
 @%:@undef HAVE_REGCOMP])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
 @%:@undef HAVE_REGEXEC])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 @%:@undef HAVE_SETENV])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
 @%:@undef HAVE_SETLINEBUF])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 @%:@undef HAVE_SETLOCALE])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
 @%:@undef HAVE_SETVBUF])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
 @%:@undef HAVE_SIGINTERRUPT])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
 @%:@undef HAVE_STRCHR])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
 @%:@undef HAVE_SYSCONF])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_SYSLOG], [/* Define to 1 if you have the `syslog\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_SYSLOG], [/* Define to 1 if you have the `syslog\' function. */
 @%:@undef HAVE_SYSLOG])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
 @%:@undef HAVE_TCGETATTR])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
 @%:@undef HAVE_TIMES])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
 @%:@undef HAVE_TTYNAME])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
 @%:@undef HAVE_TZSET])
-m4trace:configure.ac:760: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
+m4trace:configure.ac:765: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
 @%:@undef HAVE_UNSETENV])
-m4trace:configure.ac:766: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
+m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
 @%:@undef HAVE_VASPRINTF])
-m4trace:configure.ac:766: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
+m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
 @%:@undef HAVE_ASPRINTF])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
 @%:@undef HAVE_ISASCII])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
 @%:@undef HAVE_ISBLANK])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
 @%:@undef HAVE_ISGRAPH])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
 @%:@undef HAVE_ISPRINT])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
 @%:@undef HAVE_ISSPACE])
-m4trace:configure.ac:767: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
+m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
 @%:@undef HAVE_ISXDIGIT])
-m4trace:configure.ac:768: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
+m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
 @%:@undef HAVE_GETPWENT])
-m4trace:configure.ac:768: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
+m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
 @%:@undef HAVE_GETPWNAM])
-m4trace:configure.ac:768: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
+m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
 @%:@undef HAVE_GETPWUID])
-m4trace:configure.ac:769: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.ac:774: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 @%:@undef HAVE_GETCWD])
-m4trace:configure.ac:769: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETCWD])
-m4trace:configure.ac:769: -1- m4_pattern_allow([^HAVE_GETCWD$])
-m4trace:configure.ac:769: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.ac:769: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:769: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:769: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.ac:769: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
+m4trace:configure.ac:774: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETCWD])
+m4trace:configure.ac:774: -1- m4_pattern_allow([^HAVE_GETCWD$])
+m4trace:configure.ac:774: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.ac:774: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:774: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:774: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.ac:774: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
 @%:@undef HAVE_MEMSET])
-m4trace:configure.ac:769: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMSET])
-m4trace:configure.ac:769: -1- m4_pattern_allow([^HAVE_MEMSET$])
-m4trace:configure.ac:769: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memset.$ac_objext"])
-m4trace:configure.ac:769: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:769: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:769: -1- AC_LIBSOURCE([memset.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.ac:774: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMSET])
+m4trace:configure.ac:774: -1- m4_pattern_allow([^HAVE_MEMSET$])
+m4trace:configure.ac:774: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memset.$ac_objext"])
+m4trace:configure.ac:774: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:774: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:774: -1- AC_LIBSOURCE([memset.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 @%:@undef HAVE_STRCASECMP])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASECMP])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRCASECMP$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasecmp.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strcasecmp.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASECMP])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRCASECMP$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasecmp.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strcasecmp.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
 @%:@undef HAVE_STRCASESTR])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASESTR])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRCASESTR$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasestr.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strcasestr.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASESTR])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRCASESTR$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasestr.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strcasestr.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
 @%:@undef HAVE_STRERROR])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRERROR])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRERROR$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strerror.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strerror.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRERROR])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRERROR$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strerror.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strerror.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
 @%:@undef HAVE_STRFTIME])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRFTIME$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strftime.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strftime.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRFTIME$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strftime.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strftime.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
 @%:@undef HAVE_STRNLEN])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRNLEN])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRNLEN$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strnlen.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strnlen.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRNLEN])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRNLEN$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strnlen.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strnlen.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
 @%:@undef HAVE_STRPBRK])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRPBRK])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRPBRK$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strpbrk.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strpbrk.c])
-m4trace:configure.ac:770: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRPBRK])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRPBRK$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strpbrk.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strpbrk.c])
+m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
 @%:@undef HAVE_STRSTR])
-m4trace:configure.ac:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSTR])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^HAVE_STRSTR$])
-m4trace:configure.ac:770: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strstr.$ac_objext"])
-m4trace:configure.ac:770: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:770: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:770: -1- AC_LIBSOURCE([strstr.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
+m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSTR])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_STRSTR$])
+m4trace:configure.ac:775: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strstr.$ac_objext"])
+m4trace:configure.ac:775: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:775: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:775: -1- AC_LIBSOURCE([strstr.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
 @%:@undef HAVE_STRTOD])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOD])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOD$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtod.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtod.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOD])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOD$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtod.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtod.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
 @%:@undef HAVE_STRTOL])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOL])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOL$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtol.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtol.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOL])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOL$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtol.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtol.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 @%:@undef HAVE_STRTOUL])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUL])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOUL$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoul.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtoul.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUL])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOUL$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoul.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtoul.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
 @%:@undef HAVE_STRTOLL])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOLL])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOLL$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoll.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtoll.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOLL])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOLL$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoll.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtoll.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
 @%:@undef HAVE_STRTOULL])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOULL])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOULL$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoull.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtoull.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOULL])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOULL$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoull.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtoull.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
 @%:@undef HAVE_STRTOIMAX])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOIMAX])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOIMAX$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoimax.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtoimax.c])
-m4trace:configure.ac:771: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOIMAX])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOIMAX$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoimax.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtoimax.c])
+m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
 @%:@undef HAVE_STRTOUMAX])
-m4trace:configure.ac:771: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUMAX])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^HAVE_STRTOUMAX$])
-m4trace:configure.ac:771: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoumax.$ac_objext"])
-m4trace:configure.ac:771: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:771: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:771: -1- AC_LIBSOURCE([strtoumax.c])
-m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_DPRINTF], [/* Define to 1 if you have the `dprintf\' function. */
+m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUMAX])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_STRTOUMAX$])
+m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoumax.$ac_objext"])
+m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:776: -1- AC_LIBSOURCE([strtoumax.c])
+m4trace:configure.ac:777: -1- AH_OUTPUT([HAVE_DPRINTF], [/* Define to 1 if you have the `dprintf\' function. */
 @%:@undef HAVE_DPRINTF])
-m4trace:configure.ac:772: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DPRINTF])
-m4trace:configure.ac:772: -1- m4_pattern_allow([^HAVE_DPRINTF$])
-m4trace:configure.ac:772: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS dprintf.$ac_objext"])
-m4trace:configure.ac:772: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:772: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:772: -1- AC_LIBSOURCE([dprintf.c])
-m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_STRCHRNUL], [/* Define to 1 if you have the `strchrnul\' function. */
+m4trace:configure.ac:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DPRINTF])
+m4trace:configure.ac:777: -1- m4_pattern_allow([^HAVE_DPRINTF$])
+m4trace:configure.ac:777: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS dprintf.$ac_objext"])
+m4trace:configure.ac:777: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:777: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:777: -1- AC_LIBSOURCE([dprintf.c])
+m4trace:configure.ac:778: -1- AH_OUTPUT([HAVE_STRCHRNUL], [/* Define to 1 if you have the `strchrnul\' function. */
 @%:@undef HAVE_STRCHRNUL])
-m4trace:configure.ac:773: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCHRNUL])
-m4trace:configure.ac:773: -1- m4_pattern_allow([^HAVE_STRCHRNUL$])
-m4trace:configure.ac:773: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strchrnul.$ac_objext"])
-m4trace:configure.ac:773: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:773: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:773: -1- AC_LIBSOURCE([strchrnul.c])
-m4trace:configure.ac:775: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY])
-m4trace:configure.ac:775: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$])
-m4trace:configure.ac:775: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if
+m4trace:configure.ac:778: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCHRNUL])
+m4trace:configure.ac:778: -1- m4_pattern_allow([^HAVE_STRCHRNUL$])
+m4trace:configure.ac:778: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strchrnul.$ac_objext"])
+m4trace:configure.ac:778: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:778: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:778: -1- AC_LIBSOURCE([strchrnul.c])
+m4trace:configure.ac:780: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY])
+m4trace:configure.ac:780: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$])
+m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if
    you don\'t. */
 @%:@undef HAVE_DECL_AUDIT_USER_TTY])
-m4trace:configure.ac:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.ac:777: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.ac:777: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
+m4trace:configure.ac:782: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.ac:782: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.ac:782: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_CONFSTR])
-m4trace:configure.ac:778: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.ac:778: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.ac:778: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
+m4trace:configure.ac:783: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.ac:783: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.ac:783: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_PRINTF])
-m4trace:configure.ac:779: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.ac:779: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
+m4trace:configure.ac:784: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.ac:784: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.ac:784: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_SBRK])
-m4trace:configure.ac:780: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.ac:780: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
+m4trace:configure.ac:785: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.ac:785: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.ac:785: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_SETREGID])
-m4trace:configure.ac:781: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.ac:781: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.ac:781: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
+m4trace:configure.ac:786: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.ac:786: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_STRCPY])
-m4trace:configure.ac:782: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.ac:782: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.ac:782: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
+m4trace:configure.ac:787: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.ac:787: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_STRSIGNAL])
-m4trace:configure.ac:785: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.ac:785: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.ac:785: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
+m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_STRTOLD])
-m4trace:configure.ac:785: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:790: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2880: AC_CHECK_DECLS is expanded from...
-configure.ac:785: the top level])
-m4trace:configure.ac:785: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
-m4trace:configure.ac:785: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
-m4trace:configure.ac:801: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:790: the top level])
+m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
+m4trace:configure.ac:790: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
+m4trace:configure.ac:806: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:801: the top level])
-m4trace:configure.ac:802: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:806: the top level])
+m4trace:configure.ac:807: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:802: the top level])
-m4trace:configure.ac:803: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:807: the top level])
+m4trace:configure.ac:808: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:803: the top level])
-m4trace:configure.ac:804: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:808: the top level])
+m4trace:configure.ac:809: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:804: the top level])
-m4trace:configure.ac:805: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:809: the top level])
+m4trace:configure.ac:810: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:805: the top level])
-m4trace:configure.ac:806: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:810: the top level])
+m4trace:configure.ac:811: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:806: the top level])
-m4trace:configure.ac:808: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+configure.ac:811: the top level])
+m4trace:configure.ac:813: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:808: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:813: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:808: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
+m4trace:configure.ac:813: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
 @%:@undef HAVE_ALARM])
-m4trace:configure.ac:808: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
-m4trace:configure.ac:808: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:808: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:808: -1- AC_LIBSOURCE([mktime.c])
-m4trace:configure.ac:815: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.ac:813: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
+m4trace:configure.ac:813: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:813: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:813: -1- AC_LIBSOURCE([mktime.c])
+m4trace:configure.ac:820: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 @%:@undef HAVE_ARGZ_H])
-m4trace:configure.ac:815: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
+m4trace:configure.ac:820: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
 @%:@undef HAVE_ERRNO_H])
-m4trace:configure.ac:815: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.ac:820: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
 @%:@undef HAVE_FCNTL_H])
-m4trace:configure.ac:815: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.ac:820: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 @%:@undef HAVE_MALLOC_H])
-m4trace:configure.ac:815: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
+m4trace:configure.ac:820: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
 @%:@undef HAVE_STDIO_EXT_H])
-m4trace:configure.ac:818: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 @%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:818: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:818: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 @%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:818: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 @%:@undef HAVE_GETPAGESIZE])
-m4trace:configure.ac:818: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
-m4trace:configure.ac:818: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
-m4trace:configure.ac:818: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.ac:818: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.ac:818: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.ac:823: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
+m4trace:configure.ac:823: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
+m4trace:configure.ac:823: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.ac:823: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 @%:@undef HAVE_MMAP])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 @%:@undef HAVE___ARGZ_COUNT])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 @%:@undef HAVE___ARGZ_NEXT])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 @%:@undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
 @%:@undef HAVE_DCGETTEXT])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 @%:@undef HAVE_MEMPCPY])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 @%:@undef HAVE_MUNMAP])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 @%:@undef HAVE_STPCPY])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
 @%:@undef HAVE_STRCSPN])
-m4trace:configure.ac:819: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.ac:824: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 @%:@undef HAVE_STRDUP])
-m4trace:configure.ac:828: -1- AC_SUBST([INTL_DEP])
-m4trace:configure.ac:828: -1- AC_SUBST_TRACE([INTL_DEP])
-m4trace:configure.ac:828: -1- m4_pattern_allow([^INTL_DEP$])
-m4trace:configure.ac:829: -1- AC_SUBST([INTL_INC])
-m4trace:configure.ac:829: -1- AC_SUBST_TRACE([INTL_INC])
-m4trace:configure.ac:829: -1- m4_pattern_allow([^INTL_INC$])
-m4trace:configure.ac:830: -1- AC_SUBST([LIBINTL_H])
-m4trace:configure.ac:830: -1- AC_SUBST_TRACE([LIBINTL_H])
-m4trace:configure.ac:830: -1- m4_pattern_allow([^LIBINTL_H$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
+m4trace:configure.ac:833: -1- AC_SUBST([INTL_DEP])
+m4trace:configure.ac:833: -1- AC_SUBST_TRACE([INTL_DEP])
+m4trace:configure.ac:833: -1- m4_pattern_allow([^INTL_DEP$])
+m4trace:configure.ac:834: -1- AC_SUBST([INTL_INC])
+m4trace:configure.ac:834: -1- AC_SUBST_TRACE([INTL_INC])
+m4trace:configure.ac:834: -1- m4_pattern_allow([^INTL_INC$])
+m4trace:configure.ac:835: -1- AC_SUBST([LIBINTL_H])
+m4trace:configure.ac:835: -1- AC_SUBST_TRACE([LIBINTL_H])
+m4trace:configure.ac:835: -1- m4_pattern_allow([^LIBINTL_H$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
 @%:@undef HAVE_WCTYPE_H])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WCTYPE_H$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WCTYPE_H$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
 @%:@undef HAVE_WCHAR_H])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WCHAR_H$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WCHAR_H$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
 @%:@undef HAVE_LANGINFO_H])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_LANGINFO_H$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_MBRLEN$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_LANGINFO_H$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_MBRLEN$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
 @%:@undef HAVE_MBSCHR])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_MBSCHR$])
-m4trace:configure.ac:836: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"])
-m4trace:configure.ac:836: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:836: -1- AC_LIBSOURCE([mbschr.c])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_WCSDUP$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
-m4trace:configure.ac:836: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
-m4trace:configure.ac:836: -2- m4_pattern_allow([^HAVE_WCTYPE$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_MBSCHR$])
+m4trace:configure.ac:841: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"])
+m4trace:configure.ac:841: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:841: -1- AC_LIBSOURCE([mbschr.c])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_WCSDUP$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
+m4trace:configure.ac:841: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
+m4trace:configure.ac:841: -2- m4_pattern_allow([^HAVE_WCTYPE$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
 @%:@undef HAVE_WCSWIDTH])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WCSWIDTH$])
-m4trace:configure.ac:836: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"])
-m4trace:configure.ac:836: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:836: -1- AC_LIBSOURCE([wcswidth.c])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WCSWIDTH$])
+m4trace:configure.ac:841: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"])
+m4trace:configure.ac:841: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:841: -1- AC_LIBSOURCE([wcswidth.c])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 @%:@undef HAVE_MBRTOWC])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
 @%:@undef HAVE_ISWLOWER])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
 @%:@undef HAVE_ISWUPPER])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
 @%:@undef HAVE_TOWLOWER])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
 @%:@undef HAVE_TOWUPPER])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
 @%:@undef HAVE_ISWCTYPE])
-m4trace:configure.ac:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.ac:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.ac:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
 @%:@undef HAVE_WCHAR_T])
-m4trace:configure.ac:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
 @%:@undef HAVE_WCTYPE_T])
-m4trace:configure.ac:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_WINT_T$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_WINT_T$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
 @%:@undef HAVE_WINT_T])
-m4trace:configure.ac:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
 ../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:836: the top level])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^WCWIDTH_BROKEN$])
-m4trace:configure.ac:836: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */
+configure.ac:841: the top level])
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^WCWIDTH_BROKEN$])
+m4trace:configure.ac:841: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */
 @%:@undef WCWIDTH_BROKEN])
-m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */
+m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */
 @%:@undef HAVE_LOCALE_CHARSET])
-m4trace:configure.ac:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET])
-m4trace:configure.ac:836: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$])
-m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+m4trace:configure.ac:841: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET])
+m4trace:configure.ac:841: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$])
+m4trace:configure.ac:845: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
 @%:@undef HAVE_LIBDL])
-m4trace:configure.ac:840: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
-m4trace:configure.ac:840: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
+m4trace:configure.ac:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.ac:845: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.ac:846: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
 @%:@undef HAVE_DLOPEN])
-m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
+m4trace:configure.ac:846: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
 @%:@undef HAVE_DLCLOSE])
-m4trace:configure.ac:841: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
+m4trace:configure.ac:846: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
 @%:@undef HAVE_DLSYM])
-m4trace:configure.ac:845: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
+m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/specific.m4:39: AC_DECL_SYS_SIGLIST is expanded from...
-configure.ac:845: the top level])
-m4trace:configure.ac:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.ac:845: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.ac:845: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
+configure.ac:850: the top level])
+m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.ac:849: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:854: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:563: BASH_FUNC_INET_ATON is expanded from...
-configure.ac:849: the top level])
-m4trace:configure.ac:849: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
-m4trace:configure.ac:849: -1- m4_pattern_allow([^HAVE_INET_ATON$])
-m4trace:configure.ac:849: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
-m4trace:configure.ac:849: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:849: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:849: -1- AC_LIBSOURCE([inet_aton.c])
-m4trace:configure.ac:855: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
+configure.ac:854: the top level])
+m4trace:configure.ac:854: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
+m4trace:configure.ac:854: -1- m4_pattern_allow([^HAVE_INET_ATON$])
+m4trace:configure.ac:854: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
+m4trace:configure.ac:854: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:854: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:854: -1- AC_LIBSOURCE([inet_aton.c])
+m4trace:configure.ac:860: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
 @%:@undef HAVE_LIBSUN])
-m4trace:configure.ac:855: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
-m4trace:configure.ac:855: -1- m4_pattern_allow([^HAVE_LIBSUN$])
-m4trace:configure.ac:860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
-m4trace:configure.ac:860: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
-m4trace:configure.ac:860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
-m4trace:configure.ac:860: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
-m4trace:configure.ac:864: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
+m4trace:configure.ac:860: -1- m4_pattern_allow([^HAVE_LIBSUN$])
+m4trace:configure.ac:865: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
+m4trace:configure.ac:865: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
+m4trace:configure.ac:865: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
+m4trace:configure.ac:865: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
+m4trace:configure.ac:869: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:732: BASH_FUNC_GETHOSTBYNAME is expanded from...
-configure.ac:864: the top level])
-m4trace:configure.ac:864: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
-m4trace:configure.ac:864: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.ac:868: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.ac:868: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.ac:868: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+configure.ac:869: the top level])
+m4trace:configure.ac:869: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
+m4trace:configure.ac:869: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
+m4trace:configure.ac:873: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.ac:873: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.ac:873: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef uid_t])
-m4trace:configure.ac:868: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.ac:868: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.ac:868: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:873: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.ac:873: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.ac:873: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef gid_t])
-m4trace:configure.ac:868: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
-m4trace:configure.ac:868: -1- m4_pattern_allow([^GETGROUPS_T$])
-m4trace:configure.ac:868: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+m4trace:configure.ac:873: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.ac:873: -1- m4_pattern_allow([^GETGROUPS_T$])
+m4trace:configure.ac:873: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
    this is either `int\' or `gid_t\'. */
 @%:@undef GETGROUPS_T])
-m4trace:configure.ac:869: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.ac:869: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.ac:869: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:874: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.ac:874: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.ac:874: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 @%:@undef off_t])
-m4trace:configure.ac:870: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
-m4trace:configure.ac:870: -1- m4_pattern_allow([^mode_t$])
-m4trace:configure.ac:870: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:875: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
+m4trace:configure.ac:875: -1- m4_pattern_allow([^mode_t$])
+m4trace:configure.ac:875: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef mode_t])
-m4trace:configure.ac:871: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.ac:871: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.ac:871: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:876: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.ac:876: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.ac:876: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef uid_t])
-m4trace:configure.ac:871: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.ac:871: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.ac:871: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:876: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.ac:876: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.ac:876: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef gid_t])
-m4trace:configure.ac:872: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.ac:872: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.ac:872: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:877: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.ac:877: -1- m4_pattern_allow([^pid_t$])
+m4trace:configure.ac:877: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef pid_t])
-m4trace:configure.ac:873: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.ac:873: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:873: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:878: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.ac:878: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.ac:878: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef size_t])
-m4trace:configure.ac:874: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
-m4trace:configure.ac:874: -1- m4_pattern_allow([^ssize_t$])
-m4trace:configure.ac:874: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:879: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.ac:879: -1- m4_pattern_allow([^ssize_t$])
+m4trace:configure.ac:879: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ssize_t])
-m4trace:configure.ac:875: -1- AC_DEFINE_TRACE_LITERAL([time_t])
-m4trace:configure.ac:875: -1- m4_pattern_allow([^time_t$])
-m4trace:configure.ac:875: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:880: -1- AC_DEFINE_TRACE_LITERAL([time_t])
+m4trace:configure.ac:880: -1- m4_pattern_allow([^time_t$])
+m4trace:configure.ac:880: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef time_t])
-m4trace:configure.ac:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:882: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:472: BASH_TYPE_LONG_LONG is expanded from...
-configure.ac:877: the top level])
-m4trace:configure.ac:877: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
-m4trace:configure.ac:877: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
-m4trace:configure.ac:878: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:882: the top level])
+m4trace:configure.ac:882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
+m4trace:configure.ac:882: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
+m4trace:configure.ac:883: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:486: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
-configure.ac:878: the top level])
-m4trace:configure.ac:878: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.ac:878: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.ac:880: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+configure.ac:883: the top level])
+m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.ac:883: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.ac:885: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/types.m4:746: AC_TYPE_SIGNAL is expanded from...
-configure.ac:880: the top level])
-m4trace:configure.ac:880: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.ac:880: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.ac:880: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+configure.ac:885: the top level])
+m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.ac:885: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.ac:885: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 @%:@undef RETSIGTYPE])
-m4trace:configure.ac:881: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:886: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:537: BASH_TYPE_SIG_ATOMIC_T is expanded from...
-configure.ac:881: the top level])
-m4trace:configure.ac:881: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
-m4trace:configure.ac:881: -1- m4_pattern_allow([^sig_atomic_t$])
-m4trace:configure.ac:881: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
+configure.ac:886: the top level])
+m4trace:configure.ac:886: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.ac:886: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.ac:886: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef sig_atomic_t])
-m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
-m4trace:configure.ac:883: -1- m4_pattern_allow([^SIZEOF_CHAR$])
-m4trace:configure.ac:883: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
+m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
+m4trace:configure.ac:888: -1- m4_pattern_allow([^SIZEOF_CHAR$])
+m4trace:configure.ac:888: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
 @%:@undef SIZEOF_CHAR])
-m4trace:configure.ac:884: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
-m4trace:configure.ac:884: -1- m4_pattern_allow([^SIZEOF_SHORT$])
-m4trace:configure.ac:884: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
+m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
+m4trace:configure.ac:889: -1- m4_pattern_allow([^SIZEOF_SHORT$])
+m4trace:configure.ac:889: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
 @%:@undef SIZEOF_SHORT])
-m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
-m4trace:configure.ac:885: -1- m4_pattern_allow([^SIZEOF_INT$])
-m4trace:configure.ac:885: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
+m4trace:configure.ac:890: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
+m4trace:configure.ac:890: -1- m4_pattern_allow([^SIZEOF_INT$])
+m4trace:configure.ac:890: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
 @%:@undef SIZEOF_INT])
-m4trace:configure.ac:886: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
-m4trace:configure.ac:886: -1- m4_pattern_allow([^SIZEOF_LONG$])
-m4trace:configure.ac:886: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
+m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
+m4trace:configure.ac:891: -1- m4_pattern_allow([^SIZEOF_LONG$])
+m4trace:configure.ac:891: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
 @%:@undef SIZEOF_LONG])
-m4trace:configure.ac:887: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
-m4trace:configure.ac:887: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
-m4trace:configure.ac:887: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
+m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
+m4trace:configure.ac:892: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
+m4trace:configure.ac:892: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
 @%:@undef SIZEOF_CHAR_P])
-m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
-m4trace:configure.ac:888: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
-m4trace:configure.ac:888: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
+m4trace:configure.ac:893: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
+m4trace:configure.ac:893: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
+m4trace:configure.ac:893: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
 @%:@undef SIZEOF_DOUBLE])
-m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
-m4trace:configure.ac:889: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
-m4trace:configure.ac:889: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
+m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
+m4trace:configure.ac:894: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
+m4trace:configure.ac:894: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
 @%:@undef SIZEOF_LONG_LONG])
-m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([u_int])
-m4trace:configure.ac:891: -1- m4_pattern_allow([^u_int$])
-m4trace:configure.ac:891: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([u_int])
+m4trace:configure.ac:896: -1- m4_pattern_allow([^u_int$])
+m4trace:configure.ac:896: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_int])
-m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([u_long])
-m4trace:configure.ac:892: -1- m4_pattern_allow([^u_long$])
-m4trace:configure.ac:892: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([u_long])
+m4trace:configure.ac:897: -1- m4_pattern_allow([^u_long$])
+m4trace:configure.ac:897: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 @%:@undef u_long])
-m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:894: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:894: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:899: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:899: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:894: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:894: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
+m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:899: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:899: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:894: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:894: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:899: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:899: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:895: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:895: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:900: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:900: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:895: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:895: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
+m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:900: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:900: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:895: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:895: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:900: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:900: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:896: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:896: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:901: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:901: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:896: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:896: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:901: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:901: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:896: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:896: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:901: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:901: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:897: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:897: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:902: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:902: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:897: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:897: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:902: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:902: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:897: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:897: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:902: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:902: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:900: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:900: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:905: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:905: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:900: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:900: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:905: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:905: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:900: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:900: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:905: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:905: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:900: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:900: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:905: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:905: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
-m4trace:configure.ac:903: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.ac:903: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
+m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
+m4trace:configure.ac:908: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
+m4trace:configure.ac:908: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
 @%:@undef STAT_MACROS_BROKEN])
-m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
-m4trace:configure.ac:908: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
-m4trace:configure.ac:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
+m4trace:configure.ac:918: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:549: BASH_FUNC_LSTAT is expanded from...
-configure.ac:913: the top level])
-m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
-m4trace:configure.ac:913: -1- m4_pattern_allow([^HAVE_LSTAT$])
-m4trace:configure.ac:917: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:918: the top level])
+m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
+m4trace:configure.ac:918: -1- m4_pattern_allow([^HAVE_LSTAT$])
+m4trace:configure.ac:922: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1920: BASH_FUNC_CTYPE_NONASCII is expanded from...
-configure.ac:917: the top level])
-m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
-m4trace:configure.ac:917: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
-m4trace:configure.ac:918: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:922: the top level])
+m4trace:configure.ac:922: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
+m4trace:configure.ac:922: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
+m4trace:configure.ac:923: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:270: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
-configure.ac:918: the top level])
-m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
-m4trace:configure.ac:918: -1- m4_pattern_allow([^DUP2_BROKEN$])
-m4trace:configure.ac:919: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:923: the top level])
+m4trace:configure.ac:923: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
+m4trace:configure.ac:923: -1- m4_pattern_allow([^DUP2_BROKEN$])
+m4trace:configure.ac:924: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1235: BASH_SYS_PGRP_SYNC is expanded from...
-configure.ac:919: the top level])
-m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.ac:919: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.ac:920: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:924: the top level])
+m4trace:configure.ac:924: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.ac:924: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.ac:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:920: the top level])
-m4trace:configure.ac:920: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:925: the top level])
+m4trace:configure.ac:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
@@ -2192,8 +2192,8 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:920: the top level])
-m4trace:configure.ac:920: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:925: the top level])
+m4trace:configure.ac:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
@@ -2206,79 +2206,79 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:920: the top level])
-m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
-m4trace:configure.ac:920: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
-m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
-m4trace:configure.ac:920: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
-m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
-m4trace:configure.ac:920: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
-m4trace:configure.ac:923: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:925: the top level])
+m4trace:configure.ac:925: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
+m4trace:configure.ac:925: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
+m4trace:configure.ac:925: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
+m4trace:configure.ac:925: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
+m4trace:configure.ac:925: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
+m4trace:configure.ac:925: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
+m4trace:configure.ac:928: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:253: BASH_SYS_ERRLIST is expanded from...
-configure.ac:923: the top level])
-m4trace:configure.ac:923: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
-m4trace:configure.ac:923: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
-m4trace:configure.ac:924: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:928: the top level])
+m4trace:configure.ac:928: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
+m4trace:configure.ac:928: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.ac:929: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:211: BASH_SYS_SIGLIST is expanded from...
-configure.ac:924: the top level])
-m4trace:configure.ac:924: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
-m4trace:configure.ac:924: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
-m4trace:configure.ac:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:929: the top level])
+m4trace:configure.ac:929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
+m4trace:configure.ac:929: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
+m4trace:configure.ac:930: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:167: BASH_DECL_UNDER_SYS_SIGLIST is expanded from...
 aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.ac:925: the top level])
-m4trace:configure.ac:925: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
-m4trace:configure.ac:925: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
-m4trace:configure.ac:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:930: the top level])
+m4trace:configure.ac:930: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
+m4trace:configure.ac:930: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.ac:930: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.ac:925: the top level])
-m4trace:configure.ac:925: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
-m4trace:configure.ac:925: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
-m4trace:configure.ac:928: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:930: the top level])
+m4trace:configure.ac:930: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
+m4trace:configure.ac:930: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
+m4trace:configure.ac:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:366: BASH_TYPE_SIGHANDLER is expanded from...
-configure.ac:928: the top level])
-m4trace:configure.ac:928: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
-m4trace:configure.ac:928: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
-m4trace:configure.ac:929: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
-m4trace:configure.ac:929: -1- m4_pattern_allow([^clock_t$])
-m4trace:configure.ac:930: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
-m4trace:configure.ac:930: -1- m4_pattern_allow([^sigset_t$])
-m4trace:configure.ac:931: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
-m4trace:configure.ac:931: -1- m4_pattern_allow([^sig_atomic_t$])
-m4trace:configure.ac:932: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
-m4trace:configure.ac:932: -1- m4_pattern_allow([^HAVE_QUAD_T$])
-m4trace:configure.ac:932: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
-m4trace:configure.ac:932: -1- m4_pattern_allow([^quad_t$])
-m4trace:configure.ac:933: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
-m4trace:configure.ac:933: -1- m4_pattern_allow([^intmax_t$])
-m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.ac:934: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.ac:936: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
-m4trace:configure.ac:936: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
-m4trace:configure.ac:936: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
-m4trace:configure.ac:936: -1- m4_pattern_allow([^socklen_t$])
-m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:933: the top level])
+m4trace:configure.ac:933: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
+m4trace:configure.ac:933: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
+m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
+m4trace:configure.ac:934: -1- m4_pattern_allow([^clock_t$])
+m4trace:configure.ac:935: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
+m4trace:configure.ac:935: -1- m4_pattern_allow([^sigset_t$])
+m4trace:configure.ac:936: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.ac:936: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.ac:937: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
+m4trace:configure.ac:937: -1- m4_pattern_allow([^HAVE_QUAD_T$])
+m4trace:configure.ac:937: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
+m4trace:configure.ac:937: -1- m4_pattern_allow([^quad_t$])
+m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
+m4trace:configure.ac:938: -1- m4_pattern_allow([^intmax_t$])
+m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.ac:939: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.ac:941: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
+m4trace:configure.ac:941: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
+m4trace:configure.ac:941: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
+m4trace:configure.ac:941: -1- m4_pattern_allow([^socklen_t$])
+m4trace:configure.ac:943: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.ac:938: the top level])
-m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:943: the top level])
+m4trace:configure.ac:943: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2287,50 +2287,50 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.ac:938: the top level])
-m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.ac:938: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.ac:938: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T])
-m4trace:configure.ac:940: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$])
-m4trace:configure.ac:940: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */
+configure.ac:943: the top level])
+m4trace:configure.ac:943: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.ac:943: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.ac:943: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.ac:943: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T])
+m4trace:configure.ac:945: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$])
+m4trace:configure.ac:945: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */
 @%:@undef SIZEOF_INTMAX_T])
-m4trace:configure.ac:943: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
-m4trace:configure.ac:943: -2- m4_pattern_allow([^TERMIOS_LDISC$])
-m4trace:configure.ac:944: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
-m4trace:configure.ac:944: -2- m4_pattern_allow([^TERMIO_LDISC$])
-m4trace:configure.ac:945: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:948: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
+m4trace:configure.ac:948: -2- m4_pattern_allow([^TERMIOS_LDISC$])
+m4trace:configure.ac:949: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
+m4trace:configure.ac:949: -2- m4_pattern_allow([^TERMIO_LDISC$])
+m4trace:configure.ac:950: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1042: BASH_STRUCT_DIRENT_D_INO is expanded from...
-configure.ac:945: the top level])
-m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
-m4trace:configure.ac:945: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
-m4trace:configure.ac:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:950: the top level])
+m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
+m4trace:configure.ac:950: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.ac:951: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1075: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
-configure.ac:946: the top level])
-m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
-m4trace:configure.ac:946: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
-m4trace:configure.ac:947: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:951: the top level])
+m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
+m4trace:configure.ac:951: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
+m4trace:configure.ac:952: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1108: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
-configure.ac:947: the top level])
-m4trace:configure.ac:947: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
-m4trace:configure.ac:947: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
-m4trace:configure.ac:948: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:952: the top level])
+m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
+m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
+m4trace:configure.ac:953: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.ac:948: the top level])
-m4trace:configure.ac:948: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:953: the top level])
+m4trace:configure.ac:953: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2339,303 +2339,303 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.ac:948: the top level])
-m4trace:configure.ac:948: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
-m4trace:configure.ac:948: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
-m4trace:configure.ac:948: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
-m4trace:configure.ac:948: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
-m4trace:configure.ac:949: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
-m4trace:configure.ac:949: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
-m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.ac:950: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
-m4trace:configure.ac:950: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */
+configure.ac:953: the top level])
+m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
+m4trace:configure.ac:953: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
+m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
+m4trace:configure.ac:953: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
+m4trace:configure.ac:954: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
+m4trace:configure.ac:954: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
+m4trace:configure.ac:955: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.ac:955: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
+m4trace:configure.ac:955: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
-m4trace:configure.ac:951: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.ac:951: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+m4trace:configure.ac:956: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.ac:956: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.ac:956: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
 @%:@undef TM_IN_SYS_TIME])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
-m4trace:configure.ac:952: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */
+m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
+m4trace:configure.ac:957: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */
 @%:@undef HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
-m4trace:configure.ac:952: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
+m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
+m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
+m4trace:configure.ac:957: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
    `HAVE_STRUCT_TM_TM_ZONE\' instead. */
 @%:@undef HAVE_TM_ZONE])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.ac:952: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
+m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.ac:957: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_TZNAME])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_TZNAME$])
-m4trace:configure.ac:952: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
+m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
+m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_TZNAME$])
+m4trace:configure.ac:957: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
    `tzname\'. */
 @%:@undef HAVE_TZNAME])
-m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
-m4trace:configure.ac:953: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
-m4trace:configure.ac:955: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
+m4trace:configure.ac:958: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
+m4trace:configure.ac:960: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:4149: BASH_STRUCT_WEXITSTATUS_OFFSET is expanded from...
-configure.ac:955: the top level])
-m4trace:configure.ac:955: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET])
-m4trace:configure.ac:955: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$])
-m4trace:configure.ac:955: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */
+configure.ac:960: the top level])
+m4trace:configure.ac:960: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET])
+m4trace:configure.ac:960: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$])
+m4trace:configure.ac:960: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */
 @%:@undef WEXITSTATUS_OFFSET])
-m4trace:configure.ac:957: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:962: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:957: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:957: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:962: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
-m4trace:configure.ac:958: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
-m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
-m4trace:configure.ac:958: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct
    timespec. */
 @%:@undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
-m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
-m4trace:configure.ac:958: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
-m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC])
-m4trace:configure.ac:958: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIMENSEC])
-m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
-m4trace:configure.ac:958: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$])
-m4trace:configure.ac:958: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$])
+m4trace:configure.ac:963: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
-m4trace:configure.ac:961: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:966: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:299: BASH_FUNC_STRSIGNAL is expanded from...
-configure.ac:961: the top level])
-m4trace:configure.ac:961: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
-m4trace:configure.ac:961: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
-m4trace:configure.ac:962: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:966: the top level])
+m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
+m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
+m4trace:configure.ac:967: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:313: BASH_FUNC_OPENDIR_CHECK is expanded from...
-configure.ac:962: the top level])
-m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
-m4trace:configure.ac:962: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
-m4trace:configure.ac:963: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:967: the top level])
+m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
+m4trace:configure.ac:967: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
+m4trace:configure.ac:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:683: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
-configure.ac:963: the top level])
-m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
-m4trace:configure.ac:963: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
-m4trace:configure.ac:964: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+configure.ac:968: the top level])
+m4trace:configure.ac:968: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
+m4trace:configure.ac:968: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
+m4trace:configure.ac:969: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
 @%:@undef HAVE_FPURGE])
-m4trace:configure.ac:964: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+m4trace:configure.ac:969: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
 @%:@undef HAVE___FPURGE])
-m4trace:configure.ac:964: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.ac:964: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.ac:964: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
+m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.ac:969: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.ac:969: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_FPURGE])
-m4trace:configure.ac:965: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:970: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:579: BASH_FUNC_GETENV is expanded from...
-configure.ac:965: the top level])
-m4trace:configure.ac:965: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
-m4trace:configure.ac:965: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
-m4trace:configure.ac:967: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:970: the top level])
+m4trace:configure.ac:970: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.ac:970: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.ac:972: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:702: BASH_FUNC_GETCWD is expanded from...
-configure.ac:967: the top level])
-m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
-m4trace:configure.ac:967: -1- m4_pattern_allow([^GETCWD_BROKEN$])
-m4trace:configure.ac:967: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.ac:967: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:967: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:967: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.ac:969: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:972: the top level])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.ac:972: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.ac:972: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:972: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.ac:974: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:778: BASH_FUNC_POSIX_SETJMP is expanded from...
-configure.ac:969: the top level])
-m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
-m4trace:configure.ac:969: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
-m4trace:configure.ac:970: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:974: the top level])
+m4trace:configure.ac:974: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.ac:974: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.ac:975: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:829: BASH_FUNC_STRCOLL is expanded from...
-configure.ac:970: the top level])
-m4trace:configure.ac:970: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
-m4trace:configure.ac:970: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
-m4trace:configure.ac:971: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
+configure.ac:975: the top level])
+m4trace:configure.ac:975: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.ac:975: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.ac:976: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
 @%:@undef HAVE_SNPRINTF])
-m4trace:configure.ac:971: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:976: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:4065: BASH_FUNC_SNPRINTF is expanded from...
-configure.ac:971: the top level])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^HAVE_SNPRINTF$])
-m4trace:configure.ac:971: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */
+configure.ac:976: the top level])
+m4trace:configure.ac:976: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF])
+m4trace:configure.ac:976: -1- m4_pattern_allow([^HAVE_SNPRINTF$])
+m4trace:configure.ac:976: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */
 @%:@undef HAVE_SNPRINTF])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
+m4trace:configure.ac:977: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
 @%:@undef HAVE_VSNPRINTF])
-m4trace:configure.ac:972: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:977: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:4093: BASH_FUNC_VSNPRINTF is expanded from...
-configure.ac:972: the top level])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_VSNPRINTF$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */
+configure.ac:977: the top level])
+m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF])
+m4trace:configure.ac:977: -1- m4_pattern_allow([^HAVE_VSNPRINTF$])
+m4trace:configure.ac:977: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */
 @%:@undef HAVE_VSNPRINTF])
-m4trace:configure.ac:978: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:983: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:624: BASH_FUNC_STD_PUTENV is expanded from...
-configure.ac:978: the top level])
-m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.ac:980: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.ac:980: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.ac:983: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:983: the top level])
+m4trace:configure.ac:983: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.ac:983: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.ac:985: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.ac:988: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:654: BASH_FUNC_STD_UNSETENV is expanded from...
-configure.ac:983: the top level])
-m4trace:configure.ac:983: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.ac:983: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.ac:985: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.ac:988: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:988: the top level])
+m4trace:configure.ac:988: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.ac:988: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.ac:990: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.ac:990: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.ac:993: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:878: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
-configure.ac:988: the top level])
-m4trace:configure.ac:988: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
-m4trace:configure.ac:988: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
-m4trace:configure.ac:991: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:993: the top level])
+m4trace:configure.ac:993: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.ac:993: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.ac:996: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1297: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
-configure.ac:991: the top level])
-m4trace:configure.ac:991: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
-m4trace:configure.ac:991: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
-m4trace:configure.ac:992: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:996: the top level])
+m4trace:configure.ac:996: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.ac:996: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.ac:997: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1356: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
-configure.ac:992: the top level])
-m4trace:configure.ac:992: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
-m4trace:configure.ac:992: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
-m4trace:configure.ac:993: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:997: the top level])
+m4trace:configure.ac:997: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.ac:997: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.ac:998: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1415: BASH_SYS_NAMED_PIPES is expanded from...
-configure.ac:993: the top level])
-m4trace:configure.ac:993: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
-m4trace:configure.ac:993: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
-m4trace:configure.ac:996: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.ac:996: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
-m4trace:configure.ac:996: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+configure.ac:998: the top level])
+m4trace:configure.ac:998: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.ac:998: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.ac:1001: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.ac:1001: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.ac:1001: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
 @%:@undef GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.ac:997: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:1002: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1496: BASH_HAVE_TIOCSTAT is expanded from...
-configure.ac:997: the top level])
-m4trace:configure.ac:997: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
-m4trace:configure.ac:997: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
-m4trace:configure.ac:998: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1002: the top level])
+m4trace:configure.ac:1002: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.ac:1002: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.ac:1003: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1508: BASH_HAVE_FIONREAD is expanded from...
-configure.ac:998: the top level])
-m4trace:configure.ac:998: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
-m4trace:configure.ac:998: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
-m4trace:configure.ac:1000: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1003: the top level])
+m4trace:configure.ac:1003: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.ac:1003: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.ac:1005: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1964: BASH_CHECK_WCONTINUED is expanded from...
-configure.ac:1000: the top level])
-m4trace:configure.ac:1000: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
-m4trace:configure.ac:1000: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
-m4trace:configure.ac:1003: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1005: the top level])
+m4trace:configure.ac:1005: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.ac:1005: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.ac:1008: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1526: BASH_CHECK_SPEED_T is expanded from...
-configure.ac:1003: the top level])
-m4trace:configure.ac:1003: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
-m4trace:configure.ac:1003: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
-m4trace:configure.ac:1004: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
-m4trace:configure.ac:1004: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
-m4trace:configure.ac:1005: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1008: the top level])
+m4trace:configure.ac:1008: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.ac:1008: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.ac:1009: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.ac:1009: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.ac:1010: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1653: BASH_CHECK_RTSIGS is expanded from...
-configure.ac:1005: the top level])
-m4trace:configure.ac:1005: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
-m4trace:configure.ac:1005: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
-m4trace:configure.ac:1006: -1- AC_SUBST([SIGLIST_O])
-m4trace:configure.ac:1006: -1- AC_SUBST_TRACE([SIGLIST_O])
-m4trace:configure.ac:1006: -1- m4_pattern_allow([^SIGLIST_O$])
-m4trace:configure.ac:1010: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1010: the top level])
+m4trace:configure.ac:1010: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.ac:1010: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.ac:1011: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.ac:1011: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.ac:1011: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.ac:1015: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.ac:1010: the top level])
-m4trace:configure.ac:1010: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1015: the top level])
+m4trace:configure.ac:1015: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2644,140 +2644,140 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.ac:1010: the top level])
-m4trace:configure.ac:1010: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
-m4trace:configure.ac:1010: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
-m4trace:configure.ac:1020: -1- AC_SUBST([TERMCAP_LIB])
-m4trace:configure.ac:1020: -1- AC_SUBST_TRACE([TERMCAP_LIB])
-m4trace:configure.ac:1020: -1- m4_pattern_allow([^TERMCAP_LIB$])
-m4trace:configure.ac:1021: -1- AC_SUBST([TERMCAP_DEP])
-m4trace:configure.ac:1021: -1- AC_SUBST_TRACE([TERMCAP_DEP])
-m4trace:configure.ac:1021: -1- m4_pattern_allow([^TERMCAP_DEP$])
-m4trace:configure.ac:1023: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.ac:1023: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.ac:1023: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.ac:1023: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.ac:1023: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.ac:1023: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.ac:1023: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.ac:1023: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.ac:1024: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
-m4trace:configure.ac:1024: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
-m4trace:configure.ac:1025: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
-m4trace:configure.ac:1025: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
-m4trace:configure.ac:1032: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
-m4trace:configure.ac:1032: -1- m4_pattern_allow([^JOB_CONTROL$])
-m4trace:configure.ac:1038: -1- AC_SUBST([JOBS_O])
-m4trace:configure.ac:1038: -1- AC_SUBST_TRACE([JOBS_O])
-m4trace:configure.ac:1038: -1- m4_pattern_allow([^JOBS_O$])
-m4trace:configure.ac:1051: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
-m4trace:configure.ac:1051: -1- m4_pattern_allow([^SVR4_2$])
-m4trace:configure.ac:1052: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.ac:1052: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.ac:1053: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.ac:1053: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.ac:1054: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
-m4trace:configure.ac:1054: -1- m4_pattern_allow([^SVR5$])
-m4trace:configure.ac:1073: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.ac:1073: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.ac:1121: -1- AC_SUBST([SHOBJ_CC])
-m4trace:configure.ac:1121: -1- AC_SUBST_TRACE([SHOBJ_CC])
-m4trace:configure.ac:1121: -1- m4_pattern_allow([^SHOBJ_CC$])
-m4trace:configure.ac:1122: -1- AC_SUBST([SHOBJ_CFLAGS])
-m4trace:configure.ac:1122: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
-m4trace:configure.ac:1122: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
-m4trace:configure.ac:1123: -1- AC_SUBST([SHOBJ_LD])
-m4trace:configure.ac:1123: -1- AC_SUBST_TRACE([SHOBJ_LD])
-m4trace:configure.ac:1123: -1- m4_pattern_allow([^SHOBJ_LD$])
-m4trace:configure.ac:1124: -1- AC_SUBST([SHOBJ_LDFLAGS])
-m4trace:configure.ac:1124: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
-m4trace:configure.ac:1124: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
-m4trace:configure.ac:1125: -1- AC_SUBST([SHOBJ_XLDFLAGS])
-m4trace:configure.ac:1125: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
-m4trace:configure.ac:1125: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
-m4trace:configure.ac:1126: -1- AC_SUBST([SHOBJ_LIBS])
-m4trace:configure.ac:1126: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
-m4trace:configure.ac:1126: -1- m4_pattern_allow([^SHOBJ_LIBS$])
-m4trace:configure.ac:1127: -1- AC_SUBST([SHOBJ_STATUS])
-m4trace:configure.ac:1127: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
-m4trace:configure.ac:1127: -1- m4_pattern_allow([^SHOBJ_STATUS$])
-m4trace:configure.ac:1159: -1- AC_SUBST([PROFILE_FLAGS])
-m4trace:configure.ac:1159: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
-m4trace:configure.ac:1159: -1- m4_pattern_allow([^PROFILE_FLAGS$])
-m4trace:configure.ac:1161: -1- AC_SUBST([incdir])
-m4trace:configure.ac:1161: -1- AC_SUBST_TRACE([incdir])
-m4trace:configure.ac:1161: -1- m4_pattern_allow([^incdir$])
-m4trace:configure.ac:1162: -1- AC_SUBST([BUILD_DIR])
-m4trace:configure.ac:1162: -1- AC_SUBST_TRACE([BUILD_DIR])
-m4trace:configure.ac:1162: -1- m4_pattern_allow([^BUILD_DIR$])
-m4trace:configure.ac:1165: -1- AC_SUBST([datarootdir])
-m4trace:configure.ac:1165: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.ac:1165: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.ac:1166: -1- AC_SUBST([localedir])
-m4trace:configure.ac:1166: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.ac:1166: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.ac:1168: -1- AC_SUBST([YACC])
-m4trace:configure.ac:1168: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.ac:1168: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.ac:1169: -1- AC_SUBST([AR])
-m4trace:configure.ac:1169: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.ac:1169: -1- m4_pattern_allow([^AR$])
-m4trace:configure.ac:1170: -1- AC_SUBST([ARFLAGS])
-m4trace:configure.ac:1170: -1- AC_SUBST_TRACE([ARFLAGS])
-m4trace:configure.ac:1170: -1- m4_pattern_allow([^ARFLAGS$])
-m4trace:configure.ac:1172: -1- AC_SUBST([BASHVERS])
-m4trace:configure.ac:1172: -1- AC_SUBST_TRACE([BASHVERS])
-m4trace:configure.ac:1172: -1- m4_pattern_allow([^BASHVERS$])
-m4trace:configure.ac:1173: -1- AC_SUBST([RELSTATUS])
-m4trace:configure.ac:1173: -1- AC_SUBST_TRACE([RELSTATUS])
-m4trace:configure.ac:1173: -1- m4_pattern_allow([^RELSTATUS$])
-m4trace:configure.ac:1174: -1- AC_SUBST([DEBUG])
-m4trace:configure.ac:1174: -1- AC_SUBST_TRACE([DEBUG])
-m4trace:configure.ac:1174: -1- m4_pattern_allow([^DEBUG$])
-m4trace:configure.ac:1175: -1- AC_SUBST([MALLOC_DEBUG])
-m4trace:configure.ac:1175: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
-m4trace:configure.ac:1175: -1- m4_pattern_allow([^MALLOC_DEBUG$])
-m4trace:configure.ac:1177: -1- AC_SUBST([host_cpu])
-m4trace:configure.ac:1177: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.ac:1177: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.ac:1178: -1- AC_SUBST([host_vendor])
-m4trace:configure.ac:1178: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.ac:1178: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.ac:1179: -1- AC_SUBST([host_os])
-m4trace:configure.ac:1179: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.ac:1179: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.ac:1181: -1- AC_SUBST([LOCAL_LIBS])
-m4trace:configure.ac:1181: -1- AC_SUBST_TRACE([LOCAL_LIBS])
-m4trace:configure.ac:1181: -1- m4_pattern_allow([^LOCAL_LIBS$])
-m4trace:configure.ac:1182: -1- AC_SUBST([LOCAL_CFLAGS])
-m4trace:configure.ac:1182: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
-m4trace:configure.ac:1182: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
-m4trace:configure.ac:1183: -1- AC_SUBST([LOCAL_LDFLAGS])
-m4trace:configure.ac:1183: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
-m4trace:configure.ac:1183: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
-m4trace:configure.ac:1184: -1- AC_SUBST([LOCAL_DEFS])
-m4trace:configure.ac:1184: -1- AC_SUBST_TRACE([LOCAL_DEFS])
-m4trace:configure.ac:1184: -1- m4_pattern_allow([^LOCAL_DEFS$])
-m4trace:configure.ac:1189: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+configure.ac:1015: the top level])
+m4trace:configure.ac:1015: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.ac:1015: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.ac:1025: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.ac:1025: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.ac:1025: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.ac:1026: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.ac:1026: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.ac:1026: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.ac:1028: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.ac:1028: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.ac:1028: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.ac:1028: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.ac:1028: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.ac:1028: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.ac:1028: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.ac:1028: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.ac:1029: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.ac:1029: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.ac:1030: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.ac:1030: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.ac:1037: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.ac:1037: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.ac:1043: -1- AC_SUBST([JOBS_O])
+m4trace:configure.ac:1043: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.ac:1043: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.ac:1056: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.ac:1056: -1- m4_pattern_allow([^SVR4_2$])
+m4trace:configure.ac:1057: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.ac:1057: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.ac:1058: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.ac:1058: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.ac:1059: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.ac:1059: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.ac:1078: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.ac:1078: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.ac:1126: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.ac:1126: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.ac:1126: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.ac:1127: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.ac:1127: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.ac:1127: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.ac:1128: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.ac:1128: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.ac:1128: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.ac:1129: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.ac:1129: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.ac:1129: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.ac:1130: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.ac:1130: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.ac:1130: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.ac:1131: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.ac:1131: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.ac:1131: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.ac:1132: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.ac:1132: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.ac:1132: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.ac:1164: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.ac:1164: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.ac:1164: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.ac:1166: -1- AC_SUBST([incdir])
+m4trace:configure.ac:1166: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.ac:1166: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.ac:1167: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.ac:1167: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.ac:1167: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.ac:1170: -1- AC_SUBST([datarootdir])
+m4trace:configure.ac:1170: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.ac:1170: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.ac:1171: -1- AC_SUBST([localedir])
+m4trace:configure.ac:1171: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.ac:1171: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.ac:1173: -1- AC_SUBST([YACC])
+m4trace:configure.ac:1173: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.ac:1173: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.ac:1174: -1- AC_SUBST([AR])
+m4trace:configure.ac:1174: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.ac:1174: -1- m4_pattern_allow([^AR$])
+m4trace:configure.ac:1175: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.ac:1175: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.ac:1175: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.ac:1177: -1- AC_SUBST([BASHVERS])
+m4trace:configure.ac:1177: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.ac:1177: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.ac:1178: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.ac:1178: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.ac:1178: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.ac:1179: -1- AC_SUBST([DEBUG])
+m4trace:configure.ac:1179: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.ac:1179: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.ac:1180: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.ac:1180: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.ac:1180: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.ac:1182: -1- AC_SUBST([host_cpu])
+m4trace:configure.ac:1182: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.ac:1182: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.ac:1183: -1- AC_SUBST([host_vendor])
+m4trace:configure.ac:1183: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.ac:1183: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.ac:1184: -1- AC_SUBST([host_os])
+m4trace:configure.ac:1184: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.ac:1184: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.ac:1186: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.ac:1186: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.ac:1186: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.ac:1187: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.ac:1187: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.ac:1187: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.ac:1188: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.ac:1188: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.ac:1188: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.ac:1189: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.ac:1189: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.ac:1194: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
          lib/intl/Makefile \
          lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
          lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
          examples/loadables/Makefile examples/loadables/perl/Makefile])
-m4trace:configure.ac:1189: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.ac:1194: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
 You should run autoupdate.], [])
-m4trace:configure.ac:1189: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:1189: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:1189: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.ac:1189: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.ac:1194: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:1194: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:1194: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.ac:1194: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([INSTALL])
index f3e16e295db2758a6e1514bf65bff129cd4a5872..5be59b196a2e95c96cd2aa7f2a2262a700c0e3f9 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac for Bash 4.3, version 4.057.
+# From configure.ac for Bash 4.3, version 4.058.
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.69 for bash 4.3-beta.
 #
@@ -5820,6 +5820,12 @@ $as_echo "no" >&6; }
 fi
 
 
+case "$ac_cv_prog_YACC" in
+*bison*)       ;;
+*)     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: bison not available; needed to process parse.y" >&5
+$as_echo "$as_me: WARNING: bison not available; needed to process parse.y" >&2;} ;;
+esac
+
 case "$host_os" in
 opennt*|interix*)      MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
 *)                     MAKE_SHELL=/bin/sh ;;
index 98e1fec1dcf2ac0fce670429d85756972482c021..0c56b28f450d3e37558e428a908f99b8ada75dd8 100644 (file)
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_REVISION([for Bash 4.3, version 4.057])dnl
+AC_REVISION([for Bash 4.3, version 4.058])dnl
 
 define(bashvers, 4.3)
 define(relstatus, beta)
@@ -634,6 +634,11 @@ AC_PROG_RANLIB
 AC_PROG_YACC
 AC_PROG_MAKE_SET
 
+case "$ac_cv_prog_YACC" in
+*bison*)       ;;
+*)     AC_MSG_WARN([bison not available; needed to process parse.y]) ;;
+esac
+
 case "$host_os" in
 opennt*|interix*)      MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
 *)                     MAKE_SHELL=/bin/sh ;;
diff --git a/configure.ac~ b/configure.ac~
new file mode 100644 (file)
index 0000000..98e1fec
--- /dev/null
@@ -0,0 +1,1197 @@
+dnl
+dnl Configure script for bash-4.3
+dnl
+dnl report bugs to chet@po.cwru.edu
+dnl
+dnl Process this file with autoconf to produce a configure script.
+
+# Copyright (C) 1987-2013 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 <http://www.gnu.org/licenses/>.
+
+AC_REVISION([for Bash 4.3, version 4.057])dnl
+
+define(bashvers, 4.3)
+define(relstatus, beta)
+
+AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
+
+dnl make sure we are using a recent autoconf version
+AC_PREREQ(2.61)
+
+AC_CONFIG_SRCDIR(shell.h)
+dnl where to find install.sh, config.sub, and config.guess
+AC_CONFIG_AUX_DIR(./support)
+AC_CONFIG_HEADERS(config.h)
+
+dnl checks for version info
+BASHVERS=bashvers
+RELSTATUS=relstatus
+
+dnl defaults for debug settings
+case "$RELSTATUS" in
+alp*|bet*|dev*|rc*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
+*)     DEBUG= MALLOC_DEBUG= ;;
+esac
+
+dnl canonicalize the host and os so we can do some tricky things before
+dnl parsing options
+AC_CANONICAL_HOST
+AC_CANONICAL_BUILD
+
+dnl configure defaults
+opt_bash_malloc=yes
+opt_purify=no
+opt_purecov=no
+opt_afs=no
+opt_curses=no
+opt_with_installed_readline=no
+
+#htmldir=
+
+dnl some systems should be configured without the bash malloc by default
+dnl and some need a special compiler or loader
+dnl look in the NOTES file for more
+case "${host_cpu}-${host_os}" in
+alpha*-*)      opt_bash_malloc=no ;;   # alpha running osf/1 or linux
+*[[Cc]]ray*-*) opt_bash_malloc=no ;;   # Crays
+*-osf1*)       opt_bash_malloc=no ;;   # other osf/1 machines
+sparc-svr4*)   opt_bash_malloc=no ;;   # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_bash_malloc=no ;;   # needs 8-byte alignment
+mips-irix6*)   opt_bash_malloc=no ;;   # needs 8-byte alignment
+m68k-sysv)     opt_bash_malloc=no ;;   # fixes file descriptor leak in closedir
+sparc-linux*)  opt_bash_malloc=no ;;   # sparc running linux; requires ELF
+#*-freebsd*-gnu)       opt_bash_malloc=no ;;   # there's some undetermined problem here
+#*-freebsd*)   opt_bash_malloc=no ;;   # they claim it's better; I disagree
+*-openbsd*)    opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
+*-mirbsd*)     opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
+*-aix*)                opt_bash_malloc=no ;;   # AIX machines
+*-nextstep*)   opt_bash_malloc=no ;;   # NeXT machines running NeXTstep
+*-openstep*)   opt_bash_malloc=no ;;   # i386/Sparc/HP machines running Openstep
+*-macos*)      opt_bash_malloc=no ;;   # Apple MacOS X
+*-rhapsody*)   opt_bash_malloc=no ;;   # Apple Rhapsody (MacOS X)
+*-darwin*)     opt_bash_malloc=no ;;   # Apple Darwin (MacOS X)
+*-dgux*)       opt_bash_malloc=no ;;   # DG/UX machines
+*-qnx*)                opt_bash_malloc=no ;;   # QNX 4.2, QNX 6.x
+*-machten4)    opt_bash_malloc=no ;;   # MachTen 4.x
+*-bsdi2.1|*-bsdi3.?)   opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-beos*)       opt_bash_malloc=no ;;   # they say it's suitable
+*-cygwin*)     opt_bash_malloc=no ;;   # Cygnus's CYGWIN environment
+*-opennt*|*-interix*)  opt_bash_malloc=no ;;   # Interix, now owned by Microsoft
+*-nsk*)                opt_bash_malloc=no ;;   # HP NonStop
+esac
+
+# memory scrambling on free()
+case "${host_os}" in
+sco3.2v5*|sco3.2v4*)   opt_memscramble=no ;;
+*)                     opt_memscramble=yes ;;
+esac
+
+dnl
+dnl macros for the bash debugger
+dnl
+dnl AM_PATH_LISPDIR
+AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
+
+dnl arguments to configure
+dnl packages
+AC_ARG_WITH(afs, AC_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
+AC_ARG_WITH(bash-malloc, AC_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
+AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
+AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
+AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
+
+if test "$opt_bash_malloc" = yes; then
+       MALLOC_TARGET=malloc
+       MALLOC_SRC=malloc.c
+
+       MALLOC_LIB='-lmalloc'
+       MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+       MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+       MALLOC_DEP='$(MALLOC_LIBRARY)'
+
+       AC_DEFINE(USING_BASH_MALLOC)
+else
+       MALLOC_LIB=
+       MALLOC_LIBRARY=
+       MALLOC_LDFLAGS=
+       MALLOC_DEP=     
+fi
+
+if test "$opt_purify" = yes; then
+       PURIFY="purify "
+       AC_DEFINE(DISABLE_MALLOC_WRAPPERS)
+else
+       PURIFY=
+fi
+
+if test "$opt_purecov" = yes; then
+       PURIFY="${PURIFY}purecov"
+fi
+
+if test "$opt_afs" = yes; then
+       AC_DEFINE(AFS)
+fi
+
+if test "$opt_curses" = yes; then
+       prefer_curses=yes
+fi
+
+if test -z "${DEBUGGER_START_FILE}"; then
+       DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
+fi
+
+dnl optional shell features in config.h.in
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_extended_glob=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_xpg_echo=no
+opt_strict_posix=no
+opt_cond_command=yes
+opt_cond_regexp=yes
+opt_coproc=yes
+opt_arith_for_command=yes
+opt_net_redirs=yes
+opt_progcomp=yes
+opt_separate_help=no
+opt_multibyte=yes
+opt_debugger=yes
+opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
+opt_extglob_default=no
+opt_dircomplete_expand_default=no
+
+dnl options that affect how bash is compiled and linked
+opt_static_link=no
+opt_profiling=no
+
+dnl argument parsing for optional features
+AC_ARG_ENABLE(minimal-config, AC_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
+
+dnl a minimal configuration turns everything off, but features can be
+dnl added individually
+if test $opt_minimal_config = yes; then
+       opt_job_control=no opt_alias=no opt_readline=no
+       opt_history=no opt_bang_history=no opt_dirstack=no
+       opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+       opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+       opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+       opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
+       opt_net_redirs=no opt_progcomp=no opt_separate_help=no
+       opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+       opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
+fi
+
+AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
+AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
+AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
+AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
+AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(casemod-attributes, AC_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
+AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
+AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
+AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
+AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
+AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
+AC_ARG_ENABLE(direxpand-default, AC_HELP_STRING([--enable-direxpand-default], [enable the direxpand shell option by default]), opt_dircomplete_expand_default=$enableval)
+AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
+AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
+AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
+AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(extended-glob-default, AC_HELP_STRING([--enable-extended-glob-default], [force extended pattern matching to be enabled by default]), opt_extglob_default=$enableval)
+AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
+AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
+AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
+AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
+AC_ARG_ENABLE(net-redirections, AC_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
+AC_ARG_ENABLE(process-substitution, AC_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
+AC_ARG_ENABLE(progcomp, AC_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
+AC_ARG_ENABLE(prompt-string-decoding, AC_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
+AC_ARG_ENABLE(readline, AC_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
+AC_ARG_ENABLE(restricted, AC_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
+AC_ARG_ENABLE(select, AC_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
+AC_ARG_ENABLE(separate-helpfiles, AC_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
+AC_ARG_ENABLE(single-help-strings, AC_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
+AC_ARG_ENABLE(strict-posix-default, AC_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
+AC_ARG_ENABLE(usg-echo-default, AC_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
+AC_ARG_ENABLE(xpg-echo-default, AC_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
+
+dnl options that alter how bash is compiled and linked
+AC_ARG_ENABLE(mem-scramble, AC_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
+AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
+AC_ARG_ENABLE(static-link, AC_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
+
+dnl So-called `precious' variables
+AC_ARG_VAR([CC_FOR_BUILD], [C compiler used when compiling binaries used only at build time])
+AC_ARG_VAR([CFLAGS_FOR_BUILD], [Compliation options (CFLAGS) used when compiling binaries used only at build time])
+AC_ARG_VAR([LDFLAGS_FOR_BUILD], [Linker options (LDFLAGS) used when compiling binaries used only at build time])
+AC_ARG_VAR([CPPFLAGS_FOR_BUILD], [C preprocessor options (CPPFLAGS) used when compiling binaries used only at build time])
+
+dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
+
+dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
+dnl to be run before we can check the version of an already-installed readline
+dnl library
+
+if test $opt_alias = yes; then
+AC_DEFINE(ALIAS)
+fi
+if test $opt_dirstack = yes; then
+AC_DEFINE(PUSHD_AND_POPD)
+fi
+if test $opt_restricted = yes; then
+AC_DEFINE(RESTRICTED_SHELL)
+fi
+if test $opt_process_subst = yes; then
+AC_DEFINE(PROCESS_SUBSTITUTION)
+fi
+if test $opt_prompt_decoding = yes; then
+AC_DEFINE(PROMPT_STRING_DECODE)
+fi
+if test $opt_select = yes; then
+AC_DEFINE(SELECT_COMMAND)
+fi
+if test $opt_help = yes; then
+AC_DEFINE(HELP_BUILTIN)
+fi
+if test $opt_array_variables = yes; then
+AC_DEFINE(ARRAY_VARS)
+fi
+if test $opt_dparen_arith = yes; then
+AC_DEFINE(DPAREN_ARITHMETIC)
+fi
+if test $opt_brace_expansion = yes; then
+AC_DEFINE(BRACE_EXPANSION)
+fi
+if test $opt_disabled_builtins = yes; then
+AC_DEFINE(DISABLED_BUILTINS)
+fi
+if test $opt_command_timing = yes; then
+AC_DEFINE(COMMAND_TIMING)
+fi
+if test $opt_xpg_echo = yes ; then
+AC_DEFINE(DEFAULT_ECHO_TO_XPG)
+fi
+if test $opt_strict_posix = yes; then
+AC_DEFINE(STRICT_POSIX)
+fi
+if test $opt_extended_glob = yes ; then
+AC_DEFINE(EXTENDED_GLOB)
+fi
+if test $opt_extglob_default = yes; then
+AC_DEFINE(EXTGLOB_DEFAULT, 1)
+else
+AC_DEFINE(EXTGLOB_DEFAULT, 0)
+fi
+if test $opt_cond_command = yes ; then
+AC_DEFINE(COND_COMMAND)
+fi
+if test $opt_cond_regexp = yes ; then
+AC_DEFINE(COND_REGEXP)
+fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
+if test $opt_arith_for_command = yes; then
+AC_DEFINE(ARITH_FOR_COMMAND)
+fi
+if test $opt_net_redirs = yes; then
+AC_DEFINE(NETWORK_REDIRECTIONS)
+fi
+if test $opt_progcomp = yes; then
+AC_DEFINE(PROGRAMMABLE_COMPLETION)
+fi
+if test $opt_multibyte = no; then
+AC_DEFINE(NO_MULTIBYTE_SUPPORT)
+fi
+if test $opt_debugger = yes; then
+AC_DEFINE(DEBUGGER)
+fi
+if test $opt_casemod_attrs = yes; then
+AC_DEFINE(CASEMOD_ATTRS)
+fi
+if test $opt_casemod_expansions = yes; then
+AC_DEFINE(CASEMOD_EXPANSIONS)
+fi
+if test $opt_dircomplete_expand_default = yes; then
+AC_DEFINE(DIRCOMPLETE_EXPAND_DEFAULT)
+fi
+
+if test $opt_memscramble = yes; then
+AC_DEFINE(MEMSCRAMBLE)
+fi
+
+if test "$opt_minimal_config" = yes; then
+       TESTSCRIPT=run-minimal
+else
+       TESTSCRIPT=run-all
+fi
+
+HELPDIR= HELPDIRDEFINE= HELPINSTALL= HELPFILES_TARGET=
+if test "$opt_separate_help" != no; then
+       if test "$opt_separate_help" = "yes" ; then
+               HELPDIR='${datadir}/bash'
+       else
+               HELPDIR=$opt_separate_help
+       fi
+       HELPDIRDEFINE='-H ${HELPDIR}'
+       HELPINSTALL='install-help'
+       HELPFILES_TARGET='helpdoc'
+fi
+HELPSTRINGS=
+if test "$opt_single_longdoc_strings" != "yes"; then
+       HELPSTRINGS='-S'
+fi
+
+dnl now substitute in the values generated by arguments
+AC_SUBST(TESTSCRIPT)
+AC_SUBST(PURIFY)
+AC_SUBST(MALLOC_TARGET)
+AC_SUBST(MALLOC_SRC)
+
+AC_SUBST(MALLOC_LIB)
+AC_SUBST(MALLOC_LIBRARY)
+AC_SUBST(MALLOC_LDFLAGS)
+AC_SUBST(MALLOC_DEP)
+
+AC_SUBST(htmldir)
+
+AC_SUBST(HELPDIR)
+AC_SUBST(HELPDIRDEFINE)
+AC_SUBST(HELPINSTALL)
+AC_SUBST(HELPFILES_TARGET)
+AC_SUBST(HELPSTRINGS)
+
+echo ""
+echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
+echo ""
+
+dnl compilation checks
+dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
+dnl different environment
+AC_PROG_CC
+
+dnl test for Unix variants
+AC_ISC_POSIX
+AC_MINIX
+
+AC_SYS_LARGEFILE
+
+dnl BEGIN changes for cross-building (currently cygwin, minGW, and
+dnl (obsolete) BeOS)
+
+SIGNAMES_O=
+SIGNAMES_H=lsignames.h
+
+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.
+dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
+
+CROSS_COMPILE=
+if test "x$cross_compiling" = "xyes"; then
+    case "${host}" in
+    *-cygwin*)
+       cross_cache=${srcdir}/cross-build/cygwin32.cache
+       ;;
+    *-mingw*)
+       cross_cache=${srcdir}/cross-build/cygwin32.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
+    SIGNAMES_O='signames.o'
+    CROSS_COMPILE='-DCROSS_COMPILING'
+    AC_SUBST(CROSS_COMPILE)
+fi
+AC_SUBST(SIGNAMES_H)
+AC_SUBST(SIGNAMES_O)
+
+dnl END changes for cross-building
+
+dnl We want these before the checks, so the checks can modify their values.
+if test -z "$CFLAGS"; then
+       AUTO_CFLAGS="-g ${GCC+-O2}"
+       AUTO_LDFLAGS="-g ${GCC+-O2}"
+else
+       AUTO_CFLAGS= AUTO_LDFLAGS=
+fi
+
+dnl default values
+CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
+# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"}   # XXX
+
+dnl handle options that alter how bash is compiled and linked
+dnl these must come after the test for cc/gcc
+if test "$opt_profiling" = "yes"; then
+       PROFILE_FLAGS=-pg
+       case "$host_os" in
+       solaris2*)      ;;
+       *)              opt_static_link=yes ;;
+       esac
+       DEBUG= MALLOC_DEBUG=
+fi
+
+prefer_shared=yes
+prefer_static=no
+
+if test "$opt_static_link" = yes; then
+       prefer_static=yes
+       prefer_shared=no
+       # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
+       if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
+               STATIC_LD="-static" 
+               case "$host_os" in
+               solaris2*)      ;;
+               *)              LDFLAGS="$LDFLAGS -static" ;;   # XXX experimental
+               esac
+       fi
+fi
+
+# set the appropriate make variables for building the "build tools"
+# modify defaults based on whether or not we are cross compiling, since the
+# options for the target host may not be appropriate for the build host
+if test "X$cross_compiling" = "Xno"; then
+       CC_FOR_BUILD=${CC_FOR_BUILD-'$(CC)'}
+       CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}    # XXX - should it be '$(CPPFLAGS)'
+       LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+       # CFLAGS set above to default value if not passed in environment
+       CFLAGS_FOR_BUILD=${CFLAGS-'$(CFLAGS)'}
+       LIBS_FOR_BUILD=${LIBS_FOR_BUILD-'$(LIBS)'}
+else
+       CC_FOR_BUILD=${CC_FOR_BUILD-"gcc"}
+       CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+       LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
+       CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD="-g"}
+       LIBS_FOR_BUILD=${LIBS_FOR_BUILD-""}
+fi
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(STATIC_LD)
+
+AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CPPFLAGS_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+AC_SUBST(LIBS_FOR_BUILD)
+
+AC_PROG_GCC_TRADITIONAL
+
+dnl BEGIN READLINE and HISTORY LIBRARY SECTION
+dnl prepare to allow bash to be linked against an already-installed readline
+
+dnl first test that the readline version is new enough to link bash against
+if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
+then
+       # If the user specified --with-installed-readline=PREFIX and PREFIX
+       # is not `yes', set ac_cv_rl_prefix to PREFIX
+       test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
+
+       RL_LIB_READLINE_VERSION
+
+       case "$ac_cv_rl_version" in
+       5*|6*|7*|8*|9*) ;;
+       *)      opt_with_installed_readline=no 
+               AC_MSG_WARN([installed readline library is too old to be linked with bash])
+               AC_MSG_WARN([using private bash version])
+               ;;
+       esac
+fi
+
+TILDE_LIB=-ltilde
+if test $opt_readline = yes; then
+       AC_DEFINE(READLINE)
+       if test "$opt_with_installed_readline" != "no" ; then
+               case "$opt_with_installed_readline" in
+               yes)    RL_INCLUDE= ;;
+               *)      case "$RL_INCLUDEDIR" in
+                       /usr/include)   ;;
+                       *)              RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+                       esac
+                       ;;
+               esac
+               READLINE_DEP=
+               READLINE_LIB=-lreadline
+               # section for OS versions that don't allow unresolved symbols
+               # to be compiled into dynamic libraries.
+               case "$host_os" in
+               cygwin*)        TILDE_LIB= ;;
+               esac
+       else
+               RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+               READLINE_DEP='$(READLINE_LIBRARY)'
+               # section for OS versions that ship an older/broken version of
+               # readline as a standard dynamic library and don't allow a
+               # static version specified as -llibname to override the
+               # dynamic version
+               case "${host_os}" in
+               darwin[[89]]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+               *)              READLINE_LIB=-lreadline ;;
+               esac
+       fi
+else
+       RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+       READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes || test $opt_bang_history = yes; then
+       if test $opt_history = yes; then
+               AC_DEFINE(HISTORY)
+       fi
+       if test $opt_bang_history = yes; then
+               AC_DEFINE(BANG_HISTORY)
+       fi
+       if test "$opt_with_installed_readline" != "no"; then
+               HIST_LIBDIR=$RL_LIBDIR
+               HISTORY_DEP=
+               HISTORY_LIB=-lhistory
+               case "$opt_with_installed_readline" in
+               yes)    RL_INCLUDE= ;;
+               *)      case "$RL_INCLUDEDIR" in
+                       /usr/include)   ;;
+                       *)              RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+                       esac
+                       ;;
+               esac
+       else
+               HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+               HISTORY_DEP='$(HISTORY_LIBRARY)'
+               # section for OS versions that ship an older version of
+               # readline as a standard dynamic library and don't allow a
+               # static version specified as -llibname to override the
+               # dynamic version
+               case "${host_os}" in
+               darwin[[89]]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+               *)              HISTORY_LIB=-lhistory ;;
+               esac
+       fi
+else
+       HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+       HISTORY_LIB= HISTORY_DEP=
+fi
+AC_SUBST(READLINE_LIB)
+AC_SUBST(READLINE_DEP)
+AC_SUBST(RL_LIBDIR)
+AC_SUBST(RL_INCLUDEDIR)
+AC_SUBST(RL_INCLUDE)
+AC_SUBST(HISTORY_LIB)
+AC_SUBST(HISTORY_DEP)
+AC_SUBST(HIST_LIBDIR)
+AC_SUBST(TILDE_LIB)
+
+dnl END READLINE and HISTORY LIBRARY SECTION
+
+dnl programs needed by the build and install process
+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
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+case "$host_os" in
+opennt*|interix*)      MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
+*)                     MAKE_SHELL=/bin/sh ;;
+esac
+AC_SUBST(MAKE_SHELL)
+
+dnl this is similar to the expanded AC_PROG_RANLIB
+if test x$SIZE = x; then
+       if test x$ac_tool_prefix = x; then
+               SIZE=size
+       else
+               SIZE=${ac_tool_prefix}size
+               save_IFS=$IFS ; IFS=:
+               size_found=0
+               for dir in $PATH; do
+                       if test -x $dir/$SIZE ; then
+                               size_found=1
+                               break
+                       fi
+               done
+               if test $size_found -eq 0; then
+                       SIZE=:
+               fi
+               IFS=$save_IFS
+       fi
+fi
+AC_SUBST(SIZE)
+
+m4_include([m4/stat-time.m4])
+m4_include([m4/timespec.m4])
+
+dnl Turn on any extensions available in the GNU C library.
+AC_DEFINE(_GNU_SOURCE, 1)
+
+dnl C compiler characteristics
+AC_C_CONST
+AC_C_INLINE
+AC_C_BIGENDIAN
+AC_C_STRINGIZE
+AC_C_LONG_DOUBLE
+AC_C_PROTOTYPES
+AC_C_CHAR_UNSIGNED
+AC_C_VOLATILE
+AC_C_RESTRICT
+
+dnl initialize GNU gettext
+AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+
+dnl header files
+AC_HEADER_DIRENT
+AC_HEADER_TIME
+
+BASH_HEADER_INTTYPES
+
+AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+                memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+                stdbool.h stddef.h stdint.h netdb.h pwd.h grp.h strings.h \
+                regex.h syslog.h ulimit.h)
+AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
+                sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+                sys/time.h sys/times.h sys/types.h sys/wait.h)
+AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
+
+dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
+dnl exists
+AC_CHECK_HEADER(sys/ptem.h, , ,[[
+#if HAVE_SYS_STREAM_H
+#  include <sys/stream.h>
+#endif
+]])
+
+dnl special checks for libc functions
+AC_FUNC_ALLOCA
+AC_FUNC_GETPGRP
+AC_FUNC_SETVBUF_REVERSED
+AC_FUNC_VPRINTF
+AC_FUNC_STRCOLL
+
+dnl if we're not using the bash malloc but require the C alloca, set things
+dnl up to build a libmalloc.a containing only alloca.o
+
+if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
+       MALLOC_TARGET=alloca
+       MALLOC_SRC=alloca.c
+
+       MALLOC_LIB='-lmalloc'
+       MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+       MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+       MALLOC_DEP='$(MALLOC_LIBRARY)'
+fi
+
+dnl if vprintf is not in libc, see if it's defined in stdio.h
+if test "$ac_cv_func_vprintf" = no; then
+    AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
+    AC_EGREP_HEADER([[int[     ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
+    AC_MSG_RESULT($ac_cv_func_vprintf)
+    if test $ac_cv_func_vprintf = yes; then
+       AC_DEFINE(HAVE_VPRINTF)
+    fi
+fi
+
+if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+  AC_LIBOBJ(vprint)
+fi
+
+dnl signal stuff
+AC_TYPE_SIGNAL
+
+dnl checks for certain version-specific system calls and libc functions
+AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
+AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
+
+dnl checks for missing libc functions
+AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
+
+dnl checks for system calls
+AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
+               getpagesize getpeername getrlimit getrusage gettimeofday \
+               kill killpg lstat readlink sbrk select setdtablesize \
+               setitimer tcgetpgrp uname ulimit waitpid)
+AC_REPLACE_FUNCS(rename)
+
+dnl checks for c library functions
+AC_CHECK_FUNCS(bcopy bzero confstr faccessat fnmatch \
+               getaddrinfo gethostbyname getservbyname getservent inet_aton \
+               imaxdiv memmove pathconf putenv raise regcomp regexec \
+               setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+               sysconf syslog tcgetattr times ttyname tzset unsetenv)
+
+AC_CHECK_FUNCS(vasprintf asprintf)
+AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
+AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
+AC_REPLACE_FUNCS(getcwd memset)
+AC_REPLACE_FUNCS(strcasecmp strcasestr strerror strftime strnlen strpbrk strstr)
+AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
+AC_REPLACE_FUNCS(dprintf)
+AC_REPLACE_FUNCS(strchrnul)
+
+AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
+
+AC_CHECK_DECLS([confstr])
+AC_CHECK_DECLS([printf])
+AC_CHECK_DECLS([sbrk])
+AC_CHECK_DECLS([setregid])
+AC_CHECK_DECLS([strcpy])
+AC_CHECK_DECLS([strsignal])
+
+dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
+AC_CHECK_DECLS([strtold], [
+    AC_MSG_CHECKING([for broken strtold])
+    AC_CACHE_VAL(bash_cv_strtold_broken,
+       [AC_TRY_COMPILE(
+           [#include <stdlib.h>],
+           [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
+           bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
+           [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
+       ]
+    )
+    AC_MSG_RESULT($bash_cv_strtold_broken)
+    if test "$bash_cv_strtold_broken" = "yes" ; then
+       AC_DEFINE(STRTOLD_BROKEN)
+    fi
+])
+
+BASH_CHECK_DECL(strtoimax)
+BASH_CHECK_DECL(strtol)
+BASH_CHECK_DECL(strtoll)
+BASH_CHECK_DECL(strtoul)
+BASH_CHECK_DECL(strtoull)
+BASH_CHECK_DECL(strtoumax)
+
+AC_FUNC_MKTIME
+
+dnl
+dnl Checks for lib/intl and related code (uses some of the output from
+dnl AM_GNU_GETTEXT)
+dnl
+
+AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
+
+dnl AC_FUNC_MALLOC
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
+               munmap stpcpy strcspn strdup])
+
+INTL_DEP= INTL_INC= LIBINTL_H=
+if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
+       INTL_DEP='${INTL_LIBDIR}/libintl.a'
+       INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
+       LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+fi
+AC_SUBST(INTL_DEP)
+AC_SUBST(INTL_INC)
+AC_SUBST(LIBINTL_H)
+
+dnl
+dnl End of checks needed by files in lib/intl
+dnl
+
+BASH_CHECK_MULTIBYTE
+
+dnl checks for the dynamic loading library functions in libc and libdl
+if test "$opt_static_link" != yes; then
+AC_CHECK_LIB(dl, dlopen)
+AC_CHECK_FUNCS(dlopen dlclose dlsym)
+fi
+
+dnl this defines HAVE_DECL_SYS_SIGLIST
+AC_DECL_SYS_SIGLIST
+
+dnl network functions -- check for inet_aton again
+if test "$ac_cv_func_inet_aton" != 'yes'; then
+BASH_FUNC_INET_ATON
+fi
+
+dnl libraries
+dnl this is reportedly no longer necessary for irix[56].?
+case "$host_os" in
+irix4*)        AC_CHECK_LIB(sun, getpwent) ;;
+esac
+
+dnl check for getpeername in the socket library only if it's not in libc
+if test "$ac_cv_func_getpeername" = no; then
+       BASH_CHECK_LIB_SOCKET
+fi
+dnl check for gethostbyname in socket libraries if it's not in libc
+if test "$ac_cv_func_gethostbyname" = no; then
+       BASH_FUNC_GETHOSTBYNAME
+fi
+
+dnl system types
+AC_TYPE_GETGROUPS
+AC_TYPE_OFF_T
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(ssize_t, int)
+AC_CHECK_TYPE(time_t, long)
+
+BASH_TYPE_LONG_LONG
+BASH_TYPE_UNSIGNED_LONG_LONG
+
+AC_TYPE_SIGNAL
+BASH_TYPE_SIG_ATOMIC_T
+
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(char *, 4)
+AC_CHECK_SIZEOF(double, 8)
+AC_CHECK_SIZEOF([long long], 8)
+
+AC_CHECK_TYPE(u_int, [unsigned int])
+AC_CHECK_TYPE(u_long, [unsigned long])
+
+BASH_TYPE_BITS16_T
+BASH_TYPE_U_BITS16_T
+BASH_TYPE_BITS32_T
+BASH_TYPE_U_BITS32_T
+BASH_TYPE_BITS64_T
+
+BASH_TYPE_PTRDIFF_T
+
+dnl structures
+AC_HEADER_STAT
+
+dnl system services
+AC_SYS_INTERPRETER
+if test $ac_cv_sys_interpreter = yes; then
+AC_DEFINE(HAVE_HASH_BANG_EXEC)
+fi
+
+dnl Miscellaneous Bash tests
+if test "$ac_cv_func_lstat" = "no"; then
+BASH_FUNC_LSTAT
+fi
+
+dnl behavior of system calls and library functions
+BASH_FUNC_CTYPE_NONASCII
+BASH_FUNC_DUP2_CLOEXEC_CHECK
+BASH_SYS_PGRP_SYNC
+BASH_SYS_SIGNAL_VINTAGE
+
+dnl checking for the presence of certain library symbols
+BASH_SYS_ERRLIST
+BASH_SYS_SIGLIST
+BASH_UNDER_SYS_SIGLIST
+
+dnl various system types
+BASH_TYPE_SIGHANDLER
+BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
+BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(sig_atomic_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
+BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
+BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
+if test "$ac_cv_header_sys_socket_h" = "yes"; then
+BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], [unsigned int], HAVE_SOCKLEN_T)
+fi
+BASH_TYPE_RLIMIT
+
+AC_CHECK_SIZEOF(intmax_t, 8)
+
+dnl presence and contents of structures used by system calls
+BASH_STRUCT_TERMIOS_LDISC
+BASH_STRUCT_TERMIO_LDISC
+BASH_STRUCT_DIRENT_D_INO
+BASH_STRUCT_DIRENT_D_FILENO
+BASH_STRUCT_DIRENT_D_NAMLEN
+BASH_STRUCT_WINSIZE
+BASH_STRUCT_TIMEVAL
+AC_CHECK_MEMBERS([struct stat.st_blocks])
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+BASH_STRUCT_TIMEZONE
+
+BASH_STRUCT_WEXITSTATUS_OFFSET
+
+BASH_CHECK_TYPE_STRUCT_TIMESPEC
+BASH_STAT_TIME
+
+dnl presence and behavior of C library functions
+BASH_FUNC_STRSIGNAL
+BASH_FUNC_OPENDIR_CHECK
+BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_FPURGE
+BASH_FUNC_GETENV
+if test "$ac_cv_func_getcwd" = "yes"; then
+BASH_FUNC_GETCWD
+fi
+BASH_FUNC_POSIX_SETJMP
+BASH_FUNC_STRCOLL
+BASH_FUNC_SNPRINTF
+BASH_FUNC_VSNPRINTF
+
+dnl If putenv or unsetenv is not present, set the right define so the
+dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
+
+if test "$ac_cv_func_putenv" = "yes"; then
+BASH_FUNC_STD_PUTENV
+else
+AC_DEFINE(HAVE_STD_PUTENV)
+fi
+if test "$ac_cv_func_unsetenv" = "yes"; then
+BASH_FUNC_STD_UNSETENV
+else
+AC_DEFINE(HAVE_STD_UNSETENV)
+fi
+
+BASH_FUNC_PRINTF_A_FORMAT
+
+dnl presence and behavior of OS functions
+BASH_SYS_REINSTALL_SIGHANDLERS
+BASH_SYS_JOB_CONTROL_MISSING
+BASH_SYS_NAMED_PIPES
+
+dnl presence of certain CPP defines
+AC_HEADER_TIOCGWINSZ
+BASH_HAVE_TIOCSTAT
+BASH_HAVE_FIONREAD
+
+BASH_CHECK_WCONTINUED
+
+dnl miscellaneous
+BASH_CHECK_SPEED_T
+BASH_CHECK_GETPW_FUNCS
+BASH_CHECK_RTSIGS
+BASH_CHECK_SYS_SIGLIST
+
+dnl special checks
+case "$host_os" in
+hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
+esac
+
+if test "$opt_readline" = yes; then
+dnl yuck
+case "$host_os" in
+aix*)  prefer_curses=yes ;;
+esac
+BASH_CHECK_LIB_TERMCAP
+fi
+AC_SUBST(TERMCAP_LIB)
+AC_SUBST(TERMCAP_DEP)
+
+BASH_CHECK_DEV_FD
+BASH_CHECK_DEV_STDIN
+BASH_SYS_DEFAULT_MAIL_DIR
+
+if test "$bash_cv_job_control_missing" = missing; then
+       opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+AC_DEFINE(JOB_CONTROL)
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+AC_SUBST(JOBS_O)
+
+dnl Defines that we want to propagate to the Makefiles in subdirectories,
+dnl like glob and readline
+
+LOCAL_DEFS=-DSHELL
+
+dnl use this section to possibly define more cpp variables, specify local
+dnl libraries, and specify any additional local cc or ld flags
+dnl
+dnl this should really go away someday
+
+case "${host_os}" in
+sysv4.2*)      AC_DEFINE(SVR4_2)
+               AC_DEFINE(SVR4) ;;
+sysv4*)                AC_DEFINE(SVR4) ;;
+sysv5*)                AC_DEFINE(SVR5) ;;
+hpux9*)                LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
+hpux*)         LOCAL_CFLAGS=-DHPUX ;;
+dgux*)         LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*)          LOCAL_CFLAGS=-Disc386 ;;
+rhapsody*)     LOCAL_CFLAGS=-DRHAPSODY ;;
+darwin*)       LOCAL_CFLAGS=-DMACOSX ;;
+sco3.2v5*)     LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+sco3.2v4*)     LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+sco3.2*)       LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*)       LOCAL_CFLAGS=-DSunOS4 ;;
+solaris2.5*)   LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
+solaris2.8*)   LOCAL_CFLAGS=-DSOLARIS  ;;
+solaris2.9*)   LOCAL_CFLAGS=-DSOLARIS  ;;
+solaris2.10*)  LOCAL_CFLAGS=-DSOLARIS  ;;
+solaris2*)     LOCAL_CFLAGS=-DSOLARIS ;;
+lynxos*)       LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+linux*)                LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
+               case "`uname -r`" in
+               2.[[456789]]*|3*)       AC_DEFINE(PGRP_PIPE) ;;
+               esac ;;
+*qnx6*)                LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+*qnx*)         LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+powerux*)      LOCAL_LIBS="-lgen" ;;
+cygwin*)       LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE -DRECYCLES_PIDS" ;;
+*openstep*)    LOCAL_CFLAGS="-D__APPLE_CC__" ;;
+esac
+
+dnl Stanza for OS/compiler pair-specific flags
+case "${host_os}-${CC}" in
+aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
+aix4.2*)       LOCAL_LDFLAGS="-bexpall -brtl" ;;
+bsdi4*-*gcc*)  LOCAL_LDFLAGS="-rdynamic" ;;    # allow dynamic loading, like Linux
+esac
+
+dnl FreeBSD-3.x can have either a.out or ELF
+case "${host_os}" in
+freebsd[[3-9]]*)
+               if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
+                       LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+               fi ;;
+freebsdelf*)   LOCAL_LDFLAGS=-rdynamic ;;      # allow dynamic loading
+dragonfly*)    LOCAL_LDFLAGS=-rdynamic ;;      # allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*)                LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*)  LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3)   LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4)    LOCAL_CFLAGS=-Xa ;;
+esac
+
+#
+# Shared object configuration section.  These values are generated by
+# ${srcdir}/support/shobj-conf
+#
+if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
+then
+       AC_MSG_CHECKING(shared object configuration for loadable builtins)
+       eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
+       AC_SUBST(SHOBJ_CC)
+       AC_SUBST(SHOBJ_CFLAGS)
+       AC_SUBST(SHOBJ_LD)
+       AC_SUBST(SHOBJ_LDFLAGS)
+       AC_SUBST(SHOBJ_XLDFLAGS)
+       AC_SUBST(SHOBJ_LIBS)
+       AC_SUBST(SHOBJ_STATUS)
+       AC_MSG_RESULT($SHOBJ_STATUS)
+fi
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.)     ;;
+*)     for d in doc tests support lib examples; do     # dirs
+               test -d $d || mkdir $d
+       done
+       for ld in readline glob tilde malloc sh termcap; do     # libdirs
+               test -d lib/$ld || mkdir lib/$ld
+       done
+       test -d examples/loadables || mkdir examples/loadables  # loadable builtins
+       test -d examples/loadables/perl || mkdir examples/loadables/perl
+       ;;
+esac
+
+BUILD_DIR=`pwd`
+case "$BUILD_DIR" in
+*\ *)  BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
+*)     ;;
+esac
+
+if test -z "$localedir"; then
+       localedir='${datarootdir}/locale'
+fi
+if test -z "$datarootdir"; then
+       datarootdir='${prefix}/share'
+fi
+
+AC_SUBST(PROFILE_FLAGS)
+
+AC_SUBST(incdir)
+AC_SUBST(BUILD_DIR)
+
+# Some versions of autoconf don't substitute these automatically
+AC_SUBST(datarootdir)
+AC_SUBST(localedir)
+
+AC_SUBST(YACC)
+AC_SUBST(AR)
+AC_SUBST(ARFLAGS)
+
+AC_SUBST(BASHVERS)
+AC_SUBST(RELSTATUS)
+AC_SUBST(DEBUG)
+AC_SUBST(MALLOC_DEBUG)
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_vendor)
+AC_SUBST(host_os)
+
+AC_SUBST(LOCAL_LIBS)
+AC_SUBST(LOCAL_CFLAGS)
+AC_SUBST(LOCAL_LDFLAGS)
+AC_SUBST(LOCAL_DEFS)
+
+#AC_SUBST(ALLOCA_SOURCE)
+#AC_SUBST(ALLOCA_OBJECT)
+
+AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+         lib/intl/Makefile \
+         lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
+         lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
+         examples/loadables/Makefile examples/loadables/perl/Makefile],
+[
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+])
index 343beb02e4b95eda55d9d13066d3ac1102251253..99549bf36b989d02dfe107264a8d706a2c7aa9c4 100644 (file)
@@ -85,7 +85,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \
 
 ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
          tty pathchk tee head mkdir rmdir printenv id whoami \
-         uname sync push ln unlink cut realpath getconf strftime mypid
+         uname sync push ln unlink realpath strftime mypid
 OTHERPROG = necho hello cat
 
 all:   $(SHOBJ_STATUS)
@@ -110,9 +110,6 @@ print:      print.o
 necho: necho.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS)
 
-getconf: getconf.o
-       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS)
-
 hello: hello.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS)
 
@@ -179,9 +176,6 @@ ln: ln.o
 unlink:        unlink.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS)
 
-cut:   cut.o
-       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS)
-
 realpath:      realpath.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS)
 
@@ -229,7 +223,6 @@ tee.o: tee.c
 head.o: head.c
 rmdir.o: rmdir.c
 necho.o: necho.c
-getconf.o: getconf.c
 hello.o: hello.c
 cat.o: cat.c
 printenv.o: printenv.c
diff --git a/examples/loadables/Makefile.in~ b/examples/loadables/Makefile.in~
new file mode 100644 (file)
index 0000000..343beb0
--- /dev/null
@@ -0,0 +1,244 @@
+#
+# Simple makefile for the sample loadable builtins
+#
+# Copyright (C) 1996-2009 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 <http://www.gnu.org/licenses/>.
+#
+
+# Include some boilerplate Gnu makefile definitions.
+prefix = @prefix@
+
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+infodir = @infodir@
+includedir = @includedir@
+
+datarootdir = @datarootdir@
+
+topdir = @top_srcdir@
+BUILD_DIR = @BUILD_DIR@
+srcdir = @srcdir@
+VPATH = .:@srcdir@
+
+@SET_MAKE@
+CC = @CC@
+RM = rm -f
+
+SHELL = @MAKE_SHELL@
+
+host_os = @host_os@
+host_cpu = @host_cpu@
+host_vendor = @host_vendor@
+
+CFLAGS = @CFLAGS@
+LOCAL_CFLAGS = @LOCAL_CFLAGS@
+DEFS = @DEFS@
+LOCAL_DEFS = @LOCAL_DEFS@
+
+CPPFLAGS = @CPPFLAGS@
+
+BASHINCDIR = ${topdir}/include
+
+LIBBUILD = ${BUILD_DIR}/lib
+
+INTL_LIBSRC = ${topdir}/lib/intl
+INTL_BUILDDIR = ${LIBBUILD}/intl
+INTL_INC = @INTL_INC@
+LIBINTL_H = @LIBINTL_H@
+
+CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS)
+
+#
+# These values are generated for configure by ${topdir}/support/shobj-conf.
+# If your system is not supported by that script, but includes facilities for
+# dynamic loading of shared objects, please update the script and send the
+# changes to bash-maintainers@gnu.org.
+#
+SHOBJ_CC = @SHOBJ_CC@
+SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+SHOBJ_LD = @SHOBJ_LD@
+SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@
+SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
+SHOBJ_LIBS = @SHOBJ_LIBS@
+SHOBJ_STATUS = @SHOBJ_STATUS@
+
+INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \
+      -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
+      -I$(BUILD_DIR)/builtins $(INTL_INC)
+
+.c.o:
+       $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
+
+
+ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
+         tty pathchk tee head mkdir rmdir printenv id whoami \
+         uname sync push ln unlink cut realpath getconf strftime mypid
+OTHERPROG = necho hello cat
+
+all:   $(SHOBJ_STATUS)
+
+supported:     $(ALLPROG)
+others:                $(OTHERPROG)
+
+unsupported:
+       @echo "Your system (${host_os}) is not supported by the"
+       @echo "${topdir}/support/shobj-conf script."
+       @echo "If your operating system provides facilities for dynamic"
+       @echo "loading of shared objects using the dlopen(3) interface,"
+       @echo "please update the script and re-run configure.
+       @echo "Please send the changes you made to bash-maintainers@gnu.org"
+       @echo "for inclusion in future bash releases."
+
+everything: supported others
+
+print: print.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS)
+
+necho: necho.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS)
+
+getconf: getconf.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS)
+
+hello: hello.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS)
+
+truefalse: truefalse.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS)
+
+sleep: sleep.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS)
+
+finfo: finfo.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS)
+
+cat:   cat.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS)
+
+logname:       logname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS)
+
+basename:      basename.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS)
+
+dirname:       dirname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS)
+
+tty:   tty.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS)
+
+pathchk:       pathchk.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS)
+
+tee:   tee.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS)
+
+mkdir: mkdir.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS)
+
+rmdir: rmdir.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS)
+
+head:  head.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS)
+
+printenv:      printenv.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS)
+
+id:    id.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS)
+
+whoami:        whoami.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS)
+
+uname: uname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS)
+
+sync:  sync.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS)
+
+push:  push.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS)
+
+ln:    ln.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS)
+
+unlink:        unlink.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS)
+
+cut:   cut.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS)
+
+realpath:      realpath.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS)
+
+strftime:      strftime.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS)
+
+mypid: mypid.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mypid.o $(SHOBJ_LIBS)
+
+# pushd is a special case.  We use the same source that the builtin version
+# uses, with special compilation options.
+#
+pushd.c:       ${topdir}/builtins/pushd.def
+       $(RM) $@
+       ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def
+
+pushd.o:       pushd.c
+       $(RM) $@
+       $(SHOBJ_CC) -DHAVE_CONFIG_H -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INC) -c -o $@ $<
+
+pushd: pushd.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS)
+
+clean:
+       $(RM) $(ALLPROG) $(OTHERPROG) *.o
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+mostlyclean:   clean
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+distclean maintainer-clean: clean
+       $(RM) Makefile pushd.c
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+print.o: print.c
+truefalse.o: truefalse.c
+sleep.o: sleep.c
+finfo.o: finfo.c
+logname.o: logname.c
+basename.o: basename.c
+dirname.o: dirname.c
+tty.o: tty.c
+pathchk.o: pathchk.c
+tee.o: tee.c
+head.o: head.c
+rmdir.o: rmdir.c
+necho.o: necho.c
+getconf.o: getconf.c
+hello.o: hello.c
+cat.o: cat.c
+printenv.o: printenv.c
+id.o: id.c
+whoami.o: whoami.c
+uname.o: uname.c
+sync.o: sync.c
+push.o: push.c
+mkdir.o: mkdir.c
+realpath.o: realpath.c
+strftime.o: strftime.c
+mypid.o: mypid.c
diff --git a/jobs.c b/jobs.c
index 2f914ffe2fadb6d51a01fb2fbf3d11c5437da178..0e81940dd17cbf4403a5d54462aa83e7a27502c1 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -2482,6 +2482,9 @@ wait_for (pid)
          waiting_for_child++;
          r = waitchld (pid, 1);        /* XXX */
          waiting_for_child--;
+#if 0
+itrace("wait_for: blocking wait for %d returns %d child = %p", (int)pid, r, child);
+#endif
 #  if defined (MUST_UNBLOCK_CHLD)
          sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
          sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
@@ -3218,6 +3221,10 @@ waitchld (wpid, block)
 
       pid = WAITPID (-1, &status, waitpid_flags);
 
+#if 0
+if (wpid != -1 && block)
+  itrace("waitchld: blocking waitpid returns %d", pid);
+#endif
       /* WCONTINUED may be rejected by waitpid as invalid even when defined */
       if (wcontinued && pid < 0 && errno == EINVAL)
        {
@@ -3240,6 +3247,9 @@ waitchld (wpid, block)
            break;
        }
 
+#if 0
+itrace("waitchld: waitpid returns %d block = %d", pid, block);
+#endif
       /* If waitpid returns 0, there are running children.  If it returns -1,
         the only other error POSIX says it can return is EINTR. */
       CHECK_TERMSIG;
diff --git a/jobs.c~ b/jobs.c~
new file mode 100644 (file)
index 0000000..21bee41
--- /dev/null
+++ b/jobs.c~
@@ -0,0 +1,4473 @@
+/* jobs.c - functions that make children, remember them, and handle their termination. */
+
+/* This file works with both POSIX and BSD systems.  It implements job
+   control. */
+
+/* Copyright (C) 1989-2013 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash 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.
+
+   Bash 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 Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#include "bashtypes.h"
+#include "trap.h"
+#include <stdio.h>
+#include <signal.h>
+#include <errno.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "posixtime.h"
+
+#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_WAIT3) && !defined (_POSIX_VERSION) && !defined (RLIMTYPE)
+#  include <sys/resource.h>
+#endif /* !_POSIX_VERSION && HAVE_SYS_RESOURCE_H && HAVE_WAIT3 && !RLIMTYPE */
+
+#if defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif
+
+#include "filecntl.h"
+#include <sys/ioctl.h>
+#if defined (HAVE_SYS_PARAM_H)
+#include <sys/param.h>
+#endif
+
+#if defined (BUFFERED_INPUT)
+#  include "input.h"
+#endif
+
+/* Need to include this up here for *_TTY_DRIVER definitions. */
+#include "shtty.h"
+
+/* Define this if your output is getting swallowed.  It's a no-op on
+   machines with the termio or termios tty drivers. */
+/* #define DRAIN_OUTPUT */
+
+/* For the TIOCGPGRP and TIOCSPGRP ioctl parameters on HP-UX */
+#if defined (hpux) && !defined (TERMIOS_TTY_DRIVER)
+#  include <bsdtty.h>
+#endif /* hpux && !TERMIOS_TTY_DRIVER */
+
+#include "bashansi.h"
+#include "bashintl.h"
+#include "shell.h"
+#include "jobs.h"
+#include "execute_cmd.h"
+#include "flags.h"
+
+#include "builtins/builtext.h"
+#include "builtins/common.h"
+
+#if !defined (errno)
+extern int errno;
+#endif /* !errno */
+
+#if !defined (HAVE_KILLPG)
+extern int killpg __P((pid_t, int));
+#endif
+
+#if !DEFAULT_CHILD_MAX
+#  define DEFAULT_CHILD_MAX 32
+#endif
+
+#if !MAX_CHILD_MAX
+#  define MAX_CHILD_MAX 8192
+#endif
+
+#if !defined (DEBUG)
+#define MAX_JOBS_IN_ARRAY 4096         /* production */
+#else
+#define MAX_JOBS_IN_ARRAY 128          /* testing */
+#endif
+
+/* Flag values for second argument to delete_job */
+#define DEL_WARNSTOPPED                1       /* warn about deleting stopped jobs */
+#define DEL_NOBGPID            2       /* don't add pgrp leader to bgpids */
+
+/* Take care of system dependencies that must be handled when waiting for
+   children.  The arguments to the WAITPID macro match those to the Posix.1
+   waitpid() function. */
+
+#if defined (ultrix) && defined (mips) && defined (_POSIX_VERSION)
+#  define WAITPID(pid, statusp, options) \
+       wait3 ((union wait *)statusp, options, (struct rusage *)0)
+#else
+#  if defined (_POSIX_VERSION) || defined (HAVE_WAITPID)
+#    define WAITPID(pid, statusp, options) \
+       waitpid ((pid_t)pid, statusp, options)
+#  else
+#    if defined (HAVE_WAIT3)
+#      define WAITPID(pid, statusp, options) \
+       wait3 (statusp, options, (struct rusage *)0)
+#    else
+#      define WAITPID(pid, statusp, options) \
+       wait3 (statusp, options, (int *)0)
+#    endif /* HAVE_WAIT3 */
+#  endif /* !_POSIX_VERSION && !HAVE_WAITPID*/
+#endif /* !(Ultrix && mips && _POSIX_VERSION) */
+
+/* getpgrp () varies between systems.  Even systems that claim to be
+   Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
+#if defined (GETPGRP_VOID)
+#  define getpgid(p) getpgrp ()
+#else
+#  define getpgid(p) getpgrp (p)
+#endif /* !GETPGRP_VOID */
+
+/* If the system needs it, REINSTALL_SIGCHLD_HANDLER will reinstall the
+   handler for SIGCHLD. */
+#if defined (MUST_REINSTALL_SIGHANDLERS)
+#  define REINSTALL_SIGCHLD_HANDLER signal (SIGCHLD, sigchld_handler)
+#else
+#  define REINSTALL_SIGCHLD_HANDLER
+#endif /* !MUST_REINSTALL_SIGHANDLERS */
+
+/* Some systems let waitpid(2) tell callers about stopped children. */
+#if !defined (WCONTINUED) || defined (WCONTINUED_BROKEN)
+#  undef WCONTINUED
+#  define WCONTINUED 0
+#endif
+#if !defined (WIFCONTINUED)
+#  define WIFCONTINUED(s)      (0)
+#endif
+
+/* The number of additional slots to allocate when we run out. */
+#define JOB_SLOTS 8
+
+typedef int sh_job_map_func_t __P((JOB *, int, int, int));
+
+/* Variables used here but defined in other files. */
+extern int subshell_environment, line_number;
+extern int posixly_correct, shell_level;
+extern int last_command_exit_value, last_command_exit_signal;
+extern int loop_level, breaking;
+extern int executing_list;
+extern int sourcelevel;
+extern int running_trap;
+extern sh_builtin_func_t *this_shell_builtin;
+extern char *shell_name, *this_command_name;
+extern sigset_t top_level_mask;
+extern procenv_t wait_intr_buf;
+extern int wait_signal_received;
+extern WORD_LIST *subst_assign_varlist;
+
+static struct jobstats zerojs = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
+struct jobstats js = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
+
+struct bgpids bgpids = { 0, 0, 0 };
+
+/* The array of known jobs. */
+JOB **jobs = (JOB **)NULL;
+
+#if 0
+/* The number of slots currently allocated to JOBS. */
+int job_slots = 0;
+#endif
+
+/* The controlling tty for this shell. */
+int shell_tty = -1;
+
+/* The shell's process group. */
+pid_t shell_pgrp = NO_PID;
+
+/* The terminal's process group. */
+pid_t terminal_pgrp = NO_PID;
+
+/* The process group of the shell's parent. */
+pid_t original_pgrp = NO_PID;
+
+/* The process group of the pipeline currently being made. */
+pid_t pipeline_pgrp = (pid_t)0;
+
+#if defined (PGRP_PIPE)
+/* Pipes which each shell uses to communicate with the process group leader
+   until all of the processes in a pipeline have been started.  Then the
+   process leader is allowed to continue. */
+int pgrp_pipe[2] = { -1, -1 };
+#endif
+
+#if 0
+/* The job which is current; i.e. the one that `%+' stands for. */
+int current_job = NO_JOB;
+
+/* The previous job; i.e. the one that `%-' stands for. */
+int previous_job = NO_JOB;
+#endif
+
+/* Last child made by the shell.  */
+volatile pid_t last_made_pid = NO_PID;
+
+/* Pid of the last asynchronous child. */
+volatile pid_t last_asynchronous_pid = NO_PID;
+
+/* The pipeline currently being built. */
+PROCESS *the_pipeline = (PROCESS *)NULL;
+
+/* If this is non-zero, do job control. */
+int job_control = 1;
+
+/* Call this when you start making children. */
+int already_making_children = 0;
+
+/* If this is non-zero, $LINES and $COLUMNS are reset after every process
+   exits from get_tty_state(). */
+int check_window_size = CHECKWINSIZE_DEFAULT;
+
+/* Functions local to this file. */
+
+static sighandler wait_sigint_handler __P((int));
+static sighandler sigchld_handler __P((int));
+static sighandler sigcont_sighandler __P((int));
+static sighandler sigstop_sighandler __P((int));
+
+static int waitchld __P((pid_t, int));
+
+static PROCESS *find_pipeline __P((pid_t, int, int *));
+static PROCESS *find_process __P((pid_t, int, int *));
+
+static char *current_working_directory __P((void));
+static char *job_working_directory __P((void));
+static char *j_strsignal __P((int));
+static char *printable_job_status __P((int, PROCESS *, int));
+
+static PROCESS *find_last_proc __P((int, int));
+static pid_t find_last_pid __P((int, int));
+
+static int set_new_line_discipline __P((int));
+static int map_over_jobs __P((sh_job_map_func_t *, int, int));
+static int job_last_stopped __P((int));
+static int job_last_running __P((int));
+static int most_recent_job_in_state __P((int, JOB_STATE));
+static int find_job __P((pid_t, int, PROCESS **));
+static int print_job __P((JOB *, int, int, int));
+static int process_exit_status __P((WAIT));
+static int process_exit_signal __P((WAIT));
+static int set_job_status_and_cleanup __P((int));
+
+static WAIT job_signal_status __P((int));
+static WAIT raw_job_exit_status __P((int));
+
+static void notify_of_job_status __P((void));
+static void reset_job_indices __P((void));
+static void cleanup_dead_jobs __P((void));
+static int processes_in_job __P((int));
+static void realloc_jobs_list __P((void));
+static int compact_jobs_list __P((int));
+static int discard_pipeline __P((PROCESS *));
+static void add_process __P((char *, pid_t));
+static void print_pipeline __P((PROCESS *, int, int, FILE *));
+static void pretty_print_job __P((int, int, FILE *));
+static void set_current_job __P((int));
+static void reset_current __P((void));
+static void set_job_running __P((int));
+static void setjstatus __P((int));
+static int maybe_give_terminal_to __P((pid_t, pid_t, int));
+static void mark_all_jobs_as_dead __P((void));
+static void mark_dead_jobs_as_notified __P((int));
+static void restore_sigint_handler __P((void));
+#if defined (PGRP_PIPE)
+static void pipe_read __P((int *));
+#endif
+
+static struct pidstat *bgp_alloc __P((pid_t, int));
+static struct pidstat *bgp_add __P((pid_t, int));
+static int bgp_delete __P((pid_t));
+static void bgp_clear __P((void));
+static int bgp_search __P((pid_t));
+static void bgp_prune __P((void));
+
+#if defined (ARRAY_VARS)
+static int *pstatuses;         /* list of pipeline statuses */
+static int statsize;
+#endif
+
+/* Used to synchronize between wait_for and other functions and the SIGCHLD
+   signal handler. */
+static int sigchld;
+static int queue_sigchld;
+
+#define QUEUE_SIGCHLD(os)      (os) = sigchld, queue_sigchld++
+
+#define UNQUEUE_SIGCHLD(os) \
+       do { \
+         queue_sigchld--; \
+         if (queue_sigchld == 0 && os != sigchld) \
+           waitchld (-1, 0); \
+       } while (0)
+
+static SigHandler *old_tstp, *old_ttou, *old_ttin;
+static SigHandler *old_cont = (SigHandler *)SIG_DFL;
+
+/* A place to temporarily save the current pipeline. */
+static PROCESS *saved_pipeline;
+static int saved_already_making_children;
+
+/* Set this to non-zero whenever you don't want the jobs list to change at
+   all: no jobs deleted and no status change notifications.  This is used,
+   for example, when executing SIGCHLD traps, which may run arbitrary
+   commands. */
+static int jobs_list_frozen;
+
+static char retcode_name_buffer[64];
+
+#if !defined (_POSIX_VERSION)
+
+/* These are definitions to map POSIX 1003.1 functions onto existing BSD
+   library functions and system calls. */
+#define setpgid(pid, pgrp)     setpgrp (pid, pgrp)
+#define tcsetpgrp(fd, pgrp)    ioctl ((fd), TIOCSPGRP, &(pgrp))
+
+pid_t
+tcgetpgrp (fd)
+     int fd;
+{
+  pid_t pgrp;
+
+  /* ioctl will handle setting errno correctly. */
+  if (ioctl (fd, TIOCGPGRP, &pgrp) < 0)
+    return (-1);
+  return (pgrp);
+}
+
+#endif /* !_POSIX_VERSION */
+
+/* Initialize the global job stats structure and other bookkeeping variables */
+void
+init_job_stats ()
+{
+  js = zerojs;
+}
+
+/* Return the working directory for the current process.  Unlike
+   job_working_directory, this does not call malloc (), nor do any
+   of the functions it calls.  This is so that it can safely be called
+   from a signal handler. */
+static char *
+current_working_directory ()
+{
+  char *dir;
+  static char d[PATH_MAX];
+
+  dir = get_string_value ("PWD");
+
+  if (dir == 0 && the_current_working_directory && no_symbolic_links)
+    dir = the_current_working_directory;
+
+  if (dir == 0)
+    {
+      dir = getcwd (d, sizeof(d));
+      if (dir)
+       dir = d;
+    }
+
+  return (dir == 0) ? "<unknown>" : dir;
+}
+
+/* Return the working directory for the current process. */
+static char *
+job_working_directory ()
+{
+  char *dir;
+
+  dir = get_string_value ("PWD");
+  if (dir)
+    return (savestring (dir));
+
+  dir = get_working_directory ("job-working-directory");
+  if (dir)
+    return (dir);
+
+  return (savestring ("<unknown>"));
+}
+
+void
+making_children ()
+{
+  if (already_making_children)
+    return;
+
+  already_making_children = 1;
+  start_pipeline ();
+}
+
+void
+stop_making_children ()
+{
+  already_making_children = 0;
+}
+
+void
+cleanup_the_pipeline ()
+{
+  PROCESS *disposer;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+  disposer = the_pipeline;
+  the_pipeline = (PROCESS *)NULL;
+  UNBLOCK_CHILD (oset);
+
+  if (disposer)
+    discard_pipeline (disposer);
+}
+
+void
+save_pipeline (clear)
+     int clear;
+{
+  saved_pipeline = the_pipeline;
+  if (clear)
+    the_pipeline = (PROCESS *)NULL;
+  saved_already_making_children = already_making_children;
+}
+
+void
+restore_pipeline (discard)
+     int discard;
+{
+  PROCESS *old_pipeline;
+
+  old_pipeline = the_pipeline;
+  the_pipeline = saved_pipeline;
+  already_making_children = saved_already_making_children;
+  if (discard && old_pipeline)
+    discard_pipeline (old_pipeline);
+}
+
+/* Start building a pipeline.  */
+void
+start_pipeline ()
+{
+  if (the_pipeline)
+    {
+      cleanup_the_pipeline ();
+      pipeline_pgrp = 0;
+#if defined (PGRP_PIPE)
+      sh_closepipe (pgrp_pipe);
+#endif
+    }
+
+#if defined (PGRP_PIPE)
+  if (job_control)
+    {
+      if (pipe (pgrp_pipe) == -1)
+       sys_error (_("start_pipeline: pgrp pipe"));
+    }
+#endif
+}
+
+/* Stop building a pipeline.  Install the process list in the job array.
+   This returns the index of the newly installed job.
+   DEFERRED is a command structure to be executed upon satisfactory
+   execution exit of this pipeline. */
+int
+stop_pipeline (async, deferred)
+     int async;
+     COMMAND *deferred;
+{
+  register int i, j;
+  JOB *newjob;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+#if defined (PGRP_PIPE)
+  /* The parent closes the process group synchronization pipe. */
+  sh_closepipe (pgrp_pipe);
+#endif
+
+  cleanup_dead_jobs ();
+
+  if (js.j_jobslots == 0)
+    {
+      js.j_jobslots = JOB_SLOTS;
+      jobs = (JOB **)xmalloc (js.j_jobslots * sizeof (JOB *));
+
+      /* Now blank out these new entries. */
+      for (i = 0; i < js.j_jobslots; i++)
+       jobs[i] = (JOB *)NULL;
+
+      js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+
+  /* Scan from the last slot backward, looking for the next free one. */
+  /* XXX - revisit this interactive assumption */
+  /* XXX - this way for now */
+  if (interactive)
+    {
+      for (i = js.j_jobslots; i; i--)
+       if (jobs[i - 1])
+         break;
+    }
+  else
+    {
+#if 0
+      /* This wraps around, but makes it inconvenient to extend the array */
+      for (i = js.j_lastj+1; i != js.j_lastj; i++)
+       {
+         if (i >= js.j_jobslots)
+           i = 0;
+         if (jobs[i] == 0)
+           break;
+       }       
+      if (i == js.j_lastj)
+        i = js.j_jobslots;
+#else
+      /* This doesn't wrap around yet. */
+      for (i = js.j_lastj ? js.j_lastj + 1 : js.j_lastj; i < js.j_jobslots; i++)
+       if (jobs[i] == 0)
+         break;
+#endif
+    }
+
+  /* Do we need more room? */
+
+  /* First try compaction */
+  if ((interactive_shell == 0 || subshell_environment) && i == js.j_jobslots && js.j_jobslots >= MAX_JOBS_IN_ARRAY)
+    i = compact_jobs_list (0);
+
+  /* If we can't compact, reallocate */
+  if (i == js.j_jobslots)
+    {
+      js.j_jobslots += JOB_SLOTS;
+      jobs = (JOB **)xrealloc (jobs, (js.j_jobslots * sizeof (JOB *)));
+
+      for (j = i; j < js.j_jobslots; j++)
+       jobs[j] = (JOB *)NULL;
+    }
+
+  /* Add the current pipeline to the job list. */
+  if (the_pipeline)
+    {
+      register PROCESS *p;
+      int any_running, any_stopped, n;
+
+      newjob = (JOB *)xmalloc (sizeof (JOB));
+
+      for (n = 1, p = the_pipeline; p->next != the_pipeline; n++, p = p->next)
+       ;
+      p->next = (PROCESS *)NULL;
+      newjob->pipe = REVERSE_LIST (the_pipeline, PROCESS *);
+      for (p = newjob->pipe; p->next; p = p->next)
+       ;
+      p->next = newjob->pipe;
+
+      the_pipeline = (PROCESS *)NULL;
+      newjob->pgrp = pipeline_pgrp;
+      pipeline_pgrp = 0;
+
+      newjob->flags = 0;
+
+      /* Flag to see if in another pgrp. */
+      if (job_control)
+       newjob->flags |= J_JOBCONTROL;
+
+      /* Set the state of this pipeline. */
+      p = newjob->pipe;
+      any_running = any_stopped = 0;
+      do
+       {
+         any_running |= PRUNNING (p);
+         any_stopped |= PSTOPPED (p);
+         p = p->next;
+       }
+      while (p != newjob->pipe);
+
+      newjob->state = any_running ? JRUNNING : (any_stopped ? JSTOPPED : JDEAD);
+      newjob->wd = job_working_directory ();
+      newjob->deferred = deferred;
+
+      newjob->j_cleanup = (sh_vptrfunc_t *)NULL;
+      newjob->cleanarg = (PTR_T) NULL;
+
+      jobs[i] = newjob;
+      if (newjob->state == JDEAD && (newjob->flags & J_FOREGROUND))
+       setjstatus (i);
+      if (newjob->state == JDEAD)
+       {
+         js.c_reaped += n;     /* wouldn't have been done since this was not part of a job */
+         js.j_ndead++;
+       }
+      js.c_injobs += n;
+
+      js.j_lastj = i;
+      js.j_njobs++;
+    }
+  else
+    newjob = (JOB *)NULL;
+
+  if (newjob)
+    js.j_lastmade = newjob;
+
+  if (async)
+    {
+      if (newjob)
+       {
+         newjob->flags &= ~J_FOREGROUND;
+         newjob->flags |= J_ASYNC;
+         js.j_lastasync = newjob;
+       }
+      reset_current ();
+    }
+  else
+    {
+      if (newjob)
+       {
+         newjob->flags |= J_FOREGROUND;
+         /*
+          *            !!!!! NOTE !!!!!  (chet@ins.cwru.edu)
+          *
+          * The currently-accepted job control wisdom says to set the
+          * terminal's process group n+1 times in an n-step pipeline:
+          * once in the parent and once in each child.  This is where
+          * the parent gives it away.
+          *
+          * Don't give the terminal away if this shell is an asynchronous
+          * subshell.
+          *
+          */
+         if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
+           maybe_give_terminal_to (shell_pgrp, newjob->pgrp, 0);
+       }
+    }
+
+  stop_making_children ();
+  UNBLOCK_CHILD (oset);
+  return (newjob ? i : js.j_current);
+}
+
+/* Functions to manage the list of exited background pids whose status has
+   been saved. */
+
+static struct pidstat *
+bgp_alloc (pid, status)
+     pid_t pid;
+     int status;
+{
+  struct pidstat *ps;
+
+  ps = (struct pidstat *)xmalloc (sizeof (struct pidstat));
+  ps->pid = pid;
+  ps->status = status;
+  ps->next = (struct pidstat *)0;
+  return ps;
+}
+
+static struct pidstat *
+bgp_add (pid, status)
+     pid_t pid;
+     int status;
+{
+  struct pidstat *ps;
+
+  ps = bgp_alloc (pid, status);
+
+  if (bgpids.list == 0)
+    {
+      bgpids.list = bgpids.end = ps;
+      bgpids.npid = 0;                 /* just to make sure */
+    }
+  else
+    {
+      bgpids.end->next = ps;
+      bgpids.end = ps;
+    }
+  bgpids.npid++;
+
+  if (bgpids.npid > js.c_childmax)
+    bgp_prune ();
+
+  return ps;
+}
+
+static int
+bgp_delete (pid)
+     pid_t pid;
+{
+  struct pidstat *prev, *p;
+
+  for (prev = p = bgpids.list; p; prev = p, p = p->next)
+    if (p->pid == pid)
+      {
+       prev->next = p->next;   /* remove from list */
+       break;
+      }
+
+  if (p == 0)
+    return 0;          /* not found */
+
+#if defined (DEBUG)
+  itrace("bgp_delete: deleting %d", pid);
+#endif
+
+  /* Housekeeping in the border cases. */
+  if (p == bgpids.list)
+    bgpids.list = bgpids.list->next;
+  else if (p == bgpids.end)
+    bgpids.end = prev;
+
+  bgpids.npid--;
+  if (bgpids.npid == 0)
+    bgpids.list = bgpids.end = 0;
+  else if (bgpids.npid == 1)
+    bgpids.end = bgpids.list;          /* just to make sure */
+
+  free (p);
+  return 1;
+}
+
+/* Clear out the list of saved statuses */
+static void
+bgp_clear ()
+{
+  struct pidstat *ps, *p;
+
+  for (ps = bgpids.list; ps; )
+    {
+      p = ps;
+      ps = ps->next;
+      free (p);
+    }
+  bgpids.list = bgpids.end = 0;
+  bgpids.npid = 0;
+}
+
+/* Search for PID in the list of saved background pids; return its status if
+   found.  If not found, return -1. */
+static int
+bgp_search (pid)
+     pid_t pid;
+{
+  struct pidstat *ps;
+
+  for (ps = bgpids.list ; ps; ps = ps->next)
+    if (ps->pid == pid)
+      return ps->status;
+  return -1;
+}
+
+static void
+bgp_prune ()
+{
+  struct pidstat *ps;
+
+  while (bgpids.npid > js.c_childmax)
+    {
+      ps = bgpids.list;
+      bgpids.list = bgpids.list->next;
+      free (ps);
+      bgpids.npid--;
+    }
+}
+
+/* Reset the values of js.j_lastj and js.j_firstj after one or both have
+   been deleted.  The caller should check whether js.j_njobs is 0 before
+   calling this.  This wraps around, but the rest of the code does not.  At
+   this point, it should not matter. */
+static void
+reset_job_indices ()
+{
+  int old;
+
+  if (jobs[js.j_firstj] == 0)
+    {
+      old = js.j_firstj++;
+      if (old >= js.j_jobslots)
+       old = js.j_jobslots - 1;
+      while (js.j_firstj != old)
+       {
+         if (js.j_firstj >= js.j_jobslots)
+           js.j_firstj = 0;
+         if (jobs[js.j_firstj] || js.j_firstj == old)  /* needed if old == 0 */
+           break;
+         js.j_firstj++;
+       }
+      if (js.j_firstj == old)
+        js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+  if (jobs[js.j_lastj] == 0)
+    {
+      old = js.j_lastj--;
+      if (old < 0)
+       old = 0;
+      while (js.j_lastj != old)
+       {
+         if (js.j_lastj < 0)
+           js.j_lastj = js.j_jobslots - 1;
+         if (jobs[js.j_lastj] || js.j_lastj == old)    /* needed if old == js.j_jobslots */
+           break;
+         js.j_lastj--;
+       }
+      if (js.j_lastj == old)
+        js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+}
+      
+/* Delete all DEAD jobs that the user had received notification about. */
+static void
+cleanup_dead_jobs ()
+{
+  register int i;
+  int os;
+
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return;
+
+  QUEUE_SIGCHLD(os);
+
+  /* XXX could use js.j_firstj and js.j_lastj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("cleanup_dead_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+      if (i > js.j_lastj && jobs[i])
+       itrace("cleanup_dead_jobs: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+
+      if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i))
+       delete_job (i, 0);
+    }
+
+#if defined (COPROCESS_SUPPORT)
+  coproc_reap ();
+#endif
+
+  UNQUEUE_SIGCHLD(os);
+}
+
+static int
+processes_in_job (job)
+     int job;
+{
+  int nproc;
+  register PROCESS *p;
+
+  nproc = 0;
+  p = jobs[job]->pipe;
+  do
+    {
+      p = p->next;
+      nproc++;
+    }
+  while (p != jobs[job]->pipe);
+
+  return nproc;
+}
+
+static void
+delete_old_job (pid)
+     pid_t pid;
+{
+  PROCESS *p;
+  int job;
+
+  job = find_job (pid, 0, &p);
+  if (job != NO_JOB)
+    {
+#ifdef DEBUG
+      itrace ("delete_old_job: found pid %d in job %d with state %d", pid, job, jobs[job]->state);
+#endif
+      if (JOBSTATE (job) == JDEAD)
+       delete_job (job, DEL_NOBGPID);
+      else
+       {
+         internal_warning (_("forked pid %d appears in running job %d"), pid, job);
+         if (p)
+           p->pid = 0;
+       }
+    }
+}
+
+/* Reallocate and compress the jobs list.  This returns with a jobs array
+   whose size is a multiple of JOB_SLOTS and can hold the current number of
+   jobs.  Heuristics are used to minimize the number of new reallocs. */
+static void
+realloc_jobs_list ()
+{
+  sigset_t set, oset;
+  int nsize, i, j, ncur, nprev;
+  JOB **nlist;
+
+  ncur = nprev = NO_JOB;
+  nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+  nsize *= JOB_SLOTS;
+  i = js.j_njobs % JOB_SLOTS;
+  if (i == 0 || i > (JOB_SLOTS >> 1))
+    nsize += JOB_SLOTS;
+
+  BLOCK_CHILD (set, oset);
+  nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
+
+  js.c_reaped = js.j_ndead = 0;
+  for (i = j = 0; i < js.j_jobslots; i++)
+    if (jobs[i])
+      {
+       if (i == js.j_current)
+         ncur = j;
+       if (i == js.j_previous)
+         nprev = j;
+       nlist[j++] = jobs[i];
+       if (jobs[i]->state == JDEAD)
+         {
+           js.j_ndead++;
+           js.c_reaped += processes_in_job (i);
+         }
+      }
+
+#if 0
+  itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
+  itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
+  itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, j);
+  itrace ("realloc_jobs_list: js.j_ndead %d js.c_reaped %d", js.j_ndead, js.c_reaped);
+#endif
+
+  js.j_firstj = 0;
+  js.j_lastj = (j > 0) ? j - 1 : 0;
+  js.j_njobs = j;
+  js.j_jobslots = nsize;
+
+  /* Zero out remaining slots in new jobs list */
+  for ( ; j < nsize; j++)
+    nlist[j] = (JOB *)NULL;
+
+  if (jobs != nlist)
+    {
+      free (jobs);
+      jobs = nlist;
+    }
+
+  if (ncur != NO_JOB)
+    js.j_current = ncur;
+  if (nprev != NO_JOB)
+    js.j_previous = nprev;
+
+  /* Need to reset these */
+  if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj)
+    reset_current ();
+
+#if 0
+  itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous);
+#endif
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Compact the jobs list by removing dead jobs.  Assume that we have filled
+   the jobs array to some predefined maximum.  Called when the shell is not
+   the foreground process (subshell_environment != 0).  Returns the first
+   available slot in the compacted list.  If that value is js.j_jobslots, then
+   the list needs to be reallocated.  The jobs array may be in new memory if
+   this returns > 0 and < js.j_jobslots.  FLAGS is reserved for future use. */
+static int
+compact_jobs_list (flags)
+     int flags;
+{
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return js.j_jobslots;
+
+  reap_dead_jobs ();
+  realloc_jobs_list ();
+
+#if 0
+  itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
+#endif
+
+  return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
+}
+
+/* Delete the job at INDEX from the job list.  Must be called
+   with SIGCHLD blocked. */
+void
+delete_job (job_index, dflags)
+     int job_index, dflags;
+{
+  register JOB *temp;
+  PROCESS *proc;
+  int ndel;
+
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return;
+
+  if ((dflags & DEL_WARNSTOPPED) && subshell_environment == 0 && STOPPED (job_index))
+    internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
+  temp = jobs[job_index];
+  if (temp == 0)
+    return;
+
+  if ((dflags & DEL_NOBGPID) == 0)
+    {
+      proc = find_last_proc (job_index, 0);
+      /* Could do this just for J_ASYNC jobs, but we save all. */
+      if (proc)
+       bgp_add (proc->pid, process_exit_status (proc->status));
+    }
+
+  jobs[job_index] = (JOB *)NULL;
+  if (temp == js.j_lastmade)
+    js.j_lastmade = 0;
+  else if (temp == js.j_lastasync)
+    js.j_lastasync = 0;
+
+  free (temp->wd);
+  ndel = discard_pipeline (temp->pipe);
+
+  js.c_injobs -= ndel;
+  if (temp->state == JDEAD)
+    {
+      js.c_reaped -= ndel;
+      js.j_ndead--;
+      if (js.c_reaped < 0)
+       {
+#ifdef DEBUG
+         itrace("delete_job (%d pgrp %d): js.c_reaped (%d) < 0 ndel = %d js.j_ndead = %d", job_index, temp->pgrp, js.c_reaped, ndel, js.j_ndead);
+#endif
+         js.c_reaped = 0;
+       }
+    }
+
+  if (temp->deferred)
+    dispose_command (temp->deferred);
+
+  free (temp);
+
+  js.j_njobs--;
+  if (js.j_njobs == 0)
+    js.j_firstj = js.j_lastj = 0;
+  else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
+    reset_job_indices ();
+
+  if (job_index == js.j_current || job_index == js.j_previous)
+    reset_current ();
+}
+
+/* Must be called with SIGCHLD blocked. */
+void
+nohup_job (job_index)
+     int job_index;
+{
+  register JOB *temp;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  if (temp = jobs[job_index])
+    temp->flags |= J_NOHUP;
+}
+
+/* Get rid of the data structure associated with a process chain. */
+static int
+discard_pipeline (chain)
+     register PROCESS *chain;
+{
+  register PROCESS *this, *next;
+  int n;
+
+  this = chain;
+  n = 0;
+  do
+    {
+      next = this->next;
+      FREE (this->command);
+      free (this);
+      n++;
+      this = next;
+    }
+  while (this != chain);
+
+  return n;
+}
+
+/* Add this process to the chain being built in the_pipeline.
+   NAME is the command string that will be exec'ed later.
+   PID is the process id of the child. */
+static void
+add_process (name, pid)
+     char *name;
+     pid_t pid;
+{
+  PROCESS *t, *p;
+
+#if defined (RECYCLES_PIDS)
+  int j;
+  p = find_process (pid, 0, &j);
+  if (p)
+    {
+#  ifdef DEBUG
+      if (j == NO_JOB)
+       internal_warning (_("add_process: process %5ld (%s) in the_pipeline"), (long)p->pid, p->command);
+#  endif
+      if (PALIVE (p))
+        internal_warning (_("add_process: pid %5ld (%s) marked as still alive"), (long)p->pid, p->command);
+      p->running = PS_RECYCLED;                /* mark as recycled */
+    }
+#endif
+
+  t = (PROCESS *)xmalloc (sizeof (PROCESS));
+  t->next = the_pipeline;
+  t->pid = pid;
+  WSTATUS (t->status) = 0;
+  t->running = PS_RUNNING;
+  t->command = name;
+  the_pipeline = t;
+
+  if (t->next == 0)
+    t->next = t;
+  else
+    {
+      p = t->next;
+      while (p->next != t->next)
+       p = p->next;
+      p->next = t;
+    }
+}
+
+/* Create a (dummy) PROCESS with NAME, PID, and STATUS, and make it the last
+   process in jobs[JID]->pipe.  Used by the lastpipe code. */
+void
+append_process (name, pid, status, jid)
+     char *name;
+     pid_t pid;
+     int status;
+     int jid;
+{
+  PROCESS *t, *p;
+
+  t = (PROCESS *)xmalloc (sizeof (PROCESS));
+  t->next = (PROCESS *)NULL;
+  t->pid = pid;
+  /* set process exit status using offset discovered by configure */
+  t->status = (status & 0xff) << WEXITSTATUS_OFFSET;
+  t->running = PS_DONE;
+  t->command = name;
+
+  js.c_reaped++;       /* XXX */
+
+  for (p = jobs[jid]->pipe; p->next != jobs[jid]->pipe; p = p->next)
+    ;
+  p->next = t;
+  t->next = jobs[jid]->pipe;
+}
+
+#if 0
+/* Take the last job and make it the first job.  Must be called with
+   SIGCHLD blocked. */
+int
+rotate_the_pipeline ()
+{
+  PROCESS *p;
+
+  if (the_pipeline->next == the_pipeline)
+    return;
+  for (p = the_pipeline; p->next != the_pipeline; p = p->next)
+    ;
+  the_pipeline = p;
+}
+
+/* Reverse the order of the processes in the_pipeline.  Must be called with
+   SIGCHLD blocked. */
+int
+reverse_the_pipeline ()
+{
+  PROCESS *p, *n;
+
+  if (the_pipeline->next == the_pipeline)
+    return;
+
+  for (p = the_pipeline; p->next != the_pipeline; p = p->next)
+    ;
+  p->next = (PROCESS *)NULL;
+
+  n = REVERSE_LIST (the_pipeline, PROCESS *);
+
+  the_pipeline = n;
+  for (p = the_pipeline; p->next; p = p->next)
+    ;
+  p->next = the_pipeline;
+}
+#endif
+
+/* Map FUNC over the list of jobs.  If FUNC returns non-zero,
+   then it is time to stop mapping, and that is the return value
+   for map_over_jobs.  FUNC is called with a JOB, arg1, arg2,
+   and INDEX. */
+static int
+map_over_jobs (func, arg1, arg2)
+     sh_job_map_func_t *func;
+     int arg1, arg2;
+{
+  register int i;
+  int result;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return 0;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX could use js.j_firstj here */
+  for (i = result = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("map_over_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+      if (i > js.j_lastj && jobs[i])
+       itrace("map_over_jobs: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+      if (jobs[i])
+       {
+         result = (*func)(jobs[i], arg1, arg2, i);
+         if (result)
+           break;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+
+  return (result);
+}
+
+/* Cause all the jobs in the current pipeline to exit. */
+void
+terminate_current_pipeline ()
+{
+  if (pipeline_pgrp && pipeline_pgrp != shell_pgrp)
+    {
+      killpg (pipeline_pgrp, SIGTERM);
+      killpg (pipeline_pgrp, SIGCONT);
+    }
+}
+
+/* Cause all stopped jobs to exit. */
+void
+terminate_stopped_jobs ()
+{
+  register int i;
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i] && STOPPED (i))
+       {
+         killpg (jobs[i]->pgrp, SIGTERM);
+         killpg (jobs[i]->pgrp, SIGCONT);
+       }
+    }
+}
+
+/* Cause all jobs, running or stopped, to receive a hangup signal.  If
+   a job is marked J_NOHUP, don't send the SIGHUP. */
+void
+hangup_all_jobs ()
+{
+  register int i;
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i])
+       {
+         if  (jobs[i]->flags & J_NOHUP)
+           continue;
+         killpg (jobs[i]->pgrp, SIGHUP);
+         if (STOPPED (i))
+           killpg (jobs[i]->pgrp, SIGCONT);
+       }
+    }
+}
+
+void
+kill_current_pipeline ()
+{
+  stop_making_children ();
+  start_pipeline ();
+}
+
+/* Return the pipeline that PID belongs to.  Note that the pipeline
+   doesn't have to belong to a job.  Must be called with SIGCHLD blocked.
+   If JOBP is non-null, return the index of the job containing PID.  */
+static PROCESS *
+find_pipeline (pid, alive_only, jobp)
+     pid_t pid;
+     int alive_only;
+     int *jobp;                /* index into jobs list or NO_JOB */
+{
+  int job;
+  PROCESS *p;
+
+  /* See if this process is in the pipeline that we are building. */
+  if (jobp)
+    *jobp = NO_JOB;
+  if (the_pipeline)
+    {
+      p = the_pipeline;
+      do
+       {
+         /* Return it if we found it.  Don't ever return a recycled pid. */
+         if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
+           return (p);
+
+         p = p->next;
+       }
+      while (p != the_pipeline);
+    }
+
+  job = find_job (pid, alive_only, &p);
+  if (jobp)
+    *jobp = job;
+  return (job == NO_JOB) ? (PROCESS *)NULL : jobs[job]->pipe;
+}
+
+/* Return the PROCESS * describing PID.  If JOBP is non-null return the index
+   into the jobs array of the job containing PID.  Must be called with
+   SIGCHLD blocked. */
+static PROCESS *
+find_process (pid, alive_only, jobp)
+     pid_t pid;
+     int alive_only;
+     int *jobp;                /* index into jobs list or NO_JOB */
+{
+  PROCESS *p;
+
+  p = find_pipeline (pid, alive_only, jobp);
+  while (p && p->pid != pid)
+    p = p->next;
+  return p;
+}
+
+/* Return the job index that PID belongs to, or NO_JOB if it doesn't
+   belong to any job.  Must be called with SIGCHLD blocked. */
+static int
+find_job (pid, alive_only, procp)
+     pid_t pid;
+     int alive_only;
+     PROCESS **procp;
+{
+  register int i;
+  PROCESS *p;
+
+  /* XXX could use js.j_firstj here, and should check js.j_lastj */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("find_job: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+      if (i > js.j_lastj && jobs[i])
+       itrace("find_job: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+      if (jobs[i])
+       {
+         p = jobs[i]->pipe;
+
+         do
+           {
+             if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
+               {
+                 if (procp)
+                   *procp = p;
+                 return (i);
+               }
+
+             p = p->next;
+           }
+         while (p != jobs[i]->pipe);
+       }
+    }
+
+  return (NO_JOB);
+}
+
+/* Find a job given a PID.  If BLOCK is non-zero, block SIGCHLD as
+   required by find_job. */
+int
+get_job_by_pid (pid, block)
+     pid_t pid;
+     int block;
+{
+  int job;
+  sigset_t set, oset;
+
+  if (block)
+    BLOCK_CHILD (set, oset);
+
+  job = find_job (pid, 0, NULL);
+
+  if (block)
+    UNBLOCK_CHILD (oset);
+
+  return job;
+}
+
+/* Print descriptive information about the job with leader pid PID. */
+void
+describe_pid (pid)
+     pid_t pid;
+{
+  int job;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  job = find_job (pid, 0, NULL);
+
+  if (job != NO_JOB)
+    fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
+  else
+    programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
+
+  UNBLOCK_CHILD (oset);
+}
+
+static char *
+j_strsignal (s)
+     int s;
+{
+  char *x;
+
+  x = strsignal (s);
+  if (x == 0)
+    {
+      x = retcode_name_buffer;
+      sprintf (x, _("Signal %d"), s);
+    }
+  return x;
+}
+
+static char *
+printable_job_status (j, p, format)
+     int j;
+     PROCESS *p;
+     int format;
+{
+  static char *temp;
+  int es;
+
+  temp = _("Done");
+
+  if (STOPPED (j) && format == 0)
+    {
+      if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
+       temp = _("Stopped");
+      else
+       {
+         temp = retcode_name_buffer;
+         sprintf (temp, _("Stopped(%s)"), signal_name (WSTOPSIG (p->status)));
+       }
+    }
+  else if (RUNNING (j))
+    temp = _("Running");
+  else
+    {
+      if (WIFSTOPPED (p->status))
+       temp = j_strsignal (WSTOPSIG (p->status));
+      else if (WIFSIGNALED (p->status))
+       temp = j_strsignal (WTERMSIG (p->status));
+      else if (WIFEXITED (p->status))
+       {
+         temp = retcode_name_buffer;
+         es = WEXITSTATUS (p->status);
+         if (es == 0)
+           strcpy (temp, _("Done"));
+         else if (posixly_correct)
+           sprintf (temp, _("Done(%d)"), es);
+         else
+           sprintf (temp, _("Exit %d"), es);
+       }
+      else
+       temp = _("Unknown status");
+    }
+
+  return temp;
+}
+
+/* This is the way to print out information on a job if you
+   know the index.  FORMAT is:
+
+    JLIST_NORMAL)   [1]+ Running          emacs
+    JLIST_LONG  )   [1]+ 2378 Running      emacs
+    -1   )   [1]+ 2378       emacs
+
+    JLIST_NORMAL)   [1]+ Stopped          ls | more
+    JLIST_LONG  )   [1]+ 2369 Stopped      ls
+                        2367       | more
+    JLIST_PID_ONLY)
+       Just list the pid of the process group leader (really
+       the process group).
+    JLIST_CHANGED_ONLY)
+       Use format JLIST_NORMAL, but list only jobs about which
+       the user has not been notified. */
+
+/* Print status for pipeline P.  If JOB_INDEX is >= 0, it is the index into
+   the JOBS array corresponding to this pipeline.  FORMAT is as described
+   above.  Must be called with SIGCHLD blocked.
+
+   If you're printing a pipeline that's not in the jobs array, like the
+   current pipeline as it's being created, pass -1 for JOB_INDEX */
+static void
+print_pipeline (p, job_index, format, stream)
+     PROCESS *p;
+     int job_index, format;
+     FILE *stream;
+{
+  PROCESS *first, *last, *show;
+  int es, name_padding;
+  char *temp;
+
+  if (p == 0)
+    return;
+
+  first = last = p;
+  while (last->next != first)
+    last = last->next;
+
+  for (;;)
+    {
+      if (p != first)
+       fprintf (stream, format ? "     " : " |");
+
+      if (format != JLIST_STANDARD)
+       fprintf (stream, "%5ld", (long)p->pid);
+
+      fprintf (stream, " ");
+
+      if (format > -1 && job_index >= 0)
+       {
+         show = format ? p : last;
+         temp = printable_job_status (job_index, show, format);
+
+         if (p != first)
+           {
+             if (format)
+               {
+                 if (show->running == first->running &&
+                     WSTATUS (show->status) == WSTATUS (first->status))
+                   temp = "";
+               }
+             else
+               temp = (char *)NULL;
+           }
+
+         if (temp)
+           {
+             fprintf (stream, "%s", temp);
+
+             es = STRLEN (temp);
+             if (es == 0)
+               es = 2; /* strlen ("| ") */
+             name_padding = LONGEST_SIGNAL_DESC - es;
+
+             fprintf (stream, "%*s", name_padding, "");
+
+             if ((WIFSTOPPED (show->status) == 0) &&
+                 (WIFCONTINUED (show->status) == 0) &&
+                 WIFCORED (show->status))
+               fprintf (stream, _("(core dumped) "));
+           }
+       }
+
+      if (p != first && format)
+       fprintf (stream, "| ");
+
+      if (p->command)
+       fprintf (stream, "%s", p->command);
+
+      if (p == last && job_index >= 0)
+       {
+         temp = current_working_directory ();
+
+         if (RUNNING (job_index) && (IS_FOREGROUND (job_index) == 0))
+           fprintf (stream, " &");
+
+         if (strcmp (temp, jobs[job_index]->wd) != 0)
+           fprintf (stream,
+             _("  (wd: %s)"), polite_directory_format (jobs[job_index]->wd));
+       }
+
+      if (format || (p == last))
+       {
+         /* We need to add a CR only if this is an interactive shell, and
+            we're reporting the status of a completed job asynchronously.
+            We can't really check whether this particular job is being
+            reported asynchronously, so just add the CR if the shell is
+            currently interactive and asynchronous notification is enabled. */
+         if (asynchronous_notification && interactive)
+           fprintf (stream, "\r\n");
+         else
+           fprintf (stream, "\n");
+       }
+
+      if (p == last)
+       break;
+      p = p->next;
+    }
+  fflush (stream);
+}
+
+/* Print information to STREAM about jobs[JOB_INDEX] according to FORMAT.
+   Must be called with SIGCHLD blocked or queued with queue_sigchld */
+static void
+pretty_print_job (job_index, format, stream)
+     int job_index, format;
+     FILE *stream;
+{
+  register PROCESS *p;
+
+  /* Format only pid information about the process group leader? */
+  if (format == JLIST_PID_ONLY)
+    {
+      fprintf (stream, "%ld\n", (long)jobs[job_index]->pipe->pid);
+      return;
+    }
+
+  if (format == JLIST_CHANGED_ONLY)
+    {
+      if (IS_NOTIFIED (job_index))
+       return;
+      format = JLIST_STANDARD;
+    }
+
+  if (format != JLIST_NONINTERACTIVE)
+    fprintf (stream, "[%d]%c ", job_index + 1,
+             (job_index == js.j_current) ? '+':
+               (job_index == js.j_previous) ? '-' : ' ');
+
+  if (format == JLIST_NONINTERACTIVE)
+    format = JLIST_LONG;
+
+  p = jobs[job_index]->pipe;
+
+  print_pipeline (p, job_index, format, stream);
+
+  /* We have printed information about this job.  When the job's
+     status changes, waitchld () sets the notification flag to 0. */
+  jobs[job_index]->flags |= J_NOTIFIED;
+}
+
+static int
+print_job (job, format, state, job_index)
+     JOB *job;
+     int format, state, job_index;
+{
+  if (state == -1 || (JOB_STATE)state == job->state)
+    pretty_print_job (job_index, format, stdout);
+  return (0);
+}
+
+void
+list_one_job (job, format, ignore, job_index)
+     JOB *job;
+     int format, ignore, job_index;
+{
+  pretty_print_job (job_index, format, stdout);
+}
+
+void
+list_stopped_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, (int)JSTOPPED);
+}
+
+void
+list_running_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, (int)JRUNNING);
+}
+
+/* List jobs.  If FORMAT is non-zero, then the long form of the information
+   is printed, else just a short version. */
+void
+list_all_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, -1);
+}
+
+/* Fork, handling errors.  Returns the pid of the newly made child, or 0.
+   COMMAND is just for remembering the name of the command; we don't do
+   anything else with it.  ASYNC_P says what to do with the tty.  If
+   non-zero, then don't give it away. */
+pid_t
+make_child (command, async_p)
+     char *command;
+     int async_p;
+{
+  int forksleep;
+  sigset_t set, oset;
+  pid_t pid;
+
+  /* XXX - block SIGTERM here and unblock in child after fork resets the
+     set of pending signals? */
+  sigemptyset (&set);
+  sigaddset (&set, SIGCHLD);
+  sigaddset (&set, SIGINT);
+  sigemptyset (&oset);
+  sigprocmask (SIG_BLOCK, &set, &oset);
+
+  making_children ();
+
+  forksleep = 1;
+
+#if defined (BUFFERED_INPUT)
+  /* If default_buffered_input is active, we are reading a script.  If
+     the command is asynchronous, we have already duplicated /dev/null
+     as fd 0, but have not changed the buffered stream corresponding to
+     the old fd 0.  We don't want to sync the stream in this case. */
+  if (default_buffered_input != -1 &&
+      (!async_p || default_buffered_input > 0))
+    sync_buffered_stream (default_buffered_input);
+#endif /* BUFFERED_INPUT */
+
+  RESET_SIGTERM;
+
+  /* Create the child, handle severe errors.  Retry on EAGAIN. */
+  while ((pid = fork ()) < 0 && errno == EAGAIN && forksleep < FORKSLEEP_MAX)
+    {
+      /* bash-4.2 */
+      /* If we can't create any children, try to reap some dead ones. */
+      waitchld (-1, 0);
+
+      sys_error ("fork: retry");
+      RESET_SIGTERM;
+
+      if (sleep (forksleep) != 0)
+       break;
+      forksleep <<= 1;
+    }
+
+  if (pid != 0)
+    RESET_SIGTERM;
+
+  if (pid < 0)
+    {
+      sys_error ("fork");
+
+      /* Kill all of the processes in the current pipeline. */
+      terminate_current_pipeline ();
+
+      /* Discard the current pipeline, if any. */
+      if (the_pipeline)
+       kill_current_pipeline ();
+
+      last_command_exit_value = EX_NOEXEC;
+      throw_to_top_level ();   /* Reset signals, etc. */
+    }
+
+  if (pid == 0)
+    {
+      /* In the child.  Give this child the right process group, set the
+        signals to the default state for a new process. */
+      pid_t mypid;
+
+      mypid = getpid ();
+#if defined (BUFFERED_INPUT)
+      /* Close default_buffered_input if it's > 0.  We don't close it if it's
+        0 because that's the file descriptor used when redirecting input,
+        and it's wrong to close the file in that case. */
+      unset_bash_input (0);
+#endif /* BUFFERED_INPUT */
+
+      /* Restore top-level signal mask. */
+      sigprocmask (SIG_SETMASK, &top_level_mask, (sigset_t *)NULL);
+
+      if (job_control)
+       {
+         /* All processes in this pipeline belong in the same
+            process group. */
+
+         if (pipeline_pgrp == 0)       /* This is the first child. */
+           pipeline_pgrp = mypid;
+
+         /* Check for running command in backquotes. */
+         if (pipeline_pgrp == shell_pgrp)
+           ignore_tty_job_signals ();
+         else
+           default_tty_job_signals ();
+
+         /* Set the process group before trying to mess with the terminal's
+            process group.  This is mandated by POSIX. */
+         /* This is in accordance with the Posix 1003.1 standard,
+            section B.7.2.4, which says that trying to set the terminal
+            process group with tcsetpgrp() to an unused pgrp value (like
+            this would have for the first child) is an error.  Section
+            B.4.3.3, p. 237 also covers this, in the context of job control
+            shells. */
+         if (setpgid (mypid, pipeline_pgrp) < 0)
+           sys_error (_("child setpgid (%ld to %ld)"), (long)mypid, (long)pipeline_pgrp);
+
+         /* By convention (and assumption above), if
+            pipeline_pgrp == shell_pgrp, we are making a child for
+            command substitution.
+            In this case, we don't want to give the terminal to the
+            shell's process group (we could be in the middle of a
+            pipeline, for example). */
+         if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0))
+           give_terminal_to (pipeline_pgrp, 0);
+
+#if defined (PGRP_PIPE)
+         if (pipeline_pgrp == mypid)
+           pipe_read (pgrp_pipe);
+#endif
+       }
+      else                     /* Without job control... */
+       {
+         if (pipeline_pgrp == 0)
+           pipeline_pgrp = shell_pgrp;
+
+         /* If these signals are set to SIG_DFL, we encounter the curious
+            situation of an interactive ^Z to a running process *working*
+            and stopping the process, but being unable to do anything with
+            that process to change its state.  On the other hand, if they
+            are set to SIG_IGN, jobs started from scripts do not stop when
+            the shell running the script gets a SIGTSTP and stops. */
+
+         default_tty_job_signals ();
+       }
+
+#if defined (PGRP_PIPE)
+      /* Release the process group pipe, since our call to setpgid ()
+        is done.  The last call to sh_closepipe is done in stop_pipeline. */
+      sh_closepipe (pgrp_pipe);
+#endif /* PGRP_PIPE */
+
+#if 0
+      /* Don't set last_asynchronous_pid in the child */
+      if (async_p)
+       last_asynchronous_pid = mypid;          /* XXX */
+      else
+#endif
+#if defined (RECYCLES_PIDS)
+      if (last_asynchronous_pid == mypid)
+        /* Avoid pid aliasing.  1 seems like a safe, unusual pid value. */
+       last_asynchronous_pid = 1;
+#endif
+    }
+  else
+    {
+      /* In the parent.  Remember the pid of the child just created
+        as the proper pgrp if this is the first child. */
+
+      if (job_control)
+       {
+         if (pipeline_pgrp == 0)
+           {
+             pipeline_pgrp = pid;
+             /* Don't twiddle terminal pgrps in the parent!  This is the bug,
+                not the good thing of twiddling them in the child! */
+             /* give_terminal_to (pipeline_pgrp, 0); */
+           }
+         /* This is done on the recommendation of the Rationale section of
+            the POSIX 1003.1 standard, where it discusses job control and
+            shells.  It is done to avoid possible race conditions. (Ref.
+            1003.1 Rationale, section B.4.3.3, page 236). */
+         setpgid (pid, pipeline_pgrp);
+       }
+      else
+       {
+         if (pipeline_pgrp == 0)
+           pipeline_pgrp = shell_pgrp;
+       }
+
+      /* Place all processes into the jobs array regardless of the
+        state of job_control. */
+      add_process (command, pid);
+
+      if (async_p)
+       last_asynchronous_pid = pid;
+#if defined (RECYCLES_PIDS)
+      else if (last_asynchronous_pid == pid)
+        /* Avoid pid aliasing.  1 seems like a safe, unusual pid value. */
+       last_asynchronous_pid = 1;
+#endif
+
+      /* Delete the saved status for any job containing this PID in case it's
+        been reused. */
+      delete_old_job (pid);
+
+      /* Perform the check for pid reuse unconditionally.  Some systems reuse
+         PIDs before giving a process CHILD_MAX/_SC_CHILD_MAX unique ones. */
+      bgp_delete (pid);                /* new process, discard any saved status */
+
+      last_made_pid = pid;
+
+      /* keep stats */
+      js.c_totforked++;
+      js.c_living++;
+
+      /* Unblock SIGINT and SIGCHLD unless creating a pipeline, in which case
+        SIGCHLD remains blocked until all commands in the pipeline have been
+        created. */
+      sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+    }
+
+  return (pid);
+}
+
+/* These two functions are called only in child processes. */
+void
+ignore_tty_job_signals ()
+{
+  set_signal_handler (SIGTSTP, SIG_IGN);
+  set_signal_handler (SIGTTIN, SIG_IGN);
+  set_signal_handler (SIGTTOU, SIG_IGN);
+}
+
+void
+default_tty_job_signals ()
+{
+  set_signal_handler (SIGTSTP, SIG_DFL);
+  set_signal_handler (SIGTTIN, SIG_DFL);
+  set_signal_handler (SIGTTOU, SIG_DFL);
+}
+
+/* When we end a job abnormally, or if we stop a job, we set the tty to the
+   state kept in here.  When a job ends normally, we set the state in here
+   to the state of the tty. */
+
+static TTYSTRUCT shell_tty_info;
+
+#if defined (NEW_TTY_DRIVER)
+static struct tchars shell_tchars;
+static struct ltchars shell_ltchars;
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (NEW_TTY_DRIVER) && defined (DRAIN_OUTPUT)
+/* Since the BSD tty driver does not allow us to change the tty modes
+   while simultaneously waiting for output to drain and preserving
+   typeahead, we have to drain the output ourselves before calling
+   ioctl.  We cheat by finding the length of the output queue, and
+   using select to wait for an appropriate length of time.  This is
+   a hack, and should be labeled as such (it's a hastily-adapted
+   mutation of a `usleep' implementation).  It's only reason for
+   existing is the flaw in the BSD tty driver. */
+
+static int ttspeeds[] =
+{
+  0, 50, 75, 110, 134, 150, 200, 300, 600, 1200,
+  1800, 2400, 4800, 9600, 19200, 38400
+};
+
+static void
+draino (fd, ospeed)
+     int fd, ospeed;
+{
+  register int delay = ttspeeds[ospeed];
+  int n;
+
+  if (!delay)
+    return;
+
+  while ((ioctl (fd, TIOCOUTQ, &n) == 0) && n)
+    {
+      if (n > (delay / 100))
+       {
+         struct timeval tv;
+
+         n *= 10;              /* 2 bits more for conservativeness. */
+         tv.tv_sec = n / delay;
+         tv.tv_usec = ((n % delay) * 1000000) / delay;
+         select (fd, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv);
+       }
+      else
+       break;
+    }
+}
+#endif /* NEW_TTY_DRIVER && DRAIN_OUTPUT */
+
+/* Return the fd from which we are actually getting input. */
+#define input_tty() (shell_tty != -1) ? shell_tty : fileno (stderr)
+
+/* Fill the contents of shell_tty_info with the current tty info. */
+int
+get_tty_state ()
+{
+  int tty;
+
+  tty = input_tty ();
+  if (tty != -1)
+    {
+#if defined (NEW_TTY_DRIVER)
+      ioctl (tty, TIOCGETP, &shell_tty_info);
+      ioctl (tty, TIOCGETC, &shell_tchars);
+      ioctl (tty, TIOCGLTC, &shell_ltchars);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+      ioctl (tty, TCGETA, &shell_tty_info);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+      if (tcgetattr (tty, &shell_tty_info) < 0)
+       {
+#if 0
+         /* Only print an error message if we're really interactive at
+            this time. */
+         if (interactive)
+           sys_error ("[%ld: %d (%d)] tcgetattr", (long)getpid (), shell_level, tty);
+#endif
+         return -1;
+       }
+#endif /* TERMIOS_TTY_DRIVER */
+      if (check_window_size)
+       get_new_window_size (0, (int *)0, (int *)0);
+    }
+  return 0;
+}
+
+/* Make the current tty use the state in shell_tty_info. */
+int
+set_tty_state ()
+{
+  int tty;
+
+  tty = input_tty ();
+  if (tty != -1)
+    {
+#if defined (NEW_TTY_DRIVER)
+#  if defined (DRAIN_OUTPUT)
+      draino (tty, shell_tty_info.sg_ospeed);
+#  endif /* DRAIN_OUTPUT */
+      ioctl (tty, TIOCSETN, &shell_tty_info);
+      ioctl (tty, TIOCSETC, &shell_tchars);
+      ioctl (tty, TIOCSLTC, &shell_ltchars);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+      ioctl (tty, TCSETAW, &shell_tty_info);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+      if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
+       {
+         /* Only print an error message if we're really interactive at
+            this time. */
+         if (interactive)
+           sys_error ("[%ld: %d (%d)] tcsetattr", (long)getpid (), shell_level, tty);
+         return -1;
+       }
+#endif /* TERMIOS_TTY_DRIVER */
+    }
+  return 0;
+}
+
+/* Given an index into the jobs array JOB, return the PROCESS struct of the last
+   process in that job's pipeline.  This is the one whose exit status
+   counts.  Must be called with SIGCHLD blocked or queued. */
+static PROCESS *
+find_last_proc (job, block)
+     int job;
+     int block;
+{
+  register PROCESS *p;
+  sigset_t set, oset;
+
+  if (block)
+    BLOCK_CHILD (set, oset);
+
+  p = jobs[job]->pipe;
+  while (p && p->next != jobs[job]->pipe)
+    p = p->next;
+
+  if (block)
+    UNBLOCK_CHILD (oset);
+
+  return (p);
+}
+
+static pid_t
+find_last_pid (job, block)
+     int job;
+     int block;
+{
+  PROCESS *p;
+
+  p = find_last_proc (job, block);
+  /* Possible race condition here. */
+  return p->pid;
+}     
+
+/* Wait for a particular child of the shell to finish executing.
+   This low-level function prints an error message if PID is not
+   a child of this shell.  It returns -1 if it fails, or whatever
+   wait_for returns otherwise.  If the child is not found in the
+   jobs table, it returns 127. */
+int
+wait_for_single_pid (pid)
+     pid_t pid;
+{
+  register PROCESS *child;
+  sigset_t set, oset;
+  int r, job;
+
+  BLOCK_CHILD (set, oset);
+  child = find_pipeline (pid, 0, (int *)NULL);
+  UNBLOCK_CHILD (oset);
+
+  if (child == 0)
+    {
+      r = bgp_search (pid);
+      if (r >= 0)
+       return r;
+    }
+
+  if (child == 0)
+    {
+      internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
+      return (127);
+    }
+
+  r = wait_for (pid);
+
+  /* POSIX.2: if we just waited for a job, we can remove it from the jobs
+     table. */
+  BLOCK_CHILD (set, oset);
+  job = find_job (pid, 0, NULL);
+  if (job != NO_JOB && jobs[job] && DEADJOB (job))
+    jobs[job]->flags |= J_NOTIFIED;
+  UNBLOCK_CHILD (oset);
+
+  /* If running in posix mode, remove the job from the jobs table immediately */
+  if (posixly_correct)
+    {
+      cleanup_dead_jobs ();
+      bgp_delete (pid);
+    }
+
+  return r;
+}
+
+/* Wait for all of the background processes started by this shell to finish. */
+void
+wait_for_background_pids ()
+{
+  register int i, r, waited_for;
+  sigset_t set, oset;
+  pid_t pid;
+
+  for (waited_for = 0;;)
+    {
+      BLOCK_CHILD (set, oset);
+
+      /* find first running job; if none running in foreground, break */
+      /* XXX could use js.j_firstj and js.j_lastj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("wait_for_background_pids: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+         if (i > js.j_lastj && jobs[i])
+           itrace("wait_for_background_pids: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+         if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
+           break;
+       }
+      if (i == js.j_jobslots)
+       {
+         UNBLOCK_CHILD (oset);
+         break;
+       }
+
+      /* now wait for the last pid in that job. */
+      pid = find_last_pid (i, 0);
+      UNBLOCK_CHILD (oset);
+      QUIT;
+      errno = 0;               /* XXX */
+      r = wait_for_single_pid (pid);
+      if (r == -1)
+       {
+         /* If we're mistaken about job state, compensate. */
+         if (errno == ECHILD)
+           mark_all_jobs_as_dead ();
+       }
+      else
+       waited_for++;
+    }
+
+  /* POSIX.2 says the shell can discard the statuses of all completed jobs if
+     `wait' is called with no arguments. */
+  mark_dead_jobs_as_notified (1);
+  cleanup_dead_jobs ();
+  bgp_clear ();
+}
+
+/* Make OLD_SIGINT_HANDLER the SIGINT signal handler. */
+#define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+
+static int wait_sigint_received;
+static int child_caught_sigint;
+static int waiting_for_child;
+
+static void
+restore_sigint_handler ()
+{
+  if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+    {
+      set_signal_handler (SIGINT, old_sigint_handler);
+      old_sigint_handler = INVALID_SIGNAL_HANDLER;
+      waiting_for_child = 0;
+    }
+}
+
+/* Handle SIGINT while we are waiting for children in a script to exit.
+   The `wait' builtin should be interruptible, but all others should be
+   effectively ignored (i.e. not cause the shell to exit). */
+static sighandler
+wait_sigint_handler (sig)
+     int sig;
+{
+  SigHandler *sigint_handler;
+
+  if (interrupt_immediately ||
+      (this_shell_builtin && this_shell_builtin == wait_builtin))
+    {
+      last_command_exit_value = 128+SIGINT;
+      restore_sigint_handler ();
+      /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+        what POSIX.2 says (see builtins/wait.def for more info). */
+      if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+         signal_is_trapped (SIGINT) &&
+         ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+       {
+         trap_handler (SIGINT);        /* set pending_traps[SIGINT] */
+         wait_signal_received = SIGINT;
+         if (interrupt_immediately)
+           {
+             interrupt_immediately = 0;
+             longjmp (wait_intr_buf, 1);
+           }
+         else
+           /* Let CHECK_WAIT_INTR handle it in wait_for/waitchld */
+           SIGRETURN (0);
+       }
+      else if (interrupt_immediately)
+       {
+         ADDINTERRUPT;
+         QUIT;
+       }
+      else /* wait_builtin but signal not trapped, treat as interrupt */
+       kill (getpid (), SIGINT);
+    }
+
+  /* XXX - should this be interrupt_state?  If it is, the shell will act
+     as if it got the SIGINT interrupt. */
+  if (waiting_for_child)
+    wait_sigint_received = 1;
+  else
+    {
+      last_command_exit_value = 128+SIGINT;
+      restore_sigint_handler ();
+      kill (getpid (), SIGINT);
+    }
+
+  /* Otherwise effectively ignore the SIGINT and allow the running job to
+     be killed. */
+  SIGRETURN (0);
+}
+
+static int
+process_exit_signal (status)
+     WAIT status;
+{
+  return (WIFSIGNALED (status) ? WTERMSIG (status) : 0);
+}
+
+static int
+process_exit_status (status)
+     WAIT status;
+{
+  if (WIFSIGNALED (status))
+    return (128 + WTERMSIG (status));
+  else if (WIFSTOPPED (status) == 0)
+    return (WEXITSTATUS (status));
+  else
+    return (EXECUTION_SUCCESS);
+}
+
+static WAIT
+job_signal_status (job)
+     int job;
+{
+  register PROCESS *p;
+  WAIT s;
+
+  p = jobs[job]->pipe;
+  do
+    {
+      s = p->status;
+      if (WIFSIGNALED(s) || WIFSTOPPED(s))
+       break;
+      p = p->next;
+    }
+  while (p != jobs[job]->pipe);
+
+  return s;
+}
+  
+/* Return the exit status of the last process in the pipeline for job JOB.
+   This is the exit status of the entire job. */
+static WAIT
+raw_job_exit_status (job)
+     int job;
+{
+  register PROCESS *p;
+  int fail;
+  WAIT ret;
+
+  if (pipefail_opt)
+    {
+      fail = 0;
+      p = jobs[job]->pipe;
+      do
+       {
+         if (WSTATUS (p->status) != EXECUTION_SUCCESS)
+           fail = WSTATUS(p->status);
+         p = p->next;
+       }
+      while (p != jobs[job]->pipe);
+      WSTATUS (ret) = fail;
+      return ret;
+    }
+
+  for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
+    ;
+  return (p->status);
+}
+
+/* Return the exit status of job JOB.  This is the exit status of the last
+   (rightmost) process in the job's pipeline, modified if the job was killed
+   by a signal or stopped. */
+int
+job_exit_status (job)
+     int job;
+{
+  return (process_exit_status (raw_job_exit_status (job)));
+}
+
+int
+job_exit_signal (job)
+     int job;
+{
+  return (process_exit_signal (raw_job_exit_status (job)));
+}
+
+#define FIND_CHILD(pid, child) \
+  do \
+    { \
+      child = find_pipeline (pid, 0, (int *)NULL); \
+      if (child == 0) \
+       { \
+         give_terminal_to (shell_pgrp, 0); \
+         UNBLOCK_CHILD (oset); \
+         internal_error (_("wait_for: No record of process %ld"), (long)pid); \
+         restore_sigint_handler (); \
+         return (termination_state = 127); \
+       } \
+    } \
+  while (0)
+
+/* Wait for pid (one of our children) to terminate, then
+   return the termination state.  Returns 127 if PID is not found in
+   the jobs table.  Returns -1 if waitchld() returns -1, indicating
+   that there are no unwaited-for child processes. */
+int
+wait_for (pid)
+     pid_t pid;
+{
+  int job, termination_state, r;
+  WAIT s;
+  register PROCESS *child;
+  sigset_t set, oset;
+
+  /* In the case that this code is interrupted, and we longjmp () out of it,
+     we are relying on the code in throw_to_top_level () to restore the
+     top-level signal mask. */
+  child = 0;
+  BLOCK_CHILD (set, oset);
+
+  /* Ignore interrupts while waiting for a job run without job control
+     to finish.  We don't want the shell to exit if an interrupt is
+     received, only if one of the jobs run is killed via SIGINT.  If
+     job control is not set, the job will be run in the same pgrp as
+     the shell, and the shell will see any signals the job gets.  In
+     fact, we want this set every time the waiting shell and the waited-
+     for process are in the same process group, including command
+     substitution. */
+
+  /* This is possibly a race condition -- should it go in stop_pipeline? */
+  wait_sigint_received = child_caught_sigint = 0;
+  if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
+    {
+      old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+      waiting_for_child = 0;
+      if (old_sigint_handler == SIG_IGN)
+       set_signal_handler (SIGINT, old_sigint_handler);
+    }
+
+  termination_state = last_command_exit_value;
+
+  if (interactive && job_control == 0)
+    QUIT;
+  /* Check for terminating signals and exit the shell if we receive one */
+  CHECK_TERMSIG;
+
+  /* Check for a trapped signal interrupting the wait builtin and jump out */
+  CHECK_WAIT_INTR;
+
+  /* If we say wait_for (), then we have a record of this child somewhere.
+     If it and none of its peers are running, don't call waitchld(). */
+
+  job = NO_JOB;
+  do
+    {
+      if (pid != ANY_PID)
+       FIND_CHILD (pid, child);
+
+      /* If this child is part of a job, then we are really waiting for the
+        job to finish.  Otherwise, we are waiting for the child to finish.
+        We check for JDEAD in case the job state has been set by waitchld
+        after receipt of a SIGCHLD. */
+      if (job == NO_JOB)
+       job = find_job (pid, 0, NULL);
+
+      /* waitchld() takes care of setting the state of the job.  If the job
+        has already exited before this is called, sigchld_handler will have
+        called waitchld and the state will be set to JDEAD. */
+
+      if (pid == ANY_PID || PRUNNING(child) || (job != NO_JOB && RUNNING (job)))
+       {
+#if defined (WAITPID_BROKEN)    /* SCOv4 */
+         sigset_t suspend_set;
+         sigemptyset (&suspend_set);
+         sigsuspend (&suspend_set);
+#else /* !WAITPID_BROKEN */
+#  if defined (MUST_UNBLOCK_CHLD)
+         struct sigaction act, oact;
+         sigset_t nullset, chldset;
+
+         sigemptyset (&nullset);
+         sigemptyset (&chldset);
+         sigprocmask (SIG_SETMASK, &nullset, &chldset);
+         act.sa_handler = SIG_DFL;
+         sigemptyset (&act.sa_mask);
+         sigemptyset (&oact.sa_mask);
+         act.sa_flags = 0;
+#  if defined (SA_RESTART)
+         act.sa_flags |= SA_RESTART;
+#  endif
+         sigaction (SIGCHLD, &act, &oact);
+#  endif /* MUST_UNBLOCK_CHLD */
+         queue_sigchld = 1;
+         waiting_for_child++;
+         r = waitchld (pid, 1);        /* XXX */
+         waiting_for_child--;
+#if 0
+itrace("wait_for: blocking wait for %d returns %d child = 0x%x", (int)pid, r, child);
+#endif
+#  if defined (MUST_UNBLOCK_CHLD)
+         sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
+         sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
+#  endif
+         queue_sigchld = 0;
+         if (r == -1 && errno == ECHILD && this_shell_builtin == wait_builtin)
+           {
+             termination_state = -1;
+             /* XXX - restore sigint handler here? */
+             goto wait_for_return;
+           }
+
+         /* If child is marked as running, but waitpid() returns -1/ECHILD,
+            there is something wrong.  Somewhere, wait should have returned
+            that child's pid.  Mark the child as not running and the job,
+            if it exists, as JDEAD. */
+         if (r == -1 && errno == ECHILD)
+           {
+             if (child)
+               {
+                 child->running = PS_DONE;
+                 WSTATUS (child->status) = 0;  /* XXX -- can't find true status */
+               }
+             js.c_living = 0;          /* no living child processes */
+             if (job != NO_JOB)
+               {
+                 jobs[job]->state = JDEAD;
+                 js.c_reaped++;
+                 js.j_ndead++;
+               }
+             if (pid == ANY_PID)
+               {
+                 termination_state = -1;
+                 break;
+               }
+           }
+#endif /* WAITPID_BROKEN */
+       }
+
+      /* If the shell is interactive, and job control is disabled, see
+        if the foreground process has died due to SIGINT and jump out
+        of the wait loop if it has.  waitchld has already restored the
+        old SIGINT signal handler. */
+      if (interactive && job_control == 0)
+       QUIT;
+      /* Check for terminating signals and exit the shell if we receive one */
+      CHECK_TERMSIG;
+
+      /* Check for a trapped signal interrupting the wait builtin and jump out */
+      CHECK_WAIT_INTR;
+
+      if (pid == ANY_PID)
+        /* XXX - could set child but we don't have a handle on what waitchld
+          reaps.  Leave termination_state alone. */
+       goto wait_for_return;
+    }
+  while (PRUNNING (child) || (job != NO_JOB && RUNNING (job)));
+
+  /* Restore the original SIGINT signal handler before we return. */
+  restore_sigint_handler ();
+
+  /* The exit state of the command is either the termination state of the
+     child, or the termination state of the job.  If a job, the status
+     of the last child in the pipeline is the significant one.  If the command
+     or job was terminated by a signal, note that value also. */
+  termination_state = (job != NO_JOB) ? job_exit_status (job)
+                                     : process_exit_status (child->status);
+  last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job)
+                                            : process_exit_signal (child->status);
+
+  /* XXX */
+  if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status))
+    termination_state = 128 + WSTOPSIG (child->status);
+
+  if (job == NO_JOB || IS_JOBCONTROL (job))
+    {
+      /* XXX - under what circumstances is a job not present in the jobs
+        table (job == NO_JOB)?
+               1.  command substitution
+
+        In the case of command substitution, at least, it's probably not
+        the right thing to give the terminal to the shell's process group,
+        even though there is code in subst.c:command_substitute to work
+        around it.
+
+        Things that don't:
+               $PROMPT_COMMAND execution
+               process substitution
+       */
+#if 0
+if (job == NO_JOB)
+  itrace("wait_for: job == NO_JOB, giving the terminal to shell_pgrp (%ld)", (long)shell_pgrp);
+#endif
+      give_terminal_to (shell_pgrp, 0);
+    }
+
+  /* If the command did not exit cleanly, or the job is just
+     being stopped, then reset the tty state back to what it
+     was before this command.  Reset the tty state and notify
+     the user of the job termination only if the shell is
+     interactive.  Clean up any dead jobs in either case. */
+  if (job != NO_JOB)
+    {
+      if (interactive_shell && subshell_environment == 0)
+       {
+         /* This used to use `child->status'.  That's wrong, however, for
+            pipelines.  `child' is the first process in the pipeline.  It's
+            likely that the process we want to check for abnormal termination
+            or stopping is the last process in the pipeline, especially if
+            it's long-lived and the first process is short-lived.  Since we
+            know we have a job here, we can check all the processes in this
+            job's pipeline and see if one of them stopped or terminated due
+            to a signal.  We might want to change this later to just check
+            the last process in the pipeline.  If no process exits due to a
+            signal, S is left as the status of the last job in the pipeline. */
+         s = job_signal_status (job);
+
+         if (WIFSIGNALED (s) || WIFSTOPPED (s))
+           {
+             set_tty_state ();
+
+             /* If the current job was stopped or killed by a signal, and
+                the user has requested it, get a possibly new window size */
+             if (check_window_size && (job == js.j_current || IS_FOREGROUND (job)))
+               get_new_window_size (0, (int *)0, (int *)0);
+           }
+         else
+           get_tty_state ();
+
+         /* If job control is enabled, the job was started with job
+            control, the job was the foreground job, and it was killed
+            by SIGINT, then print a newline to compensate for the kernel
+            printing the ^C without a trailing newline. */
+         if (job_control && IS_JOBCONTROL (job) && IS_FOREGROUND (job) &&
+               WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
+           {
+             /* If SIGINT is not trapped and the shell is in a for, while,
+                or until loop, act as if the shell received SIGINT as
+                well, so the loop can be broken.  This doesn't call the
+                SIGINT signal handler; maybe it should. */
+             if (signal_is_trapped (SIGINT) == 0 && (loop_level || (shell_compatibility_level > 32 && executing_list)))
+               ADDINTERRUPT;
+             else
+               {
+                 putchar ('\n');
+                 fflush (stdout);
+               }
+           }
+       }
+      else if ((subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PIPE)) && wait_sigint_received)
+       {
+         /* If waiting for a job in a subshell started to do command
+            substitution or to run a pipeline element that consists of
+            something like a while loop or a for loop, simulate getting
+            and being killed by the SIGINT to pass the status back to our
+            parent. */
+         s = job_signal_status (job);
+
+         if (child_caught_sigint == 0 && signal_is_trapped (SIGINT) == 0)
+           {
+             UNBLOCK_CHILD (oset);
+             old_sigint_handler = set_signal_handler (SIGINT, SIG_DFL);
+             if (old_sigint_handler == SIG_IGN)
+               restore_sigint_handler ();
+             else
+               kill (getpid (), SIGINT);
+           }
+       }
+      else if (interactive_shell == 0 && IS_FOREGROUND (job) && check_window_size)
+       get_new_window_size (0, (int *)0, (int *)0);
+
+      /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
+         signal handler path */
+      if (DEADJOB (job) && IS_FOREGROUND (job) /*&& subshell_environment == 0*/)
+       setjstatus (job);
+
+      /* If this job is dead, notify the user of the status.  If the shell
+        is interactive, this will display a message on the terminal.  If
+        the shell is not interactive, make sure we turn on the notify bit
+        so we don't get an unwanted message about the job's termination,
+        and so delete_job really clears the slot in the jobs table. */
+      notify_and_cleanup ();
+    }
+
+wait_for_return:
+
+  UNBLOCK_CHILD (oset);
+
+  return (termination_state);
+}
+
+/* Wait for the last process in the pipeline for JOB.  Returns whatever
+   wait_for returns: the last process's termination state or -1 if there
+   are no unwaited-for child processes or an error occurs. */
+int
+wait_for_job (job)
+     int job;
+{
+  pid_t pid;
+  int r;
+  sigset_t set, oset;
+
+  BLOCK_CHILD(set, oset);
+  if (JOBSTATE (job) == JSTOPPED)
+    internal_warning (_("wait_for_job: job %d is stopped"), job+1);
+
+  pid = find_last_pid (job, 0);
+  UNBLOCK_CHILD(oset);
+  r = wait_for (pid);
+
+  /* POSIX.2: we can remove the job from the jobs table if we just waited
+     for it. */
+  BLOCK_CHILD (set, oset);
+  if (job != NO_JOB && jobs[job] && DEADJOB (job))
+    jobs[job]->flags |= J_NOTIFIED;
+  UNBLOCK_CHILD (oset);
+
+  return r;
+}
+
+/* Wait for any background job started by this shell to finish.  Very
+   similar to wait_for_background_pids().  Returns the exit status of
+   the next exiting job, -1 if there are no background jobs.  The caller
+   is responsible for translating -1 into the right return value. */
+int
+wait_for_any_job ()
+{
+  pid_t pid;
+  int i, r, waited_for;
+  sigset_t set, oset;
+
+  if (jobs_list_frozen)
+    return -1;
+
+  /* First see if there are any unnotified dead jobs that we can report on */
+  BLOCK_CHILD (set, oset);
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i) == 0)
+       {
+return_job:
+         r = job_exit_status (i);
+         notify_of_job_status ();              /* XXX */
+         delete_job (i, 0);
+#if defined (COPROCESS_SUPPORT)
+         coproc_reap ();
+#endif
+         UNBLOCK_CHILD (oset);
+         return r;
+       }
+    }
+  UNBLOCK_CHILD (oset);
+
+  /* At this point, we have no dead jobs in the jobs table.  Wait until we
+     get one, even if it takes multiple pids exiting. */
+  for (waited_for = 0;;)
+    {
+      /* Make sure there is a background job to wait for */
+      BLOCK_CHILD (set, oset);
+      for (i = 0; i < js.j_jobslots; i++)
+        if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
+          break;
+      if (i == js.j_jobslots)
+       {
+         UNBLOCK_CHILD (oset);
+         return -1;
+       }
+
+      UNBLOCK_CHILD (oset);
+
+      QUIT;
+      CHECK_TERMSIG;
+      CHECK_WAIT_INTR;
+
+      errno = 0;
+      r = wait_for (ANY_PID);  /* special sentinel value for wait_for */
+      if (r == -1 && errno == ECHILD)
+       mark_all_jobs_as_dead ();
+       
+      /* Now we see if we have any dead jobs and return the first one */
+      BLOCK_CHILD (set, oset);
+      for (i = 0; i < js.j_jobslots; i++)
+       if (jobs[i] && DEADJOB (i))
+         goto return_job;
+      UNBLOCK_CHILD (oset);
+    }
+
+  return -1;
+}
+
+/* Print info about dead jobs, and then delete them from the list
+   of known jobs.  This does not actually delete jobs when the
+   shell is not interactive, because the dead jobs are not marked
+   as notified. */
+void
+notify_and_cleanup ()
+{
+  if (jobs_list_frozen)
+    return;
+
+  if (interactive || interactive_shell == 0 || sourcelevel)
+    notify_of_job_status ();
+
+  cleanup_dead_jobs ();
+}
+
+/* Make dead jobs disappear from the jobs array without notification.
+   This is used when the shell is not interactive. */
+void
+reap_dead_jobs ()
+{
+  mark_dead_jobs_as_notified (0);
+  cleanup_dead_jobs ();
+}
+
+/* Return the next closest (chronologically) job to JOB which is in
+   STATE.  STATE can be JSTOPPED, JRUNNING.  NO_JOB is returned if
+   there is no next recent job. */
+static int
+most_recent_job_in_state (job, state)
+     int job;
+     JOB_STATE state;
+{
+  register int i, result;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  for (result = NO_JOB, i = job - 1; i >= 0; i--)
+    {
+      if (jobs[i] && (JOBSTATE (i) == state))
+       {
+         result = i;
+         break;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+
+  return (result);
+}
+
+/* Return the newest *stopped* job older than JOB, or NO_JOB if not
+   found. */
+static int
+job_last_stopped (job)
+     int job;
+{
+  return (most_recent_job_in_state (job, JSTOPPED));
+}
+
+/* Return the newest *running* job older than JOB, or NO_JOB if not
+   found. */
+static int
+job_last_running (job)
+     int job;
+{
+  return (most_recent_job_in_state (job, JRUNNING));
+}
+
+/* Make JOB be the current job, and make previous be useful.  Must be
+   called with SIGCHLD blocked. */
+static void
+set_current_job (job)
+     int job;
+{
+  int candidate;
+
+  if (js.j_current != job)
+    {
+      js.j_previous = js.j_current;
+      js.j_current = job;
+    }
+
+  /* First choice for previous job is the old current job. */
+  if (js.j_previous != js.j_current &&
+      js.j_previous != NO_JOB &&
+      jobs[js.j_previous] &&
+      STOPPED (js.j_previous))
+    return;
+
+  /* Second choice:  Newest stopped job that is older than
+     the current job. */
+  candidate = NO_JOB;
+  if (STOPPED (js.j_current))
+    {
+      candidate = job_last_stopped (js.j_current);
+
+      if (candidate != NO_JOB)
+       {
+         js.j_previous = candidate;
+         return;
+       }
+    }
+
+  /* If we get here, there is either only one stopped job, in which case it is
+     the current job and the previous job should be set to the newest running
+     job, or there are only running jobs and the previous job should be set to
+     the newest running job older than the current job.  We decide on which
+     alternative to use based on whether or not JOBSTATE(js.j_current) is
+     JSTOPPED. */
+
+  candidate = RUNNING (js.j_current) ? job_last_running (js.j_current)
+                                   : job_last_running (js.j_jobslots);
+
+  if (candidate != NO_JOB)
+    {
+      js.j_previous = candidate;
+      return;
+    }
+
+  /* There is only a single job, and it is both `+' and `-'. */
+  js.j_previous = js.j_current;
+}
+
+/* Make current_job be something useful, if it isn't already. */
+
+/* Here's the deal:  The newest non-running job should be `+', and the
+   next-newest non-running job should be `-'.  If there is only a single
+   stopped job, the js.j_previous is the newest non-running job.  If there
+   are only running jobs, the newest running job is `+' and the
+   next-newest running job is `-'.  Must be called with SIGCHLD blocked. */
+
+static void
+reset_current ()
+{
+  int candidate;
+
+  if (js.j_jobslots && js.j_current != NO_JOB && jobs[js.j_current] && STOPPED (js.j_current))
+    candidate = js.j_current;
+  else
+    {
+      candidate = NO_JOB;
+
+      /* First choice: the previous job. */
+      if (js.j_previous != NO_JOB && jobs[js.j_previous] && STOPPED (js.j_previous))
+       candidate = js.j_previous;
+
+      /* Second choice: the most recently stopped job. */
+      if (candidate == NO_JOB)
+       candidate = job_last_stopped (js.j_jobslots);
+
+      /* Third choice: the newest running job. */
+      if (candidate == NO_JOB)
+       candidate = job_last_running (js.j_jobslots);
+    }
+
+  /* If we found a job to use, then use it.  Otherwise, there
+     are no jobs period. */
+  if (candidate != NO_JOB)
+    set_current_job (candidate);
+  else
+    js.j_current = js.j_previous = NO_JOB;
+}
+
+/* Set up the job structures so we know the job and its processes are
+   all running. */
+static void
+set_job_running (job)
+     int job;
+{
+  register PROCESS *p;
+
+  /* Each member of the pipeline is now running. */
+  p = jobs[job]->pipe;
+
+  do
+    {
+      if (WIFSTOPPED (p->status))
+       p->running = PS_RUNNING;        /* XXX - could be PS_STOPPED */
+      p = p->next;
+    }
+  while (p != jobs[job]->pipe);
+
+  /* This means that the job is running. */
+  JOBSTATE (job) = JRUNNING;
+}
+
+/* Start a job.  FOREGROUND if non-zero says to do that.  Otherwise,
+   start the job in the background.  JOB is a zero-based index into
+   JOBS.  Returns -1 if it is unable to start a job, and the return
+   status of the job otherwise. */
+int
+start_job (job, foreground)
+     int job, foreground;
+{
+  register PROCESS *p;
+  int already_running;
+  sigset_t set, oset;
+  char *wd, *s;
+  static TTYSTRUCT save_stty;
+
+  BLOCK_CHILD (set, oset);
+
+  if (DEADJOB (job))
+    {
+      internal_error (_("%s: job has terminated"), this_command_name);
+      UNBLOCK_CHILD (oset);
+      return (-1);
+    }
+
+  already_running = RUNNING (job);
+
+  if (foreground == 0 && already_running)
+    {
+      internal_error (_("%s: job %d already in background"), this_command_name, job + 1);
+      UNBLOCK_CHILD (oset);
+      return (0);              /* XPG6/SUSv3 says this is not an error */
+    }
+
+  wd = current_working_directory ();
+
+  /* You don't know about the state of this job.  Do you? */
+  jobs[job]->flags &= ~J_NOTIFIED;
+
+  if (foreground)
+    {
+      set_current_job (job);
+      jobs[job]->flags |= J_FOREGROUND;
+    }
+
+  /* Tell the outside world what we're doing. */
+  p = jobs[job]->pipe;
+
+  if (foreground == 0)
+    {
+      /* POSIX.2 says `bg' doesn't give any indication about current or
+        previous job. */
+      if (posixly_correct == 0)
+       s = (job == js.j_current) ? "+ ": ((job == js.j_previous) ? "- " : " ");       
+      else
+       s = " ";
+      printf ("[%d]%s", job + 1, s);
+    }
+
+  do
+    {
+      printf ("%s%s",
+              p->command ? p->command : "",
+              p->next != jobs[job]->pipe? " | " : "");
+      p = p->next;
+    }
+  while (p != jobs[job]->pipe);
+
+  if (foreground == 0)
+    printf (" &");
+
+  if (strcmp (wd, jobs[job]->wd) != 0)
+    printf ("  (wd: %s)", polite_directory_format (jobs[job]->wd));
+
+  printf ("\n");
+
+  /* Run the job. */
+  if (already_running == 0)
+    set_job_running (job);
+
+  /* Save the tty settings before we start the job in the foreground. */
+  if (foreground)
+    {
+      get_tty_state ();
+      save_stty = shell_tty_info;
+      /* Give the terminal to this job. */
+      if (IS_JOBCONTROL (job))
+       give_terminal_to (jobs[job]->pgrp, 0);
+    }
+  else
+    jobs[job]->flags &= ~J_FOREGROUND;
+
+  /* If the job is already running, then don't bother jump-starting it. */
+  if (already_running == 0)
+    {
+      jobs[job]->flags |= J_NOTIFIED;
+      killpg (jobs[job]->pgrp, SIGCONT);
+    }
+
+  if (foreground)
+    {
+      pid_t pid;
+      int st;
+
+      pid = find_last_pid (job, 0);
+      UNBLOCK_CHILD (oset);
+      st = wait_for (pid);
+      shell_tty_info = save_stty;
+      set_tty_state ();
+      return (st);
+    }
+  else
+    {
+      reset_current ();
+      UNBLOCK_CHILD (oset);
+      return (0);
+    }
+}
+
+/* Give PID SIGNAL.  This determines what job the pid belongs to (if any).
+   If PID does belong to a job, and the job is stopped, then CONTinue the
+   job after giving it SIGNAL.  Returns -1 on failure.  If GROUP is non-null,
+   then kill the process group associated with PID. */
+int
+kill_pid (pid, sig, group)
+     pid_t pid;
+     int sig, group;
+{
+  register PROCESS *p;
+  int job, result, negative;
+  sigset_t set, oset;
+
+  if (pid < -1)
+    {
+      pid = -pid;
+      group = negative = 1;
+    }
+  else
+    negative = 0;
+
+  result = EXECUTION_SUCCESS;
+  if (group)
+    {
+      BLOCK_CHILD (set, oset);
+      p = find_pipeline (pid, 0, &job);
+
+      if (job != NO_JOB)
+       {
+         jobs[job]->flags &= ~J_NOTIFIED;
+
+         /* Kill process in backquotes or one started without job control? */
+
+         /* If we're passed a pid < -1, just call killpg and see what happens  */
+         if (negative && jobs[job]->pgrp == shell_pgrp)
+           result = killpg (pid, sig);
+         /* If we're killing using job control notification, for example,
+            without job control active, we have to do things ourselves. */
+         else if (jobs[job]->pgrp == shell_pgrp)
+           {
+             p = jobs[job]->pipe;
+             do
+               {
+                 if (PALIVE (p) == 0)
+                   continue;           /* avoid pid recycling problem */
+                 kill (p->pid, sig);
+                 if (PEXITED (p) && (sig == SIGTERM || sig == SIGHUP))
+                   kill (p->pid, SIGCONT);
+                 p = p->next;
+               }
+             while  (p != jobs[job]->pipe);
+           }
+         else
+           {
+             result = killpg (jobs[job]->pgrp, sig);
+             if (p && STOPPED (job) && (sig == SIGTERM || sig == SIGHUP))
+               killpg (jobs[job]->pgrp, SIGCONT);
+             /* If we're continuing a stopped job via kill rather than bg or
+                fg, emulate the `bg' behavior. */
+             if (p && STOPPED (job) && (sig == SIGCONT))
+               {
+                 set_job_running (job);
+                 jobs[job]->flags &= ~J_FOREGROUND;
+                 jobs[job]->flags |= J_NOTIFIED;
+               }
+           }
+       }
+      else
+       result = killpg (pid, sig);
+
+      UNBLOCK_CHILD (oset);
+    }
+  else
+    result = kill (pid, sig);
+
+  return (result);
+}
+
+/* sigchld_handler () flushes at least one of the children that we are
+   waiting for.  It gets run when we have gotten a SIGCHLD signal. */
+static sighandler
+sigchld_handler (sig)
+     int sig;
+{
+  int n, oerrno;
+
+  oerrno = errno;
+  REINSTALL_SIGCHLD_HANDLER;
+  sigchld++;
+  n = 0;
+  if (queue_sigchld == 0)
+    n = waitchld (-1, 0);
+  errno = oerrno;
+  SIGRETURN (n);
+}
+
+/* waitchld() reaps dead or stopped children.  It's called by wait_for and
+   sigchld_handler, and runs until there aren't any children terminating any
+   more.
+   If BLOCK is 1, this is to be a blocking wait for a single child, although
+   an arriving SIGCHLD could cause the wait to be non-blocking.  It returns
+   the number of children reaped, or -1 if there are no unwaited-for child
+   processes. */
+static int
+waitchld (wpid, block)
+     pid_t wpid;
+     int block;
+{
+  WAIT status;
+  PROCESS *child;
+  pid_t pid;
+
+  int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
+  static int wcontinued = WCONTINUED;  /* run-time fix for glibc problem */
+
+  call_set_current = children_exited = 0;
+  last_stopped_job = NO_JOB;
+
+  do
+    {
+      /* We don't want to be notified about jobs stopping if job control
+        is not active.  XXX - was interactive_shell instead of job_control */
+      waitpid_flags = (job_control && subshell_environment == 0)
+                       ? (WUNTRACED|wcontinued)
+                       : 0;
+      if (sigchld || block == 0)
+       waitpid_flags |= WNOHANG;
+
+      /* Check for terminating signals and exit the shell if we receive one */
+      CHECK_TERMSIG;
+      /* Check for a trapped signal interrupting the wait builtin and jump out */
+      CHECK_WAIT_INTR;
+
+      if (block == 1 && queue_sigchld == 0 && (waitpid_flags & WNOHANG) == 0)
+       {
+         internal_warning (_("waitchld: turning on WNOHANG to avoid indefinite block"));
+         waitpid_flags |= WNOHANG;
+       }
+
+      pid = WAITPID (-1, &status, waitpid_flags);
+
+#if 0
+if (wpid != -1 && block)
+  itrace("waitchld: blocking waitpid returns %d", pid);
+#endif
+      /* WCONTINUED may be rejected by waitpid as invalid even when defined */
+      if (wcontinued && pid < 0 && errno == EINVAL)
+       {
+         wcontinued = 0;
+         continue;     /* jump back to the test and retry without WCONTINUED */
+       }
+
+      /* The check for WNOHANG is to make sure we decrement sigchld only
+        if it was non-zero before we called waitpid. */
+      if (sigchld > 0 && (waitpid_flags & WNOHANG))
+       sigchld--;
+
+      /* If waitpid returns -1 with errno == ECHILD, there are no more
+        unwaited-for child processes of this shell. */
+      if (pid < 0 && errno == ECHILD)
+       {
+         if (children_exited == 0)
+           return -1;
+         else
+           break;
+       }
+
+#if 0
+itrace("waitchld: waitpid returns %d block = %d", pid, block);
+#endif
+      /* If waitpid returns 0, there are running children.  If it returns -1,
+        the only other error POSIX says it can return is EINTR. */
+      CHECK_TERMSIG;
+      CHECK_WAIT_INTR;
+
+      /* If waitpid returns -1/EINTR and the shell saw a SIGINT, then we
+        assume the child has blocked or handled SIGINT.  In that case, we
+        require the child to actually die due to SIGINT to act on the
+        SIGINT we received; otherwise we assume the child handled it and
+        let it go. */
+      if (pid < 0 && errno == EINTR && wait_sigint_received)
+       child_caught_sigint = 1;
+
+      if (pid <= 0)
+       continue;       /* jumps right to the test */
+
+      /* If the child process did die due to SIGINT, forget our assumption
+        that it caught or otherwise handled it. */
+      if (WIFSIGNALED (status) && WTERMSIG (status) == SIGINT)
+        child_caught_sigint = 0;
+
+      /* children_exited is used to run traps on SIGCHLD.  We don't want to
+         run the trap if a process is just being continued. */
+      if (WIFCONTINUED(status) == 0)
+       {
+         children_exited++;
+         js.c_living--;
+       }
+
+      /* Locate our PROCESS for this pid. */
+      child = find_process (pid, 1, &job);     /* want living procs only */
+
+#if defined (COPROCESS_SUPPORT)
+      coproc_pidchk (pid, WSTATUS(status));
+#endif
+
+      /* It is not an error to have a child terminate that we did
+        not have a record of.  This child could have been part of
+        a pipeline in backquote substitution.  Even so, I'm not
+        sure child is ever non-zero. */
+      if (child == 0)
+       {
+         if (WIFEXITED (status) || WIFSIGNALED (status))
+           js.c_reaped++;
+         continue;
+       }
+
+      /* Remember status, and whether or not the process is running. */
+      child->status = status;
+      child->running = WIFCONTINUED(status) ? PS_RUNNING : PS_DONE;
+
+      if (PEXITED (child))
+       {
+         js.c_totreaped++;
+         if (job != NO_JOB)
+           js.c_reaped++;
+       }
+        
+      if (job == NO_JOB)
+       continue;
+
+      call_set_current += set_job_status_and_cleanup (job);
+
+      if (STOPPED (job))
+       last_stopped_job = job;
+      else if (DEADJOB (job) && last_stopped_job == job)
+       last_stopped_job = NO_JOB;
+    }
+  while ((sigchld || block == 0) && pid > (pid_t)0);
+
+  /* If a job was running and became stopped, then set the current
+     job.  Otherwise, don't change a thing. */
+  if (call_set_current)
+    {
+      if (last_stopped_job != NO_JOB)
+       set_current_job (last_stopped_job);
+      else
+       reset_current ();
+    }
+
+  /* Call a SIGCHLD trap handler for each child that exits, if one is set. */
+  if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
+      trap_list[SIGCHLD] != (char *)IGNORE_SIG)
+    {
+      if (posixly_correct && this_shell_builtin && this_shell_builtin == wait_builtin)
+       {
+         interrupt_immediately = 0;
+         trap_handler (SIGCHLD);       /* set pending_traps[SIGCHLD] */
+         wait_signal_received = SIGCHLD;
+         /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
+            run_pending_traps will call run_sigchld_trap later  */
+         if (sigchld == 0)
+           longjmp (wait_intr_buf, 1);
+       }
+      /* If not in posix mode and not executing the wait builtin, queue the
+        signal for later handling.  Run the trap immediately if we are
+        executing the wait builtin, but don't break out of `wait'. */
+      else if (sigchld)        /* called from signal handler */
+       queue_sigchld_trap (children_exited);
+      else if (running_trap)
+       queue_sigchld_trap (children_exited);
+      else if (this_shell_builtin == wait_builtin)
+       run_sigchld_trap (children_exited);
+      else
+       queue_sigchld_trap (children_exited);
+    }
+
+  /* We have successfully recorded the useful information about this process
+     that has just changed state.  If we notify asynchronously, and the job
+     that this process belongs to is no longer running, then notify the user
+     of that fact now. */
+  if (asynchronous_notification && interactive)
+    notify_of_job_status ();
+
+  return (children_exited);
+}
+
+/* Set the status of JOB and perform any necessary cleanup if the job is
+   marked as JDEAD.
+
+   Currently, the cleanup activity is restricted to handling any SIGINT
+   received while waiting for a foreground job to finish. */
+static int
+set_job_status_and_cleanup (job)
+     int job;
+{
+  PROCESS *child;
+  int tstatus, job_state, any_stopped, any_tstped, call_set_current;
+  SigHandler *temp_handler;
+
+  child = jobs[job]->pipe;
+  jobs[job]->flags &= ~J_NOTIFIED;
+
+  call_set_current = 0;
+
+  /*
+   * COMPUTE JOB STATUS
+   */
+
+  /* If all children are not running, but any of them is  stopped, then
+     the job is stopped, not dead. */
+  job_state = any_stopped = any_tstped = 0;
+  do
+    {
+      job_state |= PRUNNING (child);
+#if 0
+      if (PEXITED (child) && (WIFSTOPPED (child->status)))
+#else
+      /* Only checking for WIFSTOPPED now, not for PS_DONE */
+      if (PSTOPPED (child))
+#endif
+       {
+         any_stopped = 1;
+         any_tstped |= job_control && (WSTOPSIG (child->status) == SIGTSTP);
+       }
+      child = child->next;
+    }
+  while (child != jobs[job]->pipe);
+
+  /* If job_state != 0, the job is still running, so don't bother with
+     setting the process exit status and job state unless we're
+     transitioning from stopped to running. */
+  if (job_state != 0 && JOBSTATE(job) != JSTOPPED)
+    return 0;
+
+  /*
+   * SET JOB STATUS
+   */
+
+  /* The job is either stopped or dead.  Set the state of the job accordingly. */
+  if (any_stopped)
+    {
+      jobs[job]->state = JSTOPPED;
+      jobs[job]->flags &= ~J_FOREGROUND;
+      call_set_current++;
+      /* Suspending a job with SIGTSTP breaks all active loops. */
+      if (any_tstped && loop_level)
+       breaking = loop_level;
+    }
+  else if (job_state != 0)     /* was stopped, now running */
+    {
+      jobs[job]->state = JRUNNING;
+      call_set_current++;
+    }
+  else
+    {
+      jobs[job]->state = JDEAD;
+      js.j_ndead++;
+
+#if 0
+      if (IS_FOREGROUND (job))
+       setjstatus (job);
+#endif
+
+      /* If this job has a cleanup function associated with it, call it
+        with `cleanarg' as the single argument, then set the function
+        pointer to NULL so it is not inadvertently called twice.  The
+        cleanup function is responsible for deallocating cleanarg. */
+      if (jobs[job]->j_cleanup)
+       {
+         (*jobs[job]->j_cleanup) (jobs[job]->cleanarg);
+         jobs[job]->j_cleanup = (sh_vptrfunc_t *)NULL;
+       }
+    }
+
+  /*
+   * CLEANUP
+   *
+   * Currently, we just do special things if we got a SIGINT while waiting
+   * for a foreground job to complete
+   */
+
+  if (JOBSTATE (job) == JDEAD)
+    {
+      /* If we're running a shell script and we get a SIGINT with a
+        SIGINT trap handler, but the foreground job handles it and
+        does not exit due to SIGINT, run the trap handler but do not
+        otherwise act as if we got the interrupt. */
+      if (wait_sigint_received && interactive_shell == 0 &&
+         child_caught_sigint && IS_FOREGROUND (job) &&
+         signal_is_trapped (SIGINT))
+       {
+         int old_frozen;
+         wait_sigint_received = 0;
+         last_command_exit_value = process_exit_status (child->status);
+
+         old_frozen = jobs_list_frozen;
+         jobs_list_frozen = 1;
+         tstatus = maybe_call_trap_handler (SIGINT);
+         jobs_list_frozen = old_frozen;
+       }
+
+      /* If the foreground job is killed by SIGINT when job control is not
+        active, we need to perform some special handling.
+
+        The check of wait_sigint_received is a way to determine if the
+        SIGINT came from the keyboard (in which case the shell has already
+        seen it, and wait_sigint_received is non-zero, because keyboard
+        signals are sent to process groups) or via kill(2) to the foreground
+        process by another process (or itself).  If the shell did receive the
+        SIGINT, it needs to perform normal SIGINT processing. */
+      else if (wait_sigint_received &&
+             child_caught_sigint == 0 &&
+             IS_FOREGROUND (job) && IS_JOBCONTROL (job) == 0)
+       {
+         int old_frozen;
+
+         wait_sigint_received = 0;
+
+         /* If SIGINT is trapped, set the exit status so that the trap
+            handler can see it. */
+         if (signal_is_trapped (SIGINT))
+           last_command_exit_value = process_exit_status (child->status);
+
+         /* If the signal is trapped, let the trap handler get it no matter
+            what and simply return if the trap handler returns.
+           maybe_call_trap_handler() may cause dead jobs to be removed from
+           the job table because of a call to execute_command.  We work
+           around this by setting JOBS_LIST_FROZEN. */
+         old_frozen = jobs_list_frozen;
+         jobs_list_frozen = 1;
+         tstatus = maybe_call_trap_handler (SIGINT);
+         jobs_list_frozen = old_frozen;
+         if (tstatus == 0 && old_sigint_handler != INVALID_SIGNAL_HANDLER)
+           {
+             /* wait_sigint_handler () has already seen SIGINT and
+                allowed the wait builtin to jump out.  We need to
+                call the original SIGINT handler, if necessary.  If
+                the original handler is SIG_DFL, we need to resend
+                the signal to ourselves. */
+
+             temp_handler = old_sigint_handler;
+
+             /* Bogus.  If we've reset the signal handler as the result
+                of a trap caught on SIGINT, then old_sigint_handler
+                will point to trap_handler, which now knows nothing about
+                SIGINT (if we reset the sighandler to the default).
+                In this case, we have to fix things up.  What a crock. */
+             if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
+                 temp_handler = trap_to_sighandler (SIGINT);
+               restore_sigint_handler ();
+             if (temp_handler == SIG_DFL)
+               termsig_handler (SIGINT);       /* XXX */
+             else if (temp_handler != SIG_IGN)
+               (*temp_handler) (SIGINT);
+           }
+       }
+    }
+
+  return call_set_current;
+}
+
+/* Build the array of values for the $PIPESTATUS variable from the set of
+   exit statuses of all processes in the job J. */
+static void
+setjstatus (j)
+     int j;
+{
+#if defined (ARRAY_VARS)
+  register int i;
+  register PROCESS *p;
+
+  for (i = 1, p = jobs[j]->pipe; p->next != jobs[j]->pipe; p = p->next, i++)
+    ;
+  i++;
+  if (statsize < i)
+    {
+      pstatuses = (int *)xrealloc (pstatuses, i * sizeof (int));
+      statsize = i;
+    }
+  i = 0;
+  p = jobs[j]->pipe;
+  do
+    {
+      pstatuses[i++] = process_exit_status (p->status);
+      p = p->next;
+    }
+  while (p != jobs[j]->pipe);
+
+  pstatuses[i] = -1;   /* sentinel */
+  set_pipestatus_array (pstatuses, i);
+#endif
+}
+
+void
+run_sigchld_trap (nchild)
+     int nchild;
+{
+  char *trap_command;
+  int i;
+
+  /* Turn off the trap list during the call to parse_and_execute ()
+     to avoid potentially infinite recursive calls.  Preserve the
+     values of last_command_exit_value, last_made_pid, and the_pipeline
+     around the execution of the trap commands. */
+  trap_command = savestring (trap_list[SIGCHLD]);
+
+  begin_unwind_frame ("SIGCHLD trap");
+  unwind_protect_int (last_command_exit_value);
+  unwind_protect_int (last_command_exit_signal);
+  unwind_protect_var (last_made_pid);
+  unwind_protect_int (interrupt_immediately);
+  unwind_protect_int (jobs_list_frozen);
+  unwind_protect_pointer (the_pipeline);
+  unwind_protect_pointer (subst_assign_varlist);
+
+  /* We have to add the commands this way because they will be run
+     in reverse order of adding.  We don't want maybe_set_sigchld_trap ()
+     to reference freed memory. */
+  add_unwind_protect (xfree, trap_command);
+  add_unwind_protect (maybe_set_sigchld_trap, trap_command);
+
+  subst_assign_varlist = (WORD_LIST *)NULL;
+  the_pipeline = (PROCESS *)NULL;
+
+  running_trap = SIGCHLD + 1;
+
+  set_impossible_sigchld_trap ();
+  jobs_list_frozen = 1;
+  for (i = 0; i < nchild; i++)
+    {
+#if 0
+      interrupt_immediately = 1;
+#endif
+      parse_and_execute (savestring (trap_command), "trap", SEVAL_NOHIST|SEVAL_RESETLINE);
+    }
+
+  run_unwind_frame ("SIGCHLD trap");
+  running_trap = 0;
+}
+
+/* Function to call when you want to notify people of changes
+   in job status.  This prints out all jobs which are pending
+   notification to stderr, and marks those printed as already
+   notified, thus making them candidates for cleanup. */
+static void
+notify_of_job_status ()
+{
+  register int job, termsig;
+  char *dir;
+  sigset_t set, oset;
+  WAIT s;
+
+  if (jobs == 0 || js.j_jobslots == 0)
+    return;
+
+  if (old_ttou != 0)
+    {
+      sigemptyset (&set);
+      sigaddset (&set, SIGCHLD);
+      sigaddset (&set, SIGTTOU);
+      sigemptyset (&oset);
+      sigprocmask (SIG_BLOCK, &set, &oset);
+    }
+  else
+    queue_sigchld++;
+
+  /* XXX could use js.j_firstj here */
+  for (job = 0, dir = (char *)NULL; job < js.j_jobslots; job++)
+    {
+      if (jobs[job] && IS_NOTIFIED (job) == 0)
+       {
+         s = raw_job_exit_status (job);
+         termsig = WTERMSIG (s);
+
+         /* POSIX.2 says we have to hang onto the statuses of at most the
+            last CHILD_MAX background processes if the shell is running a
+            script.  If the shell is running a script, either from a file
+            or standard input, don't print anything unless the job was
+            killed by a signal. */
+         if (startup_state == 0 && WIFSIGNALED (s) == 0 &&
+               ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
+           continue;
+         
+#if 0
+         /* If job control is disabled, don't print the status messages.
+            Mark dead jobs as notified so that they get cleaned up.  If
+            startup_state == 2, we were started to run `-c command', so
+            don't print anything. */
+         if ((job_control == 0 && interactive_shell) || startup_state == 2)
+#else
+         /* If job control is disabled, don't print the status messages.
+            Mark dead jobs as notified so that they get cleaned up.  If
+            startup_state == 2 and subshell_environment has the
+            SUBSHELL_COMSUB bit turned on, we were started to run a command
+            substitution, so don't print anything. */
+         if ((job_control == 0 && interactive_shell) ||
+             (startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
+#endif
+           {
+             /* POSIX.2 compatibility:  if the shell is not interactive,
+                hang onto the job corresponding to the last asynchronous
+                pid until the user has been notified of its status or does
+                a `wait'. */
+             if (DEADJOB (job) && (interactive_shell || (find_last_pid (job, 0) != last_asynchronous_pid)))
+               jobs[job]->flags |= J_NOTIFIED;
+             continue;
+           }
+
+         /* Print info on jobs that are running in the background,
+            and on foreground jobs that were killed by anything
+            except SIGINT (and possibly SIGPIPE). */
+         switch (JOBSTATE (job))
+           {
+           case JDEAD:
+             if (interactive_shell == 0 && termsig && WIFSIGNALED (s) &&
+                 termsig != SIGINT &&
+#if defined (DONT_REPORT_SIGTERM)
+                 termsig != SIGTERM &&
+#endif
+#if defined (DONT_REPORT_SIGPIPE)
+                 termsig != SIGPIPE &&
+#endif
+                 signal_is_trapped (termsig) == 0)
+               {
+                 /* Don't print `0' for a line number. */
+                 fprintf (stderr, _("%s: line %d: "), get_name_for_error (), (line_number == 0) ? 1 : line_number);
+                 pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
+               }
+             else if (IS_FOREGROUND (job))
+               {
+#if !defined (DONT_REPORT_SIGPIPE)
+                 if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
+#else
+                 if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
+#endif
+                   {
+                     fprintf (stderr, "%s", j_strsignal (termsig));
+
+                     if (WIFCORED (s))
+                       fprintf (stderr, _(" (core dumped)"));
+
+                     fprintf (stderr, "\n");
+                   }
+               }
+             else if (job_control)     /* XXX job control test added */
+               {
+                 if (dir == 0)
+                   dir = current_working_directory ();
+                 pretty_print_job (job, JLIST_STANDARD, stderr);
+                 if (dir && strcmp (dir, jobs[job]->wd) != 0)
+                   fprintf (stderr,
+                            _("(wd now: %s)\n"), polite_directory_format (dir));
+               }
+
+             jobs[job]->flags |= J_NOTIFIED;
+             break;
+
+           case JSTOPPED:
+             fprintf (stderr, "\n");
+             if (dir == 0)
+               dir = current_working_directory ();
+             pretty_print_job (job, JLIST_STANDARD, stderr);
+             if (dir && (strcmp (dir, jobs[job]->wd) != 0))
+               fprintf (stderr,
+                        _("(wd now: %s)\n"), polite_directory_format (dir));
+             jobs[job]->flags |= J_NOTIFIED;
+             break;
+
+           case JRUNNING:
+           case JMIXED:
+             break;
+
+           default:
+             programming_error ("notify_of_job_status");
+           }
+       }
+    }
+  if (old_ttou != 0)
+    sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+  else
+    queue_sigchld--;
+}
+
+/* Initialize the job control mechanism, and set up the tty stuff. */
+int
+initialize_job_control (force)
+     int force;
+{
+  pid_t t;
+  int t_errno;
+
+  t_errno = -1;
+  shell_pgrp = getpgid (0);
+
+  if (shell_pgrp == -1)
+    {
+      sys_error (_("initialize_job_control: getpgrp failed"));
+      exit (1);
+    }
+
+  /* We can only have job control if we are interactive unless we force it. */
+  if (interactive == 0 && force == 0)
+    {
+      job_control = 0;
+      original_pgrp = NO_PID;
+      shell_tty = fileno (stderr);
+    }
+  else
+    {
+      shell_tty = -1;
+
+      /* If forced_interactive is set, we skip the normal check that stderr
+        is attached to a tty, so we need to check here.  If it's not, we
+        need to see whether we have a controlling tty by opening /dev/tty,
+        since trying to use job control tty pgrp manipulations on a non-tty
+        is going to fail. */
+      if (forced_interactive && isatty (fileno (stderr)) == 0)
+       shell_tty = open ("/dev/tty", O_RDWR|O_NONBLOCK);
+
+      /* Get our controlling terminal.  If job_control is set, or
+        interactive is set, then this is an interactive shell no
+        matter where fd 2 is directed. */
+      if (shell_tty == -1)
+       shell_tty = dup (fileno (stderr));      /* fd 2 */
+
+      if (shell_tty != -1)
+       shell_tty = move_to_high_fd (shell_tty, 1, -1);
+
+      /* Compensate for a bug in systems that compiled the BSD
+        rlogind with DEBUG defined, like NeXT and Alliant. */
+      if (shell_pgrp == 0)
+       {
+         shell_pgrp = getpid ();
+         setpgid (0, shell_pgrp);
+         tcsetpgrp (shell_tty, shell_pgrp);
+       }
+
+      while ((terminal_pgrp = tcgetpgrp (shell_tty)) != -1)
+       {
+         if (shell_pgrp != terminal_pgrp)
+           {
+             SigHandler *ottin;
+
+             ottin = set_signal_handler(SIGTTIN, SIG_DFL);
+             kill (0, SIGTTIN);
+             set_signal_handler (SIGTTIN, ottin);
+             continue;
+           }
+         break;
+       }
+
+      if (terminal_pgrp == -1)
+       t_errno = errno;
+
+      /* Make sure that we are using the new line discipline. */
+      if (set_new_line_discipline (shell_tty) < 0)
+       {
+         sys_error (_("initialize_job_control: line discipline"));
+         job_control = 0;
+       }
+      else
+       {
+         original_pgrp = shell_pgrp;
+         shell_pgrp = getpid ();
+
+         if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
+           {
+             sys_error (_("initialize_job_control: setpgid"));
+             shell_pgrp = original_pgrp;
+           }
+
+         job_control = 1;
+
+         /* If (and only if) we just set our process group to our pid,
+            thereby becoming a process group leader, and the terminal
+            is not in the same process group as our (new) process group,
+            then set the terminal's process group to our (new) process
+            group.  If that fails, set our process group back to what it
+            was originally (so we can still read from the terminal) and
+            turn off job control.  */
+         if (shell_pgrp != original_pgrp && shell_pgrp != terminal_pgrp)
+           {
+             if (give_terminal_to (shell_pgrp, 0) < 0)
+               {
+                 t_errno = errno;
+                 setpgid (0, original_pgrp);
+                 shell_pgrp = original_pgrp;
+                 errno = t_errno;
+                 sys_error (_("cannot set terminal process group (%d)"), shell_pgrp);
+                 job_control = 0;
+               }
+           }
+
+         if (job_control && ((t = tcgetpgrp (shell_tty)) == -1 || t != shell_pgrp))
+           {
+             if (t_errno != -1)
+               errno = t_errno;
+             sys_error (_("cannot set terminal process group (%d)"), t);
+             job_control = 0;
+           }
+       }
+      if (job_control == 0)
+       internal_error (_("no job control in this shell"));
+    }
+
+  if (shell_tty != fileno (stderr))
+    SET_CLOSE_ON_EXEC (shell_tty);
+
+  set_signal_handler (SIGCHLD, sigchld_handler);
+
+  change_flag ('m', job_control ? '-' : '+');
+
+  if (interactive)
+    get_tty_state ();
+
+  if (js.c_childmax < 0)
+    js.c_childmax = getmaxchild ();
+  if (js.c_childmax < 0)
+    js.c_childmax = DEFAULT_CHILD_MAX;
+
+  return job_control;
+}
+
+#ifdef DEBUG
+void
+debug_print_pgrps ()
+{
+  itrace("original_pgrp = %ld shell_pgrp = %ld terminal_pgrp = %ld",
+        (long)original_pgrp, (long)shell_pgrp, (long)terminal_pgrp);
+  itrace("tcgetpgrp(%d) -> %ld, getpgid(0) -> %ld",
+        shell_tty, (long)tcgetpgrp (shell_tty), (long)getpgid(0));
+}
+#endif
+
+/* Set the line discipline to the best this system has to offer.
+   Return -1 if this is not possible. */
+static int
+set_new_line_discipline (tty)
+     int tty;
+{
+#if defined (NEW_TTY_DRIVER)
+  int ldisc;
+
+  if (ioctl (tty, TIOCGETD, &ldisc) < 0)
+    return (-1);
+
+  if (ldisc != NTTYDISC)
+    {
+      ldisc = NTTYDISC;
+
+      if (ioctl (tty, TIOCSETD, &ldisc) < 0)
+       return (-1);
+    }
+  return (0);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+#  if defined (TERMIO_LDISC) && (NTTYDISC)
+  if (ioctl (tty, TCGETA, &shell_tty_info) < 0)
+    return (-1);
+
+  if (shell_tty_info.c_line != NTTYDISC)
+    {
+      shell_tty_info.c_line = NTTYDISC;
+      if (ioctl (tty, TCSETAW, &shell_tty_info) < 0)
+       return (-1);
+    }
+#  endif /* TERMIO_LDISC && NTTYDISC */
+  return (0);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+#  if defined (TERMIOS_LDISC) && defined (NTTYDISC)
+  if (tcgetattr (tty, &shell_tty_info) < 0)
+    return (-1);
+
+  if (shell_tty_info.c_line != NTTYDISC)
+    {
+      shell_tty_info.c_line = NTTYDISC;
+      if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
+       return (-1);
+    }
+#  endif /* TERMIOS_LDISC && NTTYDISC */
+  return (0);
+#endif /* TERMIOS_TTY_DRIVER */
+
+#if !defined (NEW_TTY_DRIVER) && !defined (TERMIO_TTY_DRIVER) && !defined (TERMIOS_TTY_DRIVER)
+  return (-1);
+#endif
+}
+
+/* Setup this shell to handle C-C, etc. */
+void
+initialize_job_signals ()
+{
+  if (interactive)
+    {
+      set_signal_handler (SIGINT, sigint_sighandler);
+      set_signal_handler (SIGTSTP, SIG_IGN);
+      set_signal_handler (SIGTTOU, SIG_IGN);
+      set_signal_handler (SIGTTIN, SIG_IGN);
+    }
+  else if (job_control)
+    {
+      old_tstp = set_signal_handler (SIGTSTP, sigstop_sighandler);
+      old_ttin = set_signal_handler (SIGTTIN, sigstop_sighandler);
+      old_ttou = set_signal_handler (SIGTTOU, sigstop_sighandler);
+    }
+  /* Leave these things alone for non-interactive shells without job
+     control. */
+}
+
+/* Here we handle CONT signals. */
+static sighandler
+sigcont_sighandler (sig)
+     int sig;
+{
+  initialize_job_signals ();
+  set_signal_handler (SIGCONT, old_cont);
+  kill (getpid (), SIGCONT);
+
+  SIGRETURN (0);
+}
+
+/* Here we handle stop signals while we are running not as a login shell. */
+static sighandler
+sigstop_sighandler (sig)
+     int sig;
+{
+  set_signal_handler (SIGTSTP, old_tstp);
+  set_signal_handler (SIGTTOU, old_ttou);
+  set_signal_handler (SIGTTIN, old_ttin);
+
+  old_cont = set_signal_handler (SIGCONT, sigcont_sighandler);
+
+  give_terminal_to (shell_pgrp, 0);
+
+  kill (getpid (), sig);
+
+  SIGRETURN (0);
+}
+
+/* Give the terminal to PGRP.  */
+int
+give_terminal_to (pgrp, force)
+     pid_t pgrp;
+     int force;
+{
+  sigset_t set, oset;
+  int r, e;
+
+  r = 0;
+  if (job_control || force)
+    {
+      sigemptyset (&set);
+      sigaddset (&set, SIGTTOU);
+      sigaddset (&set, SIGTTIN);
+      sigaddset (&set, SIGTSTP);
+      sigaddset (&set, SIGCHLD);
+      sigemptyset (&oset);
+      sigprocmask (SIG_BLOCK, &set, &oset);
+
+      if (tcsetpgrp (shell_tty, pgrp) < 0)
+       {
+         /* Maybe we should print an error message? */
+#if 0
+         sys_error ("tcsetpgrp(%d) failed: pid %ld to pgrp %ld",
+           shell_tty, (long)getpid(), (long)pgrp);
+#endif
+         r = -1;
+         e = errno;
+       }
+      else
+       terminal_pgrp = pgrp;
+      sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+    }
+
+  if (r == -1)
+    errno = e;
+
+  return r;
+}
+
+/* Give terminal to NPGRP iff it's currently owned by OPGRP.  FLAGS are the
+   flags to pass to give_terminal_to(). */
+static int
+maybe_give_terminal_to (opgrp, npgrp, flags)
+     pid_t opgrp, npgrp;
+     int flags;
+{
+  int tpgrp;
+
+  tpgrp = tcgetpgrp (shell_tty);
+  if (tpgrp < 0 && errno == ENOTTY)
+    return -1;
+  if (tpgrp == npgrp)
+    {
+      terminal_pgrp = npgrp;
+      return 0;
+    }
+  else if (tpgrp != opgrp)
+    {
+#if defined (DEBUG)
+      internal_warning ("maybe_give_terminal_to: terminal pgrp == %d shell pgrp = %d new pgrp = %d", tpgrp, opgrp, npgrp);
+#endif
+      return -1;
+    }
+  else
+    return (give_terminal_to (npgrp, flags));     
+}
+
+/* Clear out any jobs in the job array.  This is intended to be used by
+   children of the shell, who should not have any job structures as baggage
+   when they start executing (forking subshells for parenthesized execution
+   and functions with pipes are the two that spring to mind).  If RUNNING_ONLY
+   is nonzero, only running jobs are removed from the table. */
+void
+delete_all_jobs (running_only)
+     int running_only;
+{
+  register int i;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX - need to set j_lastj, j_firstj appropriately if running_only != 0. */
+  if (js.j_jobslots)
+    {
+      js.j_current = js.j_previous = NO_JOB;
+
+      /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("delete_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+         if (i > js.j_lastj && jobs[i])
+           itrace("delete_all_jobs: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+         if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
+           delete_job (i, DEL_WARNSTOPPED);
+       }
+      if (running_only == 0)
+       {
+         free ((char *)jobs);
+         js.j_jobslots = 0;
+         js.j_firstj = js.j_lastj = js.j_njobs = 0;
+       }
+    }
+
+  if (running_only == 0)
+    bgp_clear ();
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Mark all jobs in the job array so that they don't get a SIGHUP when the
+   shell gets one.  If RUNNING_ONLY is nonzero, mark only running jobs. */
+void
+nohup_all_jobs (running_only)
+     int running_only;
+{
+  register int i;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  if (js.j_jobslots)
+    {
+      /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
+         nohup_job (i);
+    }
+
+  UNBLOCK_CHILD (oset);
+}
+
+int
+count_all_jobs ()
+{
+  int i, n;
+  sigset_t set, oset;
+
+  /* This really counts all non-dead jobs. */
+  BLOCK_CHILD (set, oset);
+  /* XXX could use js.j_firstj here */
+  for (i = n = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("count_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+      if (i > js.j_lastj && jobs[i])
+       itrace("count_all_jobs: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+      if (jobs[i] && DEADJOB(i) == 0)
+       n++;
+    }
+  UNBLOCK_CHILD (oset);
+  return n;
+}
+
+static void
+mark_all_jobs_as_dead ()
+{
+  register int i;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    if (jobs[i])
+      {
+       jobs[i]->state = JDEAD;
+       js.j_ndead++;
+      }
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Mark all dead jobs as notified, so delete_job () cleans them out
+   of the job table properly.  POSIX.2 says we need to save the
+   status of the last CHILD_MAX jobs, so we count the number of dead
+   jobs and mark only enough as notified to save CHILD_MAX statuses. */
+static void
+mark_dead_jobs_as_notified (force)
+     int force;
+{
+  register int i, ndead, ndeadproc;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  BLOCK_CHILD (set, oset);
+
+  /* If FORCE is non-zero, we don't have to keep CHILD_MAX statuses
+     around; just run through the array. */
+  if (force)
+    {
+    /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+         if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
+           jobs[i]->flags |= J_NOTIFIED;
+       }
+      UNBLOCK_CHILD (oset);
+      return;
+    }
+
+  /* Mark enough dead jobs as notified to keep CHILD_MAX processes left in the
+     array with the corresponding not marked as notified.  This is a better
+     way to avoid pid aliasing and reuse problems than keeping the POSIX-
+     mandated CHILD_MAX jobs around.  delete_job() takes care of keeping the
+     bgpids list regulated. */
+          
+  /* Count the number of dead jobs */
+  /* XXX could use js.j_firstj here */
+  for (i = ndead = ndeadproc = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+      if (i > js.j_lastj && jobs[i])
+       itrace("mark_dead_jobs_as_notified: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+      if (jobs[i] && DEADJOB (i))
+       {
+         ndead++;
+         ndeadproc += processes_in_job (i);
+       }
+    }
+
+#ifdef DEBUG
+# if 0
+  if (ndeadproc != js.c_reaped)
+    itrace("mark_dead_jobs_as_notified: ndeadproc (%d) != js.c_reaped (%d)", ndeadproc, js.c_reaped);
+# endif
+  if (ndead != js.j_ndead)
+    itrace("mark_dead_jobs_as_notified: ndead (%d) != js.j_ndead (%d)", ndead, js.j_ndead);
+#endif
+
+  if (js.c_childmax < 0)
+    js.c_childmax = getmaxchild ();
+  if (js.c_childmax < 0)
+    js.c_childmax = DEFAULT_CHILD_MAX;
+
+  /* Don't do anything if the number of dead processes is less than CHILD_MAX
+     and we're not forcing a cleanup. */
+  if (ndeadproc <= js.c_childmax)
+    {
+      UNBLOCK_CHILD (oset);
+      return;
+    }
+
+#if 0
+itrace("mark_dead_jobs_as_notified: child_max = %d ndead = %d ndeadproc = %d", js.c_childmax, ndead, ndeadproc);
+#endif
+
+  /* Mark enough dead jobs as notified that we keep CHILD_MAX jobs in
+     the list.  This isn't exactly right yet; changes need to be made
+     to stop_pipeline so we don't mark the newer jobs after we've
+     created CHILD_MAX slots in the jobs array.  This needs to be
+     integrated with a way to keep the jobs array from growing without
+     bound.  Maybe we wrap back around to 0 after we reach some max
+     limit, and there are sufficient job slots free (keep track of total
+     size of jobs array (js.j_jobslots) and running count of number of jobs
+     in jobs array.  Then keep a job index corresponding to the `oldest job'
+     and start this loop there, wrapping around as necessary.  In effect,
+     we turn the list into a circular buffer. */
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+         if (i > js.j_lastj && jobs[i])
+           itrace("mark_dead_jobs_as_notified: job %d non-null after js.j_lastj (%d)", i, js.j_lastj);
+#endif
+         /* If marking this job as notified would drop us down below
+            child_max, don't mark it so we can keep at least child_max
+            statuses.  XXX -- need to check what Posix actually says
+            about keeping statuses. */
+         if ((ndeadproc -= processes_in_job (i)) <= js.c_childmax)
+           break;
+         jobs[i]->flags |= J_NOTIFIED;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Here to allow other parts of the shell (like the trap stuff) to
+   freeze and unfreeze the jobs list. */
+void
+freeze_jobs_list ()
+{
+  jobs_list_frozen = 1;
+}
+
+void
+unfreeze_jobs_list ()
+{
+  jobs_list_frozen = 0;
+}
+
+/* Allow or disallow job control to take place.  Returns the old value
+   of job_control. */
+int
+set_job_control (arg)
+     int arg;
+{
+  int old;
+
+  old = job_control;
+  job_control = arg;
+
+  /* If we're turning on job control, reset pipeline_pgrp so make_child will
+     put new child processes into the right pgrp */
+  if (job_control != old && job_control)
+    pipeline_pgrp = 0;
+
+  return (old);
+}
+
+/* Turn off all traces of job control.  This is run by children of the shell
+   which are going to do shellsy things, like wait (), etc. */
+void
+without_job_control ()
+{
+  stop_making_children ();
+  start_pipeline ();
+#if defined (PGRP_PIPE)
+  sh_closepipe (pgrp_pipe);
+#endif
+  delete_all_jobs (0);
+  set_job_control (0);
+}
+
+/* If this shell is interactive, terminate all stopped jobs and
+   restore the original terminal process group.  This is done
+   before the `exec' builtin calls shell_execve. */
+void
+end_job_control ()
+{
+  if (interactive_shell)               /* XXX - should it be interactive? */
+    {
+      terminate_stopped_jobs ();
+
+      if (original_pgrp >= 0)
+       give_terminal_to (original_pgrp, 1);
+    }
+
+  if (original_pgrp >= 0)
+    setpgid (0, original_pgrp);
+}
+
+/* Restart job control by closing shell tty and reinitializing.  This is
+   called after an exec fails in an interactive shell and we do not exit. */
+void
+restart_job_control ()
+{
+  if (shell_tty != -1)
+    close (shell_tty);
+  initialize_job_control (0);
+}
+
+void
+set_maxchild (nchild)
+     int nchild;
+{
+  static int lmaxchild = -1;
+
+  if (lmaxchild < 0)
+    lmaxchild = getmaxchild ();
+  if (lmaxchild < 0)
+    lmaxchild = DEFAULT_CHILD_MAX;
+
+  /* Clamp value we set.  Minimum is what Posix requires, maximum is defined
+     above as MAX_CHILD_MAX. */
+  if (nchild < lmaxchild)
+    nchild = lmaxchild;
+  else if (nchild > MAX_CHILD_MAX)
+    nchild = MAX_CHILD_MAX;
+
+  js.c_childmax = nchild;
+}
+
+/* Set the handler to run when the shell receives a SIGCHLD signal. */
+void
+set_sigchld_handler ()
+{
+  set_signal_handler (SIGCHLD, sigchld_handler);
+}
+
+#if defined (PGRP_PIPE)
+/* Read from the read end of a pipe.  This is how the process group leader
+   blocks until all of the processes in a pipeline have been made. */
+static void
+pipe_read (pp)
+     int *pp;
+{
+  char ch;
+
+  if (pp[1] >= 0)
+    {
+      close (pp[1]);
+      pp[1] = -1;
+    }
+
+  if (pp[0] >= 0)
+    {
+      while (read (pp[0], &ch, 1) == -1 && errno == EINTR)
+       ;
+    }
+}
+
+/* Functional interface closes our local-to-job-control pipes. */
+void
+close_pgrp_pipe ()
+{
+  sh_closepipe (pgrp_pipe);
+}
+
+void
+save_pgrp_pipe (p, clear)
+     int *p;
+     int clear;
+{
+  p[0] = pgrp_pipe[0];
+  p[1] = pgrp_pipe[1];
+  if (clear)
+    pgrp_pipe[0] = pgrp_pipe[1] = -1;
+}
+
+void
+restore_pgrp_pipe (p)
+     int *p;
+{
+  pgrp_pipe[0] = p[0];
+  pgrp_pipe[1] = p[1];
+}
+
+#endif /* PGRP_PIPE */
index 93ea5107c02b1142aab66ce066f549a8db4394b8..70c48f253debf13fbbbe7189b5d6dce98fcc87c7 100644 (file)
Binary files a/lib/readline/doc/readline.dvi and b/lib/readline/doc/readline.dvi differ
index 11c63711e970918c8bde20febf9502f7d6afa8dc..12804e90b7518e02f4a7c04adef07597c44576e4 100644 (file)
@@ -1,27 +1,18 @@
 This is readline.info, produced by makeinfo version 4.13 from
 ./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, 26 May
+2013), 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-2012 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,20 @@ 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.  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 +591,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
@@ -991,12 +1010,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)'
@@ -1242,6 +1275,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.
+
 
 \1f
 File: readline.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bindable Readline Commands
@@ -1365,7 +1402,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-2012 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
@@ -1761,6 +1798,23 @@ These variables are available to function writers.
      `rl_getc', the default Readline character input function (*note
      Character Input::).
 
+ -- 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.  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 functions using Readline's callback interface (*note Alternate
+     Interface::), which may not use the traditional `read(2)' and file
+     descriptor interface.
+
  -- Variable: rl_voidfunc_t * rl_redisplay_function
      If non-zero, Readline will call indirectly through this pointer to
      update the display with the current contents of the editing buffer.
@@ -1791,6 +1845,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
@@ -1922,6 +1987,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.
 
 \1f
 File: readline.info,  Node: Function Naming,  Next: Keymaps,  Up: Readline Convenience Functions
@@ -2534,6 +2600,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.
+
 \1f
 File: readline.info,  Node: Alternate Interface,  Next: A Readline Example,  Prev: Miscellaneous Functions,  Up: Readline Convenience Functions
 
@@ -2551,20 +2623,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 +2650,7 @@ functions available to make this easy.
      exits to reset the terminal settings.
 
 \1f
-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 +2717,96 @@ changed.
        return (0);
      }
 
+\1f
+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.
+
+     /* 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");
+               break;
+             }
+
+           if (FD_ISSET (fileno (rl_instream), &fds))
+             rl_callback_read_char ();
+         }
+
+       printf ("rltest: Event loop has exited\n");
+       return 0;
+     }
+
 \1f
 File: readline.info,  Node: Readline Signal Handling,  Next: Custom Completers,  Prev: Readline Convenience Functions,  Up: Programming with GNU Readline
 
@@ -2660,7 +2824,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,8 +2856,8 @@ 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.
 
@@ -2763,8 +2927,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)
@@ -2999,11 +3163,40 @@ 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
@@ -4212,22 +4405,24 @@ Function and Variable Index
 * 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 (<TAB>):                      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.
@@ -4241,7 +4436,7 @@ Function and Variable Index
                                                               (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)
@@ -4252,9 +4447,9 @@ 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-history (M->):                  Commands For History.
                                                               (line  22)
@@ -4262,32 +4457,36 @@ Function and Variable Index
 * exchange-point-and-mark (C-x C-x):     Miscellaneous Commands.
                                                               (line  36)
 * expand-tilde:                          Readline Init File Syntax.
-                                                              (line 120)
+                                                              (line 126)
 * forward-backward-delete-char ():       Commands For Text.   (line  15)
 * 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 +4496,19 @@ Function and Variable Index
 * kill-word (M-d):                       Commands For Killing.
                                                               (line  19)
 * mark-modified-lines:                   Readline Init File Syntax.
-                                                              (line 169)
+                                                              (line 191)
 * mark-symlinked-directories:            Readline Init File Syntax.
-                                                              (line 174)
+                                                              (line 196)
 * match-hidden-files:                    Readline Init File Syntax.
-                                                              (line 179)
+                                                              (line 201)
 * 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 208)
 * 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,16 +4516,17 @@ Function and Variable Index
 * non-incremental-reverse-search-history (M-p): Commands For History.
                                                               (line  35)
 * output-meta:                           Readline Init File Syntax.
-                                                              (line 191)
+                                                              (line 213)
 * overwrite-mode ():                     Commands For Text.   (line  53)
 * page-completions:                      Readline Init File Syntax.
-                                                              (line 196)
+                                                              (line 218)
 * possible-completions (M-?):            Commands For Completion.
                                                               (line  11)
 * prefix-meta (<ESC>):                   Miscellaneous Commands.
                                                               (line  18)
 * previous-history (C-p):                Commands For History.
                                                               (line  12)
+* print-last-kbd-macro ():               Keyboard Macros.     (line  17)
 * quoted-insert (C-q or C-v):            Commands For Text.   (line  20)
 * re-read-init-file (C-x C-r):           Miscellaneous Commands.
                                                               (line   6)
@@ -4335,7 +4535,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 228)
 * revert-line (M-r):                     Miscellaneous Commands.
                                                               (line  25)
 * rl_add_defun:                          Function Naming.     (line  20)
@@ -4347,11 +4547,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,10 +4561,10 @@ 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 176)
 * 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.
@@ -4373,6 +4573,8 @@ Function and Variable Index
                                                               (line  46)
 * rl_cleanup_after_signal:               Readline Signal Handling.
                                                               (line  66)
+* 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.
@@ -4384,48 +4586,50 @@ Function and Variable Index
 * 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)
-* rl_completion_entry_function <1>:      How Completing Works.
-                                                              (line  55)
-* rl_completion_entry_function:          Completion Variables.
+                                                              (line 125)
+* rl_completion_entry_function <1>:      Completion Variables.
                                                               (line   7)
+* rl_completion_entry_function:          How Completing Works.
+                                                              (line  55)
 * 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 166)
 * 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)
@@ -4434,31 +4638,35 @@ Function and Variable Index
 * rl_done:                               Readline Variables.  (line  28)
 * rl_echo_signal_char:                   Readline Signal Handling.
                                                               (line  89)
-* rl_editing_mode:                       Readline Variables.  (line 270)
+* rl_editing_mode:                       Readline Variables.  (line 298)
 * 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 183)
+* rl_executing_keymap:                   Readline Variables.  (line 172)
+* rl_executing_keyseq:                   Readline Variables.  (line 187)
+* rl_executing_macro:                    Readline Variables.  (line 180)
 * rl_expand_prompt:                      Redisplay.           (line  64)
-* rl_explicit_arg:                       Readline Variables.  (line 261)
+* rl_explicit_arg:                       Readline Variables.  (line 289)
 * 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)
@@ -4483,12 +4691,13 @@ Function and Variable Index
 * 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 140)
 * rl_insert_completions:                 Completion Functions.
                                                               (line  32)
 * rl_insert_text:                        Modifying Text.      (line   7)
@@ -4497,6 +4706,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 191)
 * rl_kill_text:                          Modifying Text.      (line  19)
 * rl_last_func:                          Readline Variables.  (line 110)
 * rl_library_version:                    Readline Variables.  (line  73)
@@ -4515,7 +4725,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 293)
 * rl_on_new_line:                        Redisplay.           (line  15)
 * rl_on_new_line_with_prompt:            Redisplay.           (line  19)
 * rl_outstream:                          Readline Variables.  (line 101)
@@ -4526,17 +4736,17 @@ 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 159)
 * 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 194)
 * 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 153)
 * rl_replace_line:                       Utility Functions.   (line  22)
 * rl_reset_after_signal:                 Readline Signal Handling.
                                                               (line  80)
@@ -4561,10 +4771,11 @@ Function and Variable Index
 * rl_set_signals:                        Readline Signal Handling.
                                                               (line 119)
 * rl_show_char:                          Redisplay.           (line  33)
+* rl_signal_event_hook:                  Readline Variables.  (line 136)
 * 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)
@@ -4586,11 +4797,13 @@ Function and Variable Index
 * set-mark (C-@):                        Miscellaneous Commands.
                                                               (line  32)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
-                                                              (line 212)
+                                                              (line 234)
 * show-all-if-unmodified:                Readline Init File Syntax.
-                                                              (line 218)
+                                                              (line 240)
+* show-mode-in-prompt:                   Readline Init File Syntax.
+                                                              (line 249)
 * skip-completed-text:                   Readline Init File Syntax.
-                                                              (line 227)
+                                                              (line 254)
 * skip-csi-sequence ():                  Miscellaneous Commands.
                                                               (line  51)
 * start-kbd-macro (C-x ():               Keyboard Macros.     (line   6)
@@ -4607,70 +4820,71 @@ Function and Variable Index
                                                               (line  28)
 * upcase-word (M-u):                     Commands For Text.   (line  41)
 * visible-stats:                         Readline Init File Syntax.
-                                                              (line 240)
+                                                              (line 267)
 * 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)
 
 
 \1f
 Tag Table:
-Node: Top\7f1286
-Node: Command Line Editing\7f1943
-Node: Introduction and Notation\7f2595
-Node: Readline Interaction\7f4218
-Node: Readline Bare Essentials\7f5410
-Node: Readline Movement Commands\7f7200
-Node: Readline Killing Commands\7f8166
-Node: Readline Arguments\7f10087
-Node: Searching\7f11132
-Node: Readline Init File\7f13284
-Node: Readline Init File Syntax\7f14438
-Node: Conditional Init Constructs\7f29499
-Node: Sample Init File\7f32033
-Node: Bindable Readline Commands\7f35151
-Node: Commands For Moving\7f36209
-Node: Commands For History\7f37071
-Node: Commands For Text\7f40476
-Node: Commands For Killing\7f43203
-Node: Numeric Arguments\7f45346
-Node: Commands For Completion\7f46486
-Node: Keyboard Macros\7f48456
-Node: Miscellaneous Commands\7f49028
-Node: Readline vi Mode\7f52885
-Node: Programming with GNU Readline\7f54702
-Node: Basic Behavior\7f55688
-Node: Custom Functions\7f59105
-Node: Readline Typedefs\7f60589
-Node: Function Writing\7f62228
-Node: Readline Variables\7f63535
-Node: Readline Convenience Functions\7f74201
-Node: Function Naming\7f75191
-Node: Keymaps\7f76453
-Node: Binding Keys\7f78446
-Node: Associating Function Names and Bindings\7f82993
-Node: Allowing Undoing\7f85278
-Node: Redisplay\7f87828
-Node: Modifying Text\7f91728
-Node: Character Input\7f92974
-Node: Terminal Management\7f94872
-Node: Utility Functions\7f96308
-Node: Miscellaneous Functions\7f99636
-Node: Alternate Interface\7f101933
-Node: A Readline Example\7f104092
-Node: Readline Signal Handling\7f105995
-Node: Custom Completers\7f112183
-Node: How Completing Works\7f112903
-Node: Completion Functions\7f116217
-Node: Completion Variables\7f119789
-Node: A Short Completion Example\7f133902
-Node: GNU Free Documentation License\7f146681
-Node: Concept Index\7f171874
-Node: Function and Variable Index\7f173395
+Node: Top\7f864
+Node: Command Line Editing\7f1589
+Node: Introduction and Notation\7f2241
+Node: Readline Interaction\7f3864
+Node: Readline Bare Essentials\7f5056
+Node: Readline Movement Commands\7f6846
+Node: Readline Killing Commands\7f7812
+Node: Readline Arguments\7f9733
+Node: Searching\7f10778
+Node: Readline Init File\7f12930
+Node: Readline Init File Syntax\7f14084
+Node: Conditional Init Constructs\7f30640
+Node: Sample Init File\7f33174
+Node: Bindable Readline Commands\7f36292
+Node: Commands For Moving\7f37350
+Node: Commands For History\7f38212
+Node: Commands For Text\7f42367
+Node: Commands For Killing\7f45094
+Node: Numeric Arguments\7f47237
+Node: Commands For Completion\7f48377
+Node: Keyboard Macros\7f50347
+Node: Miscellaneous Commands\7f51036
+Node: Readline vi Mode\7f54893
+Node: Programming with GNU Readline\7f56710
+Node: Basic Behavior\7f57696
+Node: Custom Functions\7f61113
+Node: Readline Typedefs\7f62597
+Node: Function Writing\7f64236
+Node: Readline Variables\7f65543
+Node: Readline Convenience Functions\7f77541
+Node: Function Naming\7f78613
+Node: Keymaps\7f79875
+Node: Binding Keys\7f81868
+Node: Associating Function Names and Bindings\7f86415
+Node: Allowing Undoing\7f88700
+Node: Redisplay\7f91250
+Node: Modifying Text\7f95150
+Node: Character Input\7f96396
+Node: Terminal Management\7f98294
+Node: Utility Functions\7f99730
+Node: Miscellaneous Functions\7f103058
+Node: Alternate Interface\7f105647
+Node: A Readline Example\7f107880
+Node: Alternate Interface Example\7f109819
+Node: Readline Signal Handling\7f112367
+Node: Custom Completers\7f118585
+Node: How Completing Works\7f119305
+Node: Completion Functions\7f122619
+Node: Completion Variables\7f126191
+Node: A Short Completion Example\7f141838
+Node: GNU Free Documentation License\7f154617
+Node: Concept Index\7f179810
+Node: Function and Variable Index\7f181331
 \1f
 End Tag Table
index 59d1d77dfbde24ae6154523c842cb621bea04e3e..40fb71562999e7b93c31a01be68e7f0b582456f7 100644 (file)
@@ -1,9 +1,10 @@
 %!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: Sat May 25 17:14:43 2013
+%%Pages: 77
 %%PageOrder: Ascend
-%%BoundingBox: 0 0 595 842
+%%BoundingBox: 0 0 596 842
 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10
 %%+ CMSLTT10 CMTI10 CMSL10 CMSS10 CMTT9 CMR9 CMMI9
 %%DocumentPaperSizes: a4
@@ -11,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o readline.ps readline.dvi
 %DVIPSParameters: dpi=300
-%DVIPSSource:  TeX output 2011.02.08:1110
+%DVIPSSource:  TeX output 2013.05.25:1714
 %%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: (<http://www.ams.org>), 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<http://www.ams.org>\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: (<http://www.ams.org>), 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<http://www.ams.org>\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: (<http://www.ams.org>), 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<http://www.ams.org>\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: (<http://www.ams.org>), 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<http://www.ams.org>\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
@@ -819,488 +1416,745 @@ 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
+AAF9D1AAC1FB7EA79244184BDEDB4847817A1FDDF1807FD34C62B6B91D5AD401
+94D3526B2F54E709CB8BF4A07E714D1C76378CE723FB2CA9D8AED089AF77F068
+58E0CF30890B50A58DD1DEE9E88AC3E2C99EBC10E3DB128489057523054EE7E8
+6B55C8E39D7278988FD6FD4F9C548FC5B749C5C4FA012CDEF0CB93CA6962178E
+CB966BF7FE03E304451F1501AD22E7873F772E95267376CD7E38B088EFF55246
+E90D3179A6344138A28B71FDC04832DBA04F47C3DEF736B6F6F3AC0284AD950A
+6C23F52DA2CCB589228B37AD15EC6271444F3B35840FBF1D542E699F61A5A4F3
+FFB6380023E52B1449AE785420298DD403D40251F68951345ED51C10C848174B
+417805DB69D607266C1605ACF6BE0F1B5B30068E39E7813E3526B586A6250A69
+92AC3B784FF98ACB7E1EE4A8CB1C411CE8736DFF682F067CB8AC6EBCAD79098B
+581C5977ECB8D1EDAC313314C7BC14C0CFDEE9A3C803CC364FE601500374DF17
+14B7AA778C1F2526E882D4FF6143BBF4ADB3DAA2E4635CFCC682DFF63062213E
+FD92BC48BDBAE3871B159FC379A003E6C910AC97360C7E499B1CE48E9619C855
+AF8974F05EF2ABD4C24C5B9EB14F5AAD148380A8C240F2A17237C994B88C2ABC
+BCE6FA2B38A09F1D96DA654A56734A91832658F05A92EAC7B6F1AC766DA83E84
+0AE690236E528BF927793B83220E62A3C5161518B40001463BA99B2BB8064301
+A3A0F6FB489AB9BC43E6AFAD052D0B452A77FC93CB20B5ADFC6518BB22C807C9
+452B950676AE6A37D928AAE64E53167C49AF5304F27EECD1297B2396D9ECB642
+1A1FFF711B42C3F1EF6F9381FBBB54C2EECA730EA028EC6C913BB679F5830E4B
+DCCF30F6C372B1BA08DED6ED07889303F512AE1F32E4A5BD19B234C394F184F9
+C67BC439606F172ED2B954F7E42145F8DE655A69CD3E46E64A78B2491B81E4F2
+127672A29C369C35EC1C57EE6AD762F9DF67719AB672958745044B6155AD0DEA
+CDBE0E8A6F0554F84C7C240ED4F815994F361BCC3D200DB0FBCFF00DFBBA8525
+84986D5F5547594119832DC54853A90045E0CA6A81878258925020F18734D5A5
+A02932467FB230519820E924988F7C81E53CDA8AB08B620B474C9CEC91996842
+73296F020C5E6C596E8FCA114498E59C31930B51240E412C59EC18415DAC2794
+C3192354F3173EDDAD4840FFF83036475C823932B5DCC7CA23F84052635EAD6C
+625B7AFC69C973D73CF5BE023C14558F340699581DA6D1CA3F32CBB7CD6B8F35
+C7583EF5EB53F9CC9067197C650A82FA627FEE59815D6AAD684DA8E446D1402C
+765C8320E7B53FD7947C5875A3C3732D55DDD67996E536A1ED1013211317776C
+0F797D48BE4F95BCA4B0F6EF375CDDF63AE05CBF1D4528ECA61B98795E9333D8
+1D2AB77798D22CB5999DC53EF1AE45932C1902A1D07143DDCA0B9A2131AC29E1
+BC9DB98AFD1D4DA4E868389E78D7F7AE159C583B3720F62C0C48B43F4A044EEA
+D3FAFCE19CEA4BCBEF5DD6763B86045016E5162A141D7529D1FF458C10FCD40A
+C1C5ED1F767993C4DB244651F4E4DD46DB2DA9D82385E20428AC23A411AC8B15
+8695145BA17C51E87E6D214D089D15FC4C76D1DAAB49E2C86B312D70BAA2790E
+C7EFB3401925B02701F9D015D7317EEC06EB048380257502747D6F4CA1BAD7A9
+9F1578BE858D772A152FEAD2714885CE7E86A22E83963E43A028155DC901872A
+C1212C697D91FA63D62D8F279124032511EFC993263D856C9B31C3E1B0E4028A
+82C8DBDB2B6B22C923223F9AE0FEC79CDB60761BEEB4B5CC2730FB362781A642
+3251C605CBB9FDAC65469DE74DCE70E4C68D142D80BABE8C5E4A477B22B5E3BB
+2934EF408237F0D90359DE32691C54B4E023A8F6D88D8B691F705576E76BE1B1
+793F49F43D2642177DAF85A23A70A7189B91074B23A16DFBCFEE74A19FB66430
+FF9E758F975D64428C016D10A6854A5C29C7690E7E55A3B8BF52FB3455834688
+03CA471737A4358603D5CD8AC53B0D7082198A1C31B9C2468CB2FEA256EF6688
+8C29BABF2183B136EB2882B63286D24988AF610C5F59F6BE6EBE65C14AB60A75
+33844E94EA4F222F7D3DFE783FD4284FC68F5989C39E465363D4BD593F315FE2
+4F063FE6EC9E6DCE7E9D9F7CA07865F4600E01EDC8A394106AC9FF5190E36F6B
+29623078F60A9E835C03372FF314F5E224E5D1271136B73630117238E94039DD
+8B743C55D2DDAF5A24DCBDBB904C1D460443C566075E34ED95805E959F1D62B9
+1BA6C995F898E8C085E66362B26B5225FE4765BEDE2DAB547BB829DB64148875
+8C84BE583CD2DF02340DBCEB10ACD58D9427FD31C679CD4BB622388B17910302
+2B4D7458FC184F3660A2DA850A85C80F25C1447ECF105766951008239C13D460
+D303A312E20381BDAC47789FB2324D93790970F312045851CE7C7AB1D6375704
+DDBD27629B380AF6951960F1492AAB14435FCB488DD87F3C8E9B9EB3BE295ABD
+49433125FE66A50CA0BD3C9516F18B2DA03468757DE565033370F0C9BB394FDC
+DF51B14F16AB3F82EE85E2E83A242DF26206BE7855717384386F6082C2362ED1
+9B22225DDA375B02A4457AA5437E507539DAC2708ABA923B30B1A2DCE7AEC070
+CA058DB83ABF6919BE344D61FF7F5BB869924BC2E0EFEC0CACC1A7371C5A3839
+CC079BB86DB135327779649370B5AD444DF4679E15BB3D87AD363071268E89B9
+7F58DDE6D084DDCD9C8DCE3B9C8415E14705754073CB62770D6F542D7E811F49
+23C4F9C9EBC30FD0B501E8C4600D9F4D72A4971F9943982976C728B27F4EAA95
+CD2FB9C6364EA035A4A1817468945FAEF0428B0E8A7726A4692B7EC477BB3648
+8AAD0EB4324B2ED633C865A633671C6B2A0B2553E9F891E6B7B998035EB3F1B2
+9C5738DE6FE0B363CA565332E29672ACF9F52C908B7F77B8EE322149A91DBFBD
+6AB77BA3BD50AD6A2A2966FB73C8F810DD8D8CB158FEB8A4D671DF7665E46AAF
+ABB89E9FD39831E9E6648A6561344F7F04B316E93B9DD9DF85098AC22E725F68
+4B2714BBF952A4EF77FC141D44E102CF5ADE9634BE9F239DC67661FEE96E4D20
+9ED617461494E5B08EF7E12A1726A29FB5B14E60DE48CCC3977C30B227369709
+C264D66ECD48132EE8F351A00F230E16C5A145C0B52FA01AE1BC7B7FAA58BA10
+0857620C17B86A190D1B9846489E039A8E92F4B74ED10786F5797F6B7AF8A7E9
+A902B2A3ED0151DCDAE117C4B4C878B4E7B3FAD4C8275B5BCD4CCE6437E6B8E3
+F2C24F83FECC39768755BE9BA7AE7CA6AC337B4B887128720198BD2F463FE577
+3B617BEE90EC2156ED5242CCD305137600440B5B99F2BE412430D6AFD1C062F2
+8DA84BABB3559ABA8870F207412274122CED332FCA6EF566D9C51FC50D9B86AD
+2A28C1C6060693A6E91ACEE7213077622F0B1F0FEEEA7EE2C8A75CD44D74D769
+A54D77E5BD1E6D1797E5035777691A9943A4EE90579A38EEA05C9CF3075DD500
+823096FF97A3A8BC61FB040C392FE0ABFC30AD8C6453C415EF64711376347371
+E3C90BFE836F56078384F4413A05BE675753EBCD71F2AA4ECF9969262B64F32E
+D63428C3FC0835F29B55E669DC0869235CC3D0BC39D9D23AC8D31ACF82261D35
+1890A7CAA05FFD8C93F69EBA668559F0EB354E756EFF8E39AC9DF2E9C9B1E1E2
+70E856C38F8D078CF614A16D85B346442698A0694E27300FD920B2869A058832
+C96DDEC44667C9AF3204D0ECFEA116C8DC6FE9E9C34EF3C8EFC03BBCDA9F5405
+994BA671E46CF93F4375DBDAFC181066CE5258B308002E222AFF8F6B5181AD91
+F95BFDB4C291652239293F49109F0DFBE69ED9A97F37CA5F08D1D3847D6F7BE3
+8AFB2472C0428C9A2F5583FB89AD49AD7949EE9C160662072D720A8E05B319FE
+A08F6E6DCBF29ACB1364DC5B429FA2F0B132E482A7862DAB9190756B409226FA
+20729FE2018AF6CCB5B102000B8FCA5ECC5B2D186558115005204EC518AB0761
+ED1620BAFD938D1AD4E2816402FEFF31583BABCC82628561DD275504B7891F58
+051C5D9C2A12B956FB5BEAAC3E849879900527A30AC32F12A6B8D2A2789298F4
+C2AA473A85B859DDA86186AED566211C2C56E6F445F77C7A8885ADDB89F4AB77
+8B87A648F0AD23EA0F4F6A46A1154DA33B54D91DBF716C81136F1A0FFEA24172
+3A256280E9447A136E0E26DB3BC47B4E47563009E0A1913D611F954760D5C175
+C17BB098B06BCACBF86E246E16D4C8259F7CF8E5C7D134F7D7CDD41298638244
+410303A8CDE85CCB1E023EA830665B770F308990B9A3B48C6C3465BDFA8CCE7B
+6B7E3E12538A5C8C13E147490038703C6F0A52D5A9AB70070B634DBC9F73CA9C
+6C72629934EC24C4BE5975C7C7E86CEE5F10907366B0DD25D6E589D607C3224B
+1088A3772C3C1B67CD3CF5EF4349B31560E166321DD09CCD7C92B929141E6155
+1DCCF4C426E2219F646BDD24600E4D16CBAD67318E887C869DE4C28F9FAA6FC0
+8DC134C171D31AD64A8BAC10EF525961D5256B0135EAA1C1EE812217E73E6E59
+FBB8D09F3AB2856AF22BFB70C314D39A3DD98FB33372B3B5F9EC753843A628F3
+9C8653EF73BDEA0AC8658D1A9364F00E4602A87035CE3F934BD6A47410927E08
+63429C687C9F99361F036A4C2288D4FA4A5554F5BB9A1746AB27A20C090EED33
+1F09059D5F594786F734AAF629958B80E1458C66BD4D71CF10C5D78937A277FE
+4482459DAF9ED99591E9D77C562B1CC834969463D7642EE11FF76FB4A851FA67
+CFC36018A7EFDE228F5B4F5ED52D3DE597D8AC146754B9D2FF8FF2A6F5674EDB
+D8E5CB4ADBD08953ACFF44B53D6E1ACFF8BB118DFA22B1BC1938DAA1640057EF
+0E9034F888C067DF19B001CCBA054B9992B4D76CB0670C32791DC9ECAE183B2D
+06568C7872642B3E6F224C76010B3C3414AF69CB502AA6C7A0808707A1720571
+8235B5B91EAFA7FDE80A492688B3E4AB7986F9FACC5CF0D3A9629263E1B0214D
+5332E2270DEE45F0E20808EA608880A32B32C82428DE1E8C09CDA8884D061B31
+317BF7043A068738F7382DA9E95E4C91086DC513B40E4E33D0C98D7AF768B0F4
+2845571D30C2FEEEBED874B29E2A2DEA43182CA0248754B246BA164367C05B7C
+BBD10F1B0251F3D27021DAA3619960C0A619B8A6E05B43A8CF1E35774BBB5EB2
+4C9888743FFEB2622C3CDB582B23DEC2A1BB5BBE633F180590D9FE2F85EB6FDE
+4EED850DA9491D09DDF45B0FCA331A83CC1C6973CEB5EDE3CB98DAD8857FCBEF
+FD6D5F3CBEA451447FFA4B2EBA5E902D9C5E7326AC3E19BB798F6A0368F53892
+18866BB417E261C258B48F566D9EB39D104A34C646F6D3BADF43278B2D7FBFF1
+594B0CD5E0827E5645E13E43D8D1D2D3D9244B2677C3EFF95677F1B598A6C89C
+BAB6B4B8B93E6877A5AD5E4747CEAF237D12801761B1E9D6F36A6B63B81E7C23
+088721214A726C5A43D8CA1DD52639C7FDAEC3F274747D398D02A23B125560FC
+0A5D0DB0CAB2B919D6F583F20A027A87FA6735122201F206F9962D8A9AC5E723
+1AD172191F822967A723A9D0CA3CE4E8DDA06C8320D73044D39E52909BA8CD42
+A941DAE22EDFD876C57A390EE3B12312F51B9104F8C8D0EDD6BB3705D4552179
+B64454BF93622A90EFA7F8F6D97C27405E3EE010C5374A198EF295454BE4CCB9
+07A1145CD2598DA18D6D47EFB557576AA61CB3AC13A26C783043A225682D1F47
+96D65FDE64D01A0012EF26DAFCBC2B3615836F0D1F8EA42B7F2106ABE65D2303
+1937EBDA1610723AA341CEE79EC710BA8A9D76664F4F71A986EF129549C594D3
+3B30163DD2557378FB199F2A67C5C853D58876DAB006D70404C1513DE9D1E6A5
+488FF3C5FC30B036E627D4C675CCFAE83AB86EBC353B84EE3339F2A516A96181
+85E6BD533BE6512B6C78099773C1E093FEA0B9FBAACB2140A17C50F948DB3C97
+23C517861ADF53C5677804292E3A969718916E38851CDEA0DAF06436B2E28D7D
+380CF92CBD822CE92A8AC96F7091245F03EE519C9BC7975F7ED3B63727AA920C
+C28508CB482E9C825FC236304B00384FB70A5D5AEEF9EE970F5E99001EAD22DC
+972A14F1E8E58F124547C6AB54537A549DD3E6ED8249820CBD0A24DAB5B0DD0A
+70934C2DFAB559CEF7174C1F80258A194721D95E8C4CBA0709B90E088879203A
+4C20192022651B6E1F9B84AB82508D53F1A8ED1232C4FACD57053D5A96A5541D
+AA084946304D51000602D2303E5D60017C25855726376590E25E143DC8D8EB6F
+6939A2DE0934095B7773FEEFF1BBF87E0229129917F7AE296518E946288F195F
+D0AEB5019A073D74B08446336A6FAEA1917050DF1D170D84270343E6F19B1CFA
+CDED2D5AB01076D813E83B3238E1421F33F44F942912609BE278E813AC01DDF5
+5E8578A3E3C12A28151255A137B1F410F0D230B8F2A10FADCC596A3B1888BA2C
+17818CB150F56CCC19834A916A45431356958FAF318A25C37EF1E973B0FD5EDF
+AF99EC4AD63BAA5B14E68C0CEB3AF418EF497D67114115C52B0D0DFD89C2D211
+391B9BE79854B0B8A76E73F42445D8BAB519902897AB7893624BA606E90E8AD5
+84989D6905E82773E9BC45756124FD8384016DC68EBC4C54365F1E0C061B99B1
+D4DA12C7835D301C6CA2590A44FC1D4F5C61EA71848D2E7CD6B7661CADC6A022
+0E33C65A52C615746E78758031A963847340E7B9AA1B1745B6FF4311A9306228
+EA7374881E3C79EBA1B73800F00F0D24A8F505738FA66FBEAA5F0E829195822C
+46F31079A0D0AA004440EFAEBC53BD0374264749CC27F4CAF86764270475675D
+98DD4A3912A584E43A74291149DBCA67655D8AD36A9A62F9FD80A10BD4E47794
+AD71A7043135899860FA3453D7D62EFB3B50825A4D7EFDD479131934BF84E529
+01FD40CD01BBC76FC14233A5D5E9721DFDCB357BE314B9DD5A564DC1115B92BE
+FBAEABB44123F0FAC8FE80D59D1C05A480014FB3531DE936BDA42533B1FBFABF
+5A2B9A95BED19AB9329CAA6B91C9FC22705C7E1216BB7D87696BDC4394CAA0CB
+9C542BFDDF0A08B1C252DCB4B8C5495BBB6C3E7AA14B2876E22E5735E25A120D
+305282C710E975EA8ADF9D47A682920B7C51D19646A64A022F36F3483055408B
+F8120860938385492580948720ADDEF1A2FDF30CBE209DF9493716634BC3CE35
+1A9371285607ADA3FC9B58404E3F66C96C3835D7A4C537549FF529421E156741
+1F588EE5E0ADF6E72B1C20C1E5C361246482CAA776F2DD6518BC1095C2E1FF76
+827DF0670ED37E26C28D4BA08D3803D132B60FE4A98BAC6E89DE9F6594324FE6
+899C48DFB25C14FE0277238476BB865DB0C77A47B63292E4C913D0DACF08C499
+1DC0013FE29E4507AFC0A6FE73AFAB6F1FEA7C026A69CBFBBC7E7CDB368C088F
+0C6716FE8513C83EB088EA0B39C94C6577F75E481BD70A9121C2F7A14F135F9F
+1E58F1AD30DE61A8D1115B487B7F5E20E0C612E3D82668D765FAC5CF28A584E0
+DF0BF3E9791B1460275480682EB6ECB4BEA391FB6F7AAB6373D77AE5D62ADBBF
+74D835477EDA9D2673D43EEE273779ABB510890A879E5B6DF021B2BD25F30B50
+957DEC164CAB600639075EC84A9117B9BD27B7AA377DC5070089FCB774643710
+AEF044110AE7FCD59EE7EEBC5C66A86DA1267E42BF1EC4C90DA56D7712008C66
+5ECFADC511B3FD8DC038D5180E9E085502B6807965334D9D1F99DC84FC7A0ECF
+CD192B755AE3267C12AF459522C9F62861CB6510556A6C6289588870E43C4FC5
+536BE79AAE8D37B7E720639D9611E7902FEDCA8CD39C0FC946AFB8073FAFA4BE
+B5B040B3A6C2ACA62580B2E8CD0213E9F819FC9A382B50ED156B320866DE9472
+251BDB51BA7C9A7E6F3D26FAB85CE144D7B3040641D22A61E7145DD31954CA87
+DDD38FDAA990832B18A1CA56A5C373D966F0E8A8BB98ADD43D6C3A96D7D7EE52
+09ECC88B893FFDBC1AD097E4E25F03DF097F7A70A2D06CB9243A59FA890C1BD8
+EC12E264DD0735227434AA8A24DB17E1B288216432BD37542356ADFD24469E6C
+040A959BD62F3D4E71F902117A0DDEF934AFE34896810308137F22761410757A
+356BEC7A47F6380DC1D9C88347E8D3443F3349DCE3F46FE3D0285C0291AC7D86
+CC4682B129A8FE34EE0AA22F1DB1A6EF5C234CE3C1B14B846013EF98A7EE4CC2
+7F057495639DC5BA1A2F01C5C67E82FC6FD59D07D440CF7B93C43EA16415C6F2
+7F54E2055666C1F7C8839283DA7E9176477D20B317A54A2C463B567BD2DBA02B
+1E9764A6B00A6F512A3E2B9877B318162CA994AA8C84CF122AC49E9F8B920C95
+6B6AC57C9DAB0FF9C37F4F39FA9C321D17F84B62208446CAA0AD7FD9E159C77C
+67C16B0851260E435BBFF6DDEC238876049F435596B05BC3C825E876971B43B6
+77BD9014CEF87126620A08398B56CC1B9BB78BEDAB48DEEC7C6125CE2E204A8F
+EAF670ACED1B14314C14E7FD839D62B945447E0F8029FB2F3A0799310EB7D0E0
+F31B2F044C06DECA12B5ECF392E47DD302166272086326774048EC185A9F67ED
+46DFFD4C755158FE6880E580359D0F749709F8EB771451A2ACD7FDAE07760027
+ABFE8181F13F6707E4E358908968E823ED1BAB8E4148559795579E3A4EC6EE21
+0F1F59E2EE34F33C286A424CE2E44FB299863FF4A865C07B2BBB39BB9FC1E37C
+A74FE67AF0D8C2E60A6002F7A987537B051424757948C4721E551D238D227A8D
+EC72D19A46D57762AE04966436792D6E13DA12DB04385446EC127056AC20B290
+3F1FB7DC164D3B7A9A6775F4BCE3D0D2B2A902F8CD9980F41BDF458C47DD4D12
+C0F55645DDA070DAFB7953A40CBB84F0069B91D1D3CB48517B60419615228CD0
+4194D74C527DA80C39CEE06D2533E25BABC7639492933648544DA3E496336FB3
+52BF532F1A22A48BE062AF89A08BA4AF503C3FF57B1DA4BDD689A34AB2CEBDE5
+1EF155975D4D6FB7A825DF87429A6B2ABBCE80D68BFC7148C6DEB55102A2B443
+3B3248A18BFF727BE6D5A22755550FDE813E1CB5B8038A1AF6D895F4D617B820
+C8CD4EB95B19AC4D8367047655A54496874CA037DCC7095323C1E4AC5CB41F4D
+8DFEFBB76001C466570C9ED76C87A4615A97BCE49D607EA119D918FD0BB7D207
+51C8A6463EE8A6FD417812FA1E64A6AB43179C83561BA01BA9C441EBA5E75E29
+6AFBC792FA21F78D3F3B4D69A7BA90A17943E33E9099FA8F7A56903F4342D0B0
+5283E62FEB94AECA7162131A858E2FDC53D1B64C887EE918D2E33FBD3DD03B44
+864CB8FD797A90AD592AE81E0B930FFF1F9C4CBF38B546D35152A408493D6561
+43C2C5A56449F66435572232EB422CFDAB69E4F6784E15F44A6A0070BD269788
+DEBB61C593CC6D1BE44C46DF47CE54297F34DE1A92DBF289B9AA468DB0462F00
+0EA795ED1230440373273AF45B8638980D7A6F618F8878C6A9F15D7900499964
+7C0535A992865296E2BF329CB65F70A2A6D42F8A717F33AFC895E38A266BBA2E
+B55A5B3EC4E8B673DC630D3B047E888AE8E0F7921AFE04EAF85B9E0A3AB49B02
+1576D36DDAAFCE63473479911AE3391DCD5F378E7C7961340E394D91901C4649
+9E03E5EADA2F0C5A76FF3197DDE6A4CCBCEDD773D8AE7B5C4FACC0EED4813A19
+0340E02BEB2439D5E53610F7136C147B87C27835891E2F4A0F2039A7D99D9707
+D2228E6A45925041EA92939364277114F7C7EFE3C2C43042A6878FC2369E8943
+E304ADBB0073C4F92DD6D8A34D0C1564CC5B8985DA03B11641519F71BD2B2B79
+A9F8A3DC634E91758511F8470BD47CF6E24FAF4F7AF426E004A92FDE7FD98376
+3B0807304CE9EF0F863C35381B388136908B796CE96F7580C913D447E9492F90
+7BD508349573A682232D7AA5A253B1BA3F61C120F722B89EA7D5C7698B8F3247
+4C5F59CED1DF42CCD54CF29255618908A6250A70B0B69768196B6827E4469674
+04223A6CE5684A23052480A9AA37B90F99504640BD7F5561F007589AE955A8F0
+8BD6D11E7B754530F4CBDEEE7C92F37656529A5AE420270E9BD7AD30502207F2
+3AAEF2CAB506C4BA16F2B87868EACE58603243A3DC0084E138B9FD0F49ECB547
+8C086F636CB457E21F470365A70B7632786F2295843AA3C1566C38C3843FBA83
+7BD92AA325264CF56F43BF4230EDC32F10E4E01EA01429E4B1D336B7EC8B06C2
+D1721E22306752435EE004F57D41BCCE5450044C2409FD4C9A23083F8C228541
+13D3EAF810AB485CD54B61B33F2BEEBCDA09926A05CA19B6298AC4473C61D605
+EDCE55B95F617770903BE55259F63552F69134D65A1BA550A8B14BFAB7399084
+A60F9A60E7820CBC6021C1A807B2477380A93C818E56F4239968C3217A83BE44
+16592D684E946E9EAA011700E6DC129742ADFC963F956281DCFCFCF696855CEB
+035B3686DFE775DDB204D2E91829D4046516E6B1CAD5C3DD7BAB32D6E22336CF
+19A42F008D92D2931941B7799807E7FA72B267B51C3FD6DDCB1BE272B237F3B2
+29476F97173B5058E4D918FD6676C19FEC13828C84F28B65CE7F9CB97D96B9BC
+E10826ED99DA9B37D13C90005BA676956E6FBDE8F4488D2575F42E1E7A105940
+470477036DA92311F096925A165EB9AB056C6EEB6E9A40D1470E270521A434B7
+E273512B2E9F6B1DD1AC542C5DFED80761EE2790692FBBD5FF89DF2A16173243
+7F21F78171E9DE317DAACE0B452ACAB7BD88CC0276D2BD8BFB9ED69719585E7A
+D543502FF7498C1719C88FE99BCBD49D5C2AE2061A1A6E27634EFFF1BA4CCF97
+57F6FD8E3656D6BFA4FA4942B7C3BD3CD0FFEEAAECEB55B525337E881AA0C886
+AC72F0D9B2FFA7CB13997742888751D0F69E15A284BF18C593CECEB1C7AA6AC1
+1691362373611428AC3D8E03BA1803436FBA6AF6B1649CAA2D0BBB733C00BB49
+C112EFC4FBEC17A7E30A9632419FE6E31D9003F66AA5305EF25F2C6C944E800B
+CA2FC8429DCCD143601D15D56ED97B1EDC3100C1F4D849515D9B2CF9847CA563
+A67C9C84E0E493A5C49EEE0BE17EAFFB69BCC09BED005D166AD394D5E8EB01E9
+169E06BF85482B843122DA9B54F0CF1C5E8D70811C724B011EDF2989716C45F7
+CDEB1BB061689B50BB0C5EEF4A96CB331DC512D517069519A8695E08B6919E4A
+363355CAF865835B77B25B88A2E934A4474F36646E9A0F581ACB1495AF5834F4
+8930CC08074340EF0E1F2C6CA391F336BFA0FD221A5ACD0D904D0B83D21EE696
+71CC704DA38467E77444777EC27489E05037F4083B4E206CF2616BF73C9CA263
+7D5858FCD229B7D7D91CE796CDA6CEFBCD8E15FAE157A7F8F0D26E7486202B42
+62BF21EC5F0FF78767637093A0A3132BCDA9D5783CEFEADFC7C89714834BCD80
+0462C3BA1302CF91769493AA029E0D352BA13DA7BC9C539C0868EEC4A7EE0136
+C7CA5F783A4FE91EC918B44020C86060791FFFBA159B9D743B49421F905E2DC7
+6B0B46565AFF95B7E41BA9A4FA239CBEAF9DCDB8956B1538764EA075A1777A2F
+BAA600C588F61D1F04331C13F327588E5B389D9A1460F835958F13D6B04C07D3
+9EDBBD13D2ED5747AC1B31E2E814CD8BD8E11192721979F0649A9D8CB2D127ED
+25C264D98F73AC4E09F64EDCBBEAB4CE307D1B531B304D314D23237C4A54D9D7
+1C62F9B9FA32A5B225A7D8ECE60B9B97DBAE04AF0C4A00A2B0206B23DBE8554B
+FCA53309D99B06EA819B8CB8578DE1647909EB1D8E85786B2207F696EB6C6D5A
+F642680C0393485352BD28B000AD25DCC2A5E3B2A80157C98B4BEF01C2A59BD5
+8378602CE4E7EEBDC36B0C3F221EF09843583C86CCF2E85DB74BCB69C37ABB18
+B58395A39465EDA5E3E305F6274755C5E5DF39B02E39388B0424DA08C8AAF141
+0C31D1D490A613821E97A50978BA33298053B9D70FD3A79435C7CCD77C64B13D
+DCF1206DD8095D9EDFAEFC45619BDA2BD93E9A51430C59FD9F69A1E43B8A0D3C
+B3AFFB7AD947228E6D7DDED8AC902E94A6EB1DB9F6DFB4F9773DD5174587BCC9
+EED35DE774FEED1B495BDC98642A0551157CDCFA750D25879C856ACFADD34422
+DAA7B3D48223C681AC8A7083647A4B9A0EDD03A6FEA781A9C1969EE85A0CFB15
+3FE4D69FF1BC23CD001394E48937A9BF5FBEB85A04E19936477078B1895FA3EF
+ABF07B863E45EB65BEEF4BB61FFC8ADA19C0517F1DB5727E1605C0AE7EC88873
+1D51BFCBF7AE3979E2487AF90F88E4786405ED068543A896F069F15B348F5878
+BE27318DDDFA18DEF041CF9BB15E348F5521C2F46BFA306698DC19F5BD422223
+B98541701E02B831094BE2C05CFB75C6DC6EC5AAC74308CFDAEC71385882883B
+539DCEB3234400D4F8AF5CB1329238A6B86F9AC1AE0B9F3BD17AB4E057D78254
+9BC07C903638A85E7FCFB8C3BC6CE1ADB76694984C5F1066C92889E010C2FDEA
+3F81C0B6F45F16A4F9A34739B1CFEE8DE3149D18D173CABF60E33602EB1B2832
+14DC5FC2692E3A0B47D1C0459FF1D86C5DFBEF5DD466251908526BDC5FC849EF
+5C618E40B7AB1D05EBA42BB6D4A1AD3547BF1E7A74BB4F131C3FB8A8A147DDB8
+D7EC6F6B9490C677E1D8883F8F46B7B4DC7095EB1C183A2147C4D0353ACA4807
+9D5C55811B7D53DA855FE4C9F02EC42B64ADA367E66C779344EDE2C4EE11667F
+9966B4DB7F4C2F487C2CE47E768132451E68B9ACF796C89EC982F33006504FD7
+4B4BB55C7FD19B6910C8E1B99A0C13BD6C52A1ABC222E0F86687AB20DD47B6D9
+BACA71C7B045986F76743C0935FBDD31ADF1EE5C0F5DEE1A36A3120BF4B9D590
+7C79C94FA26B89E63EC459E778E8876BECA644CA2DDA965E23068B40EE48DB45
+64C908278BCECF4B659DBA474C2F9C76AFC99BA03ADECAFCEDB1D59CFD2AD314
+8555DFA993E998F859814DA36113DFAE903FEB6AED82E1E3D760D097DEFFA164
+B2A951C3391B162CFBFA860BEDBD70CDF94D7C09B61AF00435EB7FBD6B1F87C2
+F7F249AC89687D84C6CF63367DC07A26B611E97D6D1CD5C89258FAE9F7BA3259
+99B4FEC1118AE8255589C1D775B61F7CC2A7607D989CCDAD51637F8C44C85DF1
+EBE1482CDDC82D9FD7D354F4346BA2ED9AD95556028A8C61805BC78580A7EF79
+4F94CDE0AAC7D38DC53E01B6E6759CB02C65EE7D4FBF17BF94F414ABCA46ECF6
+8904A0574DBABF75CFC0F4651208E0BE53F779E5E8244D06A2CF647A84BF1C19
+990FEEF7DDB26A0ABAA182352F8E4843519C5BB9C6AEE935BB8FFFB7ACA3A359
+381404DD0C3924E88AB4A7D39A3EDF4899032A6B9A2CD65A48314DE53A88C9CC
+6861A3DA6081939E314CFFBFA78AC2578948B495F25A9AE1B4F27CD3E29C1E30
+C1D8C4F5ED44ABB539A752D222BE61581BAA247EC1AFF3A9EC42E73E350773A0
+8E8A6723C4036D41DA43BA789AAC2A68B625B8BDEDB9FD6C81004735FCD16FED
+6D4DEF98C48F4747C9C5C799DD17BDB154CB20D0B83DA5346E6A444C30877211
+C87473785643E13C598CF7FA48A3799FE7F8E8685E3D0C6A94379EC2D97F6031
+C5FBB5A35FD0A14C14CFD6D023CA6DBC9818196CF531030597DEEE4082FEF429
+1CA9B20AD763784954FD85E9E40CED5FF620B13C7C7A576C4DC461E7720D8961
+F05D5B83CE0E15BD9B5E0F987BCB886C543E4BEB0E570EABB4C4A17544DE298F
+82D9827BE50746AEF9C24F29DBB187BB095662385E0F63418ABCE78BAAE77A31
+A563AE727480C30B6D9C351EA56C9FF76163805A67DA20BE059779FFAF27F991
+43A7BBE9A53C8DCECBBC58A6EE580DF07C6649E8D96A801BCFE9AF5809AA897B
+A0244A9022B475F0E2224DC4E835D244B7DCBCE90EBB6B97F3DB9D95863BB95A
+8F58F27299FEEEEA19974216779F8E5B838E9F63F5D556CFB6FFD86C12C6DF7C
+42EBA320981FB5C249D583F05BC48ACE39D2FBDB3B45B5132936C551B527CF63
+249DE1FFC1F4BB0C5F87034760C5755F332E5786ED9627842EB2F22D610791A3
+931D7423751BFB0AE420C2CB367D9483E9AB3A4BB5EDE175FC7E48B2FFD88D0B
+D0165E373379D3A96361B4897CFBDE300E55368DF2A3FFD616C5D63B1F27DF36
+10F2D94BF77346A1364B8971FC477716D99F38D490FB2407606F033CF5691456
+629D9AFF06A25046EF2C054A451FD9AA25371FF963C6D85A625C471FD3A2FEF1
+65E1E666CD968DB02B47AFE15B28AD0CF0A7C368216CB4D03ABD72E7248882D4
+E55B9E3C39333B1809030A731E0020A44A098564D300A2BC2981153089DE037D
+221183D9E131D70F3CF951D74039656B8CC5CF56065BEE7588B6637FCE6969AB
+67C9E268156617526C4F66363AD27770A0422BD33FF988324E6EA8B6B1984894
+46B4410C4EF0F761ABA458C4928E690FE810FDBADF81015AF524E9263ED0029B
+A255D62782D0462D990A5167C7CEE73CF48E2915299467A094C6807B6805524A
+6D887AFB09AD2C4D3F3CDD9C0308DB79BF85A282CBE8B34180CF01C7BE29FACA
+A0B6E5D833F9F93D05682D734F26EB3D6D4E7745F07170D41451876395D271BB
+BA2AED0F4512BCB4DD289FD099B4679F3527CA43E18A8B0100132500F2EBCB33
+D0D67FFA045B7BF3C837DD2449BE59553CA7DB34B42FF7EA2ADF7D64AD9777AF
+27880D9E5B17638291A2D6A84E06593CD6760E0E60497BB5B287B789CA4715B7
+FA3A75E443B0E472102FC44225D575660C3D6EB89F872C476C156FF371A86AE3
+B20F66B24D6E6C191369D52B8A1CFECD93E0DD9BC5385537EBFDACA28226C3FC
+0379B7DC04067D063763D237380AF60BE54AF9F00CDC5D0E4F1CCAEE298E96A5
+975537AEC2699B023653D04A5E9F1A31CE86D4833AADB4E0EAED422954D9ADC8
+DEBABBE463AED7848FA203DB6EE09897D0FDAF48AFCFD5585D6B730D26DCFEC1
+DFF1FA68C708538185670FF5E7EAB6E3DF380F280E58206C65E690C84AFF25F9
+D1EEC15EE71BA543C323638318926F2FDA98187022429E93C151F1348F1FD520
+9A4339A36D49BEFD35C9DF380F445FD1389EEB3A4A1B221FDC44562781A1DF12
+804165449EA3570427C539CFD9AF267256AD999C88CB97278A0E665D273A8FC5
+A98275B47C8133C11687DEEE0C0280946EDDFB214980C0563AA6CD36669AFC0D
+CB1020E1A58867D81741F6A3C99B689EFD5E391EFA8B061C65B2A7B547FB8CA8
+C895F947CD15BC8A8C935F64A24D0CECE2D624A0A5EEF7E8B627DA310DF23077
+BE1A3D09237D095D3EABEE497ED421F163DF55CEE07E1B53AF11A279BA06F821
+FEFF6F156EA8E54F16ED0A093B527EB0E90FDA1474F2B9F48FD3C84FF83E3554
+CB9AE7D85AC8A3CB663000B7A397A78A382C649A26B27C0351A4051CDDCFD35B
+DC369A7FB2C94C4D82D02228B88BE96B7A456AFD96F4187C37C5E03CA1F61BD5
+6F5669137BD8514B1AE9A85ABA8DAB9478533865799EEC7C1946BCE741137D07
+46BEEEFEF57CE6FCF43AF698110C0FF9CA3E1BD14B66D355CFE3B0A1FF88F4B9
+0267D9DBD96751E871E78B05F2778B35191F40E6DAF09C5F99014EDE94C3A48F
+620DBDB8EF15DDE6840E1F795F0417052BEF3EB9AA852744539DC6FA00DDCDF3
+951FB1DDBD237F9D44D1A73B97703B5D924024DA97D4BB4C2FF3A351C40ECC6A
+5974C4BB8535502054862693B6C5E0A1295DFA75CC8B3FAB4E496ADF53A617F5
+EACDAA3D02B907D3CDEC9F3495DC6FB75746C8DE14ECA65AC2BB05A2C86DBDF4
+A18FD209843BCC049D687D22CA7A65D29C5E3262EC8DDA2EEAB4A922636EAE90
+B49EA0B02BAFC453CA4089E414C122DD864AEFD25BFD74FA36E1E219EA207D85
+667825E57D19D59964D62C53B94AD5DA6DE7F847DAEF6E2F35533874F2629D8B
+310A5361042E06399484602BA50D934D7F13281F78DF8B0C44E9A1521DC4F154
+9790862CE1442897D8C0E089568765E84DD56FBC1EE98F7304A91D28C680CBCC
+F419DF7A2883F88FC6612B185185603197F8ED4C1BE66A1498E3D8EC349F4F65
+6893A7D009ACE3B842F34D1D1CC9DAF37109A4895422C8A3D2BB4613EF71468E
+8BD722544C05EA1456575FA337E189C87EF18FBDC117314AC564D47D63CDAA08
+42A155A1102CBE6BB5E9086CE6BB4BD50E8CFBA4A5DA5146A96AFA319B154BBA
+B0A0B4CFCC2873A5F881EF730062F83089B4000D24F9D967E0EFE41DAA516FB6
+8C0F6CB0584B99D9041575B5672DA8D975CBDD471F55E1940491F6954557E37E
+866480273F47C2A67FA0708DE5F626C5A028FDF1B09A3C0C16A31CE2123413C8
+82351574B32F9BFEA8E65182AB2200B70C7D6A64B924450D403335782AD0E3B5
+2CA794672D7D754E4D742D53C9909560DA2A4948F0402DF747F15A92B96B8D61
+7B70CE3B2D69D77271DE61AD5BF92F1B6A2C8FA7DCF59192CB95615D19EBF3DE
+0923E7727720BC01E1DCACE046D1738565025E14C06B4F5ED72F7E277C8251B0
+4E4498BD4F0758CD59B1E9AE33F73AEAC670B50E8F2119E41ACF8EDAB3C48BD7
+DD9CB4C15636DFD24ECA5E3AFE130E712ED46D21B92C0299542F3CB34CA8E04B
+E9C28A3F0BE8A31AB849FA2BCEE0ECC5C76854F1056336A19E32435A9DE352EE
+79984D8053C1FE2000651E5045016F5F0FFF6ED3B9F58B50ABF0B77CB487C403
+031E37ACBEAE009D1C53C7912E47D86C35F70518D7E7892AD69B325F231D1DB2
+832CA6DE61C1735097A33B5DCF00C425FFEB2F94A5A0298BEF5611FE589145A5
+37075ADB061862EBFCC9D4B133B3A054D06D1A9E06DB79DF98247001DD25F90E
+460765F109DD11ADFB05A6C211CA1F0B0937FF370487D5C2F3DF18A27E907CE3
+249EDBCBEB3797398D9934BDC57E0422B1747982DB3D47FA127193EAEC877DA8
+177447251AC2E543A01124252F05AF40627EE31F7F5286544255FC84793CE815
+3FBCC25780FC1F16636A1055BA34ECAA387C10DC88C69CF7AD3B2AC1167A65D3
+1CE15F2A74AC056E57AC0673F93E6E168B7BC85A1F6D992E084C08B07C941C27
+54EFA92B332CECCE11643EA03B33D29001524CE2A06F0754B3B5348E69B588DD
+634BE7835D43050D2B3D94B8BF09661FDA39BFE3CFC0FD4ED4BE696048336454
+32B139C97AB880066C4CF7B1E69049135C8346396E14D3B272E7905DA32011DF
+C242D4E23F837D6DD2098A6A61CCC02CA7BAAEBBEBD4CB0E6788BF3F6DCB4819
+B6893121C0C7D860380D2E55E932FFCAEC318F8B79BEA4DE4B46BDFEDC471ED6
+488AA6857C77369408CBFA6C38D0F9B16678BD53508C65C26688D3D5DEA2CD57
+75694E2AEA07BCF621D7D0B1E4BD8054C65086DE8F51257190C974A2FCDFA321
+EB5527106FCD65DB300D2AF7BC188BFC95B92CEEBF1F0722A58FE45111CD4EB2
+960CFE46CDEA957793BC86EDB058C1F1B355C3C7D5147AE4E4863DF5CC4C128B
+C149FBF3D60C90910CAE67EED9F02AF5E873E4DF9175D65DDEF18D7B9C886031
+FEABFF8AE11E7EA1888EEAC33386017622A9C1300F65E084687978CA4934A622
+4E3A6951C0E6854D44E71F701A69E62C845807C10CE86361A1951910F2261CD3
+E3D6CAE00E761DCA4864D42EA17112219AC06D46CD71E34D328B0D361EB5B9B3
+15D6FF54853E206F54EA2D46A0DB32DE507C9E7010C316BED808EC4D24759A44
+BAA0F5EF508F1F9B25EB6CD9E58469A74ABB7A0487165EF0180107483AB5A28D
+F6CBDD32E1ADDCD7AA08BF297497A3B7ACA0188F7D6D97BFDCC4D287AC48019E
+1F36166742B62B83A6701F9DF2F8FBCCFD11ED44B3BC2C64EAFDF8D6A283E831
+2704A2E6A148094F931D98494FAFEF2143D47842B8E80A1AE204DD685DA72F56
+D8514F256062DE2C5962174D0A3FAC311534BE8F43125D5BDE311215806448FD
+92F0B0F80517B9B46FD83E21449AF76B28BD62A506BD37B20B9D9CE0F7F12A3C
+4598C4921327B8D36DF07E13C9A21479F28A0788E27C134F9760044FC3F6DC06
+667B07DDBDCD3CDB94A78E1BE1F4EE4B184CC46CBF0BFCA851487BDDA1865567
+68BCB0AD5885ECFB113AF68A6774648C104B99F830861756F6EF6A3204067498
+BAFAF2F7426107EBB814669295216AE383AD09AEE21C36EF24E90B3AD693A778
+A457070C03BD9AB2102EA17D319E006E1E217446767A1EB47771D67434DDDDD1
+E880D1282BD8FB8540E6097473C9078AFF00D9627AEF028EB2BE15D5ABF630C3
+D01E696BB8C7A0D6BED69F22F59C24BD7BF4AAB9B69ABB75AEA5807C104B01B4
+BBE907F94DD10B81F65BD03667CFE59D95FC10A3997F013E2A4C8F0DBEC7034F
+D2751D48FF5757E3E101169F6D3CD86E1A896A96C1143EDB79C75F6CF5444822
+3D306718D25057D87492049104F2F2790B0CD5BDECFC0531DDAB41B91FA2647C
+F29CA60BFA317552CA192CC2C9E1373B380B1EFE8417212F1B5BE074123DC752
+A01B1225F4A5608A79E4A55EC1AB2D3505E52B516D4D265FB5F306B8E73A6E40
+7158E0C02DF0CEF7E2F752561811FE6D5F055C8327886B608A23B631232CB9A6
+79B36C3088FD31C5C1D7BFDD6660A74C5D9DF59324DE90D6F572367967953FA8
+49F112D8DF1BB18E8E8E1C0D67C6870ECF2DC3BE1360E884CA845D8765FC233E
+34E0BF89BB9BA2D84FACE9DF919DB2D66E9CCBCA4D117CF301EC956A800943C6
+14E9A8F66C9BBD4BD021D4ADA5B3568531A7331DD87018996D9D806AD1FE7A1A
+AAFC15719820E7EDF522338FC066731B54C3B10D1BC48410852E49D9E535542D
+5FFD6B904EC8F65D6C987EEB968B3A32D56FC6E52A9C25F8091CD503CE74FA73
+177E962303370ACCAF51C6816A59FEB405C8024A4AB06A60443382D60CDA768B
+AE8C313E1B14CFFAC8FD8716461C70EAFCAD5E5DE86A72EFAE0A15C0A736D4A6
+5FC14CBBC6A67D49883641A0896A5EF58D3D88A920414C04F5BCD7D080D45482
+BBC77A547A5820AC7BB7D912541529A76B3908E7EDAAA05B8BCE0314E156A938
+F03F739F3F5D92F463C0DF00A5746CE8463033FCA23089B5CE75F5C5D3C56070
+4FF7AAB8142059F952B110074CE6674610158812E0F735A47EABACC23B764AB7
+F8E89B310F41FDC29E28957AF80E717421021D1FC55F4F783E57389B89A59857
+AFB2B14B9C79C6A928AF8CA168CC193A59437F032D62BFFEDD33AEB337BABFC5
+59F13D2807E047C2BA10DCE7BDAD5DABB467880F1B52C7EFCA0EFE78EE06733D
+4130D082B8AE698202B40CD54982DFD1F1DA45C5990247A911A1072C8DF6E43C
+41A662994049D63F4E1709431809F515B5C419FBD2D3C5BF0356788084DDEDDC
+A35F392AEEA70F1F0EF5552E4F94AE1DD8B0E63C419220F18502CC0C3DB428D9
+06C49C62358F483FFC760F7DA61D275F2E3DC617D6F5787F3B1A1EA113F7D29A
+5211739D8BFB92A2CC144EF206A4571B7831DE641DC614030EE47EA0D91AF595
+BA2E473623D9E0C0F93A3431E003CE93F477BCCDCD7FEC1A5A30A39FD5376277
+A74F028A3ECD3EBFC0243EF97A135FDDCD090A9B51758B0DADC2D550BFD71982
+18DB893493B685C32931FD54E00130077894A526C4D764FD3A7B9295A20E6118
+2235B3BF036A71D32FB547E9F418F72C8AD02A3C32556A93B777EEB850C7481B
+E60E74EE7AE84C0F17C186A0AB76E1DC5283ECABB4BF5773C6FFBA5457B28728
+9A0742106EA77F7564ACD3FA0E24DCC398EF7A520E8B6EA5F8291954640064DE
+82F6147C00BF03A69AD9B8E3B6850D874C8C6DDEAC091099ABE99EEA3AB35D16
+E4A6245BE26743402255C41E32607DED09C3415310997BEAD3D2E27815FF4117
+B36F50C01A2EE0196E33BE03E7EBA9B68B7136F13FE89404F70F0F9ADEFEED7D
+4FA7FBA53D850D9A3B10D5FD235CE6B56B2853A734A242D79FB10AC6710D4707
+C34BA67F53E3EAF54C0CFAD23206E9019295CB225F7EAC8359EA57FA5299A63B
+E886A681005ACC83EBA8F4EA86009DDA1042B14523EC4E14629640653AC9BD7E
+91BB5DAD4B5AA44A15EF9ADCC79CE3F8C64C85369E1229192992E549
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -1310,25 +2164,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +2288,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 +2861,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +3103,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +3158,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 +3198,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 +3232,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 +3889,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +3986,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 +4518,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +4607,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 +5151,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +5208,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 +5553,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +5604,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 +5876,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +6112,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: (<http://www.ams.org>), 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<http://www.ams.org>\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 +6348,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: (<http://www.ams.org>), 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<http://www.ams.org>\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,8 +6586,9 @@ EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
+{restore}if
 %%EndFont 
-TeXDict begin 39139632 55387786 1000 300 300 (readline.dvi)
+TeXDict begin 39158280 55380996 1000 300 300 (readline.dvi)
 @start /Fa 197[11 58[{}1 37.3599 /CMMI9 rf /Fb 133[17
 20 20 28 20 21 15 15 15 20 21 19 21 32 11 20 1[11 21
 19 12 17 21 17 21 19 39[19 19 19 19 19 19 19 19 19 19
@@ -3854,91 +6604,82 @@ TeXDict begin 39139632 55387786 1000 300 300 (readline.dvi)
 20 20 20 20 1[20 20 20 33[{}86 37.3599 /CMTT9 rf /Ff
 214[18 18 40[{}2 45.4545 /CMSS10 rf /Fg 133[26 26 26
 26 26 26 26 26 26 26 26 26 26 26 26 26 1[26 26 26 26
-26 26 26 26 26 1[26 18[26 26 1[26 2[26 26 26[26 42[{}32
-49.8132 /CMTT10 rf /Fh 134[32 32 44 32 34 24 24 25 1[34
-31 34 51 17 32 1[17 34 31 19 28 34 27 34 30 7[46 1[63
-46 47 43 34 46 3[48 58 37 48 1[23 48 1[39 40 1[44 44
-46 7[31 31 31 31 31 31 31 31 31 31 1[17 46[{}52 54.5455
-/CMBX12 rf /Fi 134[24 24 33 24 25 18 18 18 24 25 23 25
-38 13 24 1[13 25 23 14 20 25 20 25 23 9[47 1[34 33 25
-33 1[31 35 34 42 28 35 1[16 34 1[30 31 35 33 32 34 15[23
-23 1[13 15 13 1[23 28[25 25 12[{}51 45.4545 /CMSL10 rf
-/Fj 134[22 1[30 21 24 15 19 19 1[23 23 26 37 12 2[14
-1[21 1[21 23 21 1[23 84[26 12[{}19 45.4545 /CMTI10 rf
-/Fk 134[24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
-24 24 1[24 24 24 24 24 24 24 1[24 2[24 14[24 24 1[24
-1[24 2[24 24 24 17[24 24 2[24 5[24 39[{}37 45.4545 /CMSLTT10
-rf /Fl 135[28 2[28 1[21 2[25 29 28 4[14 1[29 24 25 1[27
-1[28 97[{}12 45.4545 /CMCSC10 rf /Fm 197[13 58[{}1 45.4545
-/CMMI10 rf /Fn 197[16 58[{}1 59.7758 /CMMI12 rf /Fo 135[43
-58 1[45 31 32 33 1[45 40 45 67 22 2[22 45 40 25 37 45
-36 45 39 10[61 62 56 1[60 1[55 1[63 1[48 2[30 1[63 51
-53 62 58 1[61 14[40 40 49[{}36 71.731 /CMBX12 rf /Fp
-242[45 13[{}1 45.4545 /CMSY10 rf /Fq 134[35 35 49 35
-37 26 27 27 1[37 34 37 56 19 2[19 37 34 21 31 37 30 37
-33 7[51 1[69 51 52 47 37 50 51 46 51 53 64 40 53 1[25
-53 53 42 44 52 49 48 51 6[19 1[34 34 34 34 34 34 34 34
-2[19 1[19 44[{}56 59.7758 /CMBX12 rf /Fr 129[24 24 24
+26 26 26 26 26 1[26 18[26 26 1[26 2[26 26 9[26 16[26
+42[{}33 49.8132 /CMTT10 rf /Fh 134[32 32 44 32 34 24
+24 25 1[34 31 34 51 17 32 1[17 34 31 19 28 34 27 34 30
+7[46 1[63 46 47 43 34 46 3[48 58 37 48 1[23 48 1[39 40
+1[44 44 46 7[31 31 31 31 31 31 31 31 31 31 1[17 46[{}52
+54.5455 /CMBX12 rf /Fi 134[24 24 33 24 25 18 18 18 24
+25 23 25 38 13 24 1[13 25 23 14 20 25 20 25 23 9[47 1[34
+33 25 33 1[31 35 34 42 28 35 1[16 34 1[30 31 35 33 32
+34 15[23 23 1[13 15 13 1[23 28[25 25 12[{}51 45.4545
+/CMSL10 rf /Fj 134[22 1[30 21 24 15 19 19 1[23 23 26
+37 12 2[14 1[21 1[21 23 21 1[23 84[26 12[{}19 45.4545
+/CMTI10 rf /Fk 134[24 24 24 24 24 24 24 24 24 24 24 24
+24 24 24 24 24 1[24 24 24 24 24 24 24 1[24 2[24 14[24
+24 1[24 1[24 2[24 24 24 17[24 24 2[24 5[24 39[{}37 45.4545
+/CMSLTT10 rf /Fl 135[28 2[28 1[21 2[25 29 28 4[14 1[29
+24 25 1[27 1[28 97[{}12 45.4545 /CMCSC10 rf /Fm 197[13
+58[{}1 45.4545 /CMMI10 rf /Fn 197[16 58[{}1 59.7758 /CMMI12
+rf /Fo 135[43 58 1[45 31 32 33 1[45 40 45 67 22 2[22
+45 40 25 37 45 36 45 39 10[61 62 56 1[60 1[55 1[63 1[48
+2[30 1[63 51 53 62 58 1[61 14[40 40 49[{}36 71.731 /CMBX12
+rf /Fp 242[45 13[{}1 45.4545 /CMSY10 rf /Fq 134[35 35
+49 35 37 26 27 27 1[37 34 37 56 19 2[19 37 34 21 31 37
+30 37 33 7[51 1[69 51 52 47 37 50 51 46 51 53 64 40 53
+1[25 53 53 42 44 52 49 48 51 6[19 34 1[34 34 34 34 34
+34 34 34 1[19 1[19 44[{}57 59.7758 /CMBX12 rf /Fr 129[24
+24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
-24 24 24 24 24 24 24 24 24 24 24 1[24 24 24 24 24 24
-24 24 24 24 24 24 24 24 24 24 24 24 24 1[24 24 24 24
-24 24 24 24 24 24 24 24 24 24 24 24 1[24 24 1[24 24 1[24
-24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 33[{}89
-45.4545 /CMTT10 rf /Fs 131[45 23 20 24 24 33 24 25 18
-18 18 24 25 23 25 38 13 24 14 13 25 23 14 20 25 20 25
-23 13 2[13 23 13 28 34 34 47 34 34 33 25 33 35 31 35
-34 42 28 35 23 16 34 36 30 31 35 33 32 34 5[13 13 23
-23 23 23 23 23 23 23 23 23 23 13 15 13 2[18 18 13 2[23
-1[23 19[38 25 25 27 11[{}83 45.4545 /CMR10 rf /Ft 134[51
-6[40 3[54 1[27 2[27 3[44 54 1[54 47 11[74 2[72 3[76 1[58
-4[76 71[{}14 86.0772 /CMBX12 rf end
+24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 1[24 24
+24 24 24 24 24 24 24 24 24 24 24 24 24 24 1[24 24 1[24
+24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
+24 24 33[{}91 45.4545 /CMTT10 rf /Fs 131[45 23 20 24
+24 33 24 25 18 18 18 24 25 23 25 38 13 24 14 13 25 23
+14 20 25 20 25 23 13 2[13 23 13 28 34 34 47 34 34 33
+25 33 35 31 35 34 42 28 35 23 16 34 36 30 31 35 33 32
+34 5[13 13 23 23 23 23 23 23 23 23 23 23 23 13 15 13
+2[18 18 13 2[23 1[23 19[38 25 25 27 11[{}83 45.4545 /CMR10
+rf /Ft 134[51 6[40 3[54 1[27 2[27 3[44 54 1[54 47 11[74
+2[72 3[76 1[58 4[76 71[{}14 86.0772 /CMBX12 rf end
 %%EndProlog
 %%BeginSetup
 %%Feature: *Resolution 300dpi
 TeXDict begin
-%%PaperSize: A4
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
  end
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 75 659 a Ft(GNU)33 b(Readline)f(Library)p
-75 709 1800 17 v 936 757 a Fs(Edition)15 b(6.2,)e(for)i
-Fr(Readline)f(Library)g Fs(V)l(ersion)h(6.2.)1559 811
-y(Septem)o(b)q(er)h(2010)75 2467 y Fq(Chet)22 b(Ramey)-6
-b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
+75 709 1800 17 v 936 757 a Fs(Edition)15 b(6.3,)e(for)i
+Fr(Readline)f(Library)g Fs(V)l(ersion)h(6.3.)1682 811
+y(Ma)o(y)f(2013)75 2467 y Fq(Chet)22 b(Ramey)-6 b(,)23
+b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
 2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6
 b(oundation)p 75 2570 1800 9 v eop end
 %%Page: 2 2
-TeXDict begin 2 1 bop 75 1512 a Fs(This)12 b(man)o(ual)g(describ)q(es)h
-(the)f(GNU)h(Readline)f(Library)g(\(v)o(ersion)g(6.2,)g(Septem)o(b)q
-(er)h(6)f(2010\),)f(a)h(library)75 1567 y(whic)o(h)19
-b(aids)h(in)f(the)h(consistency)f(of)g(user)h(in)o(terface)f(across)g
-(discrete)g(programs)g(whic)o(h)g(pro)o(vide)g(a)75 1621
-y(command)c(line)g(in)o(terface.)75 1689 y(Cop)o(yrigh)o(t)301
-1688 y(c)289 1689 y Fp(\015)g Fs(1988{2011)e(F)l(ree)i(Soft)o(w)o(are)f
-(F)l(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f
-(mak)o(e)h(and)g(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o
-(ual)f(pro)o(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g
-(this)g(p)q(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f
-(copies.)195 1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)
-h(distribute)f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
-1933 y(the)h(terms)f(of)h(the)g(GNU)g(F)l(ree)g(Do)q(cumen)o(tation)f
-(License,)i(V)l(ersion)f(1.3)f(or)g(an)o(y)h(later)195
-1988 y(v)o(ersion)13 b(published)h(b)o(y)g(the)g(F)l(ree)f(Soft)o(w)o
-(are)g(F)l(oundation;)g(with)g(no)g(In)o(v)m(arian)o(t)h(Sections,)195
-2042 y(with)h(the)g(F)l(ron)o(t-Co)o(v)o(er)e(texts)i(b)q(eing)h(\\A)f
-(GNU)g(Man)o(ual",)f(and)h(with)g(the)g(Bac)o(k-Co)o(v)o(er)195
-2097 y(T)l(exts)h(as)g(in)g(\(a\))f(b)q(elo)o(w.)23 b(A)16
-b(cop)o(y)g(of)g(the)g(license)g(is)g(included)h(in)f(the)g(section)g
-(en)o(titled)195 2152 y(\\GNU)f(F)l(ree)g(Do)q(cumen)o(tation)f
-(License".)195 2219 y(\(a\))g(The)h(FSF's)g(Bac)o(k-Co)o(v)o(er)f(T)l
-(ext)h(is:)k(Y)l(ou)c(are)g(free)g(to)g(cop)o(y)g(and)g(mo)q(dify)g
-(this)f(GNU)195 2274 y(man)o(ual.)19 b(Buying)c(copies)g(from)f(GNU)h
-(Press)g(supp)q(orts)g(the)g(FSF)g(in)g(dev)o(eloping)f(GNU)195
-2329 y(and)h(promoting)f(soft)o(w)o(are)g(freedom.")75
-2451 y(Published)h(b)o(y)h(the)f(F)l(ree)g(Soft)o(w)o(are)f(F)l
-(oundation)75 2506 y(59)h(T)l(emple)g(Place,)f(Suite)i(330,)75
-2560 y(Boston,)e(MA)h(02111-1307)75 2615 y(USA)p eop
-end
+TeXDict begin 2 1 bop 75 2207 a Fs(This)20 b(man)o(ual)f(describ)q(es)i
+(the)f(GNU)g(Readline)g(Library)g(\(v)o(ersion)e(6.3,)i(26)g(Ma)o(y)f
+(2013\),)g(a)h(library)75 2262 y(whic)o(h)f(aids)h(in)f(the)h
+(consistency)f(of)g(user)h(in)o(terface)f(across)g(discrete)g(programs)
+g(whic)o(h)g(pro)o(vide)g(a)75 2316 y(command)c(line)g(in)o(terface.)75
+2384 y(Cop)o(yrigh)o(t)301 2383 y(c)289 2384 y Fp(\015)g
+Fs(1988{2012)e(F)l(ree)i(Soft)o(w)o(are)f(F)l(oundation,)g(Inc.)195
+2451 y(P)o(ermission)9 b(is)h(gran)o(ted)f(to)h(cop)o(y)l(,)h
+(distribute)e(and/or)h(mo)q(dify)g(this)f(do)q(cumen)o(t)i(under)g(the)
+195 2506 y(terms)h(of)g(the)h(GNU)g(F)l(ree)f(Do)q(cumen)o(tation)g
+(License,)h(V)l(ersion)g(1.3)f(or)g(an)o(y)g(later)g(v)o(ersion)195
+2560 y(published)23 b(b)o(y)f(the)h(F)l(ree)f(Soft)o(w)o(are)f(F)l
+(oundation;)k(with)c(no)i(In)o(v)m(arian)o(t)e(Sections,)j(no)195
+2615 y(F)l(ron)o(t-Co)o(v)o(er)13 b(T)l(exts,)h(and)g(no)h(Bac)o(k-Co)o
+(v)o(er)e(T)l(exts.)20 b(A)14 b(cop)o(y)g(of)g(the)h(license)f(is)g
+(included)195 2670 y(in)h(the)g(section)g(en)o(titled)f(\\GNU)h(F)l
+(ree)g(Do)q(cumen)o(tation)g(License".)p eop end
 %%Page: -1 3
 TeXDict begin -1 2 bop 1862 -58 a Fs(i)75 149 y Fo(T)-7
 b(able)28 b(of)e(Con)n(ten)n(ts)75 320 y Fq(1)67 b(Command)22
@@ -4032,10 +6773,10 @@ g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)26
 b Fs(25)137 1949 y(2.4)45 b(Readline)15 b(Con)o(v)o(enience)h(F)l
 (unctions)7 b Fm(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)22
-b Fs(29)200 2003 y(2.4.1)43 b(Naming)15 b(a)g(F)l(unction)6
+b Fs(30)200 2003 y(2.4.1)43 b(Naming)15 b(a)g(F)l(unction)6
 b Fm(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)h(:)f(:)21 b Fs(29)200 2058 y(2.4.2)43 b(Selecting)15
+(:)g(:)g(:)h(:)f(:)21 b Fs(30)200 2058 y(2.4.2)43 b(Selecting)15
 b(a)g(Keymap)c Fm(:)c(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)h(:)25 b Fs(30)200 2113 y(2.4.3)43
@@ -4044,7 +6785,7 @@ b(Binding)16 b(Keys)d Fm(:)7 b(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)28
 b Fs(31)200 2168 y(2.4.4)43 b(Asso)q(ciating)14 b(F)l(unction)h(Names)g
 (and)h(Bindings)9 b Fm(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)24 b Fs(32)200 2222 y(2.4.5)43 b(Allo)o(wing)14
+(:)g(:)g(:)g(:)24 b Fs(33)200 2222 y(2.4.5)43 b(Allo)o(wing)14
 b(Undoing)9 b Fm(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)24 b Fs(33)200 2277
@@ -4054,21 +6795,21 @@ g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)26 b Fs(34)200 2332 y(2.4.7)43 b(Mo)q(difying)15
 b(T)l(ext)e Fm(:)7 b(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)29 b Fs(35)200
+(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)29 b Fs(36)200
 2387 y(2.4.8)43 b(Character)15 b(Input)7 b Fm(:)g(:)h(:)f(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h
 (:)21 b Fs(36)200 2442 y(2.4.9)43 b(T)l(erminal)15 b(Managemen)o(t)t
 Fm(:)6 b(:)h(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f
-(:)g(:)19 b Fs(36)200 2496 y(2.4.10)43 b(Utilit)o(y)13
+(:)g(:)19 b Fs(37)200 2496 y(2.4.10)43 b(Utilit)o(y)13
 b(F)l(unctions)8 b Fm(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)22 b Fs(37)200
 2551 y(2.4.11)43 b(Miscellaneous)14 b(F)l(unctions)7
 b Fm(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)22
-b Fs(38)200 2606 y(2.4.12)43 b(Alternate)15 b(In)o(terface)9
+b Fs(39)200 2606 y(2.4.12)43 b(Alternate)15 b(In)o(terface)9
 b Fm(:)d(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)h(:)23 b Fs(39)200 2661 y(2.4.13)43 b(A)15
@@ -4076,37 +6817,39 @@ b(Readline)h(Example)11 b Fm(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fs(40)p eop end
 %%Page: -2 4
-TeXDict begin -2 3 bop 1850 -58 a Fs(ii)137 42 y(2.5)45
-b(Readline)15 b(Signal)g(Handling)5 b Fm(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)20
-b Fs(41)137 96 y(2.6)45 b(Custom)14 b(Completers)9 b
-Fm(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fs(43)200 151 y(2.6.1)43
-b(Ho)o(w)15 b(Completing)f(W)l(orks)d Fm(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)26 b Fs(43)200 206
-y(2.6.2)43 b(Completion)14 b(F)l(unctions)9 b Fm(:)f(:)f(:)g(:)g(:)h(:)
+TeXDict begin -2 3 bop 1850 -58 a Fs(ii)200 42 y(2.4.14)43
+b(Alternate)15 b(In)o(terface)g(Example)5 b Fm(:)i(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)20 b Fs(41)137 96 y(2.5)45 b(Readline)15
+b(Signal)g(Handling)5 b Fm(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)20 b Fs(43)137 151
+y(2.6)45 b(Custom)14 b(Completers)9 b Fm(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
+24 b Fs(45)200 206 y(2.6.1)43 b(Ho)o(w)15 b(Completing)f(W)l(orks)d
+Fm(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)26
+b Fs(45)200 261 y(2.6.2)43 b(Completion)14 b(F)l(unctions)9
+b Fm(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h
+(:)f(:)24 b Fs(46)200 315 y(2.6.3)43 b(Completion)14
+b(V)l(ariables)5 b Fm(:)h(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)h(:)19 b Fs(47)200 370 y(2.6.4)43
+b(A)16 b(Short)f(Completion)e(Example)g Fm(:)8 b(:)f(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)24
-b Fs(44)200 261 y(2.6.3)43 b(Completion)14 b(V)l(ariables)5
-b Fm(:)h(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)h(:)19 b Fs(45)200 315 y(2.6.4)43 b(A)16 b(Short)f(Completion)e
-(Example)g Fm(:)8 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)28
-b Fs(49)75 437 y Fq(App)r(endix)23 b(A)80 b(GNU)22 b(F)-6
-b(ree)23 b(Do)r(cumen)n(tation)e(License)223 503 y Fn(:)10
-b(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b
-Fq(58)75 638 y(Concept)22 b(Index)9 b Fn(:)i(:)g(:)f(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)32 b Fq(66)75
-773 y(F)-6 b(unction)24 b(and)e(V)-6 b(ariable)22 b(Index)14
-b Fn(:)e(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)h(:)f(:)37 b Fq(67)p eop end
+(:)g(:)h(:)f(:)28 b Fs(52)75 491 y Fq(App)r(endix)23
+b(A)80 b(GNU)22 b(F)-6 b(ree)23 b(Do)r(cumen)n(tation)e(License)223
+558 y Fn(:)10 b(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fq(61)75 693 y(Concept)22 b(Index)9 b Fn(:)i(:)g(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)32 b
+Fq(69)75 828 y(F)-6 b(unction)24 b(and)e(V)-6 b(ariable)22
+b(Index)14 b Fn(:)e(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)h(:)f(:)37 b Fq(70)p eop end
 %%Page: 1 5
 TeXDict begin 1 4 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
 (Editing)1075 b(1)75 149 y Fo(1)41 b(Command)28 b(Line)f(Editing)75
@@ -4422,399 +7165,431 @@ TeXDict begin 5 8 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
 b(Readline)h(uses)h(a)f(visible)g(b)q(ell)h(if)f(one)g(is)g(a)o(v)m
 (ailable.)23 b(If)16 b(set)h(to)555 204 y(`)p Fr(audible)p
 Fs(')g(\(the)h(default\),)h(Readline)g(attempts)f(to)g(ring)g(the)h
-(terminal's)555 259 y(b)q(ell.)315 332 y Fr(bind-tty-special-chars)555
-387 y Fs(If)k(set)f(to)g(`)p Fr(on)p Fs(',)h(Readline)g(attempts)f(to)g
-(bind)h(the)f(con)o(trol)g(c)o(haracters)555 442 y(treated)17
+(terminal's)555 259 y(b)q(ell.)315 338 y Fr(bind-tty-special-chars)555
+393 y Fs(If)k(set)f(to)g(`)p Fr(on)p Fs(',)h(Readline)g(attempts)f(to)g
+(bind)h(the)f(con)o(trol)g(c)o(haracters)555 448 y(treated)17
 b(sp)q(ecially)g(b)o(y)h(the)g(k)o(ernel's)f(terminal)f(driv)o(er)h(to)
-g(their)h(Readline)555 496 y(equiv)m(alen)o(ts.)315 570
-y Fr(comment-begin)555 624 y Fs(The)d(string)e(to)h(insert)h(at)e(the)i
-(b)q(eginning)g(of)f(the)h(line)f(when)h(the)g Fr(insert-)555
-679 y(comment)f Fs(command)h(is)g(executed.)21 b(The)15
-b(default)g(v)m(alue)g(is)g Fr("#")p Fs(.)315 752 y Fr
-(completion-display-width)555 807 y Fs(The)21 b(n)o(um)o(b)q(er)g(of)g
-(screen)g(columns)f(used)i(to)e(displa)o(y)g(p)q(ossible)g(matc)o(hes)
-555 862 y(when)15 b(p)q(erforming)f(completion.)19 b(The)14
-b(v)m(alue)h(is)f(ignored)g(if)g(it)g(is)g(less)g(than)555
-917 y(0)f(or)f(greater)h(than)g(the)g(terminal)f(screen)h(width.)19
-b(A)13 b(v)m(alue)g(of)g(0)g(will)f(cause)555 971 y(matc)o(hes)j(to)f
-(b)q(e)i(displa)o(y)o(ed)f(one)g(p)q(er)h(line.)j(The)d(default)e(v)m
-(alue)i(is)f(-1.)315 1044 y Fr(completion-ignore-case)555
-1099 y Fs(If)f(set)f(to)g(`)p Fr(on)p Fs(',)g(Readline)h(p)q(erforms)f
-(\014lename)h(matc)o(hing)f(and)h(completion)555 1154
-y(in)h(a)g(case-insensitiv)o(e)f(fashion.)20 b(The)15
-b(default)g(v)m(alue)g(is)g(`)p Fr(off)p Fs('.)315 1227
-y Fr(completion-map-case)555 1282 y Fs(If)c(set)g(to)g(`)p
+g(their)h(Readline)555 503 y(equiv)m(alen)o(ts.)315 582
+y Fr(colored-stats)555 637 y Fs(If)c(set)f(to)f(`)p Fr(on)p
+Fs(',)g(Readline)i(displa)o(ys)e(p)q(ossible)h(completions)g(using)g
+(di\013eren)o(t)555 691 y(colors)19 b(to)f(indicate)i(their)f(\014le)g
+(t)o(yp)q(e.)33 b(The)20 b(color)f(de\014nitions)g(are)g(tak)o(en)555
+746 y(from)12 b(the)g(v)m(alue)h(of)e(the)i Fr(LS_COLORS)e
+Fs(en)o(vironmen)o(t)h(v)m(ariable.)18 b(The)12 b(default)555
+801 y(is)j(`)p Fr(off)p Fs('.)315 880 y Fr(comment-begin)555
+935 y Fs(The)g(string)e(to)h(insert)h(at)e(the)i(b)q(eginning)g(of)f
+(the)h(line)f(when)h(the)g Fr(insert-)555 990 y(comment)f
+Fs(command)h(is)g(executed.)21 b(The)15 b(default)g(v)m(alue)g(is)g
+Fr("#")p Fs(.)315 1069 y Fr(completion-display-width)555
+1124 y Fs(The)21 b(n)o(um)o(b)q(er)g(of)g(screen)g(columns)f(used)i(to)
+e(displa)o(y)g(p)q(ossible)g(matc)o(hes)555 1178 y(when)15
+b(p)q(erforming)f(completion.)19 b(The)14 b(v)m(alue)h(is)f(ignored)g
+(if)g(it)g(is)g(less)g(than)555 1233 y(0)f(or)f(greater)h(than)g(the)g
+(terminal)f(screen)h(width.)19 b(A)13 b(v)m(alue)g(of)g(0)g(will)f
+(cause)555 1288 y(matc)o(hes)j(to)f(b)q(e)i(displa)o(y)o(ed)f(one)g(p)q
+(er)h(line.)j(The)d(default)e(v)m(alue)i(is)f(-1.)315
+1367 y Fr(completion-ignore-case)555 1422 y Fs(If)f(set)f(to)g(`)p
+Fr(on)p Fs(',)g(Readline)h(p)q(erforms)f(\014lename)h(matc)o(hing)f
+(and)h(completion)555 1477 y(in)h(a)g(case-insensitiv)o(e)f(fashion.)20
+b(The)15 b(default)g(v)m(alue)g(is)g(`)p Fr(off)p Fs('.)315
+1556 y Fr(completion-map-case)555 1611 y Fs(If)c(set)g(to)g(`)p
 Fr(on)p Fs(',)f(and)h Fi(completion-ignore-case)i Fs(is)e(enabled,)h
-(Readline)f(treats)555 1337 y(h)o(yphens)16 b(\(`)p Fr(-)p
+(Readline)f(treats)555 1665 y(h)o(yphens)16 b(\(`)p Fr(-)p
 Fs('\))e(and)i(underscores)g(\(`)p Fr(_)p Fs('\))d(as)j(equiv)m(alen)o
-(t)f(when)h(p)q(erforming)555 1391 y(case-insensitiv)o(e)e(\014lename)i
-(matc)o(hing)e(and)h(completion.)315 1465 y Fr
-(completion-prefix-display-)o(length)555 1519 y Fs(The)h(length)f(in)h
+(t)f(when)h(p)q(erforming)555 1720 y(case-insensitiv)o(e)e(\014lename)i
+(matc)o(hing)e(and)h(completion.)315 1799 y Fr
+(completion-prefix-display-)o(length)555 1854 y Fs(The)h(length)f(in)h
 (c)o(haracters)f(of)g(the)h(common)f(pre\014x)h(of)f(a)h(list)e(of)h(p)
-q(ossible)555 1574 y(completions)f(that)g(is)g(displa)o(y)o(ed)g
+q(ossible)555 1909 y(completions)f(that)g(is)g(displa)o(y)o(ed)g
 (without)g(mo)q(di\014cation.)19 b(When)c(set)g(to)f(a)555
-1629 y(v)m(alue)f(greater)f(than)h(zero,)f(common)h(pre\014xes)g
-(longer)f(than)h(this)f(v)m(alue)h(are)555 1684 y(replaced)i(with)g(an)
+1964 y(v)m(alue)f(greater)f(than)h(zero,)f(common)h(pre\014xes)g
+(longer)f(than)h(this)f(v)m(alue)h(are)555 2019 y(replaced)i(with)g(an)
 g(ellipsis)f(when)i(displa)o(ying)e(p)q(ossible)h(completions.)315
-1757 y Fr(completion-query-items)555 1812 y Fs(The)e(n)o(um)o(b)q(er)h
+2098 y Fr(completion-query-items)555 2152 y Fs(The)e(n)o(um)o(b)q(er)h
 (of)e(p)q(ossible)h(completions)g(that)f(determines)h(when)h(the)f
-(user)555 1866 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q
+(user)555 2207 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q
 (ossibilities)f(should)i(b)q(e)g(displa)o(y)o(ed.)k(If)c(the)555
-1921 y(n)o(um)o(b)q(er)f(of)f(p)q(ossible)g(completions)f(is)h(greater)
-g(than)g(this)g(v)m(alue,)h(Readline)555 1976 y(will)e(ask)h(the)g
+2262 y(n)o(um)o(b)q(er)f(of)f(p)q(ossible)g(completions)f(is)h(greater)
+g(than)g(this)g(v)m(alue,)h(Readline)555 2317 y(will)e(ask)h(the)g
 (user)h(whether)f(or)g(not)g(he)g(wishes)g(to)g(view)g(them;)g
-(otherwise,)555 2031 y(they)f(are)g(simply)g(listed.)18
+(otherwise,)555 2372 y(they)f(are)g(simply)g(listed.)18
 b(This)12 b(v)m(ariable)f(m)o(ust)h(b)q(e)h(set)f(to)f(an)h(in)o(teger)
-g(v)m(alue)555 2086 y(greater)g(than)g(or)g(equal)g(to)g(0.)18
+g(v)m(alue)555 2426 y(greater)g(than)g(or)g(equal)g(to)g(0.)18
 b(A)13 b(negativ)o(e)e(v)m(alue)i(means)f(Readline)h(should)555
-2140 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
-Fr(100)p Fs(.)315 2213 y Fr(convert-meta)555 2268 y Fs(If)d(set)g(to)g
+2481 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
+Fr(100)p Fs(.)315 2560 y Fr(convert-meta)555 2615 y Fs(If)d(set)g(to)g
 (`)p Fr(on)p Fs(',)f(Readline)h(will)f(con)o(v)o(ert)g(c)o(haracters)h
-(with)f(the)h(eigh)o(th)g(bit)f(set)555 2323 y(to)15
+(with)f(the)h(eigh)o(th)g(bit)f(set)555 2670 y(to)15
 b(an)h Fl(asci)q(i)f Fs(k)o(ey)h(sequence)h(b)o(y)f(stripping)f(the)h
-(eigh)o(th)f(bit)h(and)g(pre\014xing)555 2378 y(an)c
-Fr(ESC)g Fs(c)o(haracter,)g(con)o(v)o(erting)f(them)h(to)f(a)h
-(meta-pre\014xed)h(k)o(ey)f(sequence.)555 2433 y(The)j(default)g(v)m
-(alue)h(is)e(`)p Fr(on)p Fs('.)315 2506 y Fr(disable-completion)555
-2560 y Fs(If)19 b(set)f(to)f(`)p Fr(On)p Fs(',)h(Readline)h(will)e
-(inhibit)g(w)o(ord)h(completion.)28 b(Completion)555
-2615 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)o(to)f(the)h
-(line)f(as)h(if)g(they)g(had)g(b)q(een)h(mapp)q(ed)555
-2670 y(to)h Fr(self-insert)p Fs(.)j(The)d(default)g(is)g(`)p
-Fr(off)p Fs('.)p eop end
+(eigh)o(th)f(bit)h(and)g(pre\014xing)p eop end
 %%Page: 6 10
 TeXDict begin 6 9 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(6)315 149 y Fr(editing-mode)555 204 y
-Fs(The)15 b Fr(editing-mode)d Fs(v)m(ariable)i(con)o(trols)f(whic)o(h)h
-(default)g(set)g(of)g(k)o(ey)g(bind-)555 259 y(ings)e(is)g(used.)20
+(Editing)1075 b(6)555 149 y(an)12 b Fr(ESC)g Fs(c)o(haracter,)g(con)o
+(v)o(erting)f(them)h(to)f(a)h(meta-pre\014xed)h(k)o(ey)f(sequence.)555
+204 y(The)j(default)g(v)m(alue)h(is)e(`)p Fr(on)p Fs('.)315
+277 y Fr(disable-completion)555 332 y Fs(If)19 b(set)f(to)f(`)p
+Fr(On)p Fs(',)h(Readline)h(will)e(inhibit)g(w)o(ord)h(completion.)28
+b(Completion)555 387 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)
+o(to)f(the)h(line)f(as)h(if)g(they)g(had)g(b)q(een)h(mapp)q(ed)555
+442 y(to)h Fr(self-insert)p Fs(.)j(The)d(default)g(is)g(`)p
+Fr(off)p Fs('.)315 515 y Fr(editing-mode)555 570 y Fs(The)g
+Fr(editing-mode)d Fs(v)m(ariable)i(con)o(trols)f(whic)o(h)h(default)g
+(set)g(of)g(k)o(ey)g(bind-)555 624 y(ings)e(is)g(used.)20
 b(By)12 b(default,)h(Readline)f(starts)g(up)h(in)f(Emacs)g(editing)g
-(mo)q(de,)555 314 y(where)j(the)f(k)o(eystrok)o(es)g(are)g(most)g
+(mo)q(de,)555 679 y(where)j(the)f(k)o(eystrok)o(es)g(are)g(most)g
 (similar)f(to)g(Emacs.)20 b(This)14 b(v)m(ariable)g(can)555
-369 y(b)q(e)i(set)f(to)f(either)h(`)p Fr(emacs)p Fs(')f(or)h(`)p
-Fr(vi)p Fs('.)315 442 y Fr(echo-control-characters)555
-496 y Fs(When)h(set)e(to)h(`)p Fr(on)p Fs(',)f(on)h(op)q(erating)f
-(systems)h(that)f(indicate)h(they)g(supp)q(ort)555 551
+734 y(b)q(e)i(set)f(to)f(either)h(`)p Fr(emacs)p Fs(')f(or)h(`)p
+Fr(vi)p Fs('.)315 807 y Fr(echo-control-characters)555
+862 y Fs(When)h(set)e(to)h(`)p Fr(on)p Fs(',)f(on)h(op)q(erating)f
+(systems)h(that)f(indicate)h(they)g(supp)q(ort)555 917
 y(it,)g(readline)g(ec)o(ho)q(es)h(a)g(c)o(haracter)f(corresp)q(onding)h
-(to)f(a)g(signal)g(generated)555 606 y(from)f(the)i(k)o(eyb)q(oard.)k
-(The)15 b(default)g(is)f(`)p Fr(on)p Fs('.)315 679 y
-Fr(enable-keypad)555 734 y Fs(When)e(set)f(to)h(`)p Fr(on)p
-Fs(',)e(Readline)i(will)f(try)g(to)g(enable)h(the)g(application)e(k)o
-(eypad)555 789 y(when)k(it)e(is)h(called.)19 b(Some)13
-b(systems)g(need)h(this)f(to)g(enable)g(the)h(arro)o(w)e(k)o(eys.)555
-844 y(The)j(default)g(is)g(`)p Fr(off)p Fs('.)315 917
-y Fr(enable-meta-key)555 971 y Fs(When)20 b(set)g(to)f(`)p
+(to)f(a)g(signal)g(generated)555 971 y(from)f(the)i(k)o(eyb)q(oard.)k
+(The)15 b(default)g(is)f(`)p Fr(on)p Fs('.)315 1044 y
+Fr(enable-keypad)555 1099 y Fs(When)e(set)f(to)h(`)p
+Fr(on)p Fs(',)e(Readline)i(will)f(try)g(to)g(enable)h(the)g
+(application)e(k)o(eypad)555 1154 y(when)k(it)e(is)h(called.)19
+b(Some)13 b(systems)g(need)h(this)f(to)g(enable)g(the)h(arro)o(w)e(k)o
+(eys.)555 1209 y(The)j(default)g(is)g(`)p Fr(off)p Fs('.)315
+1282 y Fr(enable-meta-key)555 1337 y Fs(When)20 b(set)g(to)f(`)p
 Fr(on)p Fs(',)h(Readline)g(will)e(try)i(to)f(enable)h(an)o(y)g(meta)f
-(mo)q(di\014er)555 1026 y(k)o(ey)i(the)g(terminal)e(claims)h(to)g(supp)
+(mo)q(di\014er)555 1391 y(k)o(ey)i(the)g(terminal)e(claims)h(to)g(supp)
 q(ort)h(when)h(it)e(is)g(called.)37 b(On)21 b(man)o(y)555
-1081 y(terminals,)16 b(the)i(meta)f(k)o(ey)h(is)f(used)h(to)f(send)h
-(eigh)o(t-bit)e(c)o(haracters.)27 b(The)555 1136 y(default)15
-b(is)f(`)p Fr(on)p Fs('.)315 1209 y Fr(expand-tilde)555
-1264 y Fs(If)g(set)g(to)f(`)p Fr(on)p Fs(',)f(tilde)i(expansion)f(is)h
-(p)q(erformed)g(when)g(Readline)g(attempts)555 1318 y(w)o(ord)h
+1446 y(terminals,)16 b(the)i(meta)f(k)o(ey)h(is)f(used)h(to)f(send)h
+(eigh)o(t-bit)e(c)o(haracters.)27 b(The)555 1501 y(default)15
+b(is)f(`)p Fr(on)p Fs('.)315 1574 y Fr(expand-tilde)555
+1629 y Fs(If)g(set)g(to)f(`)p Fr(on)p Fs(',)f(tilde)i(expansion)f(is)h
+(p)q(erformed)g(when)g(Readline)g(attempts)555 1684 y(w)o(ord)h
 (completion.)k(The)c(default)g(is)f(`)p Fr(off)p Fs('.)315
-1391 y Fr(history-preserve-point)555 1446 y Fs(If)21
+1757 y Fr(history-preserve-point)555 1812 y Fs(If)21
 b(set)g(to)f(`)p Fr(on)p Fs(',)h(the)g(history)f(co)q(de)h(attempts)f
-(to)g(place)h(the)g(p)q(oin)o(t)f(\(the)555 1501 y(curren)o(t)d(cursor)
+(to)g(place)h(the)g(p)q(oin)o(t)f(\(the)555 1866 y(curren)o(t)d(cursor)
 h(p)q(osition\))e(at)h(the)h(same)f(lo)q(cation)f(on)i(eac)o(h)g
-(history)e(line)555 1556 y(retriev)o(ed)i(with)f Fr(previous-history)f
+(history)e(line)555 1921 y(retriev)o(ed)i(with)f Fr(previous-history)f
 Fs(or)i Fr(next-history)p Fs(.)27 b(The)18 b(default)555
-1611 y(is)d(`)p Fr(off)p Fs('.)315 1684 y Fr(history-size)555
-1738 y Fs(Set)20 b(the)f(maxim)o(um)g(n)o(um)o(b)q(er)h(of)f(history)f
-(en)o(tries)h(sa)o(v)o(ed)g(in)g(the)h(history)555 1793
-y(list.)25 b(If)17 b(set)g(to)g(zero,)g(the)g(n)o(um)o(b)q(er)h(of)f
-(en)o(tries)f(in)h(the)g(history)g(list)f(is)g(not)555
-1848 y(limited.)315 1921 y Fr(horizontal-scroll-mode)555
-1976 y Fs(This)i(v)m(ariable)f(can)h(b)q(e)g(set)g(to)f(either)h(`)p
-Fr(on)p Fs(')f(or)g(`)p Fr(off)p Fs('.)27 b(Setting)18
-b(it)f(to)g(`)p Fr(on)p Fs(')555 2031 y(means)c(that)f(the)i(text)e(of)
-h(the)g(lines)g(b)q(eing)g(edited)g(will)f(scroll)g(horizon)o(tally)555
-2086 y(on)k(a)f(single)g(screen)i(line)e(when)i(they)f(are)f(longer)g
-(than)h(the)g(width)f(of)h(the)555 2140 y(screen,)e(instead)e(of)h
+1976 y(is)d(`)p Fr(off)p Fs('.)315 2049 y Fr(history-size)555
+2104 y Fs(Set)20 b(the)f(maxim)o(um)g(n)o(um)o(b)q(er)h(of)f(history)f
+(en)o(tries)h(sa)o(v)o(ed)g(in)g(the)h(history)555 2159
+y(list.)k(If)17 b(set)g(to)f(zero,)h(an)o(y)f(existing)g(history)g(en)o
+(tries)g(are)h(deleted)g(and)g(no)555 2213 y(new)f(en)o(tries)f(are)h
+(sa)o(v)o(ed.)21 b(If)16 b(set)g(to)f(a)h(v)m(alue)g(less)f(than)h
+(zero,)g(the)g(n)o(um)o(b)q(er)555 2268 y(of)f(history)f(en)o(tries)h
+(is)f(not)h(limited.)k(By)d(default,)e(the)i(n)o(um)o(b)q(er)f(of)g
+(history)555 2323 y(en)o(tries)g(is)f(not)h(limited.)315
+2396 y Fr(horizontal-scroll-mode)555 2451 y Fs(This)j(v)m(ariable)f
+(can)h(b)q(e)g(set)g(to)f(either)h(`)p Fr(on)p Fs(')f(or)g(`)p
+Fr(off)p Fs('.)27 b(Setting)18 b(it)f(to)g(`)p Fr(on)p
+Fs(')555 2506 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)g(b)q
+(eing)g(edited)g(will)f(scroll)g(horizon)o(tally)555
+2560 y(on)k(a)f(single)g(screen)i(line)e(when)i(they)f(are)f(longer)g
+(than)h(the)g(width)f(of)h(the)555 2615 y(screen,)e(instead)e(of)h
 (wrapping)f(on)o(to)g(a)h(new)g(screen)h(line.)19 b(By)13
-b(default,)g(this)555 2195 y(v)m(ariable)i(is)f(set)h(to)g(`)p
-Fr(off)p Fs('.)315 2268 y Fr(input-meta)555 2323 y Fs(If)h(set)f(to)g
-(`)p Fr(on)p Fs(',)f(Readline)i(will)f(enable)g(eigh)o(t-bit)g(input)g
-(\(it)g(will)f(not)h(clear)555 2378 y(the)20 b(eigh)o(th)f(bit)g(in)h
-(the)g(c)o(haracters)f(it)g(reads\),)h(regardless)f(of)h(what)f(the)555
-2433 y(terminal)g(claims)g(it)g(can)h(supp)q(ort.)34
-b(The)20 b(default)g(v)m(alue)g(is)g(`)p Fr(off)p Fs('.)33
-b(The)555 2487 y(name)15 b Fr(meta-flag)f Fs(is)h(a)g(synon)o(ym)g(for)
-f(this)h(v)m(ariable.)315 2560 y Fr(isearch-terminators)555
-2615 y Fs(The)26 b(string)f(of)g(c)o(haracters)g(that)g(should)h
-(terminate)f(an)h(incremen)o(tal)555 2670 y(searc)o(h)12
-b(without)g(subsequen)o(tly)g(executing)h(the)f(c)o(haracter)g(as)g(a)g
-(command)p eop end
+b(default,)g(this)555 2670 y(v)m(ariable)i(is)f(set)h(to)g(`)p
+Fr(off)p Fs('.)p eop end
 %%Page: 7 11
 TeXDict begin 7 10 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(7)555 149 y(\(see)22 b(Section)g(1.2.5)f([Searc)o
-(hing],)i(page)f(3\).)40 b(If)23 b(this)f(v)m(ariable)f(has)h(not)555
-204 y(b)q(een)d(giv)o(en)e(a)g(v)m(alue,)i(the)f(c)o(haracters)e
-Fr(ESC)i Fs(and)g Fk(C-J)f Fs(will)f(terminate)h(an)555
-259 y(incremen)o(tal)d(searc)o(h.)315 344 y Fr(keymap)96
+(Editing)1075 b(7)315 149 y Fr(input-meta)555 204 y Fs(If)16
+b(set)f(to)g(`)p Fr(on)p Fs(',)f(Readline)i(will)f(enable)g(eigh)o
+(t-bit)g(input)g(\(it)g(will)f(not)h(clear)555 259 y(the)20
+b(eigh)o(th)f(bit)g(in)h(the)g(c)o(haracters)f(it)g(reads\),)h
+(regardless)f(of)h(what)f(the)555 314 y(terminal)g(claims)g(it)g(can)h
+(supp)q(ort.)34 b(The)20 b(default)g(v)m(alue)g(is)g(`)p
+Fr(off)p Fs('.)33 b(The)555 369 y(name)15 b Fr(meta-flag)f
+Fs(is)h(a)g(synon)o(ym)g(for)f(this)h(v)m(ariable.)315
+455 y Fr(isearch-terminators)555 510 y Fs(The)26 b(string)f(of)g(c)o
+(haracters)g(that)g(should)h(terminate)f(an)h(incremen)o(tal)555
+564 y(searc)o(h)12 b(without)g(subsequen)o(tly)g(executing)h(the)f(c)o
+(haracter)g(as)g(a)g(command)555 619 y(\(see)22 b(Section)g(1.2.5)f
+([Searc)o(hing],)i(page)f(3\).)40 b(If)23 b(this)f(v)m(ariable)f(has)h
+(not)555 674 y(b)q(een)d(giv)o(en)e(a)g(v)m(alue,)i(the)f(c)o
+(haracters)e Fr(ESC)i Fs(and)g Fk(C-J)f Fs(will)f(terminate)h(an)555
+729 y(incremen)o(tal)d(searc)o(h.)315 815 y Fr(keymap)96
 b Fs(Sets)19 b(Readline's)h(idea)f(of)g(the)g(curren)o(t)h(k)o(eymap)f
-(for)f(k)o(ey)i(binding)f(com-)555 399 y(mands.)41 b(Acceptable)22
+(for)f(k)o(ey)i(binding)f(com-)555 870 y(mands.)41 b(Acceptable)22
 b Fr(keymap)g Fs(names)g(are)f Fr(emacs)p Fs(,)i Fr(emacs-standard)p
-Fs(,)555 454 y Fr(emacs-meta)p Fs(,)49 b Fr(emacs-ctlx)p
+Fs(,)555 924 y Fr(emacs-meta)p Fs(,)49 b Fr(emacs-ctlx)p
 Fs(,)g Fr(vi)p Fs(,)h Fr(vi-move)p Fs(,)f Fr(vi-command)p
-Fs(,)g(and)555 509 y Fr(vi-insert)p Fs(.)31 b Fr(vi)20
+Fs(,)g(and)555 979 y Fr(vi-insert)p Fs(.)31 b Fr(vi)20
 b Fs(is)f(equiv)m(alen)o(t)g(to)g Fr(vi-command)p Fs(;)g
-Fr(emacs)g Fs(is)g(equiv)m(alen)o(t)555 563 y(to)c Fr(emacs-standard)p
+Fr(emacs)g Fs(is)g(equiv)m(alen)o(t)555 1034 y(to)c Fr(emacs-standard)p
 Fs(.)20 b(The)d(default)e(v)m(alue)h(is)g Fr(emacs)p
-Fs(.)21 b(The)16 b(v)m(alue)g(of)g(the)555 618 y Fr(editing-mode)e
+Fs(.)21 b(The)16 b(v)m(alue)g(of)g(the)555 1089 y Fr(editing-mode)e
 Fs(v)m(ariable)g(also)g(a\013ects)h(the)g(default)g(k)o(eymap.)315
-703 y Fr(mark-directories)555 758 y Fs(If)k(set)g(to)g(`)p
+1175 y Fr(keyseq-timeout)555 1230 y Fs(Sp)q(eci\014es)f(the)f(duration)
+f(Readline)h(will)e(w)o(ait)g(for)h(a)h(c)o(haracter)f(when)h(read-)555
+1284 y(ing)i(an)f(am)o(biguous)g(k)o(ey)h(sequence)h(\(one)f(that)f
+(can)i(form)e(a)g(complete)h(k)o(ey)555 1339 y(sequence)e(using)f(the)g
+(input)f(read)h(so)g(far,)f(or)g(can)h(tak)o(e)f(additional)g(input)h
+(to)555 1394 y(complete)i(a)h(longer)e(k)o(ey)i(sequence\).)20
+b(If)15 b(no)g(input)f(is)g(receiv)o(ed)h(within)f(the)555
+1449 y(timeout,)h(Readline)i(will)e(use)h(the)h(shorter)e(but)i
+(complete)f(k)o(ey)g(sequence.)555 1504 y(The)d(v)m(alue)g(is)f(sp)q
+(eci\014ed)i(in)e(milliseconds,)g(so)g(a)g(v)m(alue)h(of)g(1000)e
+(means)i(that)555 1558 y(Readline)e(will)f(w)o(ait)g(one)h(second)h
+(for)f(additional)e(input.)19 b(If)11 b(this)g(v)m(ariable)f(is)555
+1613 y(set)k(to)f(a)h(v)m(alue)g(less)f(than)h(or)g(equal)f(to)h(zero,)
+f(or)h(to)f(a)h(non-n)o(umeric)g(v)m(alue,)555 1668 y(Readline)h(will)e
+(w)o(ait)g(un)o(til)h(another)g(k)o(ey)h(is)f(pressed)h(to)f(decide)i
+(whic)o(h)e(k)o(ey)555 1723 y(sequence)i(to)f(complete.)20
+b(The)15 b(default)g(v)m(alue)g(is)g Fr(500)p Fs(.)315
+1809 y Fr(mark-directories)555 1864 y Fs(If)k(set)g(to)g(`)p
 Fr(on)p Fs(',)f(completed)h(directory)g(names)g(ha)o(v)o(e)f(a)h(slash)
-g(app)q(ended.)555 813 y(The)c(default)g(is)g(`)p Fr(on)p
-Fs('.)315 898 y Fr(mark-modified-lines)555 953 y Fs(This)j(v)m
+g(app)q(ended.)555 1919 y(The)c(default)g(is)g(`)p Fr(on)p
+Fs('.)315 2005 y Fr(mark-modified-lines)555 2059 y Fs(This)j(v)m
 (ariable,)f(when)i(set)e(to)h(`)p Fr(on)p Fs(',)f(causes)h(Readline)g
-(to)f(displa)o(y)g(an)h(as-)555 1008 y(terisk)e(\(`)p
+(to)f(displa)o(y)g(an)h(as-)555 2114 y(terisk)e(\(`)p
 Fr(*)p Fs('\))f(at)i(the)f(start)g(of)h(history)e(lines)i(whic)o(h)f
-(ha)o(v)o(e)h(b)q(een)h(mo)q(di\014ed.)555 1063 y(This)d(v)m(ariable)f
-(is)h(`)p Fr(off)p Fs(')f(b)o(y)h(default.)315 1148 y
-Fr(mark-symlinked-directories)555 1203 y Fs(If)23 b(set)f(to)f(`)p
+(ha)o(v)o(e)h(b)q(een)h(mo)q(di\014ed.)555 2169 y(This)d(v)m(ariable)f
+(is)h(`)p Fr(off)p Fs(')f(b)o(y)h(default.)315 2255 y
+Fr(mark-symlinked-directories)555 2310 y Fs(If)23 b(set)f(to)f(`)p
 Fr(on)p Fs(',)i(completed)f(names)h(whic)o(h)f(are)g(sym)o(b)q(olic)g
-(links)f(to)h(di-)555 1258 y(rectories)g(ha)o(v)o(e)h(a)g(slash)f(app)q
+(links)f(to)h(di-)555 2365 y(rectories)g(ha)o(v)o(e)h(a)g(slash)f(app)q
 (ended)j(\(sub)s(ject)e(to)f(the)i(v)m(alue)f(of)g Fr(mark-)555
-1312 y(directories)p Fs(\).)18 b(The)d(default)g(is)g(`)p
-Fr(off)p Fs('.)315 1398 y Fr(match-hidden-files)555 1452
+2419 y(directories)p Fs(\).)18 b(The)d(default)g(is)g(`)p
+Fr(off)p Fs('.)315 2506 y Fr(match-hidden-files)555 2560
 y Fs(This)c(v)m(ariable,)g(when)g(set)g(to)g(`)p Fr(on)p
 Fs(',)f(causes)h(Readline)h(to)e(matc)o(h)h(\014les)g(whose)555
-1507 y(names)22 b(b)q(egin)g(with)g(a)f(`)p Fr(.)p Fs(')h(\(hidden)g
-(\014les\))g(when)g(p)q(erforming)g(\014lename)555 1562
+2615 y(names)22 b(b)q(egin)g(with)g(a)f(`)p Fr(.)p Fs(')h(\(hidden)g
+(\014les\))g(when)g(p)q(erforming)g(\014lename)555 2670
 y(completion.)35 b(If)21 b(set)g(to)f(`)p Fr(off)p Fs(',)g(the)h
-(leading)f(`)p Fr(.)p Fs(')g(m)o(ust)g(b)q(e)h(supplied)g(b)o(y)555
-1617 y(the)c(user)g(in)g(the)g(\014lename)h(to)e(b)q(e)i(completed.)25
-b(This)17 b(v)m(ariable)f(is)h(`)p Fr(on)p Fs(')f(b)o(y)555
-1672 y(default.)315 1757 y Fr(menu-complete-display-pref)o(ix)555
-1812 y Fs(If)h(set)g(to)f(`)p Fr(on)p Fs(',)f(men)o(u)i(completion)f
-(displa)o(ys)g(the)h(common)f(pre\014x)i(of)e(the)555
-1866 y(list)i(of)g(p)q(ossible)g(completions)g(\(whic)o(h)h(ma)o(y)f(b)
-q(e)h(empt)o(y\))f(b)q(efore)h(cycling)555 1921 y(through)c(the)g
-(list.)k(The)c(default)g(is)g(`)p Fr(off)p Fs('.)315
-2006 y Fr(output-meta)555 2061 y Fs(If)j(set)f(to)g(`)p
-Fr(on)p Fs(',)g(Readline)h(will)f(displa)o(y)g(c)o(haracters)f(with)i
-(the)f(eigh)o(th)g(bit)555 2116 y(set)h(directly)g(rather)f(than)h(as)g
+(leading)f(`)p Fr(.)p Fs(')g(m)o(ust)g(b)q(e)h(supplied)g(b)o(y)p
+eop end
+%%Page: 8 12
+TeXDict begin 8 11 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1075 b(8)555 149 y(the)17 b(user)g(in)g(the)g(\014lename)h(to)
+e(b)q(e)i(completed.)25 b(This)17 b(v)m(ariable)f(is)h(`)p
+Fr(on)p Fs(')f(b)o(y)555 204 y(default.)315 283 y Fr
+(menu-complete-display-pref)o(ix)555 338 y Fs(If)h(set)g(to)f(`)p
+Fr(on)p Fs(',)f(men)o(u)i(completion)f(displa)o(ys)g(the)h(common)f
+(pre\014x)i(of)e(the)555 393 y(list)i(of)g(p)q(ossible)g(completions)g
+(\(whic)o(h)h(ma)o(y)f(b)q(e)h(empt)o(y\))f(b)q(efore)h(cycling)555
+448 y(through)c(the)g(list.)k(The)c(default)g(is)g(`)p
+Fr(off)p Fs('.)315 527 y Fr(output-meta)555 582 y Fs(If)j(set)f(to)g(`)
+p Fr(on)p Fs(',)g(Readline)h(will)f(displa)o(y)g(c)o(haracters)f(with)i
+(the)f(eigh)o(th)g(bit)555 637 y(set)h(directly)g(rather)f(than)h(as)g
 (a)g(meta-pre\014xed)h(escap)q(e)g(sequence.)30 b(The)555
-2171 y(default)15 b(is)f(`)p Fr(off)p Fs('.)315 2256
-y Fr(page-completions)555 2311 y Fs(If)j(set)g(to)f(`)p
+691 y(default)15 b(is)f(`)p Fr(off)p Fs('.)315 770 y
+Fr(page-completions)555 825 y Fs(If)j(set)g(to)f(`)p
 Fr(on)p Fs(',)g(Readline)h(uses)h(an)e(in)o(ternal)g
-Fr(more)p Fs(-lik)o(e)g(pager)h(to)f(displa)o(y)555 2366
+Fr(more)p Fs(-lik)o(e)g(pager)h(to)f(displa)o(y)555 880
 y(a)g(screenful)g(of)g(p)q(ossible)g(completions)f(at)h(a)g(time.)22
-b(This)16 b(v)m(ariable)f(is)h(`)p Fr(on)p Fs(')555 2420
-y(b)o(y)f(default.)315 2506 y Fr(print-completions-horizont)o(ally)555
-2560 y Fs(If)d(set)g(to)f(`)p Fr(on)p Fs(',)h(Readline)g(will)e(displa)
-o(y)i(completions)f(with)g(matc)o(hes)g(sorted)555 2615
+b(This)16 b(v)m(ariable)f(is)h(`)p Fr(on)p Fs(')555 935
+y(b)o(y)f(default.)315 1014 y Fr(print-completions-horizont)o(ally)555
+1069 y Fs(If)d(set)g(to)f(`)p Fr(on)p Fs(',)h(Readline)g(will)e(displa)
+o(y)i(completions)f(with)g(matc)o(hes)g(sorted)555 1124
 y(horizon)o(tally)20 b(in)h(alphab)q(etical)g(order,)i(rather)e(than)g
-(do)o(wn)h(the)g(screen.)555 2670 y(The)15 b(default)g(is)g(`)p
-Fr(off)p Fs('.)p eop end
-%%Page: 8 12
-TeXDict begin 8 11 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(8)315 149 y Fr(revert-all-at-newline)555
-204 y Fs(If)15 b(set)g(to)f(`)p Fr(on)p Fs(',)f(Readline)i(will)f(undo)
-h(all)f(c)o(hanges)g(to)h(history)e(lines)i(b)q(efore)555
-259 y(returning)f(when)h Fr(accept-line)e Fs(is)g(executed.)21
-b(By)14 b(default,)g(history)f(lines)555 314 y(ma)o(y)20
+(do)o(wn)h(the)g(screen.)555 1178 y(The)15 b(default)g(is)g(`)p
+Fr(off)p Fs('.)315 1258 y Fr(revert-all-at-newline)555
+1312 y Fs(If)g(set)g(to)f(`)p Fr(on)p Fs(',)f(Readline)i(will)f(undo)h
+(all)f(c)o(hanges)g(to)h(history)e(lines)i(b)q(efore)555
+1367 y(returning)f(when)h Fr(accept-line)e Fs(is)g(executed.)21
+b(By)14 b(default,)g(history)f(lines)555 1422 y(ma)o(y)20
 b(b)q(e)i(mo)q(di\014ed)f(and)g(retain)f(individual)g(undo)i(lists)d
-(across)i(calls)f(to)555 369 y Fr(readline)p Fs(.)f(The)c(default)g(is)
-g(`)p Fr(off)p Fs('.)315 451 y Fr(show-all-if-ambiguous)555
-506 y Fs(This)g(alters)e(the)j(default)e(b)q(eha)o(vior)h(of)f(the)h
-(completion)f(functions.)20 b(If)15 b(set)555 560 y(to)e(`)p
+(across)i(calls)f(to)555 1477 y Fr(readline)p Fs(.)f(The)c(default)g
+(is)g(`)p Fr(off)p Fs('.)315 1556 y Fr(show-all-if-ambiguous)555
+1611 y Fs(This)g(alters)e(the)j(default)e(b)q(eha)o(vior)h(of)f(the)h
+(completion)f(functions.)20 b(If)15 b(set)555 1665 y(to)e(`)p
 Fr(on)p Fs(',)g(w)o(ords)g(whic)o(h)g(ha)o(v)o(e)h(more)f(than)g(one)h
-(p)q(ossible)g(completion)f(cause)555 615 y(the)20 b(matc)o(hes)f(to)f
+(p)q(ossible)g(completion)f(cause)555 1720 y(the)20 b(matc)o(hes)f(to)f
 (b)q(e)j(listed)d(immediately)g(instead)h(of)g(ringing)g(the)g(b)q
-(ell.)555 670 y(The)c(default)g(v)m(alue)h(is)e(`)p Fr(off)p
-Fs('.)315 752 y Fr(show-all-if-unmodified)555 807 y Fs(This)19
-b(alters)f(the)i(default)e(b)q(eha)o(vior)h(of)g(the)h(completion)e
-(functions)h(in)g(a)555 862 y(fashion)12 b(similar)f(to)g
-Fi(sho)o(w-all-if-am)o(biguous)r Fs(.)17 b(If)c(set)f(to)g(`)p
-Fr(on)p Fs(',)f(w)o(ords)h(whic)o(h)555 917 y(ha)o(v)o(e)j(more)g(than)
-g(one)h(p)q(ossible)f(completion)f(without)h(an)o(y)g(p)q(ossible)g
-(par-)555 971 y(tial)20 b(completion)g(\(the)h(p)q(ossible)g
-(completions)f(don't)h(share)g(a)f(common)555 1026 y(pre\014x\))15
-b(cause)h(the)f(matc)o(hes)g(to)f(b)q(e)i(listed)e(immediately)g
-(instead)h(of)f(ring-)555 1081 y(ing)h(the)g(b)q(ell.)20
-b(The)15 b(default)g(v)m(alue)g(is)g(`)p Fr(off)p Fs('.)315
-1163 y Fr(skip-completed-text)555 1218 y Fs(If)i(set)f(to)g(`)p
-Fr(on)p Fs(',)f(this)h(alters)f(the)i(default)f(completion)f(b)q(eha)o
-(vior)h(when)h(in-)555 1273 y(serting)d(a)g(single)g(matc)o(h)g(in)o
-(to)f(the)i(line.)k(It's)14 b(only)g(activ)o(e)g(when)h(p)q(erform-)555
-1328 y(ing)i(completion)f(in)h(the)h(middle)f(of)g(a)g(w)o(ord.)25
-b(If)18 b(enabled,)g(readline)f(do)q(es)555 1382 y(not)j(insert)g(c)o
-(haracters)f(from)h(the)g(completion)f(that)h(matc)o(h)g(c)o(haracters)
-555 1437 y(after)e(p)q(oin)o(t)g(in)g(the)g(w)o(ord)g(b)q(eing)h
-(completed,)g(so)f(p)q(ortions)f(of)h(the)h(w)o(ord)555
-1492 y(follo)o(wing)14 b(the)h(cursor)h(are)g(not)f(duplicated.)22
-b(F)l(or)15 b(instance,)g(if)h(this)f(is)g(en-)555 1547
-y(abled,)21 b(attempting)e(completion)g(when)i(the)f(cursor)g(is)g
-(after)g(the)g(`)p Fr(e)p Fs(')f(in)555 1601 y(`)p Fr(Makefile)p
-Fs(')e(will)g(result)h(in)h(`)p Fr(Makefile)p Fs(')e(rather)h(than)h(`)
-p Fr(Makefilefile)p Fs(',)555 1656 y(assuming)e(there)h(is)f(a)g
-(single)g(p)q(ossible)g(completion.)27 b(The)18 b(default)f(v)m(alue)
-555 1711 y(is)e(`)p Fr(off)p Fs('.)315 1793 y Fr(visible-stats)555
-1848 y Fs(If)h(set)g(to)f(`)p Fr(on)p Fs(',)g(a)h(c)o(haracter)f
+(ell.)555 1775 y(The)c(default)g(v)m(alue)h(is)e(`)p
+Fr(off)p Fs('.)315 1854 y Fr(show-all-if-unmodified)555
+1909 y Fs(This)19 b(alters)f(the)i(default)e(b)q(eha)o(vior)h(of)g(the)
+h(completion)e(functions)h(in)g(a)555 1964 y(fashion)12
+b(similar)f(to)g Fi(sho)o(w-all-if-am)o(biguous)r Fs(.)17
+b(If)c(set)f(to)g(`)p Fr(on)p Fs(',)f(w)o(ords)h(whic)o(h)555
+2019 y(ha)o(v)o(e)j(more)g(than)g(one)h(p)q(ossible)f(completion)f
+(without)h(an)o(y)g(p)q(ossible)g(par-)555 2073 y(tial)20
+b(completion)g(\(the)h(p)q(ossible)g(completions)f(don't)h(share)g(a)f
+(common)555 2128 y(pre\014x\))15 b(cause)h(the)f(matc)o(hes)g(to)f(b)q
+(e)i(listed)e(immediately)g(instead)h(of)f(ring-)555
+2183 y(ing)h(the)g(b)q(ell.)20 b(The)15 b(default)g(v)m(alue)g(is)g(`)p
+Fr(off)p Fs('.)315 2262 y Fr(show-mode-in-prompt)555
+2317 y Fs(If)j(set)g(to)f(`)p Fr(on)p Fs(',)g(add)h(a)g(c)o(haracter)f
+(to)g(the)h(b)q(eginning)g(of)g(the)g(prompt)f(in-)555
+2372 y(dicating)j(the)h(editing)f(mo)q(de:)32 b(emacs)21
+b(\(`)p Fr(@)p Fs('\),)f(vi)h(command)g(\(`)p Fr(:)p
+Fs('\),)f(or)g(vi)555 2426 y(insertion)14 b(\(`)p Fr(+)p
+Fs('\).)19 b(The)c(default)g(v)m(alue)g(is)g(`)p Fr(off)p
+Fs('.)315 2506 y Fr(skip-completed-text)555 2560 y Fs(If)i(set)f(to)g
+(`)p Fr(on)p Fs(',)f(this)h(alters)f(the)i(default)f(completion)f(b)q
+(eha)o(vior)h(when)h(in-)555 2615 y(serting)d(a)g(single)g(matc)o(h)g
+(in)o(to)f(the)i(line.)k(It's)14 b(only)g(activ)o(e)g(when)h(p)q
+(erform-)555 2670 y(ing)i(completion)f(in)h(the)h(middle)f(of)g(a)g(w)o
+(ord.)25 b(If)18 b(enabled,)g(readline)f(do)q(es)p eop
+end
+%%Page: 9 13
+TeXDict begin 9 12 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1075 b(9)555 149 y(not)20 b(insert)g(c)o(haracters)f(from)h
+(the)g(completion)f(that)h(matc)o(h)g(c)o(haracters)555
+204 y(after)e(p)q(oin)o(t)g(in)g(the)g(w)o(ord)g(b)q(eing)h(completed,)
+g(so)f(p)q(ortions)f(of)h(the)h(w)o(ord)555 259 y(follo)o(wing)14
+b(the)h(cursor)h(are)g(not)f(duplicated.)22 b(F)l(or)15
+b(instance,)g(if)h(this)f(is)g(en-)555 314 y(abled,)21
+b(attempting)e(completion)g(when)i(the)f(cursor)g(is)g(after)g(the)g(`)
+p Fr(e)p Fs(')f(in)555 369 y(`)p Fr(Makefile)p Fs(')e(will)g(result)h
+(in)h(`)p Fr(Makefile)p Fs(')e(rather)h(than)h(`)p Fr(Makefilefile)p
+Fs(',)555 423 y(assuming)e(there)h(is)f(a)g(single)g(p)q(ossible)g
+(completion.)27 b(The)18 b(default)f(v)m(alue)555 478
+y(is)e(`)p Fr(off)p Fs('.)315 556 y Fr(visible-stats)555
+611 y Fs(If)h(set)g(to)f(`)p Fr(on)p Fs(',)g(a)h(c)o(haracter)f
 (denoting)g(a)h(\014le's)g(t)o(yp)q(e)g(is)f(app)q(ended)j(to)d(the)555
-1903 y(\014lename)g(when)h(listing)e(p)q(ossible)h(completions.)j(The)e
-(default)f(is)f(`)p Fr(off)p Fs('.)75 1985 y(Key)i(Bindings)315
-2040 y(The)21 b(syn)o(tax)f(for)h(con)o(trolling)e(k)o(ey)i(bindings)f
+666 y(\014lename)g(when)h(listing)e(p)q(ossible)h(completions.)j(The)e
+(default)f(is)f(`)p Fr(off)p Fs('.)75 744 y(Key)i(Bindings)315
+799 y(The)21 b(syn)o(tax)f(for)h(con)o(trolling)e(k)o(ey)i(bindings)f
 (in)h(the)g(init)f(\014le)h(is)g(simple.)37 b(First)19
-b(y)o(ou)315 2095 y(need)c(to)e(\014nd)h(the)g(name)g(of)g(the)f
+b(y)o(ou)315 854 y(need)c(to)e(\014nd)h(the)g(name)g(of)g(the)f
 (command)h(that)f(y)o(ou)h(w)o(an)o(t)f(to)g(c)o(hange.)19
-b(The)14 b(follo)o(wing)315 2149 y(sections)j(con)o(tain)h(tables)f(of)
-g(the)h(command)g(name,)g(the)g(default)g(k)o(eybinding,)g(if)f(an)o(y)
-l(,)315 2204 y(and)e(a)g(short)g(description)g(of)f(what)h(the)g
-(command)g(do)q(es.)315 2273 y(Once)k(y)o(ou)f(kno)o(w)f(the)h(name)g
-(of)g(the)g(command,)g(simply)f(place)h(on)g(a)f(line)h(in)g(the)g
-(init)315 2328 y(\014le)f(the)g(name)g(of)f(the)h(k)o(ey)g(y)o(ou)f
-(wish)h(to)f(bind)h(the)g(command)g(to,)f(a)g(colon,)h(and)g(then)315
-2382 y(the)f(name)g(of)g(the)g(command.)22 b(There)17
+b(The)14 b(follo)o(wing)315 909 y(sections)j(con)o(tain)h(tables)f(of)g
+(the)h(command)g(name,)g(the)g(default)g(k)o(eybinding,)g(if)f(an)o(y)l
+(,)315 964 y(and)e(a)g(short)g(description)g(of)f(what)h(the)g(command)
+g(do)q(es.)315 1030 y(Once)k(y)o(ou)f(kno)o(w)f(the)h(name)g(of)g(the)g
+(command,)g(simply)f(place)h(on)g(a)f(line)h(in)g(the)g(init)315
+1085 y(\014le)f(the)g(name)g(of)f(the)h(k)o(ey)g(y)o(ou)f(wish)h(to)f
+(bind)h(the)g(command)g(to,)f(a)g(colon,)h(and)g(then)315
+1140 y(the)f(name)g(of)g(the)g(command.)22 b(There)17
 b(can)f(b)q(e)h(no)f(space)g(b)q(et)o(w)o(een)h(the)f(k)o(ey)g(name)g
-(and)315 2437 y(the)k(colon)g({)g(that)g(will)f(b)q(e)i(in)o(terpreted)
+(and)315 1194 y(the)k(colon)g({)g(that)g(will)f(b)q(e)i(in)o(terpreted)
 f(as)g(part)g(of)g(the)h(k)o(ey)f(name.)35 b(The)21 b(name)f(of)315
-2492 y(the)d(k)o(ey)g(can)h(b)q(e)g(expressed)g(in)f(di\013eren)o(t)f
+1249 y(the)d(k)o(ey)g(can)h(b)q(e)g(expressed)g(in)f(di\013eren)o(t)f
 (w)o(a)o(ys,)h(dep)q(ending)h(on)f(what)g(y)o(ou)g(\014nd)h(most)315
-2547 y(comfortable.)315 2615 y(In)h(addition)e(to)g(command)h(names,)g
+1304 y(comfortable.)315 1371 y(In)h(addition)e(to)g(command)h(names,)g
 (readline)g(allo)o(ws)e(k)o(eys)i(to)f(b)q(e)i(b)q(ound)g(to)e(a)h
-(string)315 2670 y(that)c(is)h(inserted)g(when)h(the)f(k)o(ey)g(is)g
-(pressed)h(\(a)e Fi(macro)r Fs(\).)p eop end
-%%Page: 9 13
-TeXDict begin 9 12 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(9)315 149 y Fi(k)o(eyname)s Fs(:)19 b
-Fi(function-name)f Fs(or)d Fi(macro)555 204 y(k)o(eyname)i
-Fs(is)d(the)g(name)h(of)f(a)g(k)o(ey)g(sp)q(elled)h(out)f(in)g
-(English.)19 b(F)l(or)13 b(example:)675 271 y Fr(Control-u:)22
-b(universal-argument)675 325 y(Meta-Rubout:)g(backward-kill-word)675
-380 y(Control-o:)g(">)i(output")555 447 y Fs(In)c(the)f(ab)q(o)o(v)o(e)
-g(example,)h Fk(C-u)f Fs(is)g(b)q(ound)h(to)f(the)g(function)g
-Fr(universal-)555 501 y(argument)p Fs(,)f Fk(M-DEL)h
-Fs(is)f(b)q(ound)i(to)e(the)h(function)g Fr(backward-kill-word)p
-Fs(,)555 556 y(and)h Fk(C-o)f Fs(is)g(b)q(ound)h(to)f(run)h(the)f
-(macro)g(expressed)h(on)g(the)f(righ)o(t)g(hand)555 611
-y(side)c(\(that)f(is,)h(to)f(insert)h(the)g(text)g(`)p
-Fr(>)f(output)p Fs(')g(in)o(to)h(the)g(line\).)555 677
-y(A)k(n)o(um)o(b)q(er)f(of)g(sym)o(b)q(olic)g(c)o(haracter)g(names)g
-(are)g(recognized)h(while)f(pro-)555 732 y(cessing)11
+(string)315 1425 y(that)c(is)h(inserted)g(when)h(the)f(k)o(ey)g(is)g
+(pressed)h(\(a)e Fi(macro)r Fs(\).)315 1504 y Fi(k)o(eyname)s
+Fs(:)19 b Fi(function-name)f Fs(or)d Fi(macro)555 1558
+y(k)o(eyname)i Fs(is)d(the)g(name)h(of)f(a)g(k)o(ey)g(sp)q(elled)h(out)
+f(in)g(English.)19 b(F)l(or)13 b(example:)675 1625 y
+Fr(Control-u:)22 b(universal-argument)675 1680 y(Meta-Rubout:)g
+(backward-kill-word)675 1735 y(Control-o:)g(">)i(output")555
+1801 y Fs(In)c(the)f(ab)q(o)o(v)o(e)g(example,)h Fk(C-u)f
+Fs(is)g(b)q(ound)h(to)f(the)g(function)g Fr(universal-)555
+1856 y(argument)p Fs(,)f Fk(M-DEL)h Fs(is)f(b)q(ound)i(to)e(the)h
+(function)g Fr(backward-kill-word)p Fs(,)555 1911 y(and)h
+Fk(C-o)f Fs(is)g(b)q(ound)h(to)f(run)h(the)f(macro)g(expressed)h(on)g
+(the)f(righ)o(t)g(hand)555 1965 y(side)c(\(that)f(is,)h(to)f(insert)h
+(the)g(text)g(`)p Fr(>)f(output)p Fs(')g(in)o(to)h(the)g(line\).)555
+2032 y(A)k(n)o(um)o(b)q(er)f(of)g(sym)o(b)q(olic)g(c)o(haracter)g
+(names)g(are)g(recognized)h(while)f(pro-)555 2087 y(cessing)11
 b(this)f(k)o(ey)g(binding)h(syn)o(tax:)17 b Fi(DEL)p
 Fs(,)10 b Fi(ESC)t Fs(,)h Fi(ESCAPE)s Fs(,)f Fi(LFD)r
-Fs(,)g Fi(NEW-)555 787 y(LINE)s Fs(,)15 b Fi(RET)s Fs(,)h
+Fs(,)g Fi(NEW-)555 2142 y(LINE)s Fs(,)15 b Fi(RET)s Fs(,)h
 Fi(RETURN)5 b Fs(,)15 b Fi(R)o(UBOUT)s Fs(,)h Fi(SP)l(A)o(CE)s
-Fs(,)e Fi(SPC)t Fs(,)h(and)g Fi(T)l(AB)s Fs(.)315 865
+Fs(,)e Fi(SPC)t Fs(,)h(and)g Fi(T)l(AB)s Fs(.)315 2220
 y Fr(")p Fi(k)o(eyseq)q Fr(")p Fs(:)20 b Fi(function-name)d
-Fs(or)e Fi(macro)555 920 y(k)o(eyseq)i Fs(di\013ers)d(from)h
+Fs(or)e Fi(macro)555 2275 y(k)o(eyseq)i Fs(di\013ers)d(from)h
 Fi(k)o(eyname)j Fs(ab)q(o)o(v)o(e)d(in)h(that)e(strings)h(denoting)g
-(an)g(en-)555 975 y(tire)h(k)o(ey)h(sequence)h(can)f(b)q(e)g(sp)q
+(an)g(en-)555 2329 y(tire)h(k)o(ey)h(sequence)h(can)f(b)q(e)g(sp)q
 (eci\014ed,)h(b)o(y)f(placing)f(the)h(k)o(ey)g(sequence)h(in)555
-1029 y(double)d(quotes.)k(Some)c Fl(gnu)g Fs(Emacs)f(st)o(yle)g(k)o(ey)
-h(escap)q(es)g(can)g(b)q(e)g(used,)g(as)555 1084 y(in)i(the)g(follo)o
+2384 y(double)d(quotes.)k(Some)c Fl(gnu)g Fs(Emacs)f(st)o(yle)g(k)o(ey)
+h(escap)q(es)g(can)g(b)q(e)g(used,)g(as)555 2439 y(in)i(the)g(follo)o
 (wing)d(example,)j(but)g(the)g(sp)q(ecial)g(c)o(haracter)f(names)h(are)
-f(not)555 1139 y(recognized.)675 1205 y Fr("\\C-u":)23
-b(universal-argument)675 1260 y("\\C-x\\C-r":)f(re-read-init-file)675
-1315 y("\\e[11~":)h("Function)f(Key)i(1")555 1381 y Fs(In)33
-b(the)f(ab)q(o)o(v)o(e)g(example,)k Fk(C-u)c Fs(is)g(again)f(b)q(ound)i
-(to)f(the)g(function)555 1436 y Fr(universal-argument)19
-b Fs(\(just)j(as)f(it)g(w)o(as)g(in)h(the)g(\014rst)f(example\),)i(`)p
-Fk(C-x)555 1491 y(C-r)p Fs(')14 b(is)h(b)q(ound)h(to)f(the)g(function)g
-Fr(re-read-init-file)p Fs(,)d(and)k(`)p Fr(ESC)e([)h(1)g(1)555
-1546 y(~)p Fs(')g(is)f(b)q(ound)j(to)d(insert)h(the)g(text)g(`)p
-Fr(Function)e(Key)i(1)p Fs('.)315 1624 y(The)g(follo)o(wing)e
-Fl(gnu)h Fs(Emacs)h(st)o(yle)f(escap)q(e)i(sequences)g(are)e(a)o(v)m
-(ailable)g(when)h(sp)q(ecifying)315 1679 y(k)o(ey)g(sequences:)315
-1757 y Fk(\\C-)168 b Fs(con)o(trol)14 b(pre\014x)315
-1835 y Fk(\\M-)168 b Fs(meta)15 b(pre\014x)315 1913 y
-Fk(\\e)192 b Fs(an)15 b(escap)q(e)h(c)o(haracter)315
-1991 y Fk(\\\\)192 b Fs(bac)o(kslash)315 2069 y Fk(\\)p
-Fr(")g(")p Fs(,)15 b(a)g(double)g(quotation)f(mark)315
-2147 y Fk(\\')192 b Fr(')p Fs(,)15 b(a)g(single)f(quote)h(or)g(ap)q
-(ostrophe)315 2225 y(In)f(addition)f(to)h(the)f Fl(gnu)h
-Fs(Emacs)g(st)o(yle)e(escap)q(e)j(sequences,)g(a)e(second)i(set)e(of)h
-(bac)o(kslash)315 2280 y(escap)q(es)i(is)f(a)o(v)m(ailable:)315
-2358 y Fr(\\a)192 b Fs(alert)14 b(\(b)q(ell\))315 2436
-y Fr(\\b)192 b Fs(bac)o(kspace)315 2514 y Fr(\\d)g Fs(delete)315
-2592 y Fr(\\f)g Fs(form)14 b(feed)315 2670 y Fr(\\n)192
-b Fs(newline)p eop end
+f(not)555 2494 y(recognized.)675 2560 y Fr("\\C-u":)23
+b(universal-argument)675 2615 y("\\C-x\\C-r":)f(re-read-init-file)675
+2670 y("\\e[11~":)h("Function)f(Key)i(1")p eop end
 %%Page: 10 14
 TeXDict begin 10 13 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(10)315 149 y Fr(\\r)192 b Fs(carriage)14
-b(return)315 226 y Fr(\\t)192 b Fs(horizon)o(tal)14 b(tab)315
-302 y Fr(\\v)192 b Fs(v)o(ertical)14 b(tab)315 378 y
-Fr(\\)p Fk(nnn)144 b Fs(the)17 b(eigh)o(t-bit)f(c)o(haracter)h(whose)g
-(v)m(alue)h(is)e(the)i(o)q(ctal)e(v)m(alue)i Fi(nnn)g
-Fs(\(one)f(to)555 433 y(three)e(digits\))315 509 y Fr(\\x)p
-Fk(HH)144 b Fs(the)20 b(eigh)o(t-bit)e(c)o(haracter)h(whose)h(v)m(alue)
-g(is)f(the)h(hexadecimal)f(v)m(alue)h Fi(HH)555 564 y
-Fs(\(one)15 b(or)g(t)o(w)o(o)f(hex)h(digits\))315 640
-y(When)k(en)o(tering)f(the)h(text)f(of)g(a)h(macro,)f(single)g(or)g
-(double)h(quotes)g(m)o(ust)f(b)q(e)h(used)h(to)315 695
-y(indicate)10 b(a)h(macro)f(de\014nition.)18 b(Unquoted)11
-b(text)f(is)h(assumed)f(to)h(b)q(e)g(a)f(function)h(name.)18
-b(In)315 750 y(the)11 b(macro)f(b)q(o)q(dy)l(,)i(the)f(bac)o(kslash)f
-(escap)q(es)h(describ)q(ed)h(ab)q(o)o(v)o(e)e(are)g(expanded.)20
-b(Bac)o(kslash)315 804 y(will)f(quote)g(an)o(y)h(other)g(c)o(haracter)f
-(in)h(the)g(macro)f(text,)h(including)g(`)p Fr(")p Fs(')f(and)h(`)p
-Fr(')p Fs('.)34 b(F)l(or)315 859 y(example,)13 b(the)g(follo)o(wing)d
-(binding)j(will)f(mak)o(e)g(`)p Fk(C-x)i Fr(\\)p Fs(')f(insert)f(a)h
-(single)f(`)p Fr(\\)p Fs(')g(in)o(to)g(the)h(line:)435
-925 y Fr("\\C-x\\\\":)23 b("\\\\")75 1021 y Fh(1.3.2)30
-b(Conditional)20 b(Init)g(Constructs)75 1094 y Fs(Readline)f(implemen)o
-(ts)e(a)h(facilit)o(y)f(similar)f(in)i(spirit)g(to)f(the)i(conditional)
-e(compilation)f(features)i(of)75 1149 y(the)d(C)h(prepro)q(cessor)f
-(whic)o(h)g(allo)o(ws)f(k)o(ey)h(bindings)g(and)h(v)m(ariable)e
-(settings)h(to)f(b)q(e)i(p)q(erformed)g(as)f(the)75 1204
-y(result)g(of)f(tests.)20 b(There)15 b(are)g(four)g(parser)g(directiv)o
-(es)f(used.)75 1280 y Fr($if)168 b Fs(The)16 b Fr($if)f
-Fs(construct)g(allo)o(ws)f(bindings)i(to)f(b)q(e)h(made)g(based)g(on)f
-(the)h(editing)f(mo)q(de,)h(the)315 1335 y(terminal)i(b)q(eing)h(used,)
-h(or)f(the)g(application)f(using)g(Readline.)32 b(The)19
-b(text)g(of)f(the)i(test)315 1390 y(extends)c(to)e(the)h(end)h(of)f
-(the)g(line;)g(no)g(c)o(haracters)f(are)h(required)h(to)e(isolate)g
-(it.)315 1466 y Fr(mode)144 b Fs(The)11 b Fr(mode=)e
-Fs(form)h(of)g(the)h Fr($if)f Fs(directiv)o(e)f(is)h(used)h(to)f(test)g
-(whether)h(Readline)555 1521 y(is)j(in)h Fr(emacs)f Fs(or)g
-Fr(vi)g Fs(mo)q(de.)20 b(This)15 b(ma)o(y)f(b)q(e)h(used)g(in)g
-(conjunction)g(with)f(the)555 1575 y(`)p Fr(set)g(keymap)p
-Fs(')f(command,)g(for)h(instance,)f(to)g(set)h(bindings)f(in)h(the)g
-Fr(emacs-)555 1630 y(standard)d Fs(and)i Fr(emacs-ctlx)e
-Fs(k)o(eymaps)h(only)h(if)f(Readline)g(is)g(starting)f(out)555
-1685 y(in)k Fr(emacs)g Fs(mo)q(de.)315 1761 y Fr(term)144
-b Fs(The)14 b Fr(term=)e Fs(form)h(ma)o(y)g(b)q(e)h(used)g(to)f
-(include)h(terminal-sp)q(eci\014c)f(k)o(ey)g(bind-)555
-1816 y(ings,)18 b(p)q(erhaps)h(to)e(bind)h(the)h(k)o(ey)e(sequences)j
-(output)e(b)o(y)g(the)g(terminal's)555 1871 y(function)12
+(Editing)1053 b(10)555 149 y(In)33 b(the)f(ab)q(o)o(v)o(e)g(example,)k
+Fk(C-u)c Fs(is)g(again)f(b)q(ound)i(to)f(the)g(function)555
+204 y Fr(universal-argument)19 b Fs(\(just)j(as)f(it)g(w)o(as)g(in)h
+(the)g(\014rst)f(example\),)i(`)p Fk(C-x)555 259 y(C-r)p
+Fs(')14 b(is)h(b)q(ound)h(to)f(the)g(function)g Fr(re-read-init-file)p
+Fs(,)d(and)k(`)p Fr(ESC)e([)h(1)g(1)555 314 y(~)p Fs(')g(is)f(b)q(ound)
+j(to)d(insert)h(the)g(text)g(`)p Fr(Function)e(Key)i(1)p
+Fs('.)315 396 y(The)g(follo)o(wing)e Fl(gnu)h Fs(Emacs)h(st)o(yle)f
+(escap)q(e)i(sequences)g(are)e(a)o(v)m(ailable)g(when)h(sp)q(ecifying)
+315 451 y(k)o(ey)g(sequences:)315 533 y Fk(\\C-)168 b
+Fs(con)o(trol)14 b(pre\014x)315 616 y Fk(\\M-)168 b Fs(meta)15
+b(pre\014x)315 698 y Fk(\\e)192 b Fs(an)15 b(escap)q(e)h(c)o(haracter)
+315 780 y Fk(\\\\)192 b Fs(bac)o(kslash)315 862 y Fk(\\)p
+Fr(")g(")p Fs(,)15 b(a)g(double)g(quotation)f(mark)315
+945 y Fk(\\')192 b Fr(')p Fs(,)15 b(a)g(single)f(quote)h(or)g(ap)q
+(ostrophe)315 1027 y(In)f(addition)f(to)h(the)f Fl(gnu)h
+Fs(Emacs)g(st)o(yle)e(escap)q(e)j(sequences,)g(a)e(second)i(set)e(of)h
+(bac)o(kslash)315 1082 y(escap)q(es)i(is)f(a)o(v)m(ailable:)315
+1164 y Fr(\\a)192 b Fs(alert)14 b(\(b)q(ell\))315 1247
+y Fr(\\b)192 b Fs(bac)o(kspace)315 1329 y Fr(\\d)g Fs(delete)315
+1411 y Fr(\\f)g Fs(form)14 b(feed)315 1493 y Fr(\\n)192
+b Fs(newline)315 1576 y Fr(\\r)g Fs(carriage)14 b(return)315
+1658 y Fr(\\t)192 b Fs(horizon)o(tal)14 b(tab)315 1740
+y Fr(\\v)192 b Fs(v)o(ertical)14 b(tab)315 1823 y Fr(\\)p
+Fk(nnn)144 b Fs(the)17 b(eigh)o(t-bit)f(c)o(haracter)h(whose)g(v)m
+(alue)h(is)e(the)i(o)q(ctal)e(v)m(alue)i Fi(nnn)g Fs(\(one)f(to)555
+1878 y(three)e(digits\))315 1960 y Fr(\\x)p Fk(HH)144
+b Fs(the)20 b(eigh)o(t-bit)e(c)o(haracter)h(whose)h(v)m(alue)g(is)f
+(the)h(hexadecimal)f(v)m(alue)h Fi(HH)555 2015 y Fs(\(one)15
+b(or)g(t)o(w)o(o)f(hex)h(digits\))315 2097 y(When)k(en)o(tering)f(the)h
+(text)f(of)g(a)h(macro,)f(single)g(or)g(double)h(quotes)g(m)o(ust)f(b)q
+(e)h(used)h(to)315 2152 y(indicate)10 b(a)h(macro)f(de\014nition.)18
+b(Unquoted)11 b(text)f(is)h(assumed)f(to)h(b)q(e)g(a)f(function)h
+(name.)18 b(In)315 2207 y(the)11 b(macro)f(b)q(o)q(dy)l(,)i(the)f(bac)o
+(kslash)f(escap)q(es)h(describ)q(ed)h(ab)q(o)o(v)o(e)e(are)g(expanded.)
+20 b(Bac)o(kslash)315 2261 y(will)f(quote)g(an)o(y)h(other)g(c)o
+(haracter)f(in)h(the)g(macro)f(text,)h(including)g(`)p
+Fr(")p Fs(')f(and)h(`)p Fr(')p Fs('.)34 b(F)l(or)315
+2316 y(example,)13 b(the)g(follo)o(wing)d(binding)j(will)f(mak)o(e)g(`)
+p Fk(C-x)i Fr(\\)p Fs(')f(insert)f(a)h(single)f(`)p Fr(\\)p
+Fs(')g(in)o(to)g(the)h(line:)435 2385 y Fr("\\C-x\\\\":)23
+b("\\\\")75 2487 y Fh(1.3.2)30 b(Conditional)20 b(Init)g(Constructs)75
+2560 y Fs(Readline)f(implemen)o(ts)e(a)h(facilit)o(y)f(similar)f(in)i
+(spirit)g(to)f(the)i(conditional)e(compilation)f(features)i(of)75
+2615 y(the)d(C)h(prepro)q(cessor)f(whic)o(h)g(allo)o(ws)f(k)o(ey)h
+(bindings)g(and)h(v)m(ariable)e(settings)h(to)f(b)q(e)i(p)q(erformed)g
+(as)f(the)75 2670 y(result)g(of)f(tests.)20 b(There)15
+b(are)g(four)g(parser)g(directiv)o(es)f(used.)p eop end
+%%Page: 11 15
+TeXDict begin 11 14 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1053 b(11)75 149 y Fr($if)168 b Fs(The)16 b
+Fr($if)f Fs(construct)g(allo)o(ws)f(bindings)i(to)f(b)q(e)h(made)g
+(based)g(on)f(the)h(editing)f(mo)q(de,)h(the)315 204
+y(terminal)i(b)q(eing)h(used,)h(or)f(the)g(application)f(using)g
+(Readline.)32 b(The)19 b(text)g(of)f(the)i(test)315 259
+y(extends)c(to)e(the)h(end)h(of)f(the)g(line;)g(no)g(c)o(haracters)f
+(are)h(required)h(to)e(isolate)g(it.)315 339 y Fr(mode)144
+b Fs(The)11 b Fr(mode=)e Fs(form)h(of)g(the)h Fr($if)f
+Fs(directiv)o(e)f(is)h(used)h(to)f(test)g(whether)h(Readline)555
+394 y(is)j(in)h Fr(emacs)f Fs(or)g Fr(vi)g Fs(mo)q(de.)20
+b(This)15 b(ma)o(y)f(b)q(e)h(used)g(in)g(conjunction)g(with)f(the)555
+448 y(`)p Fr(set)g(keymap)p Fs(')f(command,)g(for)h(instance,)f(to)g
+(set)h(bindings)f(in)h(the)g Fr(emacs-)555 503 y(standard)d
+Fs(and)i Fr(emacs-ctlx)e Fs(k)o(eymaps)h(only)h(if)f(Readline)g(is)g
+(starting)f(out)555 558 y(in)k Fr(emacs)g Fs(mo)q(de.)315
+638 y Fr(term)144 b Fs(The)14 b Fr(term=)e Fs(form)h(ma)o(y)g(b)q(e)h
+(used)g(to)f(include)h(terminal-sp)q(eci\014c)f(k)o(ey)g(bind-)555
+692 y(ings,)18 b(p)q(erhaps)h(to)e(bind)h(the)h(k)o(ey)e(sequences)j
+(output)e(b)o(y)g(the)g(terminal's)555 747 y(function)12
 b(k)o(eys.)18 b(The)13 b(w)o(ord)e(on)h(the)g(righ)o(t)f(side)g(of)h
-(the)g(`)p Fr(=)p Fs(')f(is)g(tested)h(against)555 1926
+(the)g(`)p Fr(=)p Fs(')f(is)g(tested)h(against)555 802
 y(b)q(oth)j(the)g(full)g(name)g(of)f(the)h(terminal)f(and)h(the)g(p)q
-(ortion)g(of)f(the)h(terminal)555 1980 y(name)i(b)q(efore)g(the)g
+(ortion)g(of)f(the)h(terminal)555 857 y(name)i(b)q(efore)g(the)g
 (\014rst)f(`)p Fr(-)p Fs('.)24 b(This)16 b(allo)o(ws)f
 Fr(sun)h Fs(to)g(matc)o(h)h(b)q(oth)f Fr(sun)h Fs(and)555
-2035 y Fr(sun-cmd)p Fs(,)d(for)g(instance.)315 2111 y
-Fr(application)555 2166 y Fs(The)d Fi(application)f Fs(construct)h(is)f
-(used)i(to)e(include)h(application-sp)q(eci\014c)g(set-)555
-2221 y(tings.)18 b(Eac)o(h)12 b(program)f(using)i(the)f(Readline)h
-(library)e(sets)h(the)g Fi(application)555 2276 y(name)s
-Fs(,)f(and)h(y)o(ou)f(can)h(test)e(for)h(a)g(particular)f(v)m(alue.)19
-b(This)11 b(could)h(b)q(e)g(used)g(to)555 2331 y(bind)17
-b(k)o(ey)f(sequences)i(to)d(functions)i(useful)f(for)g(a)g(sp)q
-(eci\014c)h(program.)23 b(F)l(or)555 2385 y(instance,)16
-b(the)h(follo)o(wing)d(command)j(adds)f(a)g(k)o(ey)h(sequence)g(that)f
-(quotes)555 2440 y(the)f(curren)o(t)g(or)g(previous)g(w)o(ord)f(in)i
-(Bash:)675 2506 y Fr($if)23 b(Bash)675 2560 y(#)h(Quote)f(the)g
-(current)g(or)h(previous)f(word)675 2615 y("\\C-xq":)g
-("\\eb\\"\\ef\\"")675 2670 y($endif)p eop end
-%%Page: 11 15
-TeXDict begin 11 14 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(11)75 149 y Fr($endif)96 b Fs(This)15
-b(command,)f(as)h(seen)h(in)f(the)g(previous)g(example,)g(terminates)f
-(an)h Fr($if)f Fs(command.)75 229 y Fr($else)120 b Fs(Commands)15
-b(in)g(this)f(branc)o(h)i(of)e(the)i Fr($if)e Fs(directiv)o(e)h(are)g
-(executed)h(if)f(the)g(test)g(fails.)75 309 y Fr($include)48
-b Fs(This)21 b(directiv)o(e)g(tak)o(es)g(a)h(single)f(\014lename)h(as)f
-(an)h(argumen)o(t)f(and)h(reads)f(commands)315 364 y(and)e(bindings)h
-(from)e(that)h(\014le.)32 b(F)l(or)19 b(example,)h(the)f(follo)o(wing)e
-(directiv)o(e)i(reads)g(from)315 418 y(`)p Fr(/etc/inputrc)p
-Fs(':)435 486 y Fr($include)k(/etc/inputrc)75 585 y Fh(1.3.3)30
-b(Sample)20 b(Init)h(File)75 659 y Fs(Here)13 b(is)g(an)g(example)g(of)
-g(an)g Fi(inputrc)j Fs(\014le.)k(This)12 b(illustrates)g(k)o(ey)h
-(binding,)g(v)m(ariable)g(assignmen)o(t,)f(and)75 714
-y(conditional)i(syn)o(tax.)p eop end
+912 y Fr(sun-cmd)p Fs(,)d(for)g(instance.)315 991 y Fr(application)555
+1046 y Fs(The)d Fi(application)f Fs(construct)h(is)f(used)i(to)e
+(include)h(application-sp)q(eci\014c)g(set-)555 1101
+y(tings.)18 b(Eac)o(h)12 b(program)f(using)i(the)f(Readline)h(library)e
+(sets)h(the)g Fi(application)555 1156 y(name)s Fs(,)f(and)h(y)o(ou)f
+(can)h(test)e(for)h(a)g(particular)f(v)m(alue.)19 b(This)11
+b(could)h(b)q(e)g(used)g(to)555 1210 y(bind)17 b(k)o(ey)f(sequences)i
+(to)d(functions)i(useful)f(for)g(a)g(sp)q(eci\014c)h(program.)23
+b(F)l(or)555 1265 y(instance,)16 b(the)h(follo)o(wing)d(command)j(adds)
+f(a)g(k)o(ey)h(sequence)g(that)f(quotes)555 1320 y(the)f(curren)o(t)g
+(or)g(previous)g(w)o(ord)f(in)i(Bash:)675 1387 y Fr($if)23
+b(Bash)675 1442 y(#)h(Quote)f(the)g(current)g(or)h(previous)f(word)675
+1497 y("\\C-xq":)g("\\eb\\"\\ef\\"")675 1552 y($endif)75
+1631 y($endif)96 b Fs(This)15 b(command,)f(as)h(seen)h(in)f(the)g
+(previous)g(example,)g(terminates)f(an)h Fr($if)f Fs(command.)75
+1711 y Fr($else)120 b Fs(Commands)15 b(in)g(this)f(branc)o(h)i(of)e
+(the)i Fr($if)e Fs(directiv)o(e)h(are)g(executed)h(if)f(the)g(test)g
+(fails.)75 1791 y Fr($include)48 b Fs(This)21 b(directiv)o(e)g(tak)o
+(es)g(a)h(single)f(\014lename)h(as)f(an)h(argumen)o(t)f(and)h(reads)f
+(commands)315 1846 y(and)e(bindings)h(from)e(that)h(\014le.)32
+b(F)l(or)19 b(example,)h(the)f(follo)o(wing)e(directiv)o(e)i(reads)g
+(from)315 1900 y(`)p Fr(/etc/inputrc)p Fs(':)435 1968
+y Fr($include)k(/etc/inputrc)75 2067 y Fh(1.3.3)30 b(Sample)20
+b(Init)h(File)75 2141 y Fs(Here)13 b(is)g(an)g(example)g(of)g(an)g
+Fi(inputrc)j Fs(\014le.)k(This)12 b(illustrates)g(k)o(ey)h(binding,)g
+(v)m(ariable)g(assignmen)o(t,)f(and)75 2196 y(conditional)i(syn)o(tax.)
+p eop end
 %%Page: 12 16
 TeXDict begin 12 15 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
 (Editing)1053 b(12)195 204 y Fr(#)24 b(This)f(file)g(controls)g(the)h
@@ -4829,7 +7604,7 @@ g(are)h(comments.)195 533 y(#)195 588 y(#)g(First,)f(include)g(any)g
 807 y(#)195 862 y(#)h(Set)f(various)g(bindings)g(for)g(emacs)g(mode.)
 195 971 y(set)g(editing-mode)g(emacs)195 1081 y($if)g(mode=emacs)195
 1191 y(Meta-Control-h:)46 b(backward-kill-word)21 b(Text)i(after)h(the)
-f(function)g(name)g(is)h(ignored)p 1986 1201 21 38 v
+f(function)g(name)g(is)h(ignored)p 1985 1201 21 38 v
 195 1300 a(#)195 1355 y(#)g(Arrow)f(keys)g(in)h(keypad)f(mode)195
 1410 y(#)195 1465 y(#"\\M-OD":)190 b(backward-char)195
 1519 y(#"\\M-OC":)g(forward-char)195 1574 y(#"\\M-OA":)g
@@ -4930,392 +7705,414 @@ h(the)g(history)f(line)h(is)g(restored)f(to)h(its)f(original)g(state.)
 TeXDict begin 15 18 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
 (Editing)1053 b(15)75 149 y Fr(next-history)14 b(\(C-n\))315
 204 y Fs(Mo)o(v)o(e)g(`forw)o(ard')f(through)i(the)h(history)e(list,)f
-(fetc)o(hing)i(the)g(next)h(command.)75 286 y Fr(beginning-of-history)c
-(\(M-<\))315 341 y Fs(Mo)o(v)o(e)i(to)h(the)g(\014rst)g(line)g(in)g
-(the)g(history)l(.)75 423 y Fr(end-of-history)e(\(M->\))315
-478 y Fs(Mo)o(v)o(e)h(to)h(the)g(end)h(of)f(the)g(input)g(history)l(,)f
+(fetc)o(hing)i(the)g(next)h(command.)75 279 y Fr(beginning-of-history)c
+(\(M-<\))315 334 y Fs(Mo)o(v)o(e)i(to)h(the)g(\014rst)g(line)g(in)g
+(the)g(history)l(.)75 408 y Fr(end-of-history)e(\(M->\))315
+463 y Fs(Mo)o(v)o(e)h(to)h(the)g(end)h(of)f(the)g(input)g(history)l(,)f
 (i.e.,)g(the)h(line)g(curren)o(tly)g(b)q(eing)g(en)o(tered.)75
-560 y Fr(reverse-search-history)d(\(C-r\))315 615 y Fs(Searc)o(h)k(bac)
+538 y Fr(reverse-search-history)d(\(C-r\))315 593 y Fs(Searc)o(h)k(bac)
 o(kw)o(ard)e(starting)g(at)h(the)h(curren)o(t)f(line)h(and)f(mo)o(ving)
-g(`up')g(through)g(the)h(his-)315 670 y(tory)e(as)h(necessary)l(.)20
+g(`up')g(through)g(the)h(his-)315 648 y(tory)e(as)h(necessary)l(.)20
 b(This)15 b(is)g(an)g(incremen)o(tal)f(searc)o(h.)75
-752 y Fr(forward-search-history)e(\(C-s\))315 807 y Fs(Searc)o(h)j
+722 y Fr(forward-search-history)e(\(C-s\))315 777 y Fs(Searc)o(h)j
 (forw)o(ard)e(starting)g(at)i(the)f(curren)o(t)h(line)f(and)h(mo)o
-(ving)f(`do)o(wn')g(through)g(the)h(the)315 862 y(history)f(as)h
+(ving)f(`do)o(wn')g(through)g(the)h(the)315 832 y(history)f(as)h
 (necessary)l(.)20 b(This)15 b(is)g(an)g(incremen)o(tal)f(searc)o(h.)75
-944 y Fr(non-incremental-reverse-se)o(arch-hi)o(story)e(\(M-p\))315
-999 y Fs(Searc)o(h)k(bac)o(kw)o(ard)e(starting)g(at)h(the)h(curren)o(t)
+907 y Fr(non-incremental-reverse-se)o(arch-hi)o(story)e(\(M-p\))315
+961 y Fs(Searc)o(h)k(bac)o(kw)o(ard)e(starting)g(at)h(the)h(curren)o(t)
 f(line)h(and)f(mo)o(ving)g(`up')g(through)g(the)h(his-)315
-1054 y(tory)h(as)h(necessary)g(using)g(a)f(non-incremen)o(tal)h(searc)o
-(h)g(for)f(a)h(string)f(supplied)h(b)o(y)g(the)315 1108
-y(user.)75 1191 y Fr(non-incremental-forward-se)o(arch-hi)o(story)12
-b(\(M-n\))315 1245 y Fs(Searc)o(h)j(forw)o(ard)e(starting)g(at)i(the)f
+1016 y(tory)h(as)h(necessary)g(using)g(a)f(non-incremen)o(tal)h(searc)o
+(h)g(for)f(a)h(string)f(supplied)h(b)o(y)g(the)315 1071
+y(user.)75 1146 y Fr(non-incremental-forward-se)o(arch-hi)o(story)12
+b(\(M-n\))315 1200 y Fs(Searc)o(h)j(forw)o(ard)e(starting)g(at)i(the)f
 (curren)o(t)h(line)f(and)h(mo)o(ving)f(`do)o(wn')g(through)g(the)h(the)
-315 1300 y(history)d(as)h(necessary)h(using)f(a)g(non-incremen)o(tal)g
+315 1255 y(history)d(as)h(necessary)h(using)f(a)g(non-incremen)o(tal)g
 (searc)o(h)g(for)g(a)g(string)f(supplied)i(b)o(y)f(the)315
-1355 y(user.)75 1437 y Fr(history-search-forward)f(\(\))315
-1492 y Fs(Searc)o(h)21 b(forw)o(ard)e(through)i(the)f(history)g(for)g
+1310 y(user.)75 1385 y Fr(history-search-forward)f(\(\))315
+1440 y Fs(Searc)o(h)21 b(forw)o(ard)e(through)i(the)f(history)g(for)g
 (the)h(string)f(of)g(c)o(haracters)g(b)q(et)o(w)o(een)h(the)315
-1547 y(start)16 b(of)h(the)h(curren)o(t)g(line)f(and)g(the)h(p)q(oin)o
-(t.)27 b(This)17 b(is)g(a)g(non-incremen)o(tal)g(searc)o(h.)27
-b(By)315 1601 y(default,)14 b(this)h(command)g(is)g(un)o(b)q(ound.)75
-1684 y Fr(history-search-backward)d(\(\))315 1738 y Fs(Searc)o(h)18
+1494 y(start)c(of)g(the)h(curren)o(t)g(line)g(and)g(the)g(p)q(oin)o(t.)
+28 b(The)18 b(searc)o(h)g(string)f(m)o(ust)g(matc)o(h)h(at)f(the)315
+1549 y(b)q(eginning)f(of)g(a)g(history)f(line.)23 b(This)16
+b(is)g(a)g(non-incremen)o(tal)f(searc)o(h.)23 b(By)17
+b(default,)f(this)315 1604 y(command)f(is)g(un)o(b)q(ound.)75
+1679 y Fr(history-search-backward)d(\(\))315 1733 y Fs(Searc)o(h)18
 b(bac)o(kw)o(ard)e(through)h(the)h(history)e(for)h(the)g(string)g(of)g
-(c)o(haracters)f(b)q(et)o(w)o(een)i(the)315 1793 y(start)e(of)h(the)h
-(curren)o(t)g(line)f(and)g(the)h(p)q(oin)o(t.)27 b(This)17
-b(is)g(a)g(non-incremen)o(tal)g(searc)o(h.)27 b(By)315
-1848 y(default,)14 b(this)h(command)g(is)g(un)o(b)q(ound.)75
-1930 y Fr(yank-nth-arg)f(\(M-C-y\))315 1985 y Fs(Insert)19
+(c)o(haracters)f(b)q(et)o(w)o(een)i(the)315 1788 y(start)f(of)g(the)h
+(curren)o(t)g(line)g(and)g(the)g(p)q(oin)o(t.)28 b(The)18
+b(searc)o(h)g(string)f(m)o(ust)g(matc)o(h)h(at)f(the)315
+1843 y(b)q(eginning)f(of)g(a)g(history)f(line.)23 b(This)16
+b(is)g(a)g(non-incremen)o(tal)f(searc)o(h.)23 b(By)17
+b(default,)f(this)315 1898 y(command)f(is)g(un)o(b)q(ound.)75
+1973 y Fr(history-substr-search-forw)o(ard)d(\(\))315
+2027 y Fs(Searc)o(h)21 b(forw)o(ard)e(through)i(the)f(history)g(for)g
+(the)h(string)f(of)g(c)o(haracters)g(b)q(et)o(w)o(een)h(the)315
+2082 y(start)13 b(of)h(the)h(curren)o(t)f(line)g(and)h(the)f(p)q(oin)o
+(t.)19 b(The)c(searc)o(h)f(string)f(ma)o(y)h(matc)o(h)g(an)o(ywhere)315
+2137 y(in)i(a)g(history)f(line.)23 b(This)16 b(is)g(a)g(non-incremen)o
+(tal)f(searc)o(h.)23 b(By)17 b(default,)e(this)h(command)315
+2192 y(is)f(un)o(b)q(ound.)75 2267 y Fr(history-substr-search-back)o
+(ward)d(\(\))315 2321 y Fs(Searc)o(h)18 b(bac)o(kw)o(ard)e(through)h
+(the)h(history)e(for)h(the)g(string)g(of)g(c)o(haracters)f(b)q(et)o(w)o
+(een)i(the)315 2376 y(start)13 b(of)h(the)h(curren)o(t)f(line)g(and)h
+(the)f(p)q(oin)o(t.)19 b(The)c(searc)o(h)f(string)f(ma)o(y)h(matc)o(h)g
+(an)o(ywhere)315 2431 y(in)i(a)g(history)f(line.)23 b(This)16
+b(is)g(a)g(non-incremen)o(tal)f(searc)o(h.)23 b(By)17
+b(default,)e(this)h(command)315 2486 y(is)f(un)o(b)q(ound.)75
+2560 y Fr(yank-nth-arg)f(\(M-C-y\))315 2615 y Fs(Insert)19
 b(the)f(\014rst)h(argumen)o(t)e(to)h(the)h(previous)f(command)g
-(\(usually)g(the)h(second)g(w)o(ord)315 2040 y(on)d(the)g(previous)g
+(\(usually)g(the)h(second)g(w)o(ord)315 2670 y(on)d(the)g(previous)g
 (line\))f(at)g(p)q(oin)o(t.)22 b(With)15 b(an)h(argumen)o(t)f
-Fi(n)p Fs(,)h(insert)f(the)h Fi(n)p Fs(th)g(w)o(ord)g(from)315
-2095 y(the)i(previous)f(command)g(\(the)g(w)o(ords)g(in)g(the)h
-(previous)f(command)g(b)q(egin)h(with)f(w)o(ord)315 2149
-y(0\).)33 b(A)20 b(negativ)o(e)f(argumen)o(t)g(inserts)g(the)h
+Fi(n)p Fs(,)h(insert)f(the)h Fi(n)p Fs(th)g(w)o(ord)g(from)p
+eop end
+%%Page: 16 20
+TeXDict begin 16 19 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1053 b(16)315 149 y(the)18 b(previous)f(command)g(\(the)g(w)o
+(ords)g(in)g(the)h(previous)f(command)g(b)q(egin)h(with)f(w)o(ord)315
+204 y(0\).)33 b(A)20 b(negativ)o(e)f(argumen)o(t)g(inserts)g(the)h
 Fi(n)p Fs(th)g(w)o(ord)f(from)g(the)h(end)g(of)f(the)h(previous)315
-2204 y(command.)k(Once)17 b(the)g(argumen)o(t)e Fi(n)i
+259 y(command.)k(Once)17 b(the)g(argumen)o(t)e Fi(n)i
 Fs(is)f(computed,)h(the)f(argumen)o(t)g(is)g(extracted)g(as)g(if)315
-2259 y(the)f(`)p Fr(!)p Fk(n)5 b Fs(')15 b(history)f(expansion)h(had)g
-(b)q(een)i(sp)q(eci\014ed.)75 2341 y Fr(yank-last-arg)c(\(M-.)i(or)g
-(M-_\))315 2396 y Fs(Insert)j(last)e(argumen)o(t)h(to)g(the)g(previous)
-h(command)f(\(the)g(last)g(w)o(ord)g(of)g(the)g(previous)315
-2451 y(history)f(en)o(try\).)24 b(With)16 b(a)g(n)o(umeric)h(argumen)o
+314 y(the)f(`)p Fr(!)p Fk(n)5 b Fs(')15 b(history)f(expansion)h(had)g
+(b)q(een)i(sp)q(eci\014ed.)75 393 y Fr(yank-last-arg)c(\(M-.)i(or)g
+(M-_\))315 448 y Fs(Insert)j(last)e(argumen)o(t)h(to)g(the)g(previous)h
+(command)f(\(the)g(last)g(w)o(ord)g(of)g(the)g(previous)315
+503 y(history)f(en)o(try\).)24 b(With)16 b(a)g(n)o(umeric)h(argumen)o
 (t,)f(b)q(eha)o(v)o(e)h(exactly)f(lik)o(e)g Fr(yank-nth-arg)p
-Fs(.)315 2506 y(Successiv)o(e)d(calls)e(to)h Fr(yank-last-arg)f
+Fs(.)315 558 y(Successiv)o(e)d(calls)e(to)h Fr(yank-last-arg)f
 Fs(mo)o(v)o(e)g(bac)o(k)i(through)f(the)g(history)g(list,)f(inserting)
-315 2560 y(the)g(last)g(w)o(ord)f(\(or)h(the)g(w)o(ord)g(sp)q
-(eci\014ed)h(b)o(y)f(the)h(argumen)o(t)e(to)h(the)g(\014rst)g(call\))f
-(of)h(eac)o(h)g(line)315 2615 y(in)18 b(turn.)29 b(An)o(y)18
-b(n)o(umeric)g(argumen)o(t)g(supplied)g(to)g(these)g(successiv)o(e)h
-(calls)e(determines)315 2670 y(the)g(direction)g(to)g(mo)o(v)o(e)g
-(through)g(the)g(history)l(.)26 b(A)17 b(negativ)o(e)g(argumen)o(t)f
-(switc)o(hes)h(the)p eop end
-%%Page: 16 20
-TeXDict begin 16 19 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(16)315 149 y(direction)11 b(through)g(the)g(history)g
-(\(bac)o(k)g(or)g(forw)o(ard\).)17 b(The)11 b(history)g(expansion)g
-(facilities)315 204 y(are)i(used)i(to)e(extract)g(the)h(last)e(argumen)
-o(t,)h(as)h(if)f(the)h(`)p Fr(!$)p Fs(')e(history)h(expansion)h(had)g
-(b)q(een)315 259 y(sp)q(eci\014ed.)75 364 y Fh(1.4.3)30
-b(Commands)21 b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75
-452 y Fr(delete-char)14 b(\(C-d\))315 507 y Fs(Delete)19
-b(the)h(c)o(haracter)e(at)h(p)q(oin)o(t.)32 b(If)20 b(p)q(oin)o(t)f(is)
-g(at)f(the)i(b)q(eginning)g(of)f(the)g(line,)h(there)315
-562 y(are)e(no)h(c)o(haracters)e(in)i(the)f(line,)h(and)g(the)f(last)g
-(c)o(haracter)f(t)o(yp)q(ed)i(w)o(as)f(not)g(b)q(ound)i(to)315
-617 y Fr(delete-char)p Fs(,)13 b(then)j(return)f Fl(eof)p
-Fs(.)75 701 y Fr(backward-delete-char)d(\(Rubout\))315
-756 y Fs(Delete)j(the)g(c)o(haracter)f(b)q(ehind)i(the)g(cursor.)j(A)c
+315 613 y(the)g(last)g(w)o(ord)f(\(or)h(the)g(w)o(ord)g(sp)q(eci\014ed)
+h(b)o(y)f(the)h(argumen)o(t)e(to)h(the)g(\014rst)g(call\))f(of)h(eac)o
+(h)g(line)315 667 y(in)18 b(turn.)29 b(An)o(y)18 b(n)o(umeric)g
+(argumen)o(t)g(supplied)g(to)g(these)g(successiv)o(e)h(calls)e
+(determines)315 722 y(the)g(direction)g(to)g(mo)o(v)o(e)g(through)g
+(the)g(history)l(.)26 b(A)17 b(negativ)o(e)g(argumen)o(t)f(switc)o(hes)
+h(the)315 777 y(direction)11 b(through)g(the)g(history)g(\(bac)o(k)g
+(or)g(forw)o(ard\).)17 b(The)11 b(history)g(expansion)g(facilities)315
+832 y(are)i(used)i(to)e(extract)g(the)h(last)e(argumen)o(t,)h(as)h(if)f
+(the)h(`)p Fr(!$)p Fs(')e(history)h(expansion)h(had)g(b)q(een)315
+887 y(sp)q(eci\014ed.)75 986 y Fh(1.4.3)30 b(Commands)21
+b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75 1072 y Fr(delete-char)14
+b(\(C-d\))315 1127 y Fs(Delete)19 b(the)h(c)o(haracter)e(at)h(p)q(oin)o
+(t.)32 b(If)20 b(p)q(oin)o(t)f(is)g(at)f(the)i(b)q(eginning)g(of)f(the)
+g(line,)h(there)315 1181 y(are)e(no)h(c)o(haracters)e(in)i(the)f(line,)
+h(and)g(the)f(last)g(c)o(haracter)f(t)o(yp)q(ed)i(w)o(as)f(not)g(b)q
+(ound)i(to)315 1236 y Fr(delete-char)p Fs(,)13 b(then)j(return)f
+Fl(eof)p Fs(.)75 1316 y Fr(backward-delete-char)d(\(Rubout\))315
+1371 y Fs(Delete)j(the)g(c)o(haracter)f(b)q(ehind)i(the)g(cursor.)j(A)c
 (n)o(umeric)g(argumen)o(t)f(means)i(to)e(kill)g(the)315
-811 y(c)o(haracters)g(instead)h(of)g(deleting)g(them.)75
-896 y Fr(forward-backward-delete-ch)o(ar)d(\(\))315 951
-y Fs(Delete)19 b(the)g(c)o(haracter)f(under)i(the)f(cursor,)h(unless)f
-(the)g(cursor)g(is)g(at)f(the)h(end)h(of)f(the)315 1005
-y(line,)c(in)h(whic)o(h)g(case)f(the)h(c)o(haracter)g(b)q(ehind)g(the)g
-(cursor)g(is)f(deleted.)22 b(By)16 b(default,)g(this)315
-1060 y(is)f(not)g(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 1145
-y Fr(quoted-insert)e(\(C-q)i(or)g(C-v\))315 1200 y Fs(Add)j(the)f(next)
+1425 y(c)o(haracters)g(instead)h(of)g(deleting)g(them.)75
+1505 y Fr(forward-backward-delete-ch)o(ar)d(\(\))315
+1560 y Fs(Delete)19 b(the)g(c)o(haracter)f(under)i(the)f(cursor,)h
+(unless)f(the)g(cursor)g(is)g(at)f(the)h(end)h(of)f(the)315
+1615 y(line,)c(in)h(whic)o(h)g(case)f(the)h(c)o(haracter)g(b)q(ehind)g
+(the)g(cursor)g(is)f(deleted.)22 b(By)16 b(default,)g(this)315
+1669 y(is)f(not)g(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 1749
+y Fr(quoted-insert)e(\(C-q)i(or)g(C-v\))315 1804 y Fs(Add)j(the)f(next)
 g(c)o(haracter)g(t)o(yp)q(ed)g(to)f(the)i(line)e(v)o(erbatim.)25
-b(This)17 b(is)f(ho)o(w)h(to)g(insert)f(k)o(ey)315 1255
+b(This)17 b(is)f(ho)o(w)h(to)g(insert)f(k)o(ey)315 1859
 y(sequences)g(lik)o(e)f Fk(C-q)p Fs(,)f(for)h(example.)75
-1339 y Fr(tab-insert)f(\(M-TAB\))315 1394 y Fs(Insert)h(a)g(tab)g(c)o
-(haracter.)75 1479 y Fr(self-insert)f(\(a,)g(b,)h(A,)g(1,)g(!,)g(...)o
-(\))315 1534 y Fs(Insert)g(y)o(ourself.)75 1618 y Fr(transpose-chars)e
-(\(C-t\))315 1673 y Fs(Drag)i(the)h(c)o(haracter)f(b)q(efore)h(the)h
+1938 y Fr(tab-insert)f(\(M-TAB\))315 1993 y Fs(Insert)h(a)g(tab)g(c)o
+(haracter.)75 2072 y Fr(self-insert)f(\(a,)g(b,)h(A,)g(1,)g(!,)g(...)o
+(\))315 2127 y Fs(Insert)g(y)o(ourself.)75 2207 y Fr(transpose-chars)e
+(\(C-t\))315 2262 y Fs(Drag)i(the)h(c)o(haracter)f(b)q(efore)h(the)h
 (cursor)e(forw)o(ard)g(o)o(v)o(er)g(the)h(c)o(haracter)f(at)h(the)g
-(cursor,)315 1728 y(mo)o(ving)h(the)g(cursor)h(forw)o(ard)e(as)i(w)o
+(cursor,)315 2316 y(mo)o(ving)h(the)g(cursor)h(forw)o(ard)e(as)i(w)o
 (ell.)26 b(If)18 b(the)g(insertion)f(p)q(oin)o(t)g(is)g(at)g(the)h(end)
-h(of)e(the)315 1783 y(line,)11 b(then)g(this)g(transp)q(oses)f(the)h
+h(of)e(the)315 2371 y(line,)11 b(then)g(this)g(transp)q(oses)f(the)h
 (last)f(t)o(w)o(o)g(c)o(haracters)g(of)h(the)g(line.)18
-b(Negativ)o(e)10 b(argumen)o(ts)315 1838 y(ha)o(v)o(e)15
-b(no)g(e\013ect.)75 1922 y Fr(transpose-words)e(\(M-t\))315
-1977 y Fs(Drag)i(the)h(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)g(past)g(the)g
+b(Negativ)o(e)10 b(argumen)o(ts)315 2426 y(ha)o(v)o(e)15
+b(no)g(e\013ect.)75 2506 y Fr(transpose-words)e(\(M-t\))315
+2560 y Fs(Drag)i(the)h(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)g(past)g(the)g
 (w)o(ord)f(after)h(p)q(oin)o(t,)f(mo)o(ving)g(p)q(oin)o(t)h(past)g
-(that)315 2032 y(w)o(ord)d(as)h(w)o(ell.)19 b(If)14 b(the)g(insertion)g
+(that)315 2615 y(w)o(ord)d(as)h(w)o(ell.)19 b(If)14 b(the)g(insertion)g
 (p)q(oin)o(t)f(is)h(at)g(the)g(end)h(of)e(the)i(line,)e(this)h(transp)q
-(oses)g(the)315 2087 y(last)g(t)o(w)o(o)g(w)o(ords)g(on)i(the)f(line.)
-75 2172 y Fr(upcase-word)f(\(M-u\))315 2226 y Fs(Upp)q(ercase)j(the)f
-(curren)o(t)g(\(or)f(follo)o(wing\))e(w)o(ord.)22 b(With)15
-b(a)h(negativ)o(e)f(argumen)o(t,)g(upp)q(er-)315 2281
-y(case)g(the)g(previous)g(w)o(ord,)g(but)g(do)g(not)g(mo)o(v)o(e)f(the)
-i(cursor.)75 2366 y Fr(downcase-word)d(\(M-l\))315 2421
-y Fs(Lo)o(w)o(ercase)d(the)h(curren)o(t)g(\(or)f(follo)o(wing\))e(w)o
-(ord.)17 b(With)10 b(a)h(negativ)o(e)f(argumen)o(t,)g(lo)o(w)o(ercase)
-315 2476 y(the)15 b(previous)g(w)o(ord,)f(but)i(do)f(not)g(mo)o(v)o(e)f
-(the)h(cursor.)75 2560 y Fr(capitalize-word)e(\(M-c\))315
-2615 y Fs(Capitalize)c(the)i(curren)o(t)f(\(or)g(follo)o(wing\))e(w)o
-(ord.)18 b(With)10 b(a)g(negativ)o(e)g(argumen)o(t,)g(capitalize)315
-2670 y(the)15 b(previous)g(w)o(ord,)f(but)i(do)f(not)g(mo)o(v)o(e)f
-(the)h(cursor.)p eop end
+(oses)g(the)315 2670 y(last)g(t)o(w)o(o)g(w)o(ords)g(on)i(the)f(line.)p
+eop end
 %%Page: 17 21
 TeXDict begin 17 20 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(17)75 149 y Fr(overwrite-mode)13 b(\(\))315
-204 y Fs(T)l(oggle)i(o)o(v)o(erwrite)g(mo)q(de.)24 b(With)16
+(Editing)1053 b(17)75 149 y Fr(upcase-word)14 b(\(M-u\))315
+204 y Fs(Upp)q(ercase)j(the)f(curren)o(t)g(\(or)f(follo)o(wing\))e(w)o
+(ord.)22 b(With)15 b(a)h(negativ)o(e)f(argumen)o(t,)g(upp)q(er-)315
+259 y(case)g(the)g(previous)g(w)o(ord,)g(but)g(do)g(not)g(mo)o(v)o(e)f
+(the)i(cursor.)75 335 y Fr(downcase-word)d(\(M-l\))315
+390 y Fs(Lo)o(w)o(ercase)d(the)h(curren)o(t)g(\(or)f(follo)o(wing\))e
+(w)o(ord.)17 b(With)10 b(a)h(negativ)o(e)f(argumen)o(t,)g(lo)o(w)o
+(ercase)315 445 y(the)15 b(previous)g(w)o(ord,)f(but)i(do)f(not)g(mo)o
+(v)o(e)f(the)h(cursor.)75 521 y Fr(capitalize-word)e(\(M-c\))315
+576 y Fs(Capitalize)c(the)i(curren)o(t)f(\(or)g(follo)o(wing\))e(w)o
+(ord.)18 b(With)10 b(a)g(negativ)o(e)g(argumen)o(t,)g(capitalize)315
+631 y(the)15 b(previous)g(w)o(ord,)f(but)i(do)f(not)g(mo)o(v)o(e)f(the)
+h(cursor.)75 707 y Fr(overwrite-mode)e(\(\))315 762 y
+Fs(T)l(oggle)i(o)o(v)o(erwrite)g(mo)q(de.)24 b(With)16
 b(an)g(explicit)g(p)q(ositiv)o(e)g(n)o(umeric)g(argumen)o(t,)g(switc)o
-(hes)315 259 y(to)10 b(o)o(v)o(erwrite)f(mo)q(de.)19
+(hes)315 817 y(to)10 b(o)o(v)o(erwrite)f(mo)q(de.)19
 b(With)10 b(an)h(explicit)f(non-p)q(ositiv)o(e)g(n)o(umeric)h(argumen)o
-(t,)f(switc)o(hes)h(to)315 314 y(insert)k(mo)q(de.)20
+(t,)f(switc)o(hes)h(to)315 871 y(insert)k(mo)q(de.)20
 b(This)15 b(command)g(a\013ects)g(only)g Fr(emacs)f Fs(mo)q(de;)h
-Fr(vi)g Fs(mo)q(de)h(do)q(es)g(o)o(v)o(erwrite)315 369
+Fr(vi)g Fs(mo)q(de)h(do)q(es)g(o)o(v)o(erwrite)315 926
 y(di\013eren)o(tly)l(.)j(Eac)o(h)c(call)f(to)h Fr(readline\(\))f
-Fs(starts)f(in)j(insert)e(mo)q(de.)315 436 y(In)h(o)o(v)o(erwrite)e(mo)
+Fs(starts)f(in)j(insert)e(mo)q(de.)315 992 y(In)h(o)o(v)o(erwrite)e(mo)
 q(de,)i(c)o(haracters)f(b)q(ound)h(to)f Fr(self-insert)f
-Fs(replace)i(the)f(text)h(at)e(p)q(oin)o(t)315 491 y(rather)20
+Fs(replace)i(the)f(text)h(at)e(p)q(oin)o(t)315 1047 y(rather)20
 b(than)h(pushing)g(the)g(text)f(to)g(the)h(righ)o(t.)35
-b(Characters)20 b(b)q(ound)i(to)e Fr(backward-)315 546
+b(Characters)20 b(b)q(ound)i(to)e Fr(backward-)315 1101
 y(delete-char)14 b Fs(replace)h(the)g(c)o(haracter)g(b)q(efore)g(p)q
-(oin)o(t)g(with)f(a)h(space.)315 613 y(By)g(default,)g(this)f(command)h
-(is)g(un)o(b)q(ound.)75 714 y Fh(1.4.4)30 b(Killing)20
-b(And)h(Y)-5 b(anking)75 800 y Fr(kill-line)14 b(\(C-k\))315
-855 y Fs(Kill)g(the)i(text)e(from)h(p)q(oin)o(t)g(to)f(the)h(end)h(of)f
-(the)g(line.)75 935 y Fr(backward-kill-line)e(\(C-x)h(Rubout\))315
-990 y Fs(Kill)g(bac)o(kw)o(ard)h(to)f(the)i(b)q(eginning)f(of)g(the)g
-(line.)75 1070 y Fr(unix-line-discard)e(\(C-u\))315 1125
+(oin)o(t)g(with)f(a)h(space.)315 1167 y(By)g(default,)g(this)f(command)
+h(is)g(un)o(b)q(ound.)75 1263 y Fh(1.4.4)30 b(Killing)20
+b(And)h(Y)-5 b(anking)75 1347 y Fr(kill-line)14 b(\(C-k\))315
+1402 y Fs(Kill)g(the)i(text)e(from)h(p)q(oin)o(t)g(to)f(the)h(end)h(of)
+f(the)g(line.)75 1478 y Fr(backward-kill-line)e(\(C-x)h(Rubout\))315
+1533 y Fs(Kill)g(bac)o(kw)o(ard)h(to)f(the)i(b)q(eginning)f(of)g(the)g
+(line.)75 1610 y Fr(unix-line-discard)e(\(C-u\))315 1664
 y Fs(Kill)h(bac)o(kw)o(ard)h(from)f(the)i(cursor)e(to)h(the)g(b)q
-(eginning)h(of)e(the)i(curren)o(t)f(line.)75 1205 y Fr(kill-whole-line)
-e(\(\))315 1260 y Fs(Kill)k(all)h(c)o(haracters)f(on)h(the)h(curren)o
+(eginning)h(of)e(the)i(curren)o(t)f(line.)75 1741 y Fr(kill-whole-line)
+e(\(\))315 1795 y Fs(Kill)k(all)h(c)o(haracters)f(on)h(the)h(curren)o
 (t)f(line,)g(no)g(matter)g(where)g(p)q(oin)o(t)g(is.)28
-b(By)19 b(default,)315 1315 y(this)c(is)f(un)o(b)q(ound.)75
-1395 y Fr(kill-word)g(\(M-d\))315 1450 y Fs(Kill)g(from)g(p)q(oin)o(t)g
+b(By)19 b(default,)315 1850 y(this)c(is)f(un)o(b)q(ound.)75
+1926 y Fr(kill-word)g(\(M-d\))315 1981 y Fs(Kill)g(from)g(p)q(oin)o(t)g
 (to)g(the)h(end)g(of)f(the)h(curren)o(t)g(w)o(ord,)e(or)i(if)f(b)q(et)o
-(w)o(een)h(w)o(ords,)e(to)i(the)f(end)315 1505 y(of)h(the)g(next)g(w)o
+(w)o(een)h(w)o(ords,)e(to)i(the)f(end)315 2036 y(of)h(the)g(next)g(w)o
 (ord.)20 b(W)l(ord)14 b(b)q(oundaries)i(are)f(the)g(same)g(as)g
-Fr(forward-word)p Fs(.)75 1585 y Fr(backward-kill-word)e(\(M-DEL\))315
-1640 y Fs(Kill)h(the)g(w)o(ord)g(b)q(ehind)h(p)q(oin)o(t.)20
+Fr(forward-word)p Fs(.)75 2112 y Fr(backward-kill-word)e(\(M-DEL\))315
+2167 y Fs(Kill)h(the)g(w)o(ord)g(b)q(ehind)h(p)q(oin)o(t.)20
 b(W)l(ord)14 b(b)q(oundaries)g(are)g(the)h(same)f(as)g
-Fr(backward-word)p Fs(.)75 1720 y Fr(unix-word-rubout)f(\(C-w\))315
-1775 y Fs(Kill)i(the)h(w)o(ord)f(b)q(ehind)i(p)q(oin)o(t,)e(using)h
+Fr(backward-word)p Fs(.)75 2243 y Fr(unix-word-rubout)f(\(C-w\))315
+2298 y Fs(Kill)i(the)h(w)o(ord)f(b)q(ehind)i(p)q(oin)o(t,)e(using)h
 (white)f(space)h(as)g(a)f(w)o(ord)g(b)q(oundary)l(.)23
-b(The)16 b(killed)315 1830 y(text)f(is)f(sa)o(v)o(ed)h(on)g(the)h
-(kill-ring.)75 1910 y Fr(unix-filename-rubout)c(\(\))315
-1965 y Fs(Kill)17 b(the)i(w)o(ord)e(b)q(ehind)i(p)q(oin)o(t,)f(using)g
+b(The)16 b(killed)315 2353 y(text)f(is)f(sa)o(v)o(ed)h(on)g(the)h
+(kill-ring.)75 2429 y Fr(unix-filename-rubout)c(\(\))315
+2484 y Fs(Kill)17 b(the)i(w)o(ord)e(b)q(ehind)i(p)q(oin)o(t,)f(using)g
 (white)g(space)g(and)h(the)f(slash)g(c)o(haracter)f(as)h(the)315
-2020 y(w)o(ord)d(b)q(oundaries.)20 b(The)15 b(killed)g(text)f(is)h(sa)o
-(v)o(ed)g(on)g(the)g(kill-ring.)75 2100 y Fr(delete-horizontal-space)d
-(\(\))315 2155 y Fs(Delete)j(all)f(spaces)h(and)h(tabs)e(around)i(p)q
-(oin)o(t.)j(By)c(default,)g(this)f(is)h(un)o(b)q(ound.)75
-2235 y Fr(kill-region)f(\(\))315 2290 y Fs(Kill)g(the)i(text)e(in)h
-(the)h(curren)o(t)f(region.)k(By)c(default,)g(this)f(command)h(is)g(un)
-o(b)q(ound.)75 2370 y Fr(copy-region-as-kill)e(\(\))315
-2425 y Fs(Cop)o(y)j(the)i(text)e(in)h(the)g(region)f(to)h(the)g(kill)e
-(bu\013er,)i(so)g(it)f(can)h(b)q(e)h(y)o(ank)o(ed)f(righ)o(t)f(a)o(w)o
-(a)o(y)l(.)315 2480 y(By)f(default,)g(this)f(command)h(is)g(un)o(b)q
-(ound.)75 2560 y Fr(copy-backward-word)e(\(\))315 2615
-y Fs(Cop)o(y)19 b(the)g(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)g(to)f(the)i
-(kill)e(bu\013er.)32 b(The)19 b(w)o(ord)g(b)q(oundaries)g(are)g(the)315
-2670 y(same)c(as)g Fr(backward-word)p Fs(.)j(By)d(default,)f(this)h
-(command)g(is)g(un)o(b)q(ound.)p eop end
+2539 y(w)o(ord)d(b)q(oundaries.)20 b(The)15 b(killed)g(text)f(is)h(sa)o
+(v)o(ed)g(on)g(the)g(kill-ring.)75 2615 y Fr(delete-horizontal-space)d
+(\(\))315 2670 y Fs(Delete)j(all)f(spaces)h(and)h(tabs)e(around)i(p)q
+(oin)o(t.)j(By)c(default,)g(this)f(is)h(un)o(b)q(ound.)p
+eop end
 %%Page: 18 22
 TeXDict begin 18 21 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(18)75 149 y Fr(copy-forward-word)13 b(\(\))315
-204 y Fs(Cop)o(y)i(the)h(w)o(ord)e(follo)o(wing)g(p)q(oin)o(t)h(to)g
+(Editing)1053 b(18)75 149 y Fr(kill-region)14 b(\(\))315
+204 y Fs(Kill)g(the)i(text)e(in)h(the)h(curren)o(t)f(region.)k(By)c
+(default,)g(this)f(command)h(is)g(un)o(b)q(ound.)75 277
+y Fr(copy-region-as-kill)e(\(\))315 332 y Fs(Cop)o(y)j(the)i(text)e(in)
+h(the)g(region)f(to)h(the)g(kill)e(bu\013er,)i(so)g(it)f(can)h(b)q(e)h
+(y)o(ank)o(ed)f(righ)o(t)f(a)o(w)o(a)o(y)l(.)315 387
+y(By)f(default,)g(this)f(command)h(is)g(un)o(b)q(ound.)75
+459 y Fr(copy-backward-word)e(\(\))315 514 y Fs(Cop)o(y)19
+b(the)g(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)g(to)f(the)i(kill)e
+(bu\013er.)32 b(The)19 b(w)o(ord)g(b)q(oundaries)g(are)g(the)315
+569 y(same)c(as)g Fr(backward-word)p Fs(.)j(By)d(default,)f(this)h
+(command)g(is)g(un)o(b)q(ound.)75 641 y Fr(copy-forward-word)e(\(\))315
+696 y Fs(Cop)o(y)i(the)h(w)o(ord)e(follo)o(wing)g(p)q(oin)o(t)h(to)g
 (the)g(kill)g(bu\013er.)20 b(The)c(w)o(ord)f(b)q(oundaries)h(are)f(the)
-315 259 y(same)g(as)g Fr(forward-word)p Fs(.)j(By)d(default,)g(this)f
-(command)h(is)g(un)o(b)q(ound.)75 342 y Fr(yank)g(\(C-y\))315
-397 y Fs(Y)l(ank)g(the)h(top)f(of)f(the)i(kill)e(ring)g(in)o(to)g(the)i
-(bu\013er)f(at)f(p)q(oin)o(t.)75 479 y Fr(yank-pop)g(\(M-y\))315
-534 y Fs(Rotate)j(the)g(kill-ring,)f(and)h(y)o(ank)g(the)h(new)f(top.)
+315 751 y(same)g(as)g Fr(forward-word)p Fs(.)j(By)d(default,)g(this)f
+(command)h(is)g(un)o(b)q(ound.)75 824 y Fr(yank)g(\(C-y\))315
+879 y Fs(Y)l(ank)g(the)h(top)f(of)f(the)i(kill)e(ring)g(in)o(to)g(the)i
+(bu\013er)f(at)f(p)q(oin)o(t.)75 951 y Fr(yank-pop)g(\(M-y\))315
+1006 y Fs(Rotate)j(the)g(kill-ring,)f(and)h(y)o(ank)g(the)h(new)f(top.)
 26 b(Y)l(ou)17 b(can)h(only)f(do)g(this)g(if)f(the)i(prior)315
-589 y(command)d(is)g Fr(yank)f Fs(or)h Fr(yank-pop)p
-Fs(.)75 692 y Fh(1.4.5)30 b(Sp)r(ecifying)20 b(Numeric)h(Argumen)n(ts)
-75 779 y Fr(digit-argument)13 b(\()p Fk(M-0)p Fr(,)i
-Fk(M-1)p Fr(,)f(...)h Fk(M--)p Fr(\))315 834 y Fs(Add)f(this)f(digit)f
+1061 y(command)d(is)g Fr(yank)f Fs(or)h Fr(yank-pop)p
+Fs(.)75 1153 y Fh(1.4.5)30 b(Sp)r(ecifying)20 b(Numeric)h(Argumen)n(ts)
+75 1236 y Fr(digit-argument)13 b(\()p Fk(M-0)p Fr(,)i
+Fk(M-1)p Fr(,)f(...)h Fk(M--)p Fr(\))315 1291 y Fs(Add)f(this)f(digit)f
 (to)h(the)h(argumen)o(t)e(already)h(accum)o(ulating,)f(or)h(start)f(a)h
-(new)h(argumen)o(t.)315 889 y Fk(M--)h Fs(starts)f(a)h(negativ)o(e)f
-(argumen)o(t.)75 971 y Fr(universal-argument)f(\(\))315
-1026 y Fs(This)f(is)h(another)f(w)o(a)o(y)g(to)g(sp)q(ecify)h(an)g
+(new)h(argumen)o(t.)315 1345 y Fk(M--)h Fs(starts)f(a)h(negativ)o(e)f
+(argumen)o(t.)75 1418 y Fr(universal-argument)f(\(\))315
+1473 y Fs(This)f(is)h(another)f(w)o(a)o(y)g(to)g(sp)q(ecify)h(an)g
 (argumen)o(t.)18 b(If)13 b(this)f(command)h(is)f(follo)o(w)o(ed)f(b)o
-(y)i(one)315 1081 y(or)h(more)h(digits,)e(optionally)g(with)h(a)h
+(y)i(one)315 1528 y(or)h(more)h(digits,)e(optionally)g(with)h(a)h
 (leading)f(min)o(us)g(sign,)g(those)h(digits)e(de\014ne)j(the)f(ar-)315
-1136 y(gumen)o(t.)k(If)c(the)g(command)f(is)g(follo)o(w)o(ed)f(b)o(y)i
-(digits,)e(executing)h Fr(universal-argument)315 1191
+1582 y(gumen)o(t.)k(If)c(the)g(command)f(is)g(follo)o(w)o(ed)f(b)o(y)i
+(digits,)e(executing)h Fr(universal-argument)315 1637
 y Fs(again)h(ends)h(the)g(n)o(umeric)g(argumen)o(t,)f(but)h(is)g
 (otherwise)f(ignored.)21 b(As)16 b(a)g(sp)q(ecial)f(case,)315
-1245 y(if)h(this)g(command)g(is)g(immediately)f(follo)o(w)o(ed)g(b)o(y)
+1692 y(if)h(this)g(command)g(is)g(immediately)f(follo)o(w)o(ed)g(b)o(y)
 h(a)g(c)o(haracter)g(that)g(is)g(neither)g(a)g(digit)315
-1300 y(or)d(min)o(us)h(sign,)f(the)h(argumen)o(t)g(coun)o(t)f(for)h
+1747 y(or)d(min)o(us)h(sign,)f(the)h(argumen)o(t)g(coun)o(t)f(for)h
 (the)g(next)g(command)g(is)f(m)o(ultiplied)g(b)o(y)h(four.)315
-1355 y(The)19 b(argumen)o(t)f(coun)o(t)g(is)g(initially)f(one,)i(so)f
+1802 y(The)19 b(argumen)o(t)f(coun)o(t)g(is)g(initially)f(one,)i(so)f
 (executing)h(this)f(function)h(the)f(\014rst)h(time)315
-1410 y(mak)o(es)c(the)h(argumen)o(t)f(coun)o(t)h(four,)f(a)h(second)g
+1856 y(mak)o(es)c(the)h(argumen)o(t)f(coun)o(t)h(four,)f(a)h(second)g
 (time)f(mak)o(es)h(the)g(argumen)o(t)f(coun)o(t)g(six-)315
-1465 y(teen,)g(and)g(so)g(on.)20 b(By)15 b(default,)g(this)f(is)h(not)g
-(b)q(ound)h(to)f(a)g(k)o(ey)l(.)75 1567 y Fh(1.4.6)30
+1911 y(teen,)g(and)g(so)g(on.)20 b(By)15 b(default,)g(this)f(is)h(not)g
+(b)q(ound)h(to)f(a)g(k)o(ey)l(.)75 2004 y Fh(1.4.6)30
 b(Letting)20 b(Readline)g(T)n(yp)r(e)h(F)-5 b(or)19 b(Y)-5
-b(ou)75 1655 y Fr(complete)14 b(\(TAB\))315 1709 y Fs(A)o(ttempt)c(to)h
+b(ou)75 2086 y Fr(complete)14 b(\(TAB\))315 2141 y Fs(A)o(ttempt)c(to)h
 (p)q(erform)g(completion)g(on)g(the)g(text)g(b)q(efore)h(p)q(oin)o(t.)
-18 b(The)11 b(actual)g(completion)315 1764 y(p)q(erformed)k(is)g
+18 b(The)11 b(actual)g(completion)315 2196 y(p)q(erformed)k(is)g
 (application-sp)q(eci\014c.)20 b(The)15 b(default)g(is)g(\014lename)g
-(completion.)75 1847 y Fr(possible-completions)d(\(M-?\))315
-1902 y Fs(List)17 b(the)g(p)q(ossible)g(completions)g(of)g(the)g(text)g
+(completion.)75 2269 y Fr(possible-completions)d(\(M-?\))315
+2323 y Fs(List)17 b(the)g(p)q(ossible)g(completions)g(of)g(the)g(text)g
 (b)q(efore)h(p)q(oin)o(t.)25 b(When)18 b(displa)o(ying)e(com-)315
-1957 y(pletions,)f(Readline)i(sets)f(the)g(n)o(um)o(b)q(er)h(of)e
+2378 y(pletions,)f(Readline)i(sets)f(the)g(n)o(um)o(b)q(er)h(of)e
 (columns)h(used)h(for)f(displa)o(y)f(to)h(the)g(v)m(alue)g(of)315
-2011 y Fr(completion-display-width)p Fs(,)f(the)k(v)m(alue)f(of)g(the)g
+2433 y Fr(completion-display-width)p Fs(,)f(the)k(v)m(alue)f(of)g(the)g
 (en)o(vironmen)o(t)g(v)m(ariable)f Fr(COLUMNS)p Fs(,)315
-2066 y(or)e(the)g(screen)h(width,)e(in)h(that)g(order.)75
-2149 y Fr(insert-completions)e(\(M-*\))315 2204 y Fs(Insert)j(all)e
+2488 y(or)e(the)g(screen)h(width,)e(in)h(that)g(order.)75
+2560 y Fr(insert-completions)e(\(M-*\))315 2615 y Fs(Insert)j(all)e
 (completions)g(of)h(the)g(text)g(b)q(efore)h(p)q(oin)o(t)e(that)h(w)o
-(ould)g(ha)o(v)o(e)g(b)q(een)h(generated)315 2258 y(b)o(y)f
-Fr(possible-completions)p Fs(.)75 2341 y Fr(menu-complete)e(\(\))315
-2396 y Fs(Similar)d(to)i Fr(complete)p Fs(,)f(but)h(replaces)g(the)g(w)
-o(ord)f(to)g(b)q(e)i(completed)e(with)h(a)f(single)h(matc)o(h)315
-2451 y(from)18 b(the)h(list)f(of)g(p)q(ossible)h(completions.)30
+(ould)g(ha)o(v)o(e)g(b)q(een)h(generated)315 2670 y(b)o(y)f
+Fr(possible-completions)p Fs(.)p eop end
+%%Page: 19 23
+TeXDict begin 19 22 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1053 b(19)75 149 y Fr(menu-complete)13 b(\(\))315
+204 y Fs(Similar)d(to)i Fr(complete)p Fs(,)f(but)h(replaces)g(the)g(w)o
+(ord)f(to)g(b)q(e)i(completed)e(with)h(a)f(single)h(matc)o(h)315
+259 y(from)18 b(the)h(list)f(of)g(p)q(ossible)h(completions.)30
 b(Rep)q(eated)20 b(execution)f(of)g Fr(menu-complete)315
-2506 y Fs(steps)h(through)g(the)g(list)f(of)h(p)q(ossible)g
+314 y Fs(steps)h(through)g(the)g(list)f(of)h(p)q(ossible)g
 (completions,)g(inserting)f(eac)o(h)h(matc)o(h)f(in)h(turn.)315
-2560 y(A)o(t)e(the)g(end)h(of)f(the)h(list)e(of)h(completions,)g(the)g
+369 y(A)o(t)e(the)g(end)h(of)f(the)h(list)e(of)h(completions,)g(the)g
 (b)q(ell)h(is)e(rung)i(\(sub)s(ject)f(to)f(the)i(setting)315
-2615 y(of)f Fr(bell-style)p Fs(\))e(and)i(the)g(original)e(text)i(is)f
+423 y(of)f Fr(bell-style)p Fs(\))e(and)i(the)g(original)e(text)i(is)f
 (restored.)28 b(An)19 b(argumen)o(t)e(of)g Fi(n)i Fs(mo)o(v)o(es)e
-Fi(n)315 2670 y Fs(p)q(ositions)f(forw)o(ard)g(in)i(the)f(list)f(of)h
+Fi(n)315 478 y Fs(p)q(ositions)f(forw)o(ard)g(in)i(the)f(list)f(of)h
 (matc)o(hes;)h(a)f(negativ)o(e)f(argumen)o(t)h(ma)o(y)g(b)q(e)h(used)g
-(to)p eop end
-%%Page: 19 23
-TeXDict begin 19 22 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(19)315 149 y(mo)o(v)o(e)18 b(bac)o(kw)o(ard)h(through)g
-(the)g(list.)30 b(This)19 b(command)g(is)g(in)o(tended)g(to)g(b)q(e)h
-(b)q(ound)g(to)315 204 y Fr(TAB)p Fs(,)14 b(but)i(is)e(un)o(b)q(ound)j
-(b)o(y)e(default.)75 277 y Fr(menu-complete-backward)d(\(\))315
-332 y Fs(Iden)o(tical)17 b(to)g Fr(menu-complete)p Fs(,)f(but)i(mo)o(v)
-o(es)e(bac)o(kw)o(ard)h(through)g(the)h(list)e(of)h(p)q(ossible)315
-387 y(completions,)d(as)h(if)f Fr(menu-complete)g Fs(had)h(b)q(een)h
-(giv)o(en)f(a)g(negativ)o(e)f(argumen)o(t.)75 459 y Fr
-(delete-char-or-list)f(\(\))315 514 y Fs(Deletes)g(the)g(c)o(haracter)g
-(under)h(the)g(cursor)f(if)g(not)g(at)g(the)g(b)q(eginning)h(or)f(end)h
-(of)f(the)g(line)315 569 y(\(lik)o(e)g Fr(delete-char)p
-Fs(\).)18 b(If)d(at)f(the)h(end)g(of)f(the)g(line,)g(b)q(eha)o(v)o(es)h
-(iden)o(tically)e(to)h Fr(possible-)315 624 y(completions)p
-Fs(.)k(This)d(command)g(is)g(un)o(b)q(ound)h(b)o(y)f(default.)75
-716 y Fh(1.4.7)30 b(Keyb)r(oard)20 b(Macros)75 799 y
-Fr(start-kbd-macro)13 b(\(C-x)i(\(\))315 854 y Fs(Begin)g(sa)o(ving)f
-(the)i(c)o(haracters)e(t)o(yp)q(ed)i(in)o(to)e(the)h(curren)o(t)g(k)o
-(eyb)q(oard)g(macro.)75 926 y Fr(end-kbd-macro)e(\(C-x)i(\)\))315
-981 y Fs(Stop)f(sa)o(ving)e(the)i(c)o(haracters)f(t)o(yp)q(ed)h(in)o
-(to)e(the)i(curren)o(t)g(k)o(eyb)q(oard)f(macro)g(and)h(sa)o(v)o(e)f
-(the)315 1036 y(de\014nition.)75 1109 y Fr(call-last-kbd-macro)g(\(C-x)
-h(e\))315 1164 y Fs(Re-execute)19 b(the)f(last)e(k)o(eyb)q(oard)i
-(macro)f(de\014ned,)i(b)o(y)e(making)g(the)h(c)o(haracters)e(in)i(the)
-315 1218 y(macro)c(app)q(ear)i(as)f(if)f(t)o(yp)q(ed)i(at)e(the)i(k)o
-(eyb)q(oard.)75 1311 y Fh(1.4.8)30 b(Some)20 b(Miscellaneous)h
-(Commands)75 1394 y Fr(re-read-init-file)13 b(\(C-x)h(C-r\))315
-1448 y Fs(Read)e(in)e(the)h(con)o(ten)o(ts)g(of)f(the)h
-Fi(inputrc)j Fs(\014le,)d(and)h(incorp)q(orate)e(an)o(y)g(bindings)h
-(or)g(v)m(ariable)315 1503 y(assignmen)o(ts)j(found)i(there.)75
-1576 y Fr(abort)e(\(C-g\))315 1631 y Fs(Ab)q(ort)f(the)g(curren)o(t)h
+(to)315 533 y(mo)o(v)o(e)g(bac)o(kw)o(ard)h(through)g(the)g(list.)30
+b(This)19 b(command)g(is)g(in)o(tended)g(to)g(b)q(e)h(b)q(ound)g(to)315
+588 y Fr(TAB)p Fs(,)14 b(but)i(is)e(un)o(b)q(ound)j(b)o(y)e(default.)75
+670 y Fr(menu-complete-backward)d(\(\))315 725 y Fs(Iden)o(tical)17
+b(to)g Fr(menu-complete)p Fs(,)f(but)i(mo)o(v)o(es)e(bac)o(kw)o(ard)h
+(through)g(the)h(list)e(of)h(p)q(ossible)315 780 y(completions,)d(as)h
+(if)f Fr(menu-complete)g Fs(had)h(b)q(een)h(giv)o(en)f(a)g(negativ)o(e)
+f(argumen)o(t.)75 863 y Fr(delete-char-or-list)f(\(\))315
+917 y Fs(Deletes)g(the)g(c)o(haracter)g(under)h(the)g(cursor)f(if)g
+(not)g(at)g(the)g(b)q(eginning)h(or)f(end)h(of)f(the)g(line)315
+972 y(\(lik)o(e)g Fr(delete-char)p Fs(\).)18 b(If)d(at)f(the)h(end)g
+(of)f(the)g(line,)g(b)q(eha)o(v)o(es)h(iden)o(tically)e(to)h
+Fr(possible-)315 1027 y(completions)p Fs(.)k(This)d(command)g(is)g(un)o
+(b)q(ound)h(b)o(y)f(default.)75 1130 y Fh(1.4.7)30 b(Keyb)r(oard)20
+b(Macros)75 1217 y Fr(start-kbd-macro)13 b(\(C-x)i(\(\))315
+1272 y Fs(Begin)g(sa)o(ving)f(the)i(c)o(haracters)e(t)o(yp)q(ed)i(in)o
+(to)e(the)h(curren)o(t)g(k)o(eyb)q(oard)g(macro.)75 1354
+y Fr(end-kbd-macro)e(\(C-x)i(\)\))315 1409 y Fs(Stop)f(sa)o(ving)e(the)
+i(c)o(haracters)f(t)o(yp)q(ed)h(in)o(to)e(the)i(curren)o(t)g(k)o(eyb)q
+(oard)f(macro)g(and)h(sa)o(v)o(e)f(the)315 1464 y(de\014nition.)75
+1547 y Fr(call-last-kbd-macro)g(\(C-x)h(e\))315 1601
+y Fs(Re-execute)19 b(the)f(last)e(k)o(eyb)q(oard)i(macro)f(de\014ned,)i
+(b)o(y)e(making)g(the)h(c)o(haracters)e(in)i(the)315
+1656 y(macro)c(app)q(ear)i(as)f(if)f(t)o(yp)q(ed)i(at)e(the)i(k)o(eyb)q
+(oard.)75 1739 y Fr(print-last-kbd-macro)c(\(\))315 1794
+y Fs(Prin)o(t)i(the)h(last)g(k)o(eb)q(oard)g(macro)f(de\014ned)j(in)e
+(a)g(format)f(suitable)g(for)h(the)g Fi(inputrc)j Fs(\014le.)75
+1896 y Fh(1.4.8)30 b(Some)20 b(Miscellaneous)h(Commands)75
+1984 y Fr(re-read-init-file)13 b(\(C-x)h(C-r\))315 2038
+y Fs(Read)e(in)e(the)h(con)o(ten)o(ts)g(of)f(the)h Fi(inputrc)j
+Fs(\014le,)d(and)h(incorp)q(orate)e(an)o(y)g(bindings)h(or)g(v)m
+(ariable)315 2093 y(assignmen)o(ts)j(found)i(there.)75
+2176 y Fr(abort)e(\(C-g\))315 2231 y Fs(Ab)q(ort)f(the)g(curren)o(t)h
 (editing)e(command)h(and)h(ring)e(the)i(terminal's)d(b)q(ell)i(\(sub)s
-(ject)g(to)g(the)315 1685 y(setting)h(of)h Fr(bell-style)p
-Fs(\).)75 1758 y Fr(do-uppercase-version)d(\(M-a,)j(M-b,)f(M-)p
-Fk(x)5 b Fr(,)15 b(...\))315 1813 y Fs(If)f(the)g(meta\014ed)g(c)o
+(ject)g(to)g(the)315 2286 y(setting)h(of)h Fr(bell-style)p
+Fs(\).)75 2368 y Fr(do-uppercase-version)d(\(M-a,)j(M-b,)f(M-)p
+Fk(x)5 b Fr(,)15 b(...\))315 2423 y Fs(If)f(the)g(meta\014ed)g(c)o
 (haracter)f Fi(x)k Fs(is)c(lo)o(w)o(ercase,)g(run)h(the)g(command)f
-(that)h(is)f(b)q(ound)i(to)e(the)315 1868 y(corresp)q(onding)i(upp)q
-(ercase)h(c)o(haracter.)75 1941 y Fr(prefix-meta)e(\(ESC\))315
-1995 y Fs(Metafy)k(the)h(next)g(c)o(haracter)f(t)o(yp)q(ed.)30
+(that)h(is)f(b)q(ound)i(to)e(the)315 2478 y(corresp)q(onding)i(upp)q
+(ercase)h(c)o(haracter.)75 2560 y Fr(prefix-meta)e(\(ESC\))315
+2615 y Fs(Metafy)k(the)h(next)g(c)o(haracter)f(t)o(yp)q(ed.)30
 b(This)19 b(is)f(for)g(k)o(eyb)q(oards)h(without)f(a)g(meta)g(k)o(ey)l
-(.)315 2050 y(T)o(yping)d(`)p Fr(ESC)f(f)p Fs(')h(is)f(equiv)m(alen)o
-(t)h(to)g(t)o(yping)f Fk(M-f)p Fs(.)75 2123 y Fr(undo)h(\(C-_)f(or)h
-(C-x)g(C-u\))315 2178 y Fs(Incremen)o(tal)g(undo,)g(separately)g(remem)
-o(b)q(ered)h(for)e(eac)o(h)h(line.)75 2250 y Fr(revert-line)f(\(M-r\))
-315 2305 y Fs(Undo)j(all)e(c)o(hanges)i(made)f(to)g(this)g(line.)24
-b(This)16 b(is)g(lik)o(e)g(executing)g(the)h Fr(undo)f
-Fs(command)315 2360 y(enough)g(times)e(to)h(get)f(bac)o(k)h(to)g(the)g
-(b)q(eginning.)75 2433 y Fr(tilde-expand)f(\(M-~\))315
-2488 y Fs(P)o(erform)g(tilde)h(expansion)g(on)g(the)g(curren)o(t)g(w)o
-(ord.)75 2560 y Fr(set-mark)f(\(C-@\))315 2615 y Fs(Set)i(the)h(mark)f
-(to)f(the)i(p)q(oin)o(t.)23 b(If)17 b(a)f(n)o(umeric)g(argumen)o(t)g
-(is)f(supplied,)i(the)g(mark)e(is)h(set)315 2670 y(to)f(that)f(p)q
-(osition.)p eop end
+(.)315 2670 y(T)o(yping)d(`)p Fr(ESC)f(f)p Fs(')h(is)f(equiv)m(alen)o
+(t)h(to)g(t)o(yping)f Fk(M-f)p Fs(.)p eop end
 %%Page: 20 24
 TeXDict begin 20 23 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(20)75 149 y Fr(exchange-point-and-mark)12
-b(\(C-x)j(C-x\))315 204 y Fs(Sw)o(ap)g(the)h(p)q(oin)o(t)f(with)g(the)h
-(mark.)k(The)c(curren)o(t)f(cursor)h(p)q(osition)e(is)h(set)h(to)f(the)
-g(sa)o(v)o(ed)315 259 y(p)q(osition,)f(and)h(the)h(old)e(cursor)h(p)q
-(osition)f(is)h(sa)o(v)o(ed)g(as)g(the)g(mark.)75 355
-y Fr(character-search)e(\(C-]\))315 410 y Fs(A)f(c)o(haracter)g(is)g
-(read)h(and)f(p)q(oin)o(t)g(is)g(mo)o(v)o(ed)g(to)g(the)g(next)h(o)q
-(ccurrence)g(of)f(that)g(c)o(haracter.)315 465 y(A)j(negativ)o(e)g
-(coun)o(t)g(searc)o(hes)g(for)f(previous)h(o)q(ccurrences.)75
-561 y Fr(character-search-backward)d(\(M-C-]\))315 616
-y Fs(A)22 b(c)o(haracter)g(is)g(read)g(and)h(p)q(oin)o(t)f(is)g(mo)o(v)
-o(ed)g(to)g(the)g(previous)g(o)q(ccurrence)i(of)e(that)315
-671 y(c)o(haracter.)d(A)c(negativ)o(e)g(coun)o(t)g(searc)o(hes)g(for)f
-(subsequen)o(t)i(o)q(ccurrences.)75 767 y Fr(skip-csi-sequence)d(\(\))
-315 822 y Fs(Read)h(enough)g(c)o(haracters)f(to)g(consume)h(a)g(m)o
+(Editing)1053 b(20)75 149 y Fr(undo)15 b(\(C-_)f(or)h(C-x)g(C-u\))315
+204 y Fs(Incremen)o(tal)g(undo,)g(separately)g(remem)o(b)q(ered)h(for)e
+(eac)o(h)h(line.)75 292 y Fr(revert-line)f(\(M-r\))315
+347 y Fs(Undo)j(all)e(c)o(hanges)i(made)f(to)g(this)g(line.)24
+b(This)16 b(is)g(lik)o(e)g(executing)g(the)h Fr(undo)f
+Fs(command)315 401 y(enough)g(times)e(to)h(get)f(bac)o(k)h(to)g(the)g
+(b)q(eginning.)75 489 y Fr(tilde-expand)f(\(M-~\))315
+544 y Fs(P)o(erform)g(tilde)h(expansion)g(on)g(the)g(curren)o(t)g(w)o
+(ord.)75 632 y Fr(set-mark)f(\(C-@\))315 686 y Fs(Set)i(the)h(mark)f
+(to)f(the)i(p)q(oin)o(t.)23 b(If)17 b(a)f(n)o(umeric)g(argumen)o(t)g
+(is)f(supplied,)i(the)g(mark)e(is)h(set)315 741 y(to)f(that)f(p)q
+(osition.)75 829 y Fr(exchange-point-and-mark)e(\(C-x)j(C-x\))315
+884 y Fs(Sw)o(ap)g(the)h(p)q(oin)o(t)f(with)g(the)h(mark.)k(The)c
+(curren)o(t)f(cursor)h(p)q(osition)e(is)h(set)h(to)f(the)g(sa)o(v)o(ed)
+315 938 y(p)q(osition,)f(and)h(the)h(old)e(cursor)h(p)q(osition)f(is)h
+(sa)o(v)o(ed)g(as)g(the)g(mark.)75 1026 y Fr(character-search)e
+(\(C-]\))315 1081 y Fs(A)f(c)o(haracter)g(is)g(read)h(and)f(p)q(oin)o
+(t)g(is)g(mo)o(v)o(ed)g(to)g(the)g(next)h(o)q(ccurrence)g(of)f(that)g
+(c)o(haracter.)315 1136 y(A)j(negativ)o(e)g(coun)o(t)g(searc)o(hes)g
+(for)f(previous)h(o)q(ccurrences.)75 1223 y Fr
+(character-search-backward)d(\(M-C-]\))315 1278 y Fs(A)22
+b(c)o(haracter)g(is)g(read)g(and)h(p)q(oin)o(t)f(is)g(mo)o(v)o(ed)g(to)
+g(the)g(previous)g(o)q(ccurrence)i(of)e(that)315 1333
+y(c)o(haracter.)d(A)c(negativ)o(e)g(coun)o(t)g(searc)o(hes)g(for)f
+(subsequen)o(t)i(o)q(ccurrences.)75 1421 y Fr(skip-csi-sequence)d(\(\))
+315 1475 y Fs(Read)h(enough)g(c)o(haracters)f(to)g(consume)h(a)g(m)o
 (ulti-k)o(ey)e(sequence)j(suc)o(h)f(as)f(those)h(de\014ned)315
-877 y(for)k(k)o(eys)g(lik)o(e)g(Home)h(and)g(End.)30
+1530 y(for)k(k)o(eys)g(lik)o(e)g(Home)h(and)g(End.)30
 b(Suc)o(h)19 b(sequences)h(b)q(egin)f(with)f(a)g(Con)o(trol)f(Sequence)
-315 932 y(Indicator)h(\(CSI\),)g(usually)f(ESC-[.)29
+315 1585 y(Indicator)h(\(CSI\),)g(usually)f(ESC-[.)29
 b(If)19 b(this)f(sequence)h(is)f(b)q(ound)h(to)f Fr("\\)p
-Fs(e[)p Fr(")p Fs(,)g(k)o(eys)g(pro-)315 987 y(ducing)e(suc)o(h)h
+Fs(e[)p Fr(")p Fs(,)g(k)o(eys)g(pro-)315 1640 y(ducing)e(suc)o(h)h
 (sequences)g(will)d(ha)o(v)o(e)i(no)g(e\013ect)g(unless)g(explicitly)e
-(b)q(ound)j(to)f(a)f(readline)315 1041 y(command,)h(instead)f(of)h
+(b)q(ound)j(to)f(a)f(readline)315 1695 y(command,)h(instead)f(of)h
 (inserting)f(stra)o(y)f(c)o(haracters)i(in)o(to)f(the)h(editing)f
-(bu\013er.)22 b(This)15 b(is)315 1096 y(un)o(b)q(ound)h(b)o(y)g
+(bu\013er.)22 b(This)15 b(is)315 1749 y(un)o(b)q(ound)h(b)o(y)g
 (default,)e(but)h(usually)g(b)q(ound)h(to)f(ESC-[.)75
-1193 y Fr(insert-comment)e(\(M-#\))315 1247 y Fs(Without)k(a)g(n)o
+1837 y Fr(insert-comment)e(\(M-#\))315 1892 y Fs(Without)k(a)g(n)o
 (umeric)h(argumen)o(t,)f(the)h(v)m(alue)g(of)g(the)f
-Fr(comment-begin)f Fs(v)m(ariable)i(is)f(in-)315 1302
+Fr(comment-begin)f Fs(v)m(ariable)i(is)f(in-)315 1947
 y(serted)f(at)f(the)h(b)q(eginning)g(of)f(the)h(curren)o(t)g(line.)21
 b(If)16 b(a)g(n)o(umeric)g(argumen)o(t)f(is)g(supplied,)315
-1357 y(this)j(command)g(acts)g(as)f(a)h(toggle:)25 b(if)18
+2001 y(this)j(command)g(acts)g(as)f(a)h(toggle:)25 b(if)18
 b(the)g(c)o(haracters)g(at)f(the)i(b)q(eginning)f(of)g(the)g(line)315
-1412 y(do)d(not)g(matc)o(h)g(the)g(v)m(alue)h(of)f Fr(comment-begin)p
+2056 y(do)d(not)g(matc)o(h)g(the)g(v)m(alue)h(of)f Fr(comment-begin)p
 Fs(,)e(the)i(v)m(alue)h(is)f(inserted,)f(otherwise)h(the)315
-1467 y(c)o(haracters)k(in)h Fr(comment-begin)e Fs(are)i(deleted)h(from)
-e(the)h(b)q(eginning)g(of)g(the)g(line.)34 b(In)315 1521
+2111 y(c)o(haracters)k(in)h Fr(comment-begin)e Fs(are)i(deleted)h(from)
+e(the)h(b)q(eginning)g(of)g(the)g(line.)34 b(In)315 2166
 y(either)15 b(case,)g(the)g(line)g(is)g(accepted)g(as)g(if)g(a)g
-(newline)g(had)g(b)q(een)i(t)o(yp)q(ed.)75 1618 y Fr(dump-functions)c
-(\(\))315 1673 y Fs(Prin)o(t)f(all)g(of)h(the)g(functions)g(and)h
+(newline)g(had)g(b)q(een)i(t)o(yp)q(ed.)75 2254 y Fr(dump-functions)c
+(\(\))315 2308 y Fs(Prin)o(t)f(all)g(of)h(the)g(functions)g(and)h
 (their)f(k)o(ey)g(bindings)g(to)f(the)i(Readline)f(output)g(stream.)315
-1727 y(If)j(a)g(n)o(umeric)f(argumen)o(t)g(is)h(supplied,)g(the)g
+2363 y(If)j(a)g(n)o(umeric)f(argumen)o(t)g(is)h(supplied,)g(the)g
 (output)f(is)h(formatted)e(in)i(suc)o(h)g(a)g(w)o(a)o(y)f(that)315
-1782 y(it)f(can)i(b)q(e)g(made)f(part)f(of)h(an)g Fi(inputrc)j
+2418 y(it)f(can)i(b)q(e)g(made)f(part)f(of)h(an)g Fi(inputrc)j
 Fs(\014le.)i(This)15 b(command)g(is)g(un)o(b)q(ound)h(b)o(y)f(default.)
-75 1879 y Fr(dump-variables)e(\(\))315 1934 y Fs(Prin)o(t)d(all)f(of)h
+75 2506 y Fr(dump-variables)e(\(\))315 2560 y Fs(Prin)o(t)d(all)f(of)h
 (the)h(settable)f(v)m(ariables)g(and)h(their)f(v)m(alues)h(to)f(the)h
-(Readline)g(output)f(stream.)315 1988 y(If)16 b(a)g(n)o(umeric)f
+(Readline)g(output)f(stream.)315 2615 y(If)16 b(a)g(n)o(umeric)f
 (argumen)o(t)g(is)h(supplied,)g(the)g(output)f(is)h(formatted)e(in)i
-(suc)o(h)g(a)g(w)o(a)o(y)f(that)315 2043 y(it)f(can)i(b)q(e)g(made)f
+(suc)o(h)g(a)g(w)o(a)o(y)f(that)315 2670 y(it)f(can)i(b)q(e)g(made)f
 (part)f(of)h(an)g Fi(inputrc)j Fs(\014le.)i(This)15 b(command)g(is)g
-(un)o(b)q(ound)h(b)o(y)f(default.)75 2140 y Fr(dump-macros)f(\(\))315
-2194 y Fs(Prin)o(t)i(all)g(of)g(the)h(Readline)g(k)o(ey)g(sequences)h
-(b)q(ound)g(to)e(macros)g(and)h(the)g(strings)f(they)315
-2249 y(output.)26 b(If)18 b(a)f(n)o(umeric)g(argumen)o(t)g(is)g
+(un)o(b)q(ound)h(b)o(y)f(default.)p eop end
+%%Page: 21 25
+TeXDict begin 21 24 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
+(Editing)1053 b(21)75 149 y Fr(dump-macros)14 b(\(\))315
+204 y Fs(Prin)o(t)i(all)g(of)g(the)h(Readline)g(k)o(ey)g(sequences)h(b)
+q(ound)g(to)e(macros)g(and)h(the)g(strings)f(they)315
+259 y(output.)26 b(If)18 b(a)f(n)o(umeric)g(argumen)o(t)g(is)g
 (supplied,)h(the)f(output)g(is)g(formatted)f(in)i(suc)o(h)f(a)315
-2304 y(w)o(a)o(y)d(that)g(it)h(can)g(b)q(e)g(made)g(part)g(of)f(an)h
+314 y(w)o(a)o(y)d(that)g(it)h(can)g(b)q(e)g(made)g(part)g(of)f(an)h
 Fi(inputrc)j Fs(\014le.)i(This)14 b(command)h(is)g(un)o(b)q(ound)h(b)o
-(y)315 2359 y(default.)75 2455 y Fr(emacs-editing-mode)d(\(C-e\))315
-2510 y Fs(When)j(in)f Fr(vi)f Fs(command)i(mo)q(de,)f(this)f(causes)i
-(a)f(switc)o(h)f(to)h Fr(emacs)f Fs(editing)h(mo)q(de.)75
-2606 y Fr(vi-editing-mode)e(\(M-C-j\))315 2661 y Fs(When)j(in)f
+(y)315 369 y(default.)75 448 y Fr(emacs-editing-mode)d(\(C-e\))315
+503 y Fs(When)j(in)f Fr(vi)f Fs(command)i(mo)q(de,)f(this)f(causes)i(a)
+f(switc)o(h)f(to)h Fr(emacs)f Fs(editing)h(mo)q(de.)75
+583 y Fr(vi-editing-mode)e(\(M-C-j\))315 638 y Fs(When)j(in)f
 Fr(emacs)f Fs(editing)h(mo)q(de,)g(this)f(causes)i(a)f(switc)o(h)f(to)h
-Fr(vi)f Fs(editing)h(mo)q(de.)p eop end
-%%Page: 21 25
-TeXDict begin 21 24 bop 75 -58 a Fs(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1053 b(21)75 149 y Fq(1.5)33 b(Readline)21 b(vi)i(Mo)r(de)75
-229 y Fs(While)15 b(the)h(Readline)g(library)f(do)q(es)h(not)f(ha)o(v)o
-(e)g(a)h(full)f(set)h(of)f Fr(vi)g Fs(editing)g(functions,)h(it)f(do)q
-(es)h(con)o(tain)75 284 y(enough)h(to)g(allo)o(w)e(simple)h(editing)h
-(of)f(the)i(line.)25 b(The)17 b(Readline)g Fr(vi)g Fs(mo)q(de)g(b)q
-(eha)o(v)o(es)g(as)g(sp)q(eci\014ed)h(in)75 339 y(the)d
-Fl(posix)g Fs(standard.)137 406 y(In)g(order)g(to)f(switc)o(h)f(in)o
-(teractiv)o(ely)g(b)q(et)o(w)o(een)i Fr(emacs)e Fs(and)i
-Fr(vi)f Fs(editing)g(mo)q(des,)h(use)f(the)h(command)75
-461 y Fk(M-C-j)j Fs(\(b)q(ound)i(to)e(emacs-editing-mo)q(de)h(when)g
-(in)g Fr(vi)g Fs(mo)q(de)g(and)g(to)f(vi-editing-mo)q(de)h(in)g
-Fr(emacs)75 516 y Fs(mo)q(de\).)h(The)15 b(Readline)h(default)f(is)f
-Fr(emacs)h Fs(mo)q(de.)137 583 y(When)h(y)o(ou)e(en)o(ter)h(a)g(line)g
-(in)f Fr(vi)h Fs(mo)q(de,)g(y)o(ou)g(are)f(already)h(placed)g(in)g
-(`insertion')e(mo)q(de,)i(as)g(if)f(y)o(ou)75 638 y(had)h(t)o(yp)q(ed)g
-(an)g(`)p Fr(i)p Fs('.)j(Pressing)c Fr(ESC)h Fs(switc)o(hes)f(y)o(ou)g
-(in)o(to)g(`command')g(mo)q(de,)g(where)h(y)o(ou)g(can)f(edit)h(the)75
-692 y(text)h(of)h(the)g(line)f(with)h(the)g(standard)f
-Fr(vi)h Fs(mo)o(v)o(emen)o(t)f(k)o(eys,)g(mo)o(v)o(e)g(to)h(previous)f
-(history)g(lines)h(with)75 747 y(`)p Fr(k)p Fs(')d(and)i(subsequen)o(t)
-f(lines)g(with)g(`)p Fr(j)p Fs(',)f(and)h(so)g(forth.)p
-eop end
+Fr(vi)f Fs(editing)h(mo)q(de.)75 754 y Fq(1.5)33 b(Readline)21
+b(vi)i(Mo)r(de)75 834 y Fs(While)15 b(the)h(Readline)g(library)f(do)q
+(es)h(not)f(ha)o(v)o(e)g(a)h(full)f(set)h(of)f Fr(vi)g
+Fs(editing)g(functions,)h(it)f(do)q(es)h(con)o(tain)75
+888 y(enough)h(to)g(allo)o(w)e(simple)h(editing)h(of)f(the)i(line.)25
+b(The)17 b(Readline)g Fr(vi)g Fs(mo)q(de)g(b)q(eha)o(v)o(es)g(as)g(sp)q
+(eci\014ed)h(in)75 943 y(the)d Fl(posix)g Fs(standard.)137
+1010 y(In)g(order)g(to)f(switc)o(h)f(in)o(teractiv)o(ely)g(b)q(et)o(w)o
+(een)i Fr(emacs)e Fs(and)i Fr(vi)f Fs(editing)g(mo)q(des,)h(use)f(the)h
+(command)75 1065 y Fk(M-C-j)j Fs(\(b)q(ound)i(to)e(emacs-editing-mo)q
+(de)h(when)g(in)g Fr(vi)g Fs(mo)q(de)g(and)g(to)f(vi-editing-mo)q(de)h
+(in)g Fr(emacs)75 1120 y Fs(mo)q(de\).)h(The)15 b(Readline)h(default)f
+(is)f Fr(emacs)h Fs(mo)q(de.)137 1187 y(When)h(y)o(ou)e(en)o(ter)h(a)g
+(line)g(in)f Fr(vi)h Fs(mo)q(de,)g(y)o(ou)g(are)f(already)h(placed)g
+(in)g(`insertion')e(mo)q(de,)i(as)g(if)f(y)o(ou)75 1242
+y(had)h(t)o(yp)q(ed)g(an)g(`)p Fr(i)p Fs('.)j(Pressing)c
+Fr(ESC)h Fs(switc)o(hes)f(y)o(ou)g(in)o(to)g(`command')g(mo)q(de,)g
+(where)h(y)o(ou)g(can)f(edit)h(the)75 1297 y(text)h(of)h(the)g(line)f
+(with)h(the)g(standard)f Fr(vi)h Fs(mo)o(v)o(emen)o(t)f(k)o(eys,)g(mo)o
+(v)o(e)g(to)h(previous)f(history)g(lines)h(with)75 1352
+y(`)p Fr(k)p Fs(')d(and)i(subsequen)o(t)f(lines)g(with)g(`)p
+Fr(j)p Fs(',)f(and)h(so)g(forth.)p eop end
 %%Page: 22 26
 TeXDict begin 22 25 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
 b(with)g(GNU)h(Readline)842 b(22)75 149 y Fo(2)41 b(Programming)29
@@ -5412,7 +8209,7 @@ h(func-)75 1595 y(tion)j(called)g Fr(initialize_readline\(\))d
 Fs(whic)o(h)j(p)q(erforms)g(this)g(and)h(other)f(desired)g
 (initializations,)75 1650 y(suc)o(h)g(as)e(installing)g(custom)g
 (completers)h(\(see)g(Section)g(2.6)g([Custom)f(Completers],)f(page)i
-(43\).)75 1780 y Fq(2.2)33 b(Custom)21 b(F)-6 b(unctions)75
+(45\).)75 1780 y Fq(2.2)33 b(Custom)21 b(F)-6 b(unctions)75
 1859 y Fs(Readline)14 b(pro)o(vides)f(man)o(y)g(functions)h(for)f
 (manipulating)f(the)i(text)f(of)g(the)h(line,)f(but)h(it)e(isn't)h(p)q
 (ossible)75 1914 y(to)18 b(an)o(ticipate)f(the)h(needs)h(of)f(all)f
@@ -5641,1666 +8438,1808 @@ b Fg(rl_command_func_t)29 b(*)d(rl_last_func)195 204
 y Fs(The)18 b(address)f(of)g(the)g(last)g(command)g(function)g
 (Readline)h(executed.)27 b(Ma)o(y)17 b(b)q(e)h(used)g(to)f(test)195
 259 y(whether)e(or)g(not)g(a)g(function)g(is)f(b)q(eing)i(executed)g(t)
-o(wice)f(in)g(succession,)g(for)f(example.)1685 363 y([V)l(ariable])
+o(wice)f(in)g(succession,)g(for)f(example.)1685 344 y([V)l(ariable])
 -1801 b Fg(rl_hook_func_t)28 b(*)f(rl_startup_hook)195
-418 y Fs(If)17 b(non-zero,)h(this)f(is)f(the)i(address)f(of)f(a)h
+399 y Fs(If)17 b(non-zero,)h(this)f(is)f(the)i(address)f(of)f(a)h
 (function)g(to)g(call)f(just)h(b)q(efore)g Fr(readline)f
-Fs(prin)o(ts)h(the)195 473 y(\014rst)e(prompt.)1685 577
+Fs(prin)o(ts)h(the)195 454 y(\014rst)e(prompt.)1685 539
 y([V)l(ariable])-1801 b Fg(rl_hook_func_t)28 b(*)f(rl_pre_input_hook)
-195 632 y Fs(If)18 b(non-zero,)g(this)f(is)h(the)g(address)f(of)h(a)f
+195 594 y Fs(If)18 b(non-zero,)g(this)f(is)h(the)g(address)f(of)h(a)f
 (function)h(to)f(call)g(after)g(the)h(\014rst)f(prompt)g(has)h(b)q(een)
-195 686 y(prin)o(ted)d(and)g(just)g(b)q(efore)h Fr(readline)e
-Fs(starts)g(reading)g(input)i(c)o(haracters.)1685 791
+195 649 y(prin)o(ted)d(and)g(just)g(b)q(efore)h Fr(readline)e
+Fs(starts)g(reading)g(input)i(c)o(haracters.)1685 734
 y([V)l(ariable])-1801 b Fg(rl_hook_func_t)28 b(*)f(rl_event_hook)195
-845 y Fs(If)21 b(non-zero,)g(this)f(is)g(the)g(address)g(of)g(a)g
+789 y Fs(If)21 b(non-zero,)g(this)f(is)g(the)g(address)g(of)g(a)g
 (function)g(to)g(call)g(p)q(erio)q(dically)f(when)i(Readline)f(is)195
-900 y(w)o(aiting)13 b(for)h(terminal)f(input.)20 b(By)14
+844 y(w)o(aiting)13 b(for)h(terminal)f(input.)20 b(By)14
 b(default,)g(this)g(will)g(b)q(e)h(called)f(at)g(most)g(ten)g(times)g
-(a)g(second)195 955 y(if)h(there)g(is)g(no)g(k)o(eyb)q(oard)g(input.)
-1685 1059 y([V)l(ariable])-1801 b Fg(rl_getc_func_t)28
-b(*)f(rl_getc_function)195 1114 y Fs(If)15 b(non-zero,)h(Readline)f
+(a)g(second)195 898 y(if)h(there)g(is)g(no)g(k)o(eyb)q(oard)g(input.)
+1685 984 y([V)l(ariable])-1801 b Fg(rl_getc_func_t)28
+b(*)f(rl_getc_function)195 1038 y Fs(If)15 b(non-zero,)h(Readline)f
 (will)f(call)g(indirectly)h(through)g(this)f(p)q(oin)o(ter)h(to)g(get)f
-(a)h(c)o(haracter)g(from)195 1169 y(the)k(input)h(stream.)31
+(a)h(c)o(haracter)g(from)195 1093 y(the)k(input)h(stream.)31
 b(By)19 b(default,)g(it)g(is)g(set)g(to)f Fr(rl_getc)p
-Fs(,)h(the)g(default)g(Readline)h(c)o(haracter)195 1223
+Fs(,)h(the)g(default)g(Readline)h(c)o(haracter)195 1148
 y(input)15 b(function)g(\(see)g(Section)g(2.4.8)f([Character)g(Input],)
-h(page)g(36\).)1685 1328 y([V)l(ariable])-1801 b Fg(rl_voidfunc_t)28
-b(*)e(rl_redisplay_function)195 1382 y Fs(If)18 b(non-zero,)h(Readline)
+h(page)g(36\).)1685 1233 y([V)l(ariable])-1801 b Fg(rl_hook_func_t)28
+b(*)f(rl_signal_event_hook)195 1288 y Fs(If)14 b(non-zero,)g(this)e(is)
+i(the)f(address)h(of)f(a)g(function)g(to)g(call)g(if)g(a)g(read)h
+(system)f(call)f(is)h(in)o(terrupted)195 1343 y(when)j(Readline)f(is)g
+(reading)g(terminal)f(input.)1685 1428 y([V)l(ariable])-1801
+b Fg(rl_hook_func_t)28 b(*)f(rl_input_available_hook)195
+1483 y Fs(If)15 b(non-zero,)f(Readline)h(will)e(use)i(this)f
+(function's)g(return)g(v)m(alue)h(when)g(it)f(needs)h(to)f(determine)
+195 1538 y(whether)h(or)f(not)h(there)g(is)f(a)o(v)m(ailable)g(input)h
+(on)f(the)h(curren)o(t)g(input)g(source.)20 b(Readline)15
+b(queries)195 1592 y(for)f(a)o(v)m(ailable)f(input)h(when)h(implemen)o
+(ting)f(in)o(tra-k)o(ey-sequence)h(timeouts)e(during)h(input)h(and)195
+1647 y(incremen)o(tal)g(searc)o(hes.)24 b(This)16 b(ma)o(y)f(use)i(an)f
+(application-sp)q(eci\014c)g(timeout)g(b)q(efore)g(returning)195
+1702 y(a)j(v)m(alue;)i(Readline)e(uses)g(the)h(v)m(alue)f(passed)g(to)g
+Fr(rl_set_keyboard_input_ti)o(meout\(\))c Fs(or)195 1757
+y(the)k(v)m(alue)h(of)e(the)i(user-settable)e Fi(k)o(eyseq-timeout)i
+Fs(v)m(ariable.)31 b(This)19 b(is)f(designed)i(for)f(use)g(b)o(y)195
+1812 y(functions)14 b(using)g(Readline's)g(callbac)o(k)g(in)o(terface)f
+(\(see)i(Section)f(2.4.12)e([Alternate)i(In)o(terface],)195
+1866 y(page)h(39\),)f(whic)o(h)h(ma)o(y)g(not)f(use)i(the)f
+(traditional)e Fr(read\(2\))h Fs(and)i(\014le)f(descriptor)f(in)o
+(terface.)1685 1952 y([V)l(ariable])-1801 b Fg(rl_voidfunc_t)28
+b(*)e(rl_redisplay_function)195 2006 y Fs(If)18 b(non-zero,)h(Readline)
 f(will)f(call)g(indirectly)g(through)h(this)f(p)q(oin)o(ter)h(to)f(up)q
-(date)i(the)f(displa)o(y)195 1437 y(with)13 b(the)g(curren)o(t)h(con)o
+(date)i(the)f(displa)o(y)195 2061 y(with)13 b(the)g(curren)o(t)h(con)o
 (ten)o(ts)f(of)g(the)g(editing)g(bu\013er.)19 b(By)14
 b(default,)f(it)g(is)g(set)g(to)g Fr(rl_redisplay)p Fs(,)195
-1492 y(the)i(default)g(Readline)h(redispla)o(y)e(function)h(\(see)g
+2116 y(the)i(default)g(Readline)h(redispla)o(y)e(function)h(\(see)g
 (Section)g(2.4.6)f([Redispla)o(y],)g(page)h(34\).)1685
-1596 y([V)l(ariable])-1801 b Fg(rl_vintfunc_t)28 b(*)e
-(rl_prep_term_function)195 1651 y Fs(If)12 b(non-zero,)h(Readline)f
+2201 y([V)l(ariable])-1801 b Fg(rl_vintfunc_t)28 b(*)e
+(rl_prep_term_function)195 2256 y Fs(If)12 b(non-zero,)h(Readline)f
 (will)f(call)g(indirectly)g(through)h(this)f(p)q(oin)o(ter)h(to)f
-(initialize)f(the)j(terminal.)195 1706 y(The)19 b(function)f(tak)o(es)g
+(initialize)f(the)j(terminal.)195 2311 y(The)19 b(function)f(tak)o(es)g
 (a)g(single)g(argumen)o(t,)g(an)h Fr(int)f Fs(\015ag)g(that)g(sa)o(ys)g
-(whether)g(or)h(not)f(to)g(use)195 1760 y(eigh)o(t-bit)e(c)o
+(whether)g(or)h(not)f(to)g(use)195 2366 y(eigh)o(t-bit)e(c)o
 (haracters.)25 b(By)17 b(default,)g(this)f(is)h(set)f(to)h
 Fr(rl_prep_terminal)e Fs(\(see)i(Section)g(2.4.9)195
-1815 y([T)l(erminal)d(Managemen)o(t],)f(page)i(36\).)1685
-1919 y([V)l(ariable])-1801 b Fg(rl_voidfunc_t)28 b(*)e
-(rl_deprep_term_functi)q(on)195 1974 y Fs(If)19 b(non-zero,)g(Readline)
+2420 y([T)l(erminal)d(Managemen)o(t],)f(page)i(37\).)1685
+2506 y([V)l(ariable])-1801 b Fg(rl_voidfunc_t)28 b(*)e
+(rl_deprep_term_functi)q(on)195 2560 y Fs(If)19 b(non-zero,)g(Readline)
 f(will)f(call)h(indirectly)f(through)h(this)g(p)q(oin)o(ter)f(to)h
-(reset)g(the)h(terminal.)195 2029 y(This)e(function)g(should)h(undo)g
+(reset)g(the)h(terminal.)195 2615 y(This)e(function)g(should)h(undo)g
 (the)f(e\013ects)h(of)f Fr(rl_prep_term_function)p Fs(.)24
-b(By)17 b(default,)h(this)195 2084 y(is)d(set)g(to)f
+b(By)17 b(default,)h(this)195 2670 y(is)d(set)g(to)f
 Fr(rl_deprep_terminal)f Fs(\(see)i(Section)g(2.4.9)f([T)l(erminal)g
-(Managemen)o(t],)f(page)i(36\).)1685 2188 y([V)l(ariable])-1801
-b Fg(Keymap)27 b(rl_executing_keymap)195 2243 y Fs(This)18
-b(v)m(ariable)f(is)g(set)h(to)g(the)g(k)o(eymap)f(\(see)h(Section)g
-(2.4.2)f([Keymaps],)g(page)h(30\))f(in)h(whic)o(h)195
-2297 y(the)d(curren)o(tly)g(executing)g(readline)g(function)g(w)o(as)g
-(found.)1685 2401 y([V)l(ariable])-1801 b Fg(Keymap)27
-b(rl_binding_keymap)195 2456 y Fs(This)18 b(v)m(ariable)f(is)g(set)h
-(to)g(the)g(k)o(eymap)f(\(see)h(Section)g(2.4.2)f([Keymaps],)g(page)h
-(30\))f(in)h(whic)o(h)195 2511 y(the)d(last)f(k)o(ey)h(binding)h(o)q
-(ccurred.)1685 2615 y([V)l(ariable])-1801 b Fg(char)27
-b(*)f(rl_executing_macro)195 2670 y Fs(This)15 b(v)m(ariable)f(is)h
-(set)g(to)g(the)g(text)g(of)f(an)o(y)h(curren)o(tly-executing)g(macro.)
-p eop end
+(Managemen)o(t],)f(page)i(37\).)p eop end
 %%Page: 28 32
 TeXDict begin 28 31 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
 b(with)g(GNU)h(Readline)842 b(28)1685 149 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_readline_state)195 204 y Fs(A)17 b(v)m(ariable)g(with)
-f(bit)h(v)m(alues)h(that)e(encapsulate)h(the)h(curren)o(t)f(Readline)g
-(state.)25 b(A)18 b(bit)e(is)h(set)195 259 y(with)h(the)h
-Fr(RL_SETSTATE)f Fs(macro,)h(and)g(unset)g(with)f(the)h
-Fr(RL_UNSETSTATE)e Fs(macro.)31 b(Use)19 b(the)195 314
+b Fg(Keymap)27 b(rl_executing_keymap)195 204 y Fs(This)18
+b(v)m(ariable)f(is)g(set)h(to)g(the)g(k)o(eymap)f(\(see)h(Section)g
+(2.4.2)f([Keymaps],)g(page)h(30\))f(in)h(whic)o(h)195
+259 y(the)d(curren)o(tly)g(executing)g(readline)g(function)g(w)o(as)g
+(found.)1685 350 y([V)l(ariable])-1801 b Fg(Keymap)27
+b(rl_binding_keymap)195 405 y Fs(This)18 b(v)m(ariable)f(is)g(set)h(to)
+g(the)g(k)o(eymap)f(\(see)h(Section)g(2.4.2)f([Keymaps],)g(page)h(30\))
+f(in)h(whic)o(h)195 460 y(the)d(last)f(k)o(ey)h(binding)h(o)q(ccurred.)
+1685 551 y([V)l(ariable])-1801 b Fg(char)27 b(*)f(rl_executing_macro)
+195 606 y Fs(This)15 b(v)m(ariable)f(is)h(set)g(to)g(the)g(text)g(of)f
+(an)o(y)h(curren)o(tly-executing)g(macro.)1685 697 y([V)l(ariable])
+-1801 b Fg(int)27 b(rl_executing_key)195 752 y Fs(The)15
+b(k)o(ey)h(that)e(caused)i(the)f(dispatc)o(h)g(to)f(the)i(curren)o
+(tly-executing)f(Readline)g(function.)1685 844 y([V)l(ariable])-1801
+b Fg(char)27 b(*)f(rl_executing_keyseq)195 898 y Fs(The)18
+b(full)f(k)o(ey)h(sequence)h(that)e(caused)h(the)g(dispatc)o(h)f(to)g
+(the)h(curren)o(tly-executing)g(Readline)195 953 y(function.)1685
+1044 y([V)l(ariable])-1801 b Fg(int)27 b(rl_key_sequence_length)195
+1099 y Fs(The)15 b(n)o(um)o(b)q(er)h(of)f(c)o(haracters)f(in)h
+Fi(rl)p 809 1099 14 2 v 20 w(executing)p 1017 1099 V
+20 w(k)o(eyseq)q Fs(.)1685 1191 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_readline_state)195 1245 y Fs(A)17 b(v)m(ariable)g
+(with)f(bit)h(v)m(alues)h(that)e(encapsulate)h(the)h(curren)o(t)f
+(Readline)g(state.)25 b(A)18 b(bit)e(is)h(set)195 1300
+y(with)h(the)h Fr(RL_SETSTATE)f Fs(macro,)h(and)g(unset)g(with)f(the)h
+Fr(RL_UNSETSTATE)e Fs(macro.)31 b(Use)19 b(the)195 1355
 y Fr(RL_ISSTATE)e Fs(macro)h(to)g(test)g(whether)h(a)f(particular)g
 (state)f(bit)i(is)f(set.)30 b(Curren)o(t)18 b(state)g(bits)195
-369 y(include:)195 452 y Fr(RL_STATE_NONE)435 507 y Fs(Readline)d(has)h
-(not)e(y)o(et)h(b)q(een)h(called,)f(nor)g(has)g(it)f(b)q(egun)i(to)f
-(in)o(tialize.)195 589 y Fr(RL_STATE_INITIALIZING)435
-644 y Fs(Readline)g(is)g(initializing)e(its)h(in)o(ternal)g(data)h
-(structures.)195 726 y Fr(RL_STATE_INITIALIZED)435 781
-y Fs(Readline)g(has)h(completed)f(its)f(initialization.)195
-863 y Fr(RL_STATE_TERMPREPPED)435 917 y Fs(Readline)h(has)f(mo)q
-(di\014ed)h(the)f(terminal)f(mo)q(des)i(to)e(do)i(its)e(o)o(wn)h(input)
-g(and)h(redis-)435 972 y(pla)o(y)l(.)195 1054 y Fr(RL_STATE_READCMD)435
-1109 y Fs(Readline)g(is)g(reading)g(a)g(command)g(from)f(the)i(k)o(eyb)
-q(oard.)195 1191 y Fr(RL_STATE_METANEXT)435 1246 y Fs(Readline)f(is)g
+1410 y(include:)195 1489 y Fr(RL_STATE_NONE)435 1544
+y Fs(Readline)d(has)h(not)e(y)o(et)h(b)q(een)h(called,)f(nor)g(has)g
+(it)f(b)q(egun)i(to)f(in)o(tialize.)195 1623 y Fr
+(RL_STATE_INITIALIZING)435 1678 y Fs(Readline)g(is)g(initializing)e
+(its)h(in)o(ternal)g(data)h(structures.)195 1757 y Fr
+(RL_STATE_INITIALIZED)435 1812 y Fs(Readline)g(has)h(completed)f(its)f
+(initialization.)195 1891 y Fr(RL_STATE_TERMPREPPED)435
+1945 y Fs(Readline)h(has)f(mo)q(di\014ed)h(the)f(terminal)f(mo)q(des)i
+(to)e(do)i(its)e(o)o(wn)h(input)g(and)h(redis-)435 2000
+y(pla)o(y)l(.)195 2079 y Fr(RL_STATE_READCMD)435 2134
+y Fs(Readline)g(is)g(reading)g(a)g(command)g(from)f(the)i(k)o(eyb)q
+(oard.)195 2213 y Fr(RL_STATE_METANEXT)435 2268 y Fs(Readline)f(is)g
 (reading)g(more)g(input)g(after)f(reading)h(the)g(meta-pre\014x)h(c)o
-(haracter.)195 1328 y Fr(RL_STATE_DISPATCHING)435 1383
+(haracter.)195 2347 y Fr(RL_STATE_DISPATCHING)435 2402
 y Fs(Readline)f(is)g(dispatc)o(hing)g(to)f(a)h(command.)195
-1465 y Fr(RL_STATE_MOREINPUT)435 1520 y Fs(Readline)g(is)g(reading)g
+2481 y Fr(RL_STATE_MOREINPUT)435 2536 y Fs(Readline)g(is)g(reading)g
 (more)g(input)g(while)g(executing)g(an)g(editing)g(command.)195
-1602 y Fr(RL_STATE_ISEARCH)435 1657 y Fs(Readline)g(is)g(p)q(erforming)
-g(an)g(incremen)o(tal)f(history)g(searc)o(h.)195 1739
-y Fr(RL_STATE_NSEARCH)435 1794 y Fs(Readline)h(is)g(p)q(erforming)g(a)g
-(non-incremen)o(tal)f(history)h(searc)o(h.)195 1876 y
-Fr(RL_STATE_SEARCH)435 1931 y Fs(Readline)10 b(is)g(searc)o(hing)g(bac)
-o(kw)o(ard)f(or)h(forw)o(ard)f(through)h(the)g(history)f(for)g(a)h
-(string.)195 2013 y Fr(RL_STATE_NUMERICARG)435 2068 y
-Fs(Readline)15 b(is)g(reading)g(a)g(n)o(umeric)g(argumen)o(t.)195
-2150 y Fr(RL_STATE_MACROINPUT)435 2204 y Fs(Readline)d(is)g(curren)o
-(tly)g(getting)f(its)g(input)h(from)f(a)h(previously-de\014ned)h(k)o
-(eyb)q(oard)435 2259 y(macro.)195 2341 y Fr(RL_STATE_MACRODEF)435
-2396 y Fs(Readline)i(is)g(curren)o(tly)g(reading)g(c)o(haracters)f
-(de\014ning)i(a)f(k)o(eyb)q(oard)g(macro.)195 2478 y
-Fr(RL_STATE_OVERWRITE)435 2533 y Fs(Readline)g(is)g(in)g(o)o(v)o
-(erwrite)f(mo)q(de.)195 2615 y Fr(RL_STATE_COMPLETING)435
-2670 y Fs(Readline)h(is)g(p)q(erforming)g(w)o(ord)f(completion.)p
-eop end
+2615 y Fr(RL_STATE_ISEARCH)435 2670 y Fs(Readline)g(is)g(p)q(erforming)
+g(an)g(incremen)o(tal)f(history)g(searc)o(h.)p eop end
 %%Page: 29 33
 TeXDict begin 29 32 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(29)195 149 y Fr(RL_STATE_SIGHANDLER)435
-204 y Fs(Readline)15 b(is)g(curren)o(tly)g(executing)g(the)g(readline)g
-(signal)f(handler.)195 282 y Fr(RL_STATE_UNDOING)435
-336 y Fs(Readline)h(is)g(p)q(erforming)g(an)g(undo.)195
-414 y Fr(RL_STATE_INPUTPENDING)435 469 y Fs(Readline)g(has)h(input)f(p)
-q(ending)h(due)g(to)e(a)h(call)f(to)h Fr(rl_execute_next\(\))p
-Fs(.)195 546 y Fr(RL_STATE_TTYCSAVED)435 601 y Fs(Readline)g(has)h(sa)o
-(v)o(ed)e(the)i(v)m(alues)f(of)g(the)g(terminal's)e(sp)q(ecial)i(c)o
-(haracters.)195 678 y Fr(RL_STATE_CALLBACK)435 733 y
-Fs(Readline)22 b(is)f(curren)o(tly)g(using)g(the)h(alternate)e
-(\(callbac)o(k\))g(in)o(terface)h(\(see)g(Sec-)435 788
-y(tion)14 b(2.4.12)g([Alternate)g(In)o(terface],)g(page)h(39\).)195
-865 y Fr(RL_STATE_VIMOTION)435 920 y Fs(Readline)g(is)g(reading)g(the)g
-(argumen)o(t)g(to)f(a)h(vi-mo)q(de)g Fr(")p Fs(motion)p
-Fr(")f Fs(command.)195 997 y Fr(RL_STATE_MULTIKEY)435
-1052 y Fs(Readline)h(is)g(reading)g(a)g(m)o(ultiple-k)o(eystrok)o(e)e
-(command.)195 1129 y Fr(RL_STATE_VICMDONCE)435 1184 y
-Fs(Readline)20 b(has)f(en)o(tered)h(vi)f(command)h(\(mo)o(v)o(emen)o
-(t\))e(mo)q(de)h(at)g(least)g(one)h(time)435 1239 y(during)15
+b(with)g(GNU)h(Readline)842 b(29)195 149 y Fr(RL_STATE_NSEARCH)435
+204 y Fs(Readline)15 b(is)g(p)q(erforming)g(a)g(non-incremen)o(tal)f
+(history)h(searc)o(h.)195 286 y Fr(RL_STATE_SEARCH)435
+340 y Fs(Readline)10 b(is)g(searc)o(hing)g(bac)o(kw)o(ard)f(or)h(forw)o
+(ard)f(through)h(the)g(history)f(for)g(a)h(string.)195
+422 y Fr(RL_STATE_NUMERICARG)435 476 y Fs(Readline)15
+b(is)g(reading)g(a)g(n)o(umeric)g(argumen)o(t.)195 558
+y Fr(RL_STATE_MACROINPUT)435 613 y Fs(Readline)d(is)g(curren)o(tly)g
+(getting)f(its)g(input)h(from)f(a)h(previously-de\014ned)h(k)o(eyb)q
+(oard)435 667 y(macro.)195 749 y Fr(RL_STATE_MACRODEF)435
+803 y Fs(Readline)i(is)g(curren)o(tly)g(reading)g(c)o(haracters)f
+(de\014ning)i(a)f(k)o(eyb)q(oard)g(macro.)195 885 y Fr
+(RL_STATE_OVERWRITE)435 940 y Fs(Readline)g(is)g(in)g(o)o(v)o(erwrite)f
+(mo)q(de.)195 1021 y Fr(RL_STATE_COMPLETING)435 1076
+y Fs(Readline)h(is)g(p)q(erforming)g(w)o(ord)f(completion.)195
+1157 y Fr(RL_STATE_SIGHANDLER)435 1212 y Fs(Readline)h(is)g(curren)o
+(tly)g(executing)g(the)g(readline)g(signal)f(handler.)195
+1293 y Fr(RL_STATE_UNDOING)435 1348 y Fs(Readline)h(is)g(p)q(erforming)
+g(an)g(undo.)195 1429 y Fr(RL_STATE_INPUTPENDING)435
+1484 y Fs(Readline)g(has)h(input)f(p)q(ending)h(due)g(to)e(a)h(call)f
+(to)h Fr(rl_execute_next\(\))p Fs(.)195 1565 y Fr(RL_STATE_TTYCSAVED)
+435 1620 y Fs(Readline)g(has)h(sa)o(v)o(ed)e(the)i(v)m(alues)f(of)g
+(the)g(terminal's)e(sp)q(ecial)i(c)o(haracters.)195 1701
+y Fr(RL_STATE_CALLBACK)435 1756 y Fs(Readline)22 b(is)f(curren)o(tly)g
+(using)g(the)h(alternate)e(\(callbac)o(k\))g(in)o(terface)h(\(see)g
+(Sec-)435 1811 y(tion)14 b(2.4.12)g([Alternate)g(In)o(terface],)g(page)
+h(39\).)195 1892 y Fr(RL_STATE_VIMOTION)435 1947 y Fs(Readline)g(is)g
+(reading)g(the)g(argumen)o(t)g(to)f(a)h(vi-mo)q(de)g
+Fr(")p Fs(motion)p Fr(")f Fs(command.)195 2028 y Fr(RL_STATE_MULTIKEY)
+435 2083 y Fs(Readline)h(is)g(reading)g(a)g(m)o(ultiple-k)o(eystrok)o
+(e)e(command.)195 2165 y Fr(RL_STATE_VICMDONCE)435 2219
+y Fs(Readline)20 b(has)f(en)o(tered)h(vi)f(command)h(\(mo)o(v)o(emen)o
+(t\))e(mo)q(de)h(at)g(least)g(one)h(time)435 2274 y(during)15
 b(the)g(curren)o(t)g(call)g(to)f Fr(readline\(\))p Fs(.)195
-1316 y Fr(RL_STATE_DONE)435 1371 y Fs(Readline)g(has)g(read)g(a)f(k)o
+2355 y Fr(RL_STATE_DONE)435 2410 y Fs(Readline)g(has)g(read)g(a)f(k)o
 (ey)h(sequence)h(b)q(ound)g(to)e Fr(accept-line)f Fs(and)i(is)g(ab)q
-(out)g(to)435 1426 y(return)h(the)g(line)g(to)g(the)g(caller.)1685
-1514 y([V)l(ariable])-1801 b Fg(int)27 b(rl_explicit_arg)195
-1569 y Fs(Set)19 b(to)g(a)g(non-zero)h(v)m(alue)g(if)e(an)i(explicit)e
+(out)g(to)435 2465 y(return)h(the)g(line)g(to)g(the)g(caller.)1685
+2560 y([V)l(ariable])-1801 b Fg(int)27 b(rl_explicit_arg)195
+2615 y Fs(Set)19 b(to)g(a)g(non-zero)h(v)m(alue)g(if)e(an)i(explicit)e
 (n)o(umeric)i(argumen)o(t)e(w)o(as)h(sp)q(eci\014ed)h(b)o(y)g(the)f
-(user.)195 1624 y(Only)c(v)m(alid)g(in)g(a)g(bindable)g(command)h
-(function.)1685 1713 y([V)l(ariable])-1801 b Fg(int)27
-b(rl_numeric_arg)195 1767 y Fs(Set)c(to)f(the)g(v)m(alue)h(of)g(an)o(y)
-f(n)o(umeric)g(argumen)o(t)g(explicitly)g(sp)q(eci\014ed)i(b)o(y)e(the)
-h(user)g(b)q(efore)195 1822 y(executing)13 b(the)g(curren)o(t)g
-(Readline)g(function.)19 b(Only)13 b(v)m(alid)g(in)g(a)g(bindable)g
-(command)f(function.)1685 1911 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_editing_mode)195 1966 y Fs(Set)13 b(to)f(a)g(v)m(alue)
-h(denoting)f(Readline's)g(curren)o(t)h(editing)f(mo)q(de.)19
-b(A)12 b(v)m(alue)h(of)f Fi(1)k Fs(means)d(Readline)195
-2020 y(is)i(curren)o(tly)f(in)h(emacs)h(mo)q(de;)f Fi(0)j
-Fs(means)d(that)g(vi)g(mo)q(de)g(is)g(activ)o(e.)75 2134
-y Fq(2.4)33 b(Readline)21 b(Con)n(v)n(enience)h(F)-6
-b(unctions)75 2245 y Fh(2.4.1)30 b(Naming)20 b(a)g(F)-5
-b(unction)75 2319 y Fs(The)13 b(user)f(can)h(dynamically)e(c)o(hange)i
+(user.)195 2670 y(Only)c(v)m(alid)g(in)g(a)g(bindable)g(command)h
+(function.)p eop end
+%%Page: 30 34
+TeXDict begin 30 33 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(30)1685 149 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_numeric_arg)195 204 y Fs(Set)c(to)f(the)g(v)m(alue)h
+(of)g(an)o(y)f(n)o(umeric)g(argumen)o(t)g(explicitly)g(sp)q(eci\014ed)i
+(b)o(y)e(the)h(user)g(b)q(efore)195 259 y(executing)13
+b(the)g(curren)o(t)g(Readline)g(function.)19 b(Only)13
+b(v)m(alid)g(in)g(a)g(bindable)g(command)f(function.)1685
+352 y([V)l(ariable])-1801 b Fg(int)27 b(rl_editing_mode)195
+407 y Fs(Set)13 b(to)f(a)g(v)m(alue)h(denoting)f(Readline's)g(curren)o
+(t)h(editing)f(mo)q(de.)19 b(A)12 b(v)m(alue)h(of)f Fi(1)k
+Fs(means)d(Readline)195 461 y(is)i(curren)o(tly)f(in)h(emacs)h(mo)q
+(de;)f Fi(0)j Fs(means)d(that)g(vi)g(mo)q(de)g(is)g(activ)o(e.)75
+578 y Fq(2.4)33 b(Readline)21 b(Con)n(v)n(enience)h(F)-6
+b(unctions)75 690 y Fh(2.4.1)30 b(Naming)20 b(a)g(F)-5
+b(unction)75 764 y Fs(The)13 b(user)f(can)h(dynamically)e(c)o(hange)i
 (the)f(bindings)h(of)f(k)o(eys)g(while)g(using)g(Readline.)19
-b(This)12 b(is)g(done)h(b)o(y)75 2373 y(represen)o(ting)i(the)g
+b(This)12 b(is)g(done)h(b)o(y)75 818 y(represen)o(ting)i(the)g
 (function)g(with)f(a)h(descriptiv)o(e)g(name.)20 b(The)15
 b(user)g(is)g(able)g(to)f(t)o(yp)q(e)h(the)g(descriptiv)o(e)75
-2428 y(name)g(when)h(referring)e(to)h(the)g(function.)20
+873 y(name)g(when)h(referring)e(to)h(the)g(function.)20
 b(Th)o(us,)15 b(in)g(an)g(init)f(\014le,)h(one)g(migh)o(t)f(\014nd)195
-2494 y Fr(Meta-Rubout:)46 b(backward-kill-word)137 2560
+941 y Fr(Meta-Rubout:)46 b(backward-kill-word)137 1008
 y Fs(This)17 b(binds)g(the)g(k)o(eystrok)o(e)f Fr(Meta-Rubout)g
 Fs(to)g(the)h(function)g Fj(descriptively)k Fs(named)c
-Fr(backward-)75 2615 y(kill-word)p Fs(.)29 b(Y)l(ou,)19
+Fr(backward-)75 1063 y(kill-word)p Fs(.)29 b(Y)l(ou,)19
 b(as)f(the)h(programmer,)f(should)h(bind)f(the)h(functions)g(y)o(ou)f
-(write)g(to)f(descriptiv)o(e)75 2670 y(names)e(as)g(w)o(ell.)k
-(Readline)c(pro)o(vides)g(a)g(function)g(for)f(doing)h(that:)p
-eop end
-%%Page: 30 34
-TeXDict begin 30 33 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(30)1675 149 y([F)l(unction])-1801
-b Fg(int)27 b(rl_add_defun)d Ff(\()p Fi(const)15 b(c)o(har)g(*name,)f
-(rl)p 943 149 14 2 v 20 w(command)p 1155 149 V 20 w(func)p
-1259 149 V 20 w(t)h(*function,)f(in)o(t)283 204 y(k)o(ey)p
-Ff(\))195 259 y Fs(Add)k Fi(name)i Fs(to)d(the)h(list)f(of)g(named)h
-(functions.)27 b(Mak)o(e)17 b Fi(function)g Fs(b)q(e)h(the)g(function)g
-(that)e(gets)195 314 y(called.)j(If)d Fi(k)o(ey)j Fs(is)c(not)f(-1,)h
-(then)h(bind)f(it)g(to)f Fi(function)h Fs(using)g Fr(rl_bind_key\(\))p
-Fs(.)137 407 y(Using)g(this)f(function)h(alone)g(is)f(su\016cien)o(t)h
+(write)g(to)f(descriptiv)o(e)75 1118 y(names)e(as)g(w)o(ell.)k
+(Readline)c(pro)o(vides)g(a)g(function)g(for)f(doing)h(that:)1675
+1211 y([F)l(unction])-1801 b Fg(int)27 b(rl_add_defun)d
+Ff(\()p Fi(const)15 b(c)o(har)g(*name,)f(rl)p 943 1211
+14 2 v 20 w(command)p 1155 1211 V 20 w(func)p 1259 1211
+V 20 w(t)h(*function,)f(in)o(t)283 1266 y(k)o(ey)p Ff(\))195
+1320 y Fs(Add)k Fi(name)i Fs(to)d(the)h(list)f(of)g(named)h(functions.)
+27 b(Mak)o(e)17 b Fi(function)g Fs(b)q(e)h(the)g(function)g(that)e
+(gets)195 1375 y(called.)j(If)d Fi(k)o(ey)j Fs(is)c(not)f(-1,)h(then)h
+(bind)f(it)g(to)f Fi(function)h Fs(using)g Fr(rl_bind_key\(\))p
+Fs(.)137 1468 y(Using)g(this)f(function)h(alone)g(is)f(su\016cien)o(t)h
 (for)g(most)f(applications.)k(It)d(is)g(the)g(recommended)h(w)o(a)o(y)
-75 461 y(to)d(add)h(a)f(few)g(functions)g(to)g(the)h(default)f
+75 1523 y(to)d(add)h(a)f(few)g(functions)g(to)g(the)h(default)f
 (functions)g(that)g(Readline)h(has)f(built)g(in.)19 b(If)14
-b(y)o(ou)f(need)h(to)f(do)75 516 y(something)j(other)h(than)f(adding)h
+b(y)o(ou)f(need)h(to)f(do)75 1577 y(something)j(other)h(than)f(adding)h
 (a)f(function)h(to)f(Readline,)h(y)o(ou)g(ma)o(y)f(need)i(to)e(use)h
-(the)g(underlying)75 571 y(functions)e(describ)q(ed)h(b)q(elo)o(w.)75
-671 y Fh(2.4.2)30 b(Selecting)20 b(a)h(Keymap)75 744
+(the)g(underlying)75 1632 y(functions)e(describ)q(ed)h(b)q(elo)o(w.)75
+1732 y Fh(2.4.2)30 b(Selecting)20 b(a)h(Keymap)75 1806
 y Fs(Key)f(bindings)f(tak)o(e)g(place)g(on)g(a)g Fi(k)o(eymap)p
 Fs(.)32 b(The)20 b(k)o(eymap)f(is)g(the)g(asso)q(ciation)f(b)q(et)o(w)o
-(een)i(the)f(k)o(eys)75 799 y(that)14 b(the)g(user)g(t)o(yp)q(es)g(and)
-h(the)f(functions)g(that)g(get)g(run.)19 b(Y)l(ou)c(can)f(mak)o(e)g(y)o
-(our)g(o)o(wn)f(k)o(eymaps,)h(cop)o(y)75 854 y(existing)g(k)o(eymaps,)h
-(and)g(tell)f(Readline)i(whic)o(h)f(k)o(eymap)g(to)f(use.)1675
-947 y([F)l(unction])-1801 b Fg(Keymap)27 b(rl_make_bare_keymap)f
-Ff(\()p Fi(v)o(oid)p Ff(\))195 1002 y Fs(Returns)13 b(a)e(new,)i(empt)o
+(een)i(the)f(k)o(eys)75 1861 y(that)14 b(the)g(user)g(t)o(yp)q(es)g
+(and)h(the)f(functions)g(that)g(get)g(run.)19 b(Y)l(ou)c(can)f(mak)o(e)
+g(y)o(our)g(o)o(wn)f(k)o(eymaps,)h(cop)o(y)75 1915 y(existing)g(k)o
+(eymaps,)h(and)g(tell)f(Readline)i(whic)o(h)f(k)o(eymap)g(to)f(use.)
+1675 2008 y([F)l(unction])-1801 b Fg(Keymap)27 b(rl_make_bare_keymap)f
+Ff(\()p Fi(v)o(oid)p Ff(\))195 2063 y Fs(Returns)13 b(a)e(new,)i(empt)o
 (y)f(k)o(eymap.)18 b(The)13 b(space)f(for)f(the)i(k)o(eymap)e(is)h
-(allo)q(cated)f(with)g Fr(malloc\(\))p Fs(;)195 1056
+(allo)q(cated)f(with)g Fr(malloc\(\))p Fs(;)195 2118
 y(the)k(caller)g(should)g(free)g(it)g(b)o(y)g(calling)f
-Fr(rl_free_keymap\(\))f Fs(when)i(done.)1675 1149 y([F)l(unction])-1801
+Fr(rl_free_keymap\(\))f Fs(when)i(done.)1675 2210 y([F)l(unction])-1801
 b Fg(Keymap)27 b(rl_copy_keymap)e Ff(\()p Fi(Keymap)15
-b(map)p Ff(\))195 1204 y Fs(Return)h(a)f(new)g(k)o(eymap)g(whic)o(h)g
-(is)g(a)g(cop)o(y)g(of)g Fi(map)q Fs(.)1675 1297 y([F)l(unction])-1801
+b(map)p Ff(\))195 2265 y Fs(Return)h(a)f(new)g(k)o(eymap)g(whic)o(h)g
+(is)g(a)g(cop)o(y)g(of)g Fi(map)q Fs(.)1675 2358 y([F)l(unction])-1801
 b Fg(Keymap)27 b(rl_make_keymap)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 1352 y Fs(Return)16 b(a)g(new)g(k)o(eymap)f(with)g(the)h
+Ff(\))195 2413 y Fs(Return)16 b(a)g(new)g(k)o(eymap)f(with)g(the)h
 (prin)o(ting)f(c)o(haracters)f(b)q(ound)j(to)e(rl)p 1455
-1352 V 20 w(insert,)f(the)i(lo)o(w)o(ercase)195 1406
+2413 V 20 w(insert,)f(the)i(lo)o(w)o(ercase)195 2468
 y(Meta)11 b(c)o(haracters)f(b)q(ound)i(to)f(run)h(their)e(equiv)m(alen)
 o(ts,)i(and)f(the)h(Meta)e(digits)g(b)q(ound)i(to)f(pro)q(duce)195
-1461 y(n)o(umeric)k(argumen)o(ts.)1675 1554 y([F)l(unction])-1801
+2522 y(n)o(umeric)k(argumen)o(ts.)1675 2615 y([F)l(unction])-1801
 b Fg(void)27 b(rl_discard_keymap)e Ff(\()p Fi(Keymap)15
-b(k)o(eymap)p Ff(\))195 1609 y Fs(F)l(ree)f(the)h(storage)e(asso)q
+b(k)o(eymap)p Ff(\))195 2670 y Fs(F)l(ree)f(the)h(storage)e(asso)q
 (ciated)h(with)g(the)g(data)g(in)g Fi(k)o(eymap)q Fs(.)20
-b(The)15 b(caller)e(should)i(free)f Fi(k)o(eymap)q Fs(.)1675
-1702 y([F)l(unction])-1801 b Fg(void)27 b(rl_free_keymap)e
-Ff(\()p Fi(Keymap)15 b(k)o(eymap)p Ff(\))195 1756 y Fs(F)l(ree)g(all)g
-(storage)f(asso)q(ciated)g(with)h Fi(k)o(eymap)q Fs(.)20
-b(This)15 b(calls)f Fr(rl_discard_keymap)f Fs(to)i(free)g(sub-)195
-1811 y(ordindate)g(k)o(eymaps)g(and)g(macros.)137 1904
-y(Readline)23 b(has)g(sev)o(eral)f(in)o(ternal)f(k)o(eymaps.)42
-b(These)23 b(functions)f(allo)o(w)f(y)o(ou)h(to)g(c)o(hange)h(whic)o(h)
-75 1959 y(k)o(eymap)15 b(is)g(activ)o(e.)1675 2051 y([F)l(unction])
--1801 b Fg(Keymap)27 b(rl_get_keymap)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 2106 y Fs(Returns)16 b(the)f(curren)o(tly)g(activ)o(e)f(k)o
-(eymap.)1675 2199 y([F)l(unction])-1801 b Fg(void)27
-b(rl_set_keymap)d Ff(\()p Fi(Keymap)16 b(k)o(eymap)p
-Ff(\))195 2254 y Fs(Mak)o(es)e Fi(k)o(eymap)j Fs(the)e(curren)o(tly)g
-(activ)o(e)f(k)o(eymap.)1675 2347 y([F)l(unction])-1801
+b(The)15 b(caller)e(should)i(free)f Fi(k)o(eymap)q Fs(.)p
+eop end
+%%Page: 31 35
+TeXDict begin 31 34 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(31)1675 149 y([F)l(unction])-1801
+b Fg(void)27 b(rl_free_keymap)e Ff(\()p Fi(Keymap)15
+b(k)o(eymap)p Ff(\))195 204 y Fs(F)l(ree)g(all)g(storage)f(asso)q
+(ciated)g(with)h Fi(k)o(eymap)q Fs(.)20 b(This)15 b(calls)f
+Fr(rl_discard_keymap)f Fs(to)i(free)g(sub-)195 259 y(ordindate)g(k)o
+(eymaps)g(and)g(macros.)137 352 y(Readline)23 b(has)g(sev)o(eral)f(in)o
+(ternal)f(k)o(eymaps.)42 b(These)23 b(functions)f(allo)o(w)f(y)o(ou)h
+(to)g(c)o(hange)h(whic)o(h)75 407 y(k)o(eymap)15 b(is)g(activ)o(e.)1675
+501 y([F)l(unction])-1801 b Fg(Keymap)27 b(rl_get_keymap)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 556 y Fs(Returns)16 b(the)f(curren)o
+(tly)g(activ)o(e)f(k)o(eymap.)1675 649 y([F)l(unction])-1801
+b Fg(void)27 b(rl_set_keymap)d Ff(\()p Fi(Keymap)16 b(k)o(eymap)p
+Ff(\))195 704 y Fs(Mak)o(es)e Fi(k)o(eymap)j Fs(the)e(curren)o(tly)g
+(activ)o(e)f(k)o(eymap.)1675 797 y([F)l(unction])-1801
 b Fg(Keymap)27 b(rl_get_keymap_by_name)f Ff(\()p Fi(const)15
-b(c)o(har)f(*name)p Ff(\))195 2401 y Fs(Return)j(the)g(k)o(eymap)f
-(matc)o(hing)f Fi(name)s Fs(.)23 b Fi(name)c Fs(is)d(one)h(whic)o(h)f
-(w)o(ould)g(b)q(e)h(supplied)g(in)f(a)g Fr(set)195 2456
-y(keymap)e Fs(inputrc)i(line)e(\(see)i(Section)f(1.3)f([Readline)h
-(Init)g(File],)f(page)h(4\).)1675 2549 y([F)l(unction])-1801
-b Fg(char)27 b(*)f(rl_get_keymap_name)g Ff(\()p Fi(Keymap)15
-b(k)o(eymap)p Ff(\))195 2604 y Fs(Return)i(the)g(name)f(matc)o(hing)g
+b(c)o(har)f(*name)p Ff(\))195 852 y Fs(Return)j(the)g(k)o(eymap)f(matc)
+o(hing)f Fi(name)s Fs(.)23 b Fi(name)c Fs(is)d(one)h(whic)o(h)f(w)o
+(ould)g(b)q(e)h(supplied)g(in)f(a)g Fr(set)195 907 y(keymap)e
+Fs(inputrc)i(line)e(\(see)i(Section)f(1.3)f([Readline)h(Init)g(File],)f
+(page)h(4\).)1675 1000 y([F)l(unction])-1801 b Fg(char)27
+b(*)f(rl_get_keymap_name)g Ff(\()p Fi(Keymap)15 b(k)o(eymap)p
+Ff(\))195 1055 y Fs(Return)i(the)g(name)f(matc)o(hing)g
 Fi(k)o(eymap)q Fs(.)24 b Fi(name)19 b Fs(is)d(one)h(whic)o(h)f(w)o
-(ould)g(b)q(e)h(supplied)g(in)f(a)g Fr(set)195 2659 y(keymap)e
+(ould)g(b)q(e)h(supplied)g(in)f(a)g Fr(set)195 1110 y(keymap)e
 Fs(inputrc)i(line)e(\(see)i(Section)f(1.3)f([Readline)h(Init)g(File],)f
-(page)h(4\).)p eop end
-%%Page: 31 35
-TeXDict begin 31 34 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(31)75 149 y Fh(2.4.3)30
-b(Binding)20 b(Keys)75 223 y Fs(Key)e(sequences)g(are)e(asso)q(ciate)g
-(with)h(functions)g(through)f(the)h(k)o(eymap.)26 b(Readline)17
-b(has)g(sev)o(eral)f(in-)75 278 y(ternal)e(k)o(eymaps:)19
-b Fr(emacs_standard_keymap)p Fs(,)11 b Fr(emacs_meta_keymap)p
-Fs(,)h Fr(emacs_ctlx_keymap)p Fs(,)g Fr(vi_)75 333 y(movement_keymap)p
-Fs(,)20 b(and)i Fr(vi_insertion_keymap)p Fs(.)35 b Fr
-(emacs_standard_keymap)18 b Fs(is)j(the)g(default,)75
-387 y(and)15 b(the)h(examples)f(in)g(this)f(man)o(ual)h(assume)g(that.)
-137 460 y(Since)g Fr(readline\(\))d Fs(installs)g(a)i(set)f(of)h
-(default)f(k)o(ey)h(bindings)f(the)h(\014rst)g(time)f(it)g(is)g
-(called,)h(there)f(is)75 515 y(alw)o(a)o(ys)i(the)h(danger)g(that)g(a)g
-(custom)g(binding)g(installed)f(b)q(efore)i(the)f(\014rst)g(call)g(to)f
-Fr(readline\(\))g Fs(will)75 570 y(b)q(e)f(o)o(v)o(erridden.)k(An)13
+(page)h(4\).)75 1210 y Fh(2.4.3)30 b(Binding)20 b(Keys)75
+1284 y Fs(Key)e(sequences)g(are)e(asso)q(ciate)g(with)h(functions)g
+(through)f(the)h(k)o(eymap.)26 b(Readline)17 b(has)g(sev)o(eral)f(in-)
+75 1338 y(ternal)e(k)o(eymaps:)19 b Fr(emacs_standard_keymap)p
+Fs(,)11 b Fr(emacs_meta_keymap)p Fs(,)h Fr(emacs_ctlx_keymap)p
+Fs(,)g Fr(vi_)75 1393 y(movement_keymap)p Fs(,)20 b(and)i
+Fr(vi_insertion_keymap)p Fs(.)35 b Fr(emacs_standard_keymap)18
+b Fs(is)j(the)g(default,)75 1448 y(and)15 b(the)h(examples)f(in)g(this)
+f(man)o(ual)h(assume)g(that.)137 1516 y(Since)g Fr(readline\(\))d
+Fs(installs)g(a)i(set)f(of)h(default)f(k)o(ey)h(bindings)f(the)h
+(\014rst)g(time)f(it)g(is)g(called,)h(there)f(is)75 1571
+y(alw)o(a)o(ys)i(the)h(danger)g(that)g(a)g(custom)g(binding)g
+(installed)f(b)q(efore)i(the)f(\014rst)g(call)g(to)f
+Fr(readline\(\))g Fs(will)75 1626 y(b)q(e)f(o)o(v)o(erridden.)k(An)13
 b(alternate)f(mec)o(hanism)h(is)f(to)g(install)f(custom)i(k)o(ey)g
-(bindings)f(in)h(an)g(initialization)75 625 y(function)18
+(bindings)f(in)h(an)g(initialization)75 1680 y(function)18
 b(assigned)h(to)e(the)i Fr(rl_startup_hook)e Fs(v)m(ariable)h(\(see)g
-(Section)g(2.3)g([Readline)h(V)l(ariables],)75 679 y(page)c(25\).)137
-752 y(These)h(functions)f(manage)f(k)o(ey)i(bindings.)1675
-856 y([F)l(unction])-1801 b Fg(int)27 b(rl_bind_key)d
-Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(rl)p 702 856 14 2
-v 19 w(command)p 913 856 V 20 w(func)p 1017 856 V 21
-w(t)g(*function)p Ff(\))195 911 y Fs(Binds)i Fi(k)o(ey)j
+(Section)g(2.3)g([Readline)h(V)l(ariables],)75 1735 y(page)c(25\).)137
+1803 y(These)h(functions)f(manage)f(k)o(ey)i(bindings.)1675
+1896 y([F)l(unction])-1801 b Fg(int)27 b(rl_bind_key)d
+Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(rl)p 702 1896 14
+2 v 19 w(command)p 913 1896 V 20 w(func)p 1017 1896 V
+21 w(t)g(*function)p Ff(\))195 1951 y Fs(Binds)i Fi(k)o(ey)j
 Fs(to)c Fi(function)g Fs(in)h(the)f(curren)o(tly)g(activ)o(e)g(k)o
 (eymap.)23 b(Returns)17 b(non-zero)g(in)f(the)h(case)195
-965 y(of)e(an)g(in)o(v)m(alid)f Fi(k)o(ey)t Fs(.)1675
-1069 y([F)l(unction])-1801 b Fg(int)27 b(rl_bind_key_in_map)e
-Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(rl)p 885 1069 V 20
-w(command)p 1097 1069 V 19 w(func)p 1200 1069 V 21 w(t)g(*function,)283
-1124 y(Keymap)g(map)p Ff(\))195 1178 y Fs(Bind)g Fi(k)o(ey)k
+2006 y(of)e(an)g(in)o(v)m(alid)f Fi(k)o(ey)t Fs(.)1675
+2100 y([F)l(unction])-1801 b Fg(int)27 b(rl_bind_key_in_map)e
+Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(rl)p 885 2100 V 20
+w(command)p 1097 2100 V 19 w(func)p 1200 2100 V 21 w(t)g(*function,)283
+2154 y(Keymap)g(map)p Ff(\))195 2209 y Fs(Bind)g Fi(k)o(ey)k
 Fs(to)c Fi(function)g Fs(in)g Fi(map)q Fs(.)20 b(Returns)c(non-zero)f
 (in)g(the)h(case)f(of)g(an)g(in)o(v)m(alid)f Fi(k)o(ey)t
-Fs(.)1675 1282 y([F)l(unction])-1801 b Fg(int)27 b
+Fs(.)1675 2303 y([F)l(unction])-1801 b Fg(int)27 b
 (rl_bind_key_if_unbound)f Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(rl)p
-990 1282 V 19 w(command)p 1201 1282 V 20 w(func)p 1305
-1282 V 21 w(t)f(*function)p Ff(\))195 1337 y Fs(Binds)22
+990 2303 V 19 w(command)p 1201 2303 V 20 w(func)p 1305
+2303 V 21 w(t)f(*function)p Ff(\))195 2357 y Fs(Binds)22
 b Fi(k)o(ey)k Fs(to)21 b Fi(function)h Fs(if)g(it)f(is)g(not)h(already)
 f(b)q(ound)i(in)f(the)g(curren)o(tly)f(activ)o(e)h(k)o(eymap.)195
-1392 y(Returns)16 b(non-zero)f(in)g(the)h(case)f(of)f(an)i(in)o(v)m
+2412 y(Returns)16 b(non-zero)f(in)g(the)h(case)f(of)f(an)i(in)o(v)m
 (alid)e Fi(k)o(ey)19 b Fs(or)c(if)f Fi(k)o(ey)19 b Fs(is)c(already)g(b)
-q(ound.)1675 1495 y([F)l(unction])-1801 b Fg(int)27 b
+q(ound.)1675 2506 y([F)l(unction])-1801 b Fg(int)27 b
 (rl_bind_key_if_unbound_in_)q(map)f Ff(\()p Fi(in)o(t)14
-b(k)o(ey)l(,)h(rl)p 1173 1495 V 19 w(command)p 1384 1495
-V 20 w(func)p 1488 1495 V 21 w(t)283 1550 y(*function,)f(Keymap)h(map)p
-Ff(\))195 1605 y Fs(Binds)f Fi(k)o(ey)j Fs(to)c Fi(function)g
+b(k)o(ey)l(,)h(rl)p 1173 2506 V 19 w(command)p 1384 2506
+V 20 w(func)p 1488 2506 V 21 w(t)283 2560 y(*function,)f(Keymap)h(map)p
+Ff(\))195 2615 y Fs(Binds)f Fi(k)o(ey)j Fs(to)c Fi(function)g
 Fs(if)h(it)e(is)h(not)h(already)e(b)q(ound)j(in)e Fi(map)q
 Fs(.)20 b(Returns)14 b(non-zero)g(in)f(the)h(case)195
-1659 y(of)h(an)g(in)o(v)m(alid)f Fi(k)o(ey)19 b Fs(or)c(if)g
-Fi(k)o(ey)k Fs(is)14 b(already)h(b)q(ound.)1675 1763
-y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_key)d Ff(\()p
-Fi(in)o(t)14 b(k)o(ey)p Ff(\))195 1818 y Fs(Bind)k Fi(k)o(ey)k
-Fs(to)c(the)g(n)o(ull)g(function)g(in)g(the)g(curren)o(tly)f(activ)o(e)
-h(k)o(eymap.)28 b(Returns)19 b(non-zero)f(in)195 1872
-y(case)d(of)g(error.)1675 1976 y([F)l(unction])-1801
-b Fg(int)27 b(rl_unbind_key_in_map)e Ff(\()p Fi(in)o(t)14
-b(k)o(ey)l(,)h(Keymap)h(map)p Ff(\))195 2031 y Fs(Bind)f
-Fi(k)o(ey)k Fs(to)c(the)g(n)o(ull)g(function)g(in)g Fi(map)q
-Fs(.)20 b(Returns)c(non-zero)f(in)g(case)g(of)g(error.)1675
-2134 y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_function_in_map)f
-Ff(\()p Fi(rl)p 908 2134 V 19 w(command)p 1119 2134 V
-20 w(func)p 1223 2134 V 21 w(t)15 b(*function,)283 2189
-y(Keymap)g(map)p Ff(\))195 2244 y Fs(Un)o(bind)h(all)e(k)o(eys)h(that)f
-(execute)i Fi(function)f Fs(in)g Fi(map)q Fs(.)1675 2347
-y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_command_in_map)f
-Ff(\()p Fi(const)15 b(c)o(har)f(*command,)h(Keymap)g(map)p
-Ff(\))195 2402 y Fs(Un)o(bind)h(all)e(k)o(eys)h(that)f(are)h(b)q(ound)h
-(to)f Fi(command)i Fs(in)e Fi(map)q Fs(.)1675 2506 y([F)l(unction])
--1801 b Fg(int)27 b(rl_bind_keyseq)d Ff(\()p Fi(const)15
-b(c)o(har)g(*k)o(eyseq,)f(rl)p 1018 2506 V 20 w(command)p
-1230 2506 V 20 w(func)p 1334 2506 V 20 w(t)h(*function)p
-Ff(\))195 2560 y Fs(Bind)22 b(the)f(k)o(ey)h(sequence)h(represen)o(ted)
-f(b)o(y)f(the)h(string)e Fi(k)o(eyseq)j Fs(to)e(the)g(function)g
-Fi(function)p Fs(,)195 2615 y(b)q(eginning)14 b(in)g(the)g(curren)o(t)g
-(k)o(eymap.)20 b(This)13 b(mak)o(es)h(new)g(k)o(eymaps)g(as)g
-(necessary)l(.)20 b(The)14 b(return)195 2670 y(v)m(alue)h(is)g
-(non-zero)h(if)e Fi(k)o(eyseq)j Fs(is)d(in)o(v)m(alid.)p
-eop end
+2670 y(of)h(an)g(in)o(v)m(alid)f Fi(k)o(ey)19 b Fs(or)c(if)g
+Fi(k)o(ey)k Fs(is)14 b(already)h(b)q(ound.)p eop end
 %%Page: 32 36
 TeXDict begin 32 35 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
 b(with)g(GNU)h(Readline)842 b(32)1675 149 y([F)l(unction])-1801
+b Fg(int)27 b(rl_unbind_key)d Ff(\()p Fi(in)o(t)14 b(k)o(ey)p
+Ff(\))195 204 y Fs(Bind)k Fi(k)o(ey)k Fs(to)c(the)g(n)o(ull)g(function)
+g(in)g(the)g(curren)o(tly)f(activ)o(e)h(k)o(eymap.)28
+b(Returns)19 b(non-zero)f(in)195 259 y(case)d(of)g(error.)1675
+358 y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_key_in_map)e
+Ff(\()p Fi(in)o(t)14 b(k)o(ey)l(,)h(Keymap)h(map)p Ff(\))195
+412 y Fs(Bind)f Fi(k)o(ey)k Fs(to)c(the)g(n)o(ull)g(function)g(in)g
+Fi(map)q Fs(.)20 b(Returns)c(non-zero)f(in)g(case)g(of)g(error.)1675
+511 y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_function_in_map)f
+Ff(\()p Fi(rl)p 908 511 14 2 v 19 w(command)p 1119 511
+V 20 w(func)p 1223 511 V 21 w(t)15 b(*function,)283 566
+y(Keymap)g(map)p Ff(\))195 621 y Fs(Un)o(bind)h(all)e(k)o(eys)h(that)f
+(execute)i Fi(function)f Fs(in)g Fi(map)q Fs(.)1675 719
+y([F)l(unction])-1801 b Fg(int)27 b(rl_unbind_command_in_map)f
+Ff(\()p Fi(const)15 b(c)o(har)f(*command,)h(Keymap)g(map)p
+Ff(\))195 774 y Fs(Un)o(bind)h(all)e(k)o(eys)h(that)f(are)h(b)q(ound)h
+(to)f Fi(command)i Fs(in)e Fi(map)q Fs(.)1675 873 y([F)l(unction])-1801
+b Fg(int)27 b(rl_bind_keyseq)d Ff(\()p Fi(const)15 b(c)o(har)g(*k)o
+(eyseq,)f(rl)p 1018 873 V 20 w(command)p 1230 873 V 20
+w(func)p 1334 873 V 20 w(t)h(*function)p Ff(\))195 928
+y Fs(Bind)22 b(the)f(k)o(ey)h(sequence)h(represen)o(ted)f(b)o(y)f(the)h
+(string)e Fi(k)o(eyseq)j Fs(to)e(the)g(function)g Fi(function)p
+Fs(,)195 982 y(b)q(eginning)14 b(in)g(the)g(curren)o(t)g(k)o(eymap.)20
+b(This)13 b(mak)o(es)h(new)g(k)o(eymaps)g(as)g(necessary)l(.)20
+b(The)14 b(return)195 1037 y(v)m(alue)h(is)g(non-zero)h(if)e
+Fi(k)o(eyseq)j Fs(is)d(in)o(v)m(alid.)1675 1136 y([F)l(unction])-1801
 b Fg(int)27 b(rl_bind_keyseq_in_map)f Ff(\()p Fi(const)14
-b(c)o(har)h(*k)o(eyseq,)g(rl)p 1202 149 14 2 v 19 w(command)p
-1413 149 V 20 w(func)p 1517 149 V 21 w(t)283 204 y(*function,)f(Keymap)
-h(map)p Ff(\))195 259 y Fs(Bind)e(the)f(k)o(ey)h(sequence)h(represen)o
-(ted)f(b)o(y)f(the)h(string)e Fi(k)o(eyseq)j Fs(to)e(the)g(function)h
-Fi(function)p Fs(.)18 b(This)195 314 y(mak)o(es)c(new)h(k)o(eymaps)f
-(as)g(necessary)l(.)20 b(Initial)13 b(bindings)h(are)h(p)q(erformed)f
-(in)h Fi(map)q Fs(.)k(The)c(return)195 369 y(v)m(alue)g(is)g(non-zero)h
-(if)e Fi(k)o(eyseq)j Fs(is)d(in)o(v)m(alid.)1675 470
-y([F)l(unction])-1801 b Fg(int)27 b(rl_set_key)d Ff(\()p
-Fi(const)14 b(c)o(har)h(*k)o(eyseq,)g(rl)p 914 470 V
-19 w(command)p 1125 470 V 20 w(func)p 1229 470 V 21 w(t)g(*function,)
-283 525 y(Keymap)g(map)p Ff(\))195 579 y Fs(Equiv)m(alen)o(t)g(to)f
-Fr(rl_bind_keyseq_in_map)p Fs(.)1675 680 y([F)l(unction])-1801
-b Fg(int)27 b(rl_bind_keyseq_if_unbound)f Ff(\()p Fi(const)15
-b(c)o(har)g(*k)o(eyseq,)283 735 y(rl)p 317 735 V 19 w(command)p
-528 735 V 20 w(func)p 632 735 V 21 w(t)f(*function)p
-Ff(\))195 790 y Fs(Binds)k Fi(k)o(eyseq)h Fs(to)e Fi(function)g
+b(c)o(har)h(*k)o(eyseq,)g(rl)p 1202 1136 V 19 w(command)p
+1413 1136 V 20 w(func)p 1517 1136 V 21 w(t)283 1191 y(*function,)f
+(Keymap)h(map)p Ff(\))195 1245 y Fs(Bind)e(the)f(k)o(ey)h(sequence)h
+(represen)o(ted)f(b)o(y)f(the)h(string)e Fi(k)o(eyseq)j
+Fs(to)e(the)g(function)h Fi(function)p Fs(.)18 b(This)195
+1300 y(mak)o(es)c(new)h(k)o(eymaps)f(as)g(necessary)l(.)20
+b(Initial)13 b(bindings)h(are)h(p)q(erformed)f(in)h Fi(map)q
+Fs(.)k(The)c(return)195 1355 y(v)m(alue)g(is)g(non-zero)h(if)e
+Fi(k)o(eyseq)j Fs(is)d(in)o(v)m(alid.)1675 1454 y([F)l(unction])-1801
+b Fg(int)27 b(rl_set_key)d Ff(\()p Fi(const)14 b(c)o(har)h(*k)o(eyseq,)
+g(rl)p 914 1454 V 19 w(command)p 1125 1454 V 20 w(func)p
+1229 1454 V 21 w(t)g(*function,)283 1508 y(Keymap)g(map)p
+Ff(\))195 1563 y Fs(Equiv)m(alen)o(t)g(to)f Fr(rl_bind_keyseq_in_map)p
+Fs(.)1675 1662 y([F)l(unction])-1801 b Fg(int)27 b
+(rl_bind_keyseq_if_unbound)f Ff(\()p Fi(const)15 b(c)o(har)g(*k)o
+(eyseq,)283 1717 y(rl)p 317 1717 V 19 w(command)p 528
+1717 V 20 w(func)p 632 1717 V 21 w(t)f(*function)p Ff(\))195
+1771 y Fs(Binds)k Fi(k)o(eyseq)h Fs(to)e Fi(function)g
 Fs(if)h(it)f(is)g(not)g(already)g(b)q(ound)i(in)f(the)f(curren)o(tly)h
-(activ)o(e)f(k)o(eymap.)195 845 y(Returns)f(non-zero)f(in)g(the)h(case)
-f(of)f(an)i(in)o(v)m(alid)e Fi(k)o(eyseq)i Fs(or)f(if)g
-Fi(k)o(eyseq)h Fs(is)f(already)f(b)q(ound.)1675 946 y([F)l(unction])
--1801 b Fg(int)27 b(rl_bind_keyseq_if_unbound_)q(in_map)f
-Ff(\()p Fi(const)15 b(c)o(har)g(*k)o(eyseq,)283 1001
-y(rl)p 317 1001 V 19 w(command)p 528 1001 V 20 w(func)p
-632 1001 V 21 w(t)f(*function,)h(Keymap)g(map)p Ff(\))195
-1055 y Fs(Binds)h Fi(k)o(eyseq)h Fs(to)e Fi(function)h
+(activ)o(e)f(k)o(eymap.)195 1826 y(Returns)f(non-zero)f(in)g(the)h
+(case)f(of)f(an)i(in)o(v)m(alid)e Fi(k)o(eyseq)i Fs(or)f(if)g
+Fi(k)o(eyseq)h Fs(is)f(already)f(b)q(ound.)1675 1925
+y([F)l(unction])-1801 b Fg(int)27 b(rl_bind_keyseq_if_unbound_)q
+(in_map)f Ff(\()p Fi(const)15 b(c)o(har)g(*k)o(eyseq,)283
+1980 y(rl)p 317 1980 V 19 w(command)p 528 1980 V 20 w(func)p
+632 1980 V 21 w(t)f(*function,)h(Keymap)g(map)p Ff(\))195
+2034 y Fs(Binds)h Fi(k)o(eyseq)h Fs(to)e Fi(function)h
 Fs(if)f(it)h(is)f(not)h(already)f(b)q(ound)i(in)e Fi(map)q
-Fs(.)23 b(Returns)16 b(non-zero)g(in)g(the)195 1110 y(case)f(of)g(an)g
+Fs(.)23 b(Returns)16 b(non-zero)g(in)g(the)195 2089 y(case)f(of)g(an)g
 (in)o(v)m(alid)g Fi(k)o(eyseq)h Fs(or)f(if)f Fi(k)o(eyseq)i
-Fs(is)f(already)g(b)q(ound.)1675 1211 y([F)l(unction])-1801
+Fs(is)f(already)g(b)q(ound.)1675 2188 y([F)l(unction])-1801
 b Fg(int)27 b(rl_generic_bind)e Ff(\()p Fi(in)o(t)14
 b(t)o(yp)q(e,)h(const)g(c)o(har)f(*k)o(eyseq,)h(c)o(har)g(*data,)f
-(Keymap)283 1266 y(map)p Ff(\))195 1321 y Fs(Bind)g(the)f(k)o(ey)h
+(Keymap)283 2243 y(map)p Ff(\))195 2297 y Fs(Bind)g(the)f(k)o(ey)h
 (sequence)h(represen)o(ted)e(b)o(y)h(the)g(string)e Fi(k)o(eyseq)j
 Fs(to)d(the)i(arbitrary)e(p)q(oin)o(ter)h Fi(data)p Fs(.)195
-1376 y Fi(t)o(yp)q(e)k Fs(sa)o(ys)c(what)h(kind)g(of)g(data)g(is)f(p)q
+2352 y Fi(t)o(yp)q(e)k Fs(sa)o(ys)c(what)h(kind)g(of)g(data)g(is)f(p)q
 (oin)o(ted)i(to)e(b)o(y)h Fi(data)p Fs(;)g(this)g(can)g(b)q(e)h(a)f
-(function)g(\()p Fr(ISFUNC)p Fs(\),)e(a)195 1431 y(macro)i(\()p
+(function)g(\()p Fr(ISFUNC)p Fs(\),)e(a)195 2407 y(macro)i(\()p
 Fr(ISMACR)p Fs(\),)f(or)h(a)h(k)o(eymap)f(\()p Fr(ISKMAP)p
 Fs(\).)k(This)d(mak)o(es)f(new)h(k)o(eymaps)f(as)h(necessary)l(.)20
-b(The)195 1485 y(initial)13 b(k)o(eymap)i(in)g(whic)o(h)g(to)g(do)g
-(bindings)g(is)g Fi(map)q Fs(.)1675 1586 y([F)l(unction])-1801
+b(The)195 2462 y(initial)13 b(k)o(eymap)i(in)g(whic)o(h)g(to)g(do)g
+(bindings)g(is)g Fi(map)q Fs(.)1675 2560 y([F)l(unction])-1801
 b Fg(int)27 b(rl_parse_and_bind)e Ff(\()p Fi(c)o(har)14
-b(*line)p Ff(\))195 1641 y Fs(P)o(arse)g Fi(line)j Fs(as)d(if)g(it)g
+b(*line)p Ff(\))195 2615 y Fs(P)o(arse)g Fi(line)j Fs(as)d(if)g(it)g
 (had)h(b)q(een)h(read)f(from)f(the)g Fr(inputrc)g Fs(\014le)h(and)g(p)q
-(erform)f(an)o(y)h(k)o(ey)f(bindings)195 1696 y(and)h(v)m(ariable)g
+(erform)f(an)o(y)h(k)o(ey)f(bindings)195 2670 y(and)h(v)m(ariable)g
 (assignmen)o(ts)f(found)i(\(see)f(Section)g(1.3)f([Readline)h(Init)g
-(File],)f(page)h(4\).)1675 1797 y([F)l(unction])-1801
+(File],)f(page)h(4\).)p eop end
+%%Page: 33 37
+TeXDict begin 33 36 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(33)1675 149 y([F)l(unction])-1801
 b Fg(int)27 b(rl_read_init_file)e Ff(\()p Fi(const)15
-b(c)o(har)f(*\014lename)p Ff(\))195 1852 y Fs(Read)i(k)o(eybindings)g
+b(c)o(har)f(*\014lename)p Ff(\))195 204 y Fs(Read)i(k)o(eybindings)g
 (and)g(v)m(ariable)f(assignmen)o(ts)g(from)g Fi(\014lename)j
-Fs(\(see)e(Section)f(1.3)g([Readline)195 1907 y(Init)g(File],)f(page)h
-(4\).)75 2011 y Fh(2.4.4)30 b(Asso)r(ciating)20 b(F)-5
-b(unction)20 b(Names)h(and)f(Bindings)75 2084 y Fs(These)15
+Fs(\(see)e(Section)f(1.3)g([Readline)195 259 y(Init)g(File],)f(page)h
+(4\).)75 355 y Fh(2.4.4)30 b(Asso)r(ciating)20 b(F)-5
+b(unction)20 b(Names)h(and)f(Bindings)75 428 y Fs(These)15
 b(functions)g(allo)o(w)f(y)o(ou)g(to)h(\014nd)h(out)e(what)h(k)o(eys)g
 (in)o(v)o(ok)o(e)f(named)h(functions)g(and)g(the)g(functions)75
-2139 y(in)o(v)o(ok)o(ed)e(b)o(y)h(a)f(particular)f(k)o(ey)i(sequence.)
-21 b(Y)l(ou)14 b(ma)o(y)f(also)f(asso)q(ciate)h(a)h(new)g(function)f
-(name)h(with)f(an)75 2194 y(arbitrary)h(function.)1675
-2295 y([F)l(unction])-1801 b Fg(rl_command_func_t)29
-b(*)d(rl_named_function)f Ff(\()p Fi(const)15 b(c)o(har)g(*name)p
-Ff(\))195 2350 y Fs(Return)h(the)f(function)g(with)g(name)g
-Fi(name)s Fs(.)1675 2451 y([F)l(unction])-1801 b Fg(rl_command_func_t)
-29 b(*)d(rl_function_of_keyseq)g Ff(\()p Fi(const)15
-b(c)o(har)f(*k)o(eyseq,)283 2506 y(Keymap)h(map,)g(in)o(t)f(*t)o(yp)q
-(e)p Ff(\))195 2560 y Fs(Return)j(the)f(function)g(in)o(v)o(ok)o(ed)f
-(b)o(y)i Fi(k)o(eyseq)g Fs(in)f(k)o(eymap)g Fi(map)q
-Fs(.)23 b(If)16 b Fi(map)i Fs(is)d Fr(NULL)p Fs(,)h(the)g(curren)o(t)
-195 2615 y(k)o(eymap)i(is)g(used.)31 b(If)18 b Fi(t)o(yp)q(e)j
+483 y(in)o(v)o(ok)o(ed)e(b)o(y)h(a)f(particular)f(k)o(ey)i(sequence.)21
+b(Y)l(ou)14 b(ma)o(y)f(also)f(asso)q(ciate)h(a)h(new)g(function)f(name)
+h(with)f(an)75 538 y(arbitrary)h(function.)1675 624 y([F)l(unction])
+-1801 b Fg(rl_command_func_t)29 b(*)d(rl_named_function)f
+Ff(\()p Fi(const)15 b(c)o(har)g(*name)p Ff(\))195 679
+y Fs(Return)h(the)f(function)g(with)g(name)g Fi(name)s
+Fs(.)1675 766 y([F)l(unction])-1801 b Fg(rl_command_func_t)29
+b(*)d(rl_function_of_keyseq)g Ff(\()p Fi(const)15 b(c)o(har)f(*k)o
+(eyseq,)283 821 y(Keymap)h(map,)g(in)o(t)f(*t)o(yp)q(e)p
+Ff(\))195 875 y Fs(Return)j(the)f(function)g(in)o(v)o(ok)o(ed)f(b)o(y)i
+Fi(k)o(eyseq)g Fs(in)f(k)o(eymap)g Fi(map)q Fs(.)23 b(If)16
+b Fi(map)i Fs(is)d Fr(NULL)p Fs(,)h(the)g(curren)o(t)195
+930 y(k)o(eymap)i(is)g(used.)31 b(If)18 b Fi(t)o(yp)q(e)j
 Fs(is)d(not)h Fr(NULL)p Fs(,)f(the)g(t)o(yp)q(e)h(of)f(the)h(ob)s(ject)
-f(is)g(returned)h(in)f(the)g Fr(int)195 2670 y Fs(v)m(ariable)d(it)f(p)
-q(oin)o(ts)h(to)f(\(one)h(of)g Fr(ISFUNC)p Fs(,)f Fr(ISKMAP)p
-Fs(,)g(or)h Fr(ISMACR)p Fs(\).)p eop end
-%%Page: 33 37
-TeXDict begin 33 36 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(33)1675 149 y([F)l(unction])-1801
+f(is)g(returned)h(in)f(the)g Fr(int)195 985 y Fs(v)m(ariable)d(it)f(p)q
+(oin)o(ts)h(to)f(\(one)h(of)g Fr(ISFUNC)p Fs(,)f Fr(ISKMAP)p
+Fs(,)g(or)h Fr(ISMACR)p Fs(\).)1675 1071 y([F)l(unction])-1801
 b Fg(char)27 b(**)f(rl_invoking_keyseqs)g Ff(\()p Fi(rl)p
-856 149 14 2 v 19 w(command)p 1067 149 V 20 w(func)p
-1171 149 V 20 w(t)15 b(*function)p Ff(\))195 204 y Fs(Return)h(an)g
-(arra)o(y)e(of)h(strings)g(represen)o(ting)g(the)h(k)o(ey)f(sequences)i
-(used)f(to)f(in)o(v)o(ok)o(e)g Fi(function)g Fs(in)195
-259 y(the)g(curren)o(t)g(k)o(eymap.)1675 346 y([F)l(unction])-1801
-b Fg(char)27 b(**)f(rl_invoking_keyseqs_in)q(_map)g Ff(\()p
-Fi(rl)p 1039 346 V 19 w(command)p 1250 346 V 20 w(func)p
-1354 346 V 21 w(t)283 401 y(*function,)14 b(Keymap)h(map)p
-Ff(\))195 456 y Fs(Return)h(an)g(arra)o(y)e(of)h(strings)g(represen)o
-(ting)g(the)h(k)o(ey)f(sequences)i(used)f(to)f(in)o(v)o(ok)o(e)g
-Fi(function)g Fs(in)195 510 y(the)g(k)o(eymap)g Fi(map)q
-Fs(.)1675 598 y([F)l(unction])-1801 b Fg(void)27 b(rl_function_dumper)e
-Ff(\()p Fi(in)o(t)14 b(readable)p Ff(\))195 652 y Fs(Prin)o(t)g(the)g
-(readline)h(function)f(names)h(and)f(the)h(k)o(ey)g(sequences)g(curren)
-o(tly)f(b)q(ound)i(to)e(them)h(to)195 707 y Fr(rl_outstream)p
-Fs(.)j(If)c Fi(readable)i Fs(is)d(non-zero,)h(the)g(list)e(is)i
-(formatted)e(in)i(suc)o(h)g(a)f(w)o(a)o(y)g(that)g(it)g(can)195
-762 y(b)q(e)j(made)f(part)g(of)f(an)i Fr(inputrc)e Fs(\014le)h(and)g
-(re-read.)1675 849 y([F)l(unction])-1801 b Fg(void)27
-b(rl_list_funmap_names)f Ff(\()p Fi(v)o(oid)p Ff(\))195
-904 y Fs(Prin)o(t)14 b(the)h(names)h(of)e(all)h(bindable)g(Readline)g
-(functions)g(to)g Fr(rl_outstream)p Fs(.)1675 991 y([F)l(unction])-1801
-b Fg(const)27 b(char)g(**)f(rl_funmap_names)f Ff(\()p
-Fi(v)o(oid)p Ff(\))195 1046 y Fs(Return)14 b(a)e(NULL)i(terminated)f
-(arra)o(y)e(of)i(kno)o(wn)g(function)f(names.)20 b(The)13
-b(arra)o(y)f(is)g(sorted.)19 b(The)195 1101 y(arra)o(y)13
-b(itself)g(is)g(allo)q(cated,)g(but)h(not)g(the)g(strings)f(inside.)19
-b(Y)l(ou)14 b(should)g(free)g(the)g(arra)o(y)l(,)f(but)h(not)195
-1155 y(the)h(p)q(oin)o(ters,)g(using)f Fr(free)h Fs(or)g
-Fr(rl_free)f Fs(when)i(y)o(ou)e(are)h(done.)1675 1242
-y([F)l(unction])-1801 b Fg(int)27 b(rl_add_funmap_entry)e
-Ff(\()p Fi(const)15 b(c)o(har)g(*name,)f(rl)p 1126 1242
-V 20 w(command)p 1338 1242 V 20 w(func)p 1442 1242 V
-20 w(t)283 1297 y(*function)p Ff(\))195 1352 y Fs(Add)j
+856 1071 14 2 v 19 w(command)p 1067 1071 V 20 w(func)p
+1171 1071 V 20 w(t)15 b(*function)p Ff(\))195 1126 y
+Fs(Return)h(an)g(arra)o(y)e(of)h(strings)g(represen)o(ting)g(the)h(k)o
+(ey)f(sequences)i(used)f(to)f(in)o(v)o(ok)o(e)g Fi(function)g
+Fs(in)195 1181 y(the)g(curren)o(t)g(k)o(eymap.)1675 1267
+y([F)l(unction])-1801 b Fg(char)27 b(**)f(rl_invoking_keyseqs_in)q
+(_map)g Ff(\()p Fi(rl)p 1039 1267 V 19 w(command)p 1250
+1267 V 20 w(func)p 1354 1267 V 21 w(t)283 1322 y(*function,)14
+b(Keymap)h(map)p Ff(\))195 1377 y Fs(Return)h(an)g(arra)o(y)e(of)h
+(strings)g(represen)o(ting)g(the)h(k)o(ey)f(sequences)i(used)f(to)f(in)
+o(v)o(ok)o(e)g Fi(function)g Fs(in)195 1432 y(the)g(k)o(eymap)g
+Fi(map)q Fs(.)1675 1518 y([F)l(unction])-1801 b Fg(void)27
+b(rl_function_dumper)e Ff(\()p Fi(in)o(t)14 b(readable)p
+Ff(\))195 1573 y Fs(Prin)o(t)g(the)g(readline)h(function)f(names)h(and)
+f(the)h(k)o(ey)g(sequences)g(curren)o(tly)f(b)q(ound)i(to)e(them)h(to)
+195 1628 y Fr(rl_outstream)p Fs(.)j(If)c Fi(readable)i
+Fs(is)d(non-zero,)h(the)g(list)e(is)i(formatted)e(in)i(suc)o(h)g(a)f(w)
+o(a)o(y)g(that)g(it)g(can)195 1683 y(b)q(e)j(made)f(part)g(of)f(an)i
+Fr(inputrc)e Fs(\014le)h(and)g(re-read.)1675 1769 y([F)l(unction])-1801
+b Fg(void)27 b(rl_list_funmap_names)f Ff(\()p Fi(v)o(oid)p
+Ff(\))195 1824 y Fs(Prin)o(t)14 b(the)h(names)h(of)e(all)h(bindable)g
+(Readline)g(functions)g(to)g Fr(rl_outstream)p Fs(.)1675
+1910 y([F)l(unction])-1801 b Fg(const)27 b(char)g(**)f(rl_funmap_names)
+f Ff(\()p Fi(v)o(oid)p Ff(\))195 1965 y Fs(Return)14
+b(a)e(NULL)i(terminated)f(arra)o(y)e(of)i(kno)o(wn)g(function)f(names.)
+20 b(The)13 b(arra)o(y)f(is)g(sorted.)19 b(The)195 2020
+y(arra)o(y)13 b(itself)g(is)g(allo)q(cated,)g(but)h(not)g(the)g
+(strings)f(inside.)19 b(Y)l(ou)14 b(should)g(free)g(the)g(arra)o(y)l(,)
+f(but)h(not)195 2075 y(the)h(p)q(oin)o(ters,)g(using)f
+Fr(free)h Fs(or)g Fr(rl_free)f Fs(when)i(y)o(ou)e(are)h(done.)1675
+2161 y([F)l(unction])-1801 b Fg(int)27 b(rl_add_funmap_entry)e
+Ff(\()p Fi(const)15 b(c)o(har)g(*name,)f(rl)p 1126 2161
+V 20 w(command)p 1338 2161 V 20 w(func)p 1442 2161 V
+20 w(t)283 2216 y(*function)p Ff(\))195 2271 y Fs(Add)j
 Fi(name)i Fs(to)d(the)g(list)f(of)h(bindable)h(Readline)g(command)f
-(names,)g(and)h(mak)o(e)f Fi(function)g Fs(the)195 1407
+(names,)g(and)h(mak)o(e)f Fi(function)g Fs(the)195 2326
 y(function)f(to)g(b)q(e)g(called)g(when)h Fi(name)i Fs(is)c(in)o(v)o
-(ok)o(ed.)75 1503 y Fh(2.4.5)30 b(Allo)n(wing)21 b(Undoing)75
-1576 y Fs(Supp)q(orting)d(the)g(undo)g(command)g(is)f(a)h(painless)f
+(ok)o(ed.)75 2422 y Fh(2.4.5)30 b(Allo)n(wing)21 b(Undoing)75
+2495 y Fs(Supp)q(orting)d(the)g(undo)g(command)g(is)f(a)h(painless)f
 (thing,)h(and)g(mak)o(es)f(y)o(our)h(functions)f(m)o(uc)o(h)h(more)75
-1631 y(useful.)i(It)15 b(is)g(certainly)f(easy)h(to)g(try)f(something)h
+2550 y(useful.)i(It)15 b(is)g(certainly)f(easy)h(to)g(try)f(something)h
 (if)f(y)o(ou)h(kno)o(w)g(y)o(ou)g(can)g(undo)h(it.)137
-1697 y(If)21 b(y)o(our)f(function)g(simply)g(inserts)g(text)f(once,)j
+2615 y(If)21 b(y)o(our)f(function)g(simply)g(inserts)g(text)f(once,)j
 (or)e(deletes)g(text)g(once,)i(and)f(uses)f Fr(rl_insert_)75
-1752 y(text\(\))13 b Fs(or)h Fr(rl_delete_text\(\))d
+2670 y(text\(\))13 b Fs(or)h Fr(rl_delete_text\(\))d
 Fs(to)j(do)f(it,)g(then)i(undoing)f(is)f(already)g(done)i(for)e(y)o(ou)
-h(automatically)l(.)137 1817 y(If)d(y)o(ou)f(do)g(m)o(ultiple)f
-(insertions)g(or)h(m)o(ultiple)f(deletions,)h(or)g(an)o(y)g(com)o
-(bination)f(of)h(these)g(op)q(erations,)75 1872 y(y)o(ou)19
-b(should)g(group)f(them)h(together)g(in)o(to)f(one)h(op)q(eration.)30
-b(This)19 b(is)f(done)i(with)e Fr(rl_begin_undo_)75 1927
-y(group\(\))c Fs(and)i Fr(rl_end_undo_group\(\))p Fs(.)137
-1992 y(The)g(t)o(yp)q(es)f(of)g(ev)o(en)o(ts)g(that)f(can)h(b)q(e)h
-(undone)g(are:)195 2047 y Fe(enum)i(undo_code)e({)j(UNDO_DELETE)o(,)d
-(UNDO_INSERT)o(,)g(UNDO_BEGIN,)g(UNDO_END)g(};)137 2112
+h(automatically)l(.)p eop end
+%%Page: 34 38
+TeXDict begin 34 37 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(34)137 149 y(If)11 b(y)o(ou)f(do)g(m)o
+(ultiple)f(insertions)g(or)h(m)o(ultiple)f(deletions,)h(or)g(an)o(y)g
+(com)o(bination)f(of)h(these)g(op)q(erations,)75 204
+y(y)o(ou)19 b(should)g(group)f(them)h(together)g(in)o(to)f(one)h(op)q
+(eration.)30 b(This)19 b(is)f(done)i(with)e Fr(rl_begin_undo_)75
+259 y(group\(\))c Fs(and)i Fr(rl_end_undo_group\(\))p
+Fs(.)137 326 y(The)g(t)o(yp)q(es)f(of)g(ev)o(en)o(ts)g(that)f(can)h(b)q
+(e)h(undone)g(are:)195 382 y Fe(enum)i(undo_code)e({)j(UNDO_DELETE)o(,)
+d(UNDO_INSERT)o(,)g(UNDO_BEGIN,)g(UNDO_END)g(};)137 448
 y Fs(Notice)f(that)f Fr(UNDO_DELETE)g Fs(means)h(to)g(insert)f(some)h
 (text,)f(and)i Fr(UNDO_INSERT)d Fs(means)i(to)g(delete)75
-2167 y(some)e(text.)19 b(That)14 b(is,)f(the)h(undo)g(co)q(de)g(tells)f
+503 y(some)e(text.)19 b(That)14 b(is,)f(the)h(undo)g(co)q(de)g(tells)f
 (what)g(to)h(undo,)g(not)f(ho)o(w)g(to)g(undo)i(it.)j
-Fr(UNDO_BEGIN)13 b Fs(and)75 2222 y Fr(UNDO_END)h Fs(are)h(tags)f
-(added)i(b)o(y)f Fr(rl_begin_undo_group\(\))d Fs(and)k
-Fr(rl_end_undo_group\(\))p Fs(.)1675 2309 y([F)l(unction])-1801
+Fr(UNDO_BEGIN)13 b Fs(and)75 558 y Fr(UNDO_END)h Fs(are)h(tags)f(added)
+i(b)o(y)f Fr(rl_begin_undo_group\(\))d Fs(and)k Fr
+(rl_end_undo_group\(\))p Fs(.)1675 649 y([F)l(unction])-1801
 b Fg(int)27 b(rl_begin_undo_group)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 2364 y Fs(Begins)15 b(sa)o(ving)g(undo)h(information)d(in)j
-(a)f(group)g(construct.)20 b(The)c(undo)g(information)e(usually)195
-2419 y(comes)21 b(from)f(calls)g(to)g Fr(rl_insert_text\(\))e
+Ff(\))195 704 y Fs(Begins)15 b(sa)o(ving)g(undo)h(information)d(in)j(a)
+f(group)g(construct.)20 b(The)c(undo)g(information)e(usually)195
+759 y(comes)21 b(from)f(calls)g(to)g Fr(rl_insert_text\(\))e
 Fs(and)j Fr(rl_delete_text\(\))p Fs(,)f(but)h(could)f(b)q(e)i(the)195
-2473 y(result)15 b(of)f(calls)h(to)f Fr(rl_add_undo\(\))p
-Fs(.)1675 2560 y([F)l(unction])-1801 b Fg(int)27 b(rl_end_undo_group)e
-Ff(\()p Fi(v)o(oid)p Ff(\))195 2615 y Fs(Closes)14 b(the)g(curren)o(t)h
+813 y(result)15 b(of)f(calls)h(to)f Fr(rl_add_undo\(\))p
+Fs(.)1675 905 y([F)l(unction])-1801 b Fg(int)27 b(rl_end_undo_group)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 959 y Fs(Closes)14 b(the)g(curren)o(t)h
 (undo)g(group)f(started)g(with)f Fr(rl_begin_undo_group)g(\(\))p
-Fs(.)19 b(There)c(should)195 2670 y(b)q(e)h(one)f(call)g(to)f
+Fs(.)19 b(There)c(should)195 1014 y(b)q(e)h(one)f(call)g(to)f
 Fr(rl_end_undo_group\(\))f Fs(for)h(eac)o(h)h(call)g(to)f
-Fr(rl_begin_undo_group\(\))p Fs(.)p eop end
-%%Page: 34 38
-TeXDict begin 34 37 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(34)1675 149 y([F)l(unction])-1801
+Fr(rl_begin_undo_group\(\))p Fs(.)1675 1105 y([F)l(unction])-1801
 b Fg(void)27 b(rl_add_undo)d Ff(\()p Fi(en)o(um)15 b(undo)p
-757 149 14 2 v 21 w(co)q(de)h(what,)e(in)o(t)g(start,)g(in)o(t)g(end,)i
-(c)o(har)f(*text)p Ff(\))195 204 y Fs(Remem)o(b)q(er)j(ho)o(w)e(to)h
+757 1105 14 2 v 21 w(co)q(de)h(what,)e(in)o(t)g(start,)g(in)o(t)g(end,)
+i(c)o(har)f(*text)p Ff(\))195 1160 y Fs(Remem)o(b)q(er)j(ho)o(w)e(to)h
 (undo)g(an)g(ev)o(en)o(t)g(\(according)f(to)h Fi(what)q
 Fs(\).)24 b(The)17 b(a\013ected)g(text)f(runs)i(from)195
-259 y Fi(start)d Fs(to)g Fi(end)r Fs(,)g(and)g(encompasses)h
-Fi(text)q Fs(.)1675 354 y([F)l(unction])-1801 b Fg(void)27
+1215 y Fi(start)d Fs(to)g Fi(end)r Fs(,)g(and)g(encompasses)h
+Fi(text)q Fs(.)1675 1306 y([F)l(unction])-1801 b Fg(void)27
 b(rl_free_undo_list)e Ff(\()p Fi(v)o(oid)p Ff(\))195
-409 y Fs(F)l(ree)15 b(the)h(existing)e(undo)h(list.)1675
-504 y([F)l(unction])-1801 b Fg(int)27 b(rl_do_undo)d
-Ff(\()p Fi(v)o(oid)p Ff(\))195 559 y Fs(Undo)12 b(the)f(\014rst)g
+1361 y Fs(F)l(ree)15 b(the)h(existing)e(undo)h(list.)1675
+1452 y([F)l(unction])-1801 b Fg(int)27 b(rl_do_undo)d
+Ff(\()p Fi(v)o(oid)p Ff(\))195 1506 y Fs(Undo)12 b(the)f(\014rst)g
 (thing)g(on)h(the)f(undo)h(list.)17 b(Returns)12 b Fr(0)g
 Fs(if)f(there)g(w)o(as)g(nothing)g(to)f(undo,)j(non-zero)195
-613 y(if)i(something)f(w)o(as)g(undone.)137 708 y(Finally)l(,)g(if)h(y)
-o(ou)g(neither)h(insert)f(nor)g(delete)h(text,)f(but)g(directly)g(mo)q
-(dify)g(the)h(existing)e(text)i(\(e.g.,)75 763 y(c)o(hange)j(its)g
-(case\),)h(call)e Fr(rl_modifying\(\))g Fs(once,)i(just)f(b)q(efore)h
-(y)o(ou)f(mo)q(dify)g(the)g(text.)32 b(Y)l(ou)20 b(m)o(ust)75
-818 y(supply)15 b(the)h(indices)f(of)g(the)g(text)g(range)g(that)f(y)o
-(ou)h(are)g(going)f(to)h(mo)q(dify)l(.)1675 913 y([F)l(unction])-1801
-b Fg(int)27 b(rl_modifying)d Ff(\()p Fi(in)o(t)14 b(start,)g(in)o(t)g
-(end)p Ff(\))195 968 y Fs(T)l(ell)20 b(Readline)g(to)f(sa)o(v)o(e)h
-(the)g(text)g(b)q(et)o(w)o(een)g Fi(start)g Fs(and)g
-Fi(end)j Fs(as)c(a)h(single)f(undo)i(unit.)34 b(It)20
-b(is)195 1023 y(assumed)15 b(that)g(y)o(ou)g(will)f(subsequen)o(tly)h
-(mo)q(dify)g(that)f(text.)75 1124 y Fh(2.4.6)30 b(Redispla)n(y)1675
-1223 y Fs([F)l(unction])-1801 b Fg(void)27 b(rl_redisplay)d
-Ff(\()p Fi(v)o(oid)p Ff(\))195 1278 y Fs(Change)19 b(what's)f(displa)o
-(y)o(ed)g(on)h(the)g(screen)g(to)f(re\015ect)i(the)f(curren)o(t)f(con)o
-(ten)o(ts)h(of)f Fr(rl_line_)195 1333 y(buffer)p Fs(.)1675
-1428 y([F)l(unction])-1801 b Fg(int)27 b(rl_forced_update_display)f
-Ff(\()p Fi(v)o(oid)p Ff(\))195 1483 y Fs(F)l(orce)20
-b(the)g(line)f(to)g(b)q(e)i(up)q(dated)f(and)g(redispla)o(y)o(ed,)g
-(whether)g(or)g(not)f(Readline)h(thinks)g(the)195 1538
-y(screen)c(displa)o(y)e(is)h(correct.)1675 1633 y([F)l(unction])-1801
-b Fg(int)27 b(rl_on_new_line)d Ff(\()p Fi(v)o(oid)p Ff(\))195
-1687 y Fs(T)l(ell)14 b(the)h(up)q(date)h(functions)f(that)f(w)o(e)g(ha)
-o(v)o(e)h(mo)o(v)o(ed)f(on)o(to)g(a)h(new)g(\(empt)o(y\))f(line,)g
-(usually)h(after)195 1742 y(ouputting)g(a)f(newline.)1675
-1837 y([F)l(unction])-1801 b Fg(int)27 b(rl_on_new_line_with_prompt)f
-Ff(\()p Fi(v)o(oid)p Ff(\))195 1892 y Fs(T)l(ell)11 b(the)i(up)q(date)f
-(functions)g(that)f(w)o(e)h(ha)o(v)o(e)g(mo)o(v)o(ed)f(on)o(to)g(a)h
-(new)g(line,)g(with)g Fi(rl)p 1554 1892 V 19 w(prompt)h
-Fs(already)195 1947 y(displa)o(y)o(ed.)19 b(This)14 b(could)g(b)q(e)h
-(used)g(b)o(y)f(applications)f(that)h(w)o(an)o(t)f(to)h(output)g(the)g
-(prompt)g(string)195 2001 y(themselv)o(es,)f(but)h(still)e(need)j
-(Readline)f(to)f(kno)o(w)g(the)h(prompt)f(string)g(length)g(for)g
-(redispla)o(y)l(.)19 b(It)195 2056 y(should)c(b)q(e)h(used)g(after)e
-(setting)h Fi(rl)p 796 2056 V 19 w(already)p 961 2056
-V 19 w(prompted)r Fs(.)1675 2151 y([F)l(unction])-1801
-b Fg(int)27 b(rl_reset_line_state)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 2206 y Fs(Reset)18 b(the)f(displa)o(y)g(state)f(to)h(a)g
-(clean)g(state)g(and)g(redispla)o(y)g(the)g(curren)o(t)g(line)g
-(starting)f(on)h(a)195 2261 y(new)e(line.)1675 2356 y([F)l(unction])
--1801 b Fg(int)27 b(rl_crlf)c Ff(\()p Fi(v)o(oid)p Ff(\))195
-2411 y Fs(Mo)o(v)o(e)14 b(the)h(cursor)g(to)g(the)g(start)f(of)h(the)g
-(next)g(screen)h(line.)1675 2506 y([F)l(unction])-1801
-b Fg(int)27 b(rl_show_char)d Ff(\()p Fi(in)o(t)14 b(c)p
-Ff(\))195 2560 y Fs(Displa)o(y)h(c)o(haracter)g Fi(c)20
-b Fs(on)c Fr(rl_outstream)p Fs(.)21 b(If)c(Readline)f(has)g(not)g(b)q
-(een)i(set)e(to)f(displa)o(y)h(meta)195 2615 y(c)o(haracters)c
-(directly)l(,)h(this)f(will)g(con)o(v)o(ert)g(meta)h(c)o(haracters)f
-(to)g(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)195 2670
-y(This)i(is)f(in)o(tended)i(for)f(use)g(b)o(y)g(applications)f(whic)o
-(h)h(wish)g(to)g(do)g(their)f(o)o(wn)h(redispla)o(y)l(.)p
-eop end
+1561 y(if)i(something)f(w)o(as)g(undone.)137 1652 y(Finally)l(,)g(if)h
+(y)o(ou)g(neither)h(insert)f(nor)g(delete)h(text,)f(but)g(directly)g
+(mo)q(dify)g(the)h(existing)e(text)i(\(e.g.,)75 1707
+y(c)o(hange)j(its)g(case\),)h(call)e Fr(rl_modifying\(\))g
+Fs(once,)i(just)f(b)q(efore)h(y)o(ou)f(mo)q(dify)g(the)g(text.)32
+b(Y)l(ou)20 b(m)o(ust)75 1762 y(supply)15 b(the)h(indices)f(of)g(the)g
+(text)g(range)g(that)f(y)o(ou)h(are)g(going)f(to)h(mo)q(dify)l(.)1675
+1853 y([F)l(unction])-1801 b Fg(int)27 b(rl_modifying)d
+Ff(\()p Fi(in)o(t)14 b(start,)g(in)o(t)g(end)p Ff(\))195
+1908 y Fs(T)l(ell)20 b(Readline)g(to)f(sa)o(v)o(e)h(the)g(text)g(b)q
+(et)o(w)o(een)g Fi(start)g Fs(and)g Fi(end)j Fs(as)c(a)h(single)f(undo)
+i(unit.)34 b(It)20 b(is)195 1963 y(assumed)15 b(that)g(y)o(ou)g(will)f
+(subsequen)o(tly)h(mo)q(dify)g(that)f(text.)75 2061 y
+Fh(2.4.6)30 b(Redispla)n(y)1675 2159 y Fs([F)l(unction])-1801
+b Fg(void)27 b(rl_redisplay)d Ff(\()p Fi(v)o(oid)p Ff(\))195
+2214 y Fs(Change)19 b(what's)f(displa)o(y)o(ed)g(on)h(the)g(screen)g
+(to)f(re\015ect)i(the)f(curren)o(t)f(con)o(ten)o(ts)h(of)f
+Fr(rl_line_)195 2269 y(buffer)p Fs(.)1675 2360 y([F)l(unction])-1801
+b Fg(int)27 b(rl_forced_update_display)f Ff(\()p Fi(v)o(oid)p
+Ff(\))195 2415 y Fs(F)l(orce)20 b(the)g(line)f(to)g(b)q(e)i(up)q(dated)
+f(and)g(redispla)o(y)o(ed,)g(whether)g(or)g(not)f(Readline)h(thinks)g
+(the)195 2469 y(screen)c(displa)o(y)e(is)h(correct.)1675
+2560 y([F)l(unction])-1801 b Fg(int)27 b(rl_on_new_line)d
+Ff(\()p Fi(v)o(oid)p Ff(\))195 2615 y Fs(T)l(ell)14 b(the)h(up)q(date)h
+(functions)f(that)f(w)o(e)g(ha)o(v)o(e)h(mo)o(v)o(ed)f(on)o(to)g(a)h
+(new)g(\(empt)o(y\))f(line,)g(usually)h(after)195 2670
+y(ouputting)g(a)f(newline.)p eop end
 %%Page: 35 39
 TeXDict begin 35 38 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
 b(with)g(GNU)h(Readline)842 b(35)1675 149 y([F)l(unction])-1801
-b Fg(int)27 b(rl_message)d Ff(\()p Fi(const)14 b(c)o(har)h(*,)j(.)10
-b(.)h(.)5 b Ff(\))195 204 y Fs(The)11 b(argumen)o(ts)e(are)h(a)g
-(format)f(string)g(as)h(w)o(ould)g(b)q(e)h(supplied)g(to)e
-Fr(printf)p Fs(,)h(p)q(ossibly)g(con)o(taining)195 259
-y(con)o(v)o(ersion)21 b(sp)q(eci\014cations)h(suc)o(h)h(as)e(`)p
-Fr(\045d)p Fs(',)i(and)f(an)o(y)g(additional)e(argumen)o(ts)h
-(necessary)i(to)195 314 y(satisfy)c(the)i(con)o(v)o(ersion)f(sp)q
-(eci\014cations.)36 b(The)21 b(resulting)f(string)f(is)i(displa)o(y)o
-(ed)f(in)g(the)h Fi(ec)o(ho)195 369 y(area)p Fs(.)30
-b(The)19 b(ec)o(ho)g(area)f(is)g(also)g(used)h(to)f(displa)o(y)g(n)o
-(umeric)h(argumen)o(ts)f(and)h(searc)o(h)f(strings.)195
-423 y(Y)l(ou)f(should)g(call)e Fr(rl_save_prompt)g Fs(to)h(sa)o(v)o(e)g
-(the)h(prompt)f(information)f(b)q(efore)i(calling)f(this)195
-478 y(function.)1675 568 y([F)l(unction])-1801 b Fg(int)27
-b(rl_clear_message)e Ff(\()p Fi(v)o(oid)p Ff(\))195 623
-y Fs(Clear)14 b(the)g(message)g(in)h(the)f(ec)o(ho)h(area.)k(If)14
-b(the)h(prompt)f(w)o(as)g(sa)o(v)o(ed)g(with)f(a)i(call)e(to)h
-Fr(rl_save_)195 677 y(prompt)19 b Fs(b)q(efore)h(the)g(last)e(call)h
-(to)g Fr(rl_message)p Fs(,)g(call)g Fr(rl_restore_prompt)e
-Fs(b)q(efore)j(calling)195 732 y(this)15 b(function.)1675
-822 y([F)l(unction])-1801 b Fg(void)27 b(rl_save_prompt)e
-Ff(\()p Fi(v)o(oid)p Ff(\))195 877 y Fs(Sa)o(v)o(e)c(the)h(lo)q(cal)e
-(Readline)i(prompt)f(displa)o(y)g(state)g(in)g(preparation)f(for)h
-(displa)o(ying)g(a)g(new)195 931 y(message)15 b(in)g(the)g(message)g
-(area)f(with)h Fr(rl_message\(\))p Fs(.)1675 1021 y([F)l(unction])-1801
+b Fg(int)27 b(rl_on_new_line_with_prompt)f Ff(\()p Fi(v)o(oid)p
+Ff(\))195 204 y Fs(T)l(ell)11 b(the)i(up)q(date)f(functions)g(that)f(w)
+o(e)h(ha)o(v)o(e)g(mo)o(v)o(ed)f(on)o(to)g(a)h(new)g(line,)g(with)g
+Fi(rl)p 1554 204 14 2 v 19 w(prompt)h Fs(already)195
+259 y(displa)o(y)o(ed.)19 b(This)14 b(could)g(b)q(e)h(used)g(b)o(y)f
+(applications)f(that)h(w)o(an)o(t)f(to)h(output)g(the)g(prompt)g
+(string)195 314 y(themselv)o(es,)f(but)h(still)e(need)j(Readline)f(to)f
+(kno)o(w)g(the)h(prompt)f(string)g(length)g(for)g(redispla)o(y)l(.)19
+b(It)195 369 y(should)c(b)q(e)h(used)g(after)e(setting)h
+Fi(rl)p 796 369 V 19 w(already)p 961 369 V 19 w(prompted)r
+Fs(.)1675 451 y([F)l(unction])-1801 b Fg(int)27 b(rl_reset_line_state)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 506 y Fs(Reset)18 b(the)f(displa)o(y)g
+(state)f(to)h(a)g(clean)g(state)g(and)g(redispla)o(y)g(the)g(curren)o
+(t)g(line)g(starting)f(on)h(a)195 560 y(new)e(line.)1675
+643 y([F)l(unction])-1801 b Fg(int)27 b(rl_crlf)c Ff(\()p
+Fi(v)o(oid)p Ff(\))195 697 y Fs(Mo)o(v)o(e)14 b(the)h(cursor)g(to)g
+(the)g(start)f(of)h(the)g(next)g(screen)h(line.)1675
+780 y([F)l(unction])-1801 b Fg(int)27 b(rl_show_char)d
+Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 834 y Fs(Displa)o(y)h(c)o
+(haracter)g Fi(c)20 b Fs(on)c Fr(rl_outstream)p Fs(.)21
+b(If)c(Readline)f(has)g(not)g(b)q(een)i(set)e(to)f(displa)o(y)h(meta)
+195 889 y(c)o(haracters)c(directly)l(,)h(this)f(will)g(con)o(v)o(ert)g
+(meta)h(c)o(haracters)f(to)g(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)
+195 944 y(This)i(is)f(in)o(tended)i(for)f(use)g(b)o(y)g(applications)f
+(whic)o(h)h(wish)g(to)g(do)g(their)f(o)o(wn)h(redispla)o(y)l(.)1675
+1026 y([F)l(unction])-1801 b Fg(int)27 b(rl_message)d
+Ff(\()p Fi(const)14 b(c)o(har)h(*,)j(.)10 b(.)h(.)5 b
+Ff(\))195 1081 y Fs(The)11 b(argumen)o(ts)e(are)h(a)g(format)f(string)g
+(as)h(w)o(ould)g(b)q(e)h(supplied)g(to)e Fr(printf)p
+Fs(,)h(p)q(ossibly)g(con)o(taining)195 1136 y(con)o(v)o(ersion)21
+b(sp)q(eci\014cations)h(suc)o(h)h(as)e(`)p Fr(\045d)p
+Fs(',)i(and)f(an)o(y)g(additional)e(argumen)o(ts)h(necessary)i(to)195
+1191 y(satisfy)c(the)i(con)o(v)o(ersion)f(sp)q(eci\014cations.)36
+b(The)21 b(resulting)f(string)f(is)i(displa)o(y)o(ed)f(in)g(the)h
+Fi(ec)o(ho)195 1245 y(area)p Fs(.)30 b(The)19 b(ec)o(ho)g(area)f(is)g
+(also)g(used)h(to)f(displa)o(y)g(n)o(umeric)h(argumen)o(ts)f(and)h
+(searc)o(h)f(strings.)195 1300 y(Y)l(ou)f(should)g(call)e
+Fr(rl_save_prompt)g Fs(to)h(sa)o(v)o(e)g(the)h(prompt)f(information)f
+(b)q(efore)i(calling)f(this)195 1355 y(function.)1675
+1437 y([F)l(unction])-1801 b Fg(int)27 b(rl_clear_message)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 1492 y Fs(Clear)14 b(the)g(message)g(in)
+h(the)f(ec)o(ho)h(area.)k(If)14 b(the)h(prompt)f(w)o(as)g(sa)o(v)o(ed)g
+(with)f(a)i(call)e(to)h Fr(rl_save_)195 1547 y(prompt)19
+b Fs(b)q(efore)h(the)g(last)e(call)h(to)g Fr(rl_message)p
+Fs(,)g(call)g Fr(rl_restore_prompt)e Fs(b)q(efore)j(calling)195
+1601 y(this)15 b(function.)1675 1684 y([F)l(unction])-1801
+b Fg(void)27 b(rl_save_prompt)e Ff(\()p Fi(v)o(oid)p
+Ff(\))195 1738 y Fs(Sa)o(v)o(e)c(the)h(lo)q(cal)e(Readline)i(prompt)f
+(displa)o(y)g(state)g(in)g(preparation)f(for)h(displa)o(ying)g(a)g(new)
+195 1793 y(message)15 b(in)g(the)g(message)g(area)f(with)h
+Fr(rl_message\(\))p Fs(.)1675 1875 y([F)l(unction])-1801
 b Fg(void)27 b(rl_restore_prompt)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 1076 y Fs(Restore)c(the)h(lo)q(cal)e(Readline)i(prompt)f
+Ff(\))195 1930 y Fs(Restore)c(the)h(lo)q(cal)e(Readline)i(prompt)f
 (displa)o(y)f(state)h(sa)o(v)o(ed)g(b)o(y)g(the)g(most)g(recen)o(t)g
-(call)g(to)195 1131 y Fr(rl_save_prompt)p Fs(.)34 b(if)20
+(call)g(to)195 1985 y Fr(rl_save_prompt)p Fs(.)34 b(if)20
 b Fr(rl_save_prompt)f Fs(w)o(as)h(called)g(to)g(sa)o(v)o(e)g(the)g
-(prompt)h(b)q(efore)g(a)f(call)195 1185 y(to)e Fr(rl_message)p
+(prompt)h(b)q(efore)g(a)f(call)195 2040 y(to)e Fr(rl_message)p
 Fs(,)f(this)h(function)g(should)h(b)q(e)g(called)f(b)q(efore)g(the)h
-(corresp)q(onding)f(call)g(to)f Fr(rl_)195 1240 y(clear_message)p
-Fs(.)1675 1330 y([F)l(unction])-1801 b Fg(int)27 b(rl_expand_prompt)e
-Ff(\()p Fi(c)o(har)14 b(*prompt)p Ff(\))195 1385 y Fs(Expand)22
+(corresp)q(onding)f(call)g(to)f Fr(rl_)195 2095 y(clear_message)p
+Fs(.)1675 2177 y([F)l(unction])-1801 b Fg(int)27 b(rl_expand_prompt)e
+Ff(\()p Fi(c)o(har)14 b(*prompt)p Ff(\))195 2232 y Fs(Expand)22
 b(an)o(y)f(sp)q(ecial)g(c)o(haracter)g(sequences)h(in)f
 Fi(prompt)h Fs(and)g(set)f(up)h(the)f(lo)q(cal)g(Readline)195
-1439 y(prompt)c(redispla)o(y)g(v)m(ariables.)28 b(This)17
+2286 y(prompt)c(redispla)o(y)g(v)m(ariables.)28 b(This)17
 b(function)h(is)f(called)h(b)o(y)g Fr(readline\(\))p
-Fs(.)26 b(It)18 b(ma)o(y)f(also)g(b)q(e)195 1494 y(called)10
+Fs(.)26 b(It)18 b(ma)o(y)f(also)g(b)q(e)195 2341 y(called)10
 b(to)g(expand)h(the)g(primary)f(prompt)g(if)g(the)g Fr
-(rl_on_new_line_with_prompt\(\))d Fs(function)195 1549
+(rl_on_new_line_with_prompt\(\))d Fs(function)195 2396
 y(or)12 b Fr(rl_already_prompted)e Fs(v)m(ariable)i(is)h(used.)19
 b(It)13 b(returns)g(the)f(n)o(um)o(b)q(er)i(of)e(visible)g(c)o
-(haracters)195 1604 y(on)17 b(the)g(last)f(line)g(of)h(the)g(\(p)q
+(haracters)195 2451 y(on)17 b(the)g(last)f(line)g(of)h(the)g(\(p)q
 (ossibly)f(m)o(ulti-line\))f(prompt.)24 b(Applications)16
-b(ma)o(y)g(indicate)h(that)195 1659 y(the)d(prompt)f(con)o(tains)h(c)o
+b(ma)o(y)g(indicate)h(that)195 2506 y(the)d(prompt)f(con)o(tains)h(c)o
 (haracters)f(that)g(tak)o(e)g(up)h(no)g(ph)o(ysical)g(screen)g(space)g
-(when)h(displa)o(y)o(ed)195 1713 y(b)o(y)20 b(brac)o(k)o(eting)g(a)g
+(when)h(displa)o(y)o(ed)195 2560 y(b)o(y)20 b(brac)o(k)o(eting)g(a)g
 (sequence)i(of)e(suc)o(h)g(c)o(haracters)g(with)g(the)h(sp)q(ecial)f
-(mark)o(ers)f Fr(RL_PROMPT_)195 1768 y(START_IGNORE)14
+(mark)o(ers)f Fr(RL_PROMPT_)195 2615 y(START_IGNORE)14
 b Fs(and)h Fr(RL_PROMPT_END_IGNORE)e Fs(\(declared)i(in)g(`)p
-Fr(readline.h)p Fs('.)k(This)c(ma)o(y)f(b)q(e)195 1823
+Fr(readline.h)p Fs('.)k(This)c(ma)o(y)f(b)q(e)195 2670
 y(used)i(to)e(em)o(b)q(ed)i(terminal-sp)q(eci\014c)f(escap)q(e)h
-(sequences)h(in)e(prompts.)1675 1913 y([F)l(unction])-1801
+(sequences)h(in)e(prompts.)p eop end
+%%Page: 36 40
+TeXDict begin 36 39 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(36)1675 149 y([F)l(unction])-1801
 b Fg(int)27 b(rl_set_prompt)d Ff(\()p Fi(const)15 b(c)o(har)g(*prompt)p
-Ff(\))195 1967 y Fs(Mak)o(e)e(Readline)h(use)f Fi(prompt)h
+Ff(\))195 204 y Fs(Mak)o(e)e(Readline)h(use)f Fi(prompt)h
 Fs(for)f(subsequen)o(t)h(redispla)o(y)l(.)19 b(This)13
-b(calls)f Fr(rl_expand_prompt\(\))195 2022 y Fs(to)j(expand)g(the)h
+b(calls)f Fr(rl_expand_prompt\(\))195 259 y Fs(to)j(expand)g(the)h
 (prompt)e(and)i(sets)f Fr(rl_prompt)f Fs(to)g(the)h(result.)75
-2120 y Fh(2.4.7)30 b(Mo)r(difying)20 b(T)-5 b(ext)1675
-2217 y Fs([F)l(unction])-1801 b Fg(int)27 b(rl_insert_text)d
-Ff(\()p Fi(const)15 b(c)o(har)g(*text)p Ff(\))195 2272
+365 y Fh(2.4.7)30 b(Mo)r(difying)20 b(T)-5 b(ext)1675
+469 y Fs([F)l(unction])-1801 b Fg(int)27 b(rl_insert_text)d
+Ff(\()p Fi(const)15 b(c)o(har)g(*text)p Ff(\))195 524
 y Fs(Insert)h Fi(text)g Fs(in)o(to)f(the)h(line)f(at)h(the)g(curren)o
 (t)f(cursor)h(p)q(osition.)k(Returns)d(the)f(n)o(um)o(b)q(er)g(of)f(c)o
-(har-)195 2326 y(acters)g(inserted.)1675 2416 y([F)l(unction])-1801
+(har-)195 579 y(acters)g(inserted.)1675 683 y([F)l(unction])-1801
 b Fg(int)27 b(rl_delete_text)d Ff(\()p Fi(in)o(t)15 b(start,)e(in)o(t)i
-(end)p Ff(\))195 2471 y Fs(Delete)j(the)h(text)g(b)q(et)o(w)o(een)g
+(end)p Ff(\))195 738 y Fs(Delete)j(the)h(text)g(b)q(et)o(w)o(een)g
 Fi(start)g Fs(and)g Fi(end)i Fs(in)e(the)g(curren)o(t)f(line.)31
-b(Returns)19 b(the)g(n)o(um)o(b)q(er)g(of)195 2526 y(c)o(haracters)14
-b(deleted.)1675 2615 y([F)l(unction])-1801 b Fg(char)27
+b(Returns)19 b(the)g(n)o(um)o(b)q(er)g(of)195 793 y(c)o(haracters)14
+b(deleted.)1675 897 y([F)l(unction])-1801 b Fg(char)27
 b(*)f(rl_copy_text)f Ff(\()p Fi(in)o(t)14 b(start,)f(in)o(t)i(end)p
-Ff(\))195 2670 y Fs(Return)h(a)f(cop)o(y)g(of)g(the)g(text)f(b)q(et)o
-(w)o(een)i Fi(start)f Fs(and)g Fi(end)j Fs(in)d(the)g(curren)o(t)g
-(line.)p eop end
-%%Page: 36 40
-TeXDict begin 36 39 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(36)1675 149 y([F)l(unction])-1801
-b Fg(int)27 b(rl_kill_text)d Ff(\()p Fi(in)o(t)14 b(start,)g(in)o(t)g
-(end)p Ff(\))195 204 y Fs(Cop)o(y)j(the)g(text)f(b)q(et)o(w)o(een)i
-Fi(start)f Fs(and)g Fi(end)i Fs(in)e(the)g(curren)o(t)g(line)g(to)g
-(the)g(kill)f(ring,)g(app)q(ending)195 259 y(or)g(prep)q(ending)j(to)d
-(the)h(last)f(kill)g(if)g(the)h(last)f(command)h(w)o(as)f(a)h(kill)f
-(command.)25 b(The)17 b(text)f(is)195 314 y(deleted.)25
-b(If)17 b Fi(start)f Fs(is)g(less)h(than)f Fi(end)r Fs(,)h(the)g(text)f
-(is)g(app)q(ended,)j(otherwise)d(prep)q(ended.)26 b(If)17
-b(the)195 369 y(last)d(command)h(w)o(as)g(not)f(a)h(kill,)f(a)h(new)g
-(kill)f(ring)h(slot)f(is)h(used.)1675 465 y([F)l(unction])-1801
+Ff(\))195 952 y Fs(Return)h(a)f(cop)o(y)g(of)g(the)g(text)f(b)q(et)o(w)
+o(een)i Fi(start)f Fs(and)g Fi(end)j Fs(in)d(the)g(curren)o(t)g(line.)
+1675 1056 y([F)l(unction])-1801 b Fg(int)27 b(rl_kill_text)d
+Ff(\()p Fi(in)o(t)14 b(start,)g(in)o(t)g(end)p Ff(\))195
+1111 y Fs(Cop)o(y)j(the)g(text)f(b)q(et)o(w)o(een)i Fi(start)f
+Fs(and)g Fi(end)i Fs(in)e(the)g(curren)o(t)g(line)g(to)g(the)g(kill)f
+(ring,)g(app)q(ending)195 1166 y(or)g(prep)q(ending)j(to)d(the)h(last)f
+(kill)g(if)g(the)h(last)f(command)h(w)o(as)f(a)h(kill)f(command.)25
+b(The)17 b(text)f(is)195 1221 y(deleted.)25 b(If)17 b
+Fi(start)f Fs(is)g(less)h(than)f Fi(end)r Fs(,)h(the)g(text)f(is)g(app)
+q(ended,)j(otherwise)d(prep)q(ended.)26 b(If)17 b(the)195
+1275 y(last)d(command)h(w)o(as)g(not)f(a)h(kill,)f(a)h(new)g(kill)f
+(ring)h(slot)f(is)h(used.)1675 1380 y([F)l(unction])-1801
 b Fg(int)27 b(rl_push_macro_input)e Ff(\()p Fi(c)o(har)15
-b(*macro)p Ff(\))195 520 y Fs(Cause)f Fi(macro)i Fs(to)d(b)q(e)i
+b(*macro)p Ff(\))195 1434 y Fs(Cause)f Fi(macro)i Fs(to)d(b)q(e)i
 (inserted)f(in)o(to)f(the)h(line,)g(as)g(if)f(it)h(had)g(b)q(een)h(in)o
 (v)o(ok)o(ed)f(b)o(y)g(a)g(k)o(ey)g(b)q(ound)h(to)195
-575 y(a)g(macro.)k(Not)c(esp)q(ecially)f(useful;)h(use)h
-Fr(rl_insert_text\(\))d Fs(instead.)75 677 y Fh(2.4.8)30
-b(Character)21 b(Input)1675 778 y Fs([F)l(unction])-1801
+1489 y(a)g(macro.)k(Not)c(esp)q(ecially)f(useful;)h(use)h
+Fr(rl_insert_text\(\))d Fs(instead.)75 1595 y Fh(2.4.8)30
+b(Character)21 b(Input)1675 1699 y Fs([F)l(unction])-1801
 b Fg(int)27 b(rl_read_key)d Ff(\()p Fi(v)o(oid)p Ff(\))195
-833 y Fs(Return)15 b(the)g(next)g(c)o(haracter)f(a)o(v)m(ailable)f
+1754 y Fs(Return)15 b(the)g(next)g(c)o(haracter)f(a)o(v)m(ailable)f
 (from)h(Readline's)h(curren)o(t)g(input)f(stream.)19
-b(This)c(han-)195 887 y(dles)e(input)g(inserted)h(in)o(to)e(the)h
-(input)g(stream)g(via)f Fi(rl)p 1113 887 14 2 v 20 w(p)q(ending)p
-1290 887 V 21 w(input)i Fs(\(see)f(Section)g(2.3)g([Read-)195
-942 y(line)19 b(V)l(ariables],)g(page)h(25\))f(and)h
+b(This)c(han-)195 1809 y(dles)e(input)g(inserted)h(in)o(to)e(the)h
+(input)g(stream)g(via)f Fi(rl)p 1113 1809 14 2 v 20 w(p)q(ending)p
+1290 1809 V 21 w(input)i Fs(\(see)f(Section)g(2.3)g([Read-)195
+1864 y(line)19 b(V)l(ariables],)g(page)h(25\))f(and)h
 Fr(rl_stuff_char\(\))p Fs(,)e(macros,)h(and)h(c)o(haracters)f(read)h
-(from)195 997 y(the)d(k)o(eyb)q(oard.)25 b(While)17 b(w)o(aiting)e(for)
-h(input,)i(this)e(function)h(will)f(call)g(an)o(y)g(function)h
-(assigned)195 1052 y(to)e(the)g Fr(rl_event_hook)e Fs(v)m(ariable.)1675
-1149 y([F)l(unction])-1801 b Fg(int)27 b(rl_getc)c Ff(\()p
-Fi(FILE)16 b(*stream)p Ff(\))195 1203 y Fs(Return)11
-b(the)g(next)g(c)o(haracter)f(a)o(v)m(ailable)f(from)h
-Fi(stream)p Fs(,)g(whic)o(h)h(is)f(assumed)g(to)g(b)q(e)i(the)e(k)o
-(eyb)q(oard.)1675 1300 y([F)l(unction])-1801 b Fg(int)27
+(from)195 1919 y(the)d(k)o(eyb)q(oard.)25 b(While)17
+b(w)o(aiting)e(for)h(input,)i(this)e(function)h(will)f(call)g(an)o(y)g
+(function)h(assigned)195 1973 y(to)e(the)g Fr(rl_event_hook)e
+Fs(v)m(ariable.)1675 2078 y([F)l(unction])-1801 b Fg(int)27
+b(rl_getc)c Ff(\()p Fi(FILE)16 b(*stream)p Ff(\))195
+2133 y Fs(Return)11 b(the)g(next)g(c)o(haracter)f(a)o(v)m(ailable)f
+(from)h Fi(stream)p Fs(,)g(whic)o(h)h(is)f(assumed)g(to)g(b)q(e)i(the)e
+(k)o(eyb)q(oard.)1675 2237 y([F)l(unction])-1801 b Fg(int)27
 b(rl_stuff_char)d Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195
-1355 y Fs(Insert)j Fi(c)i Fs(in)o(to)c(the)i(Readline)g(input)f
+2292 y Fs(Insert)j Fi(c)i Fs(in)o(to)c(the)i(Readline)g(input)f
 (stream.)23 b(It)16 b(will)f(b)q(e)i Fr(")p Fs(read)p
-Fr(")g Fs(b)q(efore)f(Readline)h(attempts)195 1410 y(to)c(read)g(c)o
+Fr(")g Fs(b)q(efore)f(Readline)h(attempts)195 2346 y(to)c(read)g(c)o
 (haracters)g(from)f(the)i(terminal)e(with)h Fr(rl_read_key\(\))p
-Fs(.)k(Up)d(to)f(512)f(c)o(haracters)h(ma)o(y)195 1465
+Fs(.)k(Up)d(to)f(512)f(c)o(haracters)h(ma)o(y)195 2401
 y(b)q(e)j(pushed)g(bac)o(k.)k Fr(rl_stuff_char)14 b Fs(returns)h(1)g
 (if)g(the)g(c)o(haracter)g(w)o(as)f(successfully)h(inserted;)195
-1519 y(0)g(otherwise.)1675 1616 y([F)l(unction])-1801
+2456 y(0)g(otherwise.)1675 2560 y([F)l(unction])-1801
 b Fg(int)27 b(rl_execute_next)e Ff(\()p Fi(in)o(t)14
-b(c)p Ff(\))195 1671 y Fs(Mak)o(e)j Fi(c)k Fs(b)q(e)d(the)g(next)g
+b(c)p Ff(\))195 2615 y Fs(Mak)o(e)j Fi(c)k Fs(b)q(e)d(the)g(next)g
 (command)g(to)f(b)q(e)i(executed)f(when)h Fr(rl_read_key\(\))d
-Fs(is)h(called.)27 b(This)195 1726 y(sets)15 b Fi(rl)p
-318 1726 V 19 w(p)q(ending)p 494 1726 V 21 w(input)q
-Fs(.)1675 1823 y([F)l(unction])-1801 b Fg(int)27 b
-(rl_clear_pending_input)f Ff(\()p Fi(v)o(oid)p Ff(\))195
-1877 y Fs(Unset)21 b Fi(rl)p 365 1877 V 19 w(p)q(ending)p
-541 1877 V 21 w(input)q Fs(,)h(e\013ectiv)o(ely)e(negating)g(the)g
-(e\013ect)h(of)f(an)o(y)h(previous)f(call)g(to)g Fr(rl_)195
-1932 y(execute_next\(\))p Fs(.)29 b(This)18 b(w)o(orks)g(only)g(if)h
-(the)f(p)q(ending)i(input)f(has)g(not)f(already)g(b)q(een)i(read)195
-1987 y(with)15 b Fr(rl_read_key\(\))p Fs(.)1675 2084
-y([F)l(unction])-1801 b Fg(int)27 b(rl_set_keyboard_input_time)q(out)f
-Ff(\()p Fi(in)o(t)14 b(u)p Ff(\))195 2139 y Fs(While)19
-b(w)o(aiting)g(for)g(k)o(eyb)q(oard)h(input)g(in)g Fr(rl_read_key\(\))p
-Fs(,)f(Readline)h(will)f(w)o(ait)g(for)g Fi(u)h Fs(mi-)195
-2193 y(croseconds)c(for)e(input)i(b)q(efore)g(calling)e(an)o(y)h
-(function)g(assigned)g(to)g Fr(rl_event_hook)p Fs(.)k
-Fi(u)d Fs(m)o(ust)195 2248 y(b)q(e)h(greater)e(than)g(or)h(equal)g(to)f
-(zero)h(\(a)f(zero-length)h(timeout)f(is)g(equiv)m(alen)o(t)h(to)f(a)h
-(p)q(oll\).)21 b(The)195 2303 y(default)15 b(w)o(aiting)e(p)q(erio)q(d)
-j(is)e(one-ten)o(th)i(of)e(a)h(second.)21 b(Returns)15
-b(the)h(old)e(timeout)h(v)m(alue.)75 2405 y Fh(2.4.9)30
-b(T)-5 b(erminal)20 b(Managemen)n(t)1675 2506 y Fs([F)l(unction])-1801
-b Fg(void)27 b(rl_prep_terminal)e Ff(\()p Fi(in)o(t)14
-b(meta)p 836 2506 V 20 w(\015ag)p Ff(\))195 2560 y Fs(Mo)q(dify)21
-b(the)g(terminal)f(settings)g(for)h(Readline's)g(use,)i(so)d
-Fr(readline\(\))g Fs(can)i(read)f(a)g(single)195 2615
-y(c)o(haracter)15 b(at)g(a)g(time)f(from)h(the)h(k)o(eyb)q(oard.)k(The)
-c Fi(meta)p 1189 2615 V 19 w(\015ag)j Fs(argumen)o(t)c(should)h(b)q(e)g
-(non-zero)195 2670 y(if)f(Readline)g(should)g(read)g(eigh)o(t-bit)g
-(input.)p eop end
+Fs(is)h(called.)27 b(This)195 2670 y(sets)15 b Fi(rl)p
+318 2670 V 19 w(p)q(ending)p 494 2670 V 21 w(input)q
+Fs(.)p eop end
 %%Page: 37 41
 TeXDict begin 37 40 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
 b(with)g(GNU)h(Readline)842 b(37)1675 149 y([F)l(unction])-1801
-b Fg(void)27 b(rl_deprep_terminal)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 204 y Fs(Undo)16 b(the)g(e\013ects)f(of)h Fr
-(rl_prep_terminal\(\))p Fs(,)d(lea)o(ving)i(the)g(terminal)g(in)h(the)f
-(state)g(in)h(whic)o(h)195 259 y(it)e(w)o(as)h(b)q(efore)g(the)h(most)e
-(recen)o(t)h(call)g(to)f Fr(rl_prep_terminal\(\))p Fs(.)1675
-349 y([F)l(unction])-1801 b Fg(void)27 b(rl_tty_set_default_bindin)q
-(gs)f Ff(\()p Fi(Keymap)15 b(kmap)p Ff(\))195 404 y Fs(Read)k(the)g(op)
-q(erating)e(system's)h(terminal)f(editing)h(c)o(haracters)g(\(as)f(w)o
-(ould)h(b)q(e)h(displa)o(y)o(ed)f(b)o(y)195 459 y Fr(stty)p
-Fs(\))c(to)h(their)g(Readline)g(equiv)m(alen)o(ts.)20
-b(The)15 b(bindings)g(are)g(p)q(erformed)g(in)g Fi(kmap)q
-Fs(.)1675 549 y([F)l(unction])-1801 b Fg(void)27 b
-(rl_tty_unset_default_bind)q(ings)f Ff(\()p Fi(Keymap)15
-b(kmap)p Ff(\))195 604 y Fs(Reset)h(the)g(bindings)g(manipulated)f(b)o
-(y)h Fr(rl_tty_set_default_bindings)c Fs(so)k(that)f(the)h(ter-)195
-658 y(minal)j(editing)g(c)o(haracters)g(are)h(b)q(ound)g(to)f
-Fr(rl_insert)p Fs(.)33 b(The)20 b(bindings)g(are)f(p)q(erformed)h(in)
-195 713 y Fi(kmap)q Fs(.)1675 803 y([F)l(unction])-1801
-b Fg(int)27 b(rl_reset_terminal)e Ff(\()p Fi(const)15
-b(c)o(har)f(*terminal)p 1077 803 14 2 v 19 w(name)p Ff(\))195
-858 y Fs(Reinitialize)d(Readline's)g(idea)h(of)g(the)g(terminal)e
-(settings)h(using)h Fi(terminal)p 1490 858 V 19 w(name)i
-Fs(as)e(the)g(termi-)195 913 y(nal)j(t)o(yp)q(e)h(\(e.g.,)f
-Fr(vt100)p Fs(\).)21 b(If)16 b Fi(terminal)p 878 913
-V 19 w(name)i Fs(is)e Fr(NULL)p Fs(,)f(the)h(v)m(alue)g(of)f(the)h
-Fr(TERM)g Fs(en)o(vironmen)o(t)195 968 y(v)m(ariable)f(is)f(used.)75
-1066 y Fh(2.4.10)29 b(Utilit)n(y)22 b(F)-5 b(unctions)1675
-1163 y Fs([F)l(unction])-1801 b Fg(int)27 b(rl_save_state)d
-Ff(\()p Fi(struct)15 b(readline)p 852 1163 V 19 w(state)g(*sp)p
-Ff(\))195 1218 y Fs(Sa)o(v)o(e)f(a)g(snapshot)g(of)g(Readline's)g(in)o
-(ternal)f(state)h(to)f Fi(sp)q Fs(.)21 b(The)14 b(con)o(ten)o(ts)g(of)g
-(the)g Fi(readline)p 1762 1218 V 20 w(state)195 1272
-y Fs(structure)19 b(are)g(do)q(cumen)o(ted)h(in)f(`)p
-Fr(readline.h)p Fs('.)29 b(The)19 b(caller)g(is)f(resp)q(onsible)h(for)
-g(allo)q(cating)195 1327 y(the)c(structure.)1675 1417
-y([F)l(unction])-1801 b Fg(int)27 b(rl_restore_state)e
-Ff(\()p Fi(struct)14 b(readline)p 930 1417 V 20 w(state)g(*sp)p
-Ff(\))195 1472 y Fs(Restore)d(Readline's)g(in)o(ternal)f(state)g(to)g
-(that)g(stored)h(in)g Fi(sp)q Fs(,)h(whic)o(h)f(m)o(ust)f(ha)o(v)o(e)h
-(b)q(een)h(sa)o(v)o(ed)e(b)o(y)h(a)195 1527 y(call)j(to)g
+b Fg(int)27 b(rl_clear_pending_input)f Ff(\()p Fi(v)o(oid)p
+Ff(\))195 204 y Fs(Unset)21 b Fi(rl)p 365 204 14 2 v
+19 w(p)q(ending)p 541 204 V 21 w(input)q Fs(,)h(e\013ectiv)o(ely)e
+(negating)g(the)g(e\013ect)h(of)f(an)o(y)h(previous)f(call)g(to)g
+Fr(rl_)195 259 y(execute_next\(\))p Fs(.)29 b(This)18
+b(w)o(orks)g(only)g(if)h(the)f(p)q(ending)i(input)f(has)g(not)f
+(already)g(b)q(een)i(read)195 314 y(with)15 b Fr(rl_read_key\(\))p
+Fs(.)1675 406 y([F)l(unction])-1801 b Fg(int)27 b
+(rl_set_keyboard_input_time)q(out)f Ff(\()p Fi(in)o(t)14
+b(u)p Ff(\))195 461 y Fs(While)19 b(w)o(aiting)g(for)g(k)o(eyb)q(oard)h
+(input)g(in)g Fr(rl_read_key\(\))p Fs(,)f(Readline)h(will)f(w)o(ait)g
+(for)g Fi(u)h Fs(mi-)195 516 y(croseconds)c(for)e(input)i(b)q(efore)g
+(calling)e(an)o(y)h(function)g(assigned)g(to)g Fr(rl_event_hook)p
+Fs(.)k Fi(u)d Fs(m)o(ust)195 570 y(b)q(e)h(greater)e(than)g(or)h(equal)
+g(to)f(zero)h(\(a)f(zero-length)h(timeout)f(is)g(equiv)m(alen)o(t)h(to)
+f(a)h(p)q(oll\).)21 b(The)195 625 y(default)15 b(w)o(aiting)e(p)q(erio)
+q(d)j(is)e(one-ten)o(th)i(of)e(a)h(second.)21 b(Returns)15
+b(the)h(old)e(timeout)h(v)m(alue.)75 725 y Fh(2.4.9)30
+b(T)-5 b(erminal)20 b(Managemen)n(t)1675 823 y Fs([F)l(unction])-1801
+b Fg(void)27 b(rl_prep_terminal)e Ff(\()p Fi(in)o(t)14
+b(meta)p 836 823 V 20 w(\015ag)p Ff(\))195 878 y Fs(Mo)q(dify)21
+b(the)g(terminal)f(settings)g(for)h(Readline's)g(use,)i(so)d
+Fr(readline\(\))g Fs(can)i(read)f(a)g(single)195 933
+y(c)o(haracter)15 b(at)g(a)g(time)f(from)h(the)h(k)o(eyb)q(oard.)k(The)
+c Fi(meta)p 1189 933 V 19 w(\015ag)j Fs(argumen)o(t)c(should)h(b)q(e)g
+(non-zero)195 988 y(if)f(Readline)g(should)g(read)g(eigh)o(t-bit)g
+(input.)1675 1080 y([F)l(unction])-1801 b Fg(void)27
+b(rl_deprep_terminal)e Ff(\()p Fi(v)o(oid)p Ff(\))195
+1134 y Fs(Undo)16 b(the)g(e\013ects)f(of)h Fr(rl_prep_terminal\(\))p
+Fs(,)d(lea)o(ving)i(the)g(terminal)g(in)h(the)f(state)g(in)h(whic)o(h)
+195 1189 y(it)e(w)o(as)h(b)q(efore)g(the)h(most)e(recen)o(t)h(call)g
+(to)f Fr(rl_prep_terminal\(\))p Fs(.)1675 1281 y([F)l(unction])-1801
+b Fg(void)27 b(rl_tty_set_default_bindin)q(gs)f Ff(\()p
+Fi(Keymap)15 b(kmap)p Ff(\))195 1336 y Fs(Read)k(the)g(op)q(erating)e
+(system's)h(terminal)f(editing)h(c)o(haracters)g(\(as)f(w)o(ould)h(b)q
+(e)h(displa)o(y)o(ed)f(b)o(y)195 1391 y Fr(stty)p Fs(\))c(to)h(their)g
+(Readline)g(equiv)m(alen)o(ts.)20 b(The)15 b(bindings)g(are)g(p)q
+(erformed)g(in)g Fi(kmap)q Fs(.)1675 1483 y([F)l(unction])-1801
+b Fg(void)27 b(rl_tty_unset_default_bind)q(ings)f Ff(\()p
+Fi(Keymap)15 b(kmap)p Ff(\))195 1538 y Fs(Reset)h(the)g(bindings)g
+(manipulated)f(b)o(y)h Fr(rl_tty_set_default_bindings)c
+Fs(so)k(that)f(the)h(ter-)195 1593 y(minal)j(editing)g(c)o(haracters)g
+(are)h(b)q(ound)g(to)f Fr(rl_insert)p Fs(.)33 b(The)20
+b(bindings)g(are)f(p)q(erformed)h(in)195 1648 y Fi(kmap)q
+Fs(.)1675 1740 y([F)l(unction])-1801 b Fg(int)27 b(rl_reset_terminal)e
+Ff(\()p Fi(const)15 b(c)o(har)f(*terminal)p 1077 1740
+V 19 w(name)p Ff(\))195 1795 y Fs(Reinitialize)d(Readline's)g(idea)h
+(of)g(the)g(terminal)e(settings)h(using)h Fi(terminal)p
+1490 1795 V 19 w(name)i Fs(as)e(the)g(termi-)195 1849
+y(nal)j(t)o(yp)q(e)h(\(e.g.,)f Fr(vt100)p Fs(\).)21 b(If)16
+b Fi(terminal)p 878 1849 V 19 w(name)i Fs(is)e Fr(NULL)p
+Fs(,)f(the)h(v)m(alue)g(of)f(the)h Fr(TERM)g Fs(en)o(vironmen)o(t)195
+1904 y(v)m(ariable)f(is)f(used.)75 2004 y Fh(2.4.10)29
+b(Utilit)n(y)22 b(F)-5 b(unctions)1675 2102 y Fs([F)l(unction])-1801
+b Fg(int)27 b(rl_save_state)d Ff(\()p Fi(struct)15 b(readline)p
+852 2102 V 19 w(state)g(*sp)p Ff(\))195 2157 y Fs(Sa)o(v)o(e)f(a)g
+(snapshot)g(of)g(Readline's)g(in)o(ternal)f(state)h(to)f
+Fi(sp)q Fs(.)21 b(The)14 b(con)o(ten)o(ts)g(of)g(the)g
+Fi(readline)p 1762 2157 V 20 w(state)195 2212 y Fs(structure)19
+b(are)g(do)q(cumen)o(ted)h(in)f(`)p Fr(readline.h)p Fs('.)29
+b(The)19 b(caller)g(is)f(resp)q(onsible)h(for)g(allo)q(cating)195
+2267 y(the)c(structure.)1675 2359 y([F)l(unction])-1801
+b Fg(int)27 b(rl_restore_state)e Ff(\()p Fi(struct)14
+b(readline)p 930 2359 V 20 w(state)g(*sp)p Ff(\))195
+2413 y Fs(Restore)d(Readline's)g(in)o(ternal)f(state)g(to)g(that)g
+(stored)h(in)g Fi(sp)q Fs(,)h(whic)o(h)f(m)o(ust)f(ha)o(v)o(e)h(b)q
+(een)h(sa)o(v)o(ed)e(b)o(y)h(a)195 2468 y(call)j(to)g
 Fr(rl_save_state)p Fs(.)j(The)e(con)o(ten)o(ts)f(of)g(the)h
-Fi(readline)p 1236 1527 V 19 w(state)i Fs(structure)d(are)g(do)q(cumen)
-o(ted)195 1582 y(in)h(`)p Fr(readline.h)p Fs('.)j(The)d(caller)g(is)f
+Fi(readline)p 1236 2468 V 19 w(state)i Fs(structure)d(are)g(do)q(cumen)
+o(ted)195 2523 y(in)h(`)p Fr(readline.h)p Fs('.)j(The)d(caller)g(is)f
 (resp)q(onsible)h(for)g(freeing)g(the)g(structure.)1675
-1672 y([F)l(unction])-1801 b Fg(void)27 b(rl_free)d Ff(\()p
-Fi(v)o(oid)14 b(*mem)p Ff(\))195 1727 y Fs(Deallo)q(cate)9
+2615 y([F)l(unction])-1801 b Fg(void)27 b(rl_free)d Ff(\()p
+Fi(v)o(oid)14 b(*mem)p Ff(\))195 2670 y Fs(Deallo)q(cate)9
 b(the)i(memory)f(p)q(oin)o(ted)h(to)f(b)o(y)g Fi(mem)p
 Fs(.)18 b Fi(mem)11 b Fs(m)o(ust)f(ha)o(v)o(e)g(b)q(een)i(allo)q(cated)
-e(b)o(y)g Fr(malloc)p Fs(.)1675 1817 y([F)l(unction])-1801
+e(b)o(y)g Fr(malloc)p Fs(.)p eop end
+%%Page: 38 42
+TeXDict begin 38 41 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(38)1675 149 y([F)l(unction])-1801
 b Fg(void)27 b(rl_replace_line)e Ff(\()p Fi(const)14
-b(c)o(har)h(*text,)f(in)o(t)h(clear)p 1154 1817 V 19
-w(undo)p Ff(\))195 1871 y Fs(Replace)20 b(the)g(con)o(ten)o(ts)f(of)g
+b(c)o(har)h(*text,)f(in)o(t)h(clear)p 1154 149 14 2 v
+19 w(undo)p Ff(\))195 204 y Fs(Replace)20 b(the)g(con)o(ten)o(ts)f(of)g
 Fr(rl_line_buffer)f Fs(with)h Fi(text)q Fs(.)32 b(The)20
-b(p)q(oin)o(t)f(and)h(mark)f(are)h(pre-)195 1926 y(serv)o(ed,)13
-b(if)f(p)q(ossible.)19 b(If)13 b Fi(clear)p 712 1926
-20 w(undo)i Fs(is)d(non-zero,)i(the)e(undo)i(list)d(asso)q(ciated)h
-(with)g(the)h(curren)o(t)195 1981 y(line)i(is)g(cleared.)1675
-2071 y([F)l(unction])-1801 b Fg(void)27 b(rl_extend_line_buffer)f
-Ff(\()p Fi(in)o(t)14 b(len)p Ff(\))195 2126 y Fs(Ensure)h(that)g
+b(p)q(oin)o(t)f(and)h(mark)f(are)h(pre-)195 259 y(serv)o(ed,)13
+b(if)f(p)q(ossible.)19 b(If)13 b Fi(clear)p 712 259 V
+20 w(undo)i Fs(is)d(non-zero,)i(the)e(undo)i(list)d(asso)q(ciated)h
+(with)g(the)h(curren)o(t)195 314 y(line)i(is)g(cleared.)1675
+409 y([F)l(unction])-1801 b Fg(void)27 b(rl_extend_line_buffer)f
+Ff(\()p Fi(in)o(t)14 b(len)p Ff(\))195 464 y Fs(Ensure)h(that)g
 Fr(rl_line_buffer)e Fs(has)i(enough)g(space)h(to)e(hold)h
 Fi(len)g Fs(c)o(haracters,)f(p)q(ossibly)g(real-)195
-2181 y(lo)q(cating)g(it)g(if)h(necessary)l(.)1675 2271
+519 y(lo)q(cating)g(it)g(if)h(necessary)l(.)1675 614
 y([F)l(unction])-1801 b Fg(int)27 b(rl_initialize)d Ff(\()p
-Fi(v)o(oid)p Ff(\))195 2325 y Fs(Initialize)17 b(or)h(re-initialize)f
+Fi(v)o(oid)p Ff(\))195 669 y Fs(Initialize)17 b(or)h(re-initialize)f
 (Readline's)h(in)o(ternal)g(state.)28 b(It's)18 b(not)g(strictly)f
-(necessary)i(to)f(call)195 2380 y(this;)c Fr(readline\(\))g
+(necessary)i(to)f(call)195 723 y(this;)c Fr(readline\(\))g
 Fs(calls)g(it)h(b)q(efore)g(reading)g(an)o(y)g(input.)1675
-2470 y([F)l(unction])-1801 b Fg(int)27 b(rl_ding)c Ff(\()p
-Fi(v)o(oid)p Ff(\))195 2525 y Fs(Ring)15 b(the)g(terminal)f(b)q(ell,)h
+818 y([F)l(unction])-1801 b Fg(int)27 b(rl_ding)c Ff(\()p
+Fi(v)o(oid)p Ff(\))195 873 y Fs(Ring)15 b(the)g(terminal)f(b)q(ell,)h
 (ob)q(eying)g(the)h(setting)e(of)h Fr(bell-style)p Fs(.)1675
-2615 y([F)l(unction])-1801 b Fg(int)27 b(rl_alphabetic)d
-Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 2670 y Fs(Return)i(1)f(if)f
-Fi(c)k Fs(is)d(an)g(alphab)q(etic)g(c)o(haracter.)p eop
-end
-%%Page: 38 42
-TeXDict begin 38 41 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(38)1675 149 y([F)l(unction])-1801
-b Fg(void)27 b(rl_display_match_list)f Ff(\()p Fi(c)o(har)14
-b(**matc)o(hes,)g(in)o(t)h(len,)f(in)o(t)h(max)p Ff(\))195
-204 y Fs(A)i(con)o(v)o(enience)h(function)f(for)g(displa)o(ying)f(a)h
-(list)f(of)g(strings)g(in)i(columnar)e(format)g(on)h(Read-)195
-259 y(line's)f(output)h(stream.)23 b Fr(matches)16 b
-Fs(is)g(the)h(list)f(of)g(strings,)g(in)g(argv)g(format,)g(suc)o(h)h
-(as)f(a)h(list)e(of)195 314 y(completion)c(matc)o(hes.)19
+968 y([F)l(unction])-1801 b Fg(int)27 b(rl_alphabetic)d
+Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 1023 y Fs(Return)i(1)f(if)f
+Fi(c)k Fs(is)d(an)g(alphab)q(etic)g(c)o(haracter.)1675
+1118 y([F)l(unction])-1801 b Fg(void)27 b(rl_display_match_list)f
+Ff(\()p Fi(c)o(har)14 b(**matc)o(hes,)g(in)o(t)h(len,)f(in)o(t)h(max)p
+Ff(\))195 1173 y Fs(A)i(con)o(v)o(enience)h(function)f(for)g(displa)o
+(ying)f(a)h(list)f(of)g(strings)g(in)i(columnar)e(format)g(on)h(Read-)
+195 1228 y(line's)f(output)h(stream.)23 b Fr(matches)16
+b Fs(is)g(the)h(list)f(of)g(strings,)g(in)g(argv)g(format,)g(suc)o(h)h
+(as)f(a)h(list)e(of)195 1283 y(completion)c(matc)o(hes.)19
 b Fr(len)11 b Fs(is)h(the)g(n)o(um)o(b)q(er)h(of)e(strings)g(in)h
 Fr(matches)p Fs(,)g(and)g Fr(max)g Fs(is)f(the)i(length)e(of)195
-369 y(the)i(longest)f(string)g(in)h Fr(matches)p Fs(.)19
+1338 y(the)i(longest)f(string)g(in)h Fr(matches)p Fs(.)19
 b(This)12 b(function)h(uses)g(the)h(setting)e(of)g Fr
-(print-completions-)195 423 y(horizontally)k Fs(to)i(select)g(ho)o(w)f
+(print-completions-)195 1392 y(horizontally)k Fs(to)i(select)g(ho)o(w)f
 (the)i(matc)o(hes)e(are)h(displa)o(y)o(ed)f(\(see)i(Section)f(1.3.1)e
-([Readline)195 478 y(Init)f(File)f(Syn)o(tax],)g(page)h(4\).)k(When)d
+([Readline)195 1447 y(Init)f(File)f(Syn)o(tax],)g(page)h(4\).)k(When)d
 (displa)o(ying)e(completions,)f(this)i(function)g(sets)g(the)g(n)o(um-)
-195 533 y(b)q(er)d(of)g(columns)f(used)i(for)e(displa)o(y)g(to)g(the)h
+195 1502 y(b)q(er)d(of)g(columns)f(used)i(for)e(displa)o(y)g(to)g(the)h
 (v)m(alue)g(of)f Fr(completion-display-width)p Fs(,)e(the)j(v)m(alue)
-195 588 y(of)j(the)g(en)o(vironmen)o(t)g(v)m(ariable)f
+195 1557 y(of)j(the)g(en)o(vironmen)o(t)g(v)m(ariable)f
 Fr(COLUMNS)p Fs(,)g(or)h(the)g(screen)h(width,)e(in)h(that)g(order.)137
-687 y(The)i(follo)o(wing)c(are)j(implemen)o(ted)g(as)g(macros,)f
+1652 y(The)i(follo)o(wing)c(are)j(implemen)o(ted)g(as)g(macros,)f
 (de\014ned)i(in)f Fr(chardefs.h)p Fs(.)21 b(Applications)15
-b(should)75 742 y(refrain)f(from)h(using)g(them.)1675
-841 y([F)l(unction])-1801 b Fg(int)27 b(_rl_uppercase_p)e
-Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 895 y Fs(Return)i(1)f(if)f
+b(should)75 1707 y(refrain)f(from)h(using)g(them.)1675
+1802 y([F)l(unction])-1801 b Fg(int)27 b(_rl_uppercase_p)e
+Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 1857 y Fs(Return)i(1)f(if)f
 Fi(c)k Fs(is)d(an)g(upp)q(ercase)i(alphab)q(etic)d(c)o(haracter.)1675
-994 y([F)l(unction])-1801 b Fg(int)27 b(_rl_lowercase_p)e
-Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 1049 y Fs(Return)i(1)f(if)f
+1952 y([F)l(unction])-1801 b Fg(int)27 b(_rl_lowercase_p)e
+Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 2007 y Fs(Return)i(1)f(if)f
 Fi(c)k Fs(is)d(a)g(lo)o(w)o(ercase)f(alphab)q(etic)h(c)o(haracter.)1675
-1148 y([F)l(unction])-1801 b Fg(int)27 b(_rl_digit_p)d
-Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 1203 y Fs(Return)i(1)f(if)f
-Fi(c)k Fs(is)d(a)g(n)o(umeric)g(c)o(haracter.)1675 1302
+2102 y([F)l(unction])-1801 b Fg(int)27 b(_rl_digit_p)d
+Ff(\()p Fi(in)o(t)14 b(c)p Ff(\))195 2157 y Fs(Return)i(1)f(if)f
+Fi(c)k Fs(is)d(a)g(n)o(umeric)g(c)o(haracter.)1675 2252
 y([F)l(unction])-1801 b Fg(int)27 b(_rl_to_upper)d Ff(\()p
-Fi(in)o(t)14 b(c)p Ff(\))195 1357 y Fs(If)e Fi(c)j Fs(is)c(a)h(lo)o(w)o
+Fi(in)o(t)14 b(c)p Ff(\))195 2306 y Fs(If)e Fi(c)j Fs(is)c(a)h(lo)o(w)o
 (ercase)e(alphab)q(etic)i(c)o(haracter,)f(return)h(the)g(corresp)q
-(onding)g(upp)q(ercase)h(c)o(haracter.)1675 1456 y([F)l(unction])-1801
+(onding)g(upp)q(ercase)h(c)o(haracter.)1675 2402 y([F)l(unction])-1801
 b Fg(int)27 b(_rl_to_lower)d Ff(\()p Fi(in)o(t)14 b(c)p
-Ff(\))195 1511 y Fs(If)h Fi(c)i Fs(is)d(an)g(upp)q(ercase)i(alphab)q
+Ff(\))195 2456 y Fs(If)h Fi(c)i Fs(is)d(an)g(upp)q(ercase)i(alphab)q
 (etic)e(c)o(haracter,)g(return)g(the)h(corresp)q(onding)f(lo)o(w)o
-(ercase)f(c)o(harac-)195 1565 y(ter.)1675 1664 y([F)l(unction])-1801
+(ercase)f(c)o(harac-)195 2511 y(ter.)1675 2606 y([F)l(unction])-1801
 b Fg(int)27 b(_rl_digit_value)e Ff(\()p Fi(in)o(t)14
-b(c)p Ff(\))195 1719 y Fs(If)h Fi(c)k Fs(is)14 b(a)h(n)o(um)o(b)q(er,)g
-(return)g(the)h(v)m(alue)f(it)g(represen)o(ts.)75 1822
-y Fh(2.4.11)29 b(Miscellaneous)22 b(F)-5 b(unctions)1675
-1924 y Fs([F)l(unction])-1801 b Fg(int)27 b(rl_macro_bind)d
-Ff(\()p Fi(const)15 b(c)o(har)g(*k)o(eyseq,)f(const)h(c)o(har)g
-(*macro,)f(Keymap)283 1979 y(map)p Ff(\))195 2034 y Fs(Bind)e(the)f(k)o
-(ey)h(sequence)g Fi(k)o(eyseq)h Fs(to)e(in)o(v)o(ok)o(e)f(the)h(macro)g
+b(c)p Ff(\))195 2661 y Fs(If)h Fi(c)k Fs(is)14 b(a)h(n)o(um)o(b)q(er,)g
+(return)g(the)h(v)m(alue)f(it)g(represen)o(ts.)p eop
+end
+%%Page: 39 43
+TeXDict begin 39 42 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(39)75 149 y Fh(2.4.11)29
+b(Miscellaneous)22 b(F)-5 b(unctions)1675 252 y Fs([F)l(unction])-1801
+b Fg(int)27 b(rl_macro_bind)d Ff(\()p Fi(const)15 b(c)o(har)g(*k)o
+(eyseq,)f(const)h(c)o(har)g(*macro,)f(Keymap)283 307
+y(map)p Ff(\))195 362 y Fs(Bind)e(the)f(k)o(ey)h(sequence)g
+Fi(k)o(eyseq)h Fs(to)e(in)o(v)o(ok)o(e)f(the)h(macro)g
 Fi(macro)r Fs(.)18 b(The)12 b(binding)f(is)g(p)q(erformed)h(in)195
-2088 y Fi(map)q Fs(.)20 b(When)14 b Fi(k)o(eyseq)g Fs(is)f(in)o(v)o(ok)
-o(ed,)g(the)h Fi(macro)h Fs(will)e(b)q(e)h(inserted)f(in)o(to)g(the)h
-(line.)19 b(This)13 b(function)195 2143 y(is)i(deprecated;)g(use)h
-Fr(rl_generic_bind\(\))d Fs(instead.)1675 2242 y([F)l(unction])-1801
+417 y Fi(map)q Fs(.)20 b(When)14 b Fi(k)o(eyseq)g Fs(is)f(in)o(v)o(ok)o
+(ed,)g(the)h Fi(macro)h Fs(will)e(b)q(e)h(inserted)f(in)o(to)g(the)h
+(line.)19 b(This)13 b(function)195 471 y(is)i(deprecated;)g(use)h
+Fr(rl_generic_bind\(\))d Fs(instead.)1675 572 y([F)l(unction])-1801
 b Fg(void)27 b(rl_macro_dumper)e Ff(\()p Fi(in)o(t)14
-b(readable)p Ff(\))195 2297 y Fs(Prin)o(t)f(the)g(k)o(ey)h(sequences)g
+b(readable)p Ff(\))195 627 y Fs(Prin)o(t)f(the)g(k)o(ey)h(sequences)g
 (b)q(ound)h(to)e(macros)g(and)g(their)g(v)m(alues,)h(using)f(the)h
-(curren)o(t)g(k)o(eymap,)195 2352 y(to)h Fr(rl_outstream)p
+(curren)o(t)g(k)o(eymap,)195 682 y(to)h Fr(rl_outstream)p
 Fs(.)k(If)d Fi(readable)i Fs(is)d(non-zero,)h(the)g(list)e(is)h
 (formatted)g(in)g(suc)o(h)h(a)f(w)o(a)o(y)g(that)g(it)195
-2407 y(can)g(b)q(e)h(made)f(part)g(of)g(an)g Fr(inputrc)f
-Fs(\014le)h(and)h(re-read.)1675 2506 y([F)l(unction])-1801
+737 y(can)g(b)q(e)h(made)f(part)g(of)g(an)g Fr(inputrc)f
+Fs(\014le)h(and)h(re-read.)1675 837 y([F)l(unction])-1801
 b Fg(int)27 b(rl_variable_bind)e Ff(\()p Fi(const)14
 b(c)o(har)h(*v)m(ariable,)f(const)h(c)o(har)g(*v)m(alue)p
-Ff(\))195 2560 y Fs(Mak)o(e)f(the)g(Readline)h(v)m(ariable)e
+Ff(\))195 892 y Fs(Mak)o(e)f(the)g(Readline)h(v)m(ariable)e
 Fi(v)m(ariable)j Fs(ha)o(v)o(e)e Fi(v)m(alue)s Fs(.)20
 b(This)14 b(b)q(eha)o(v)o(es)g(as)g(if)g(the)g(readline)g(com-)195
-2615 y(mand)g(`)p Fr(set)h Fk(variable)k(value)5 b Fs(')14
+947 y(mand)g(`)p Fr(set)h Fk(variable)k(value)5 b Fs(')14
 b(had)g(b)q(een)i(executed)f(in)g(an)f Fr(inputrc)f Fs(\014le)i(\(see)f
-(Section)h(1.3.1)195 2670 y([Readline)g(Init)g(File)g(Syn)o(tax],)f
-(page)h(4\).)p eop end
-%%Page: 39 43
-TeXDict begin 39 42 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(39)1675 149 y([F)l(unction])-1801
-b Fg(char)27 b(*)f(rl_variable_value)f Ff(\()p Fi(const)15
-b(c)o(har)g(*v)m(ariable)p Ff(\))195 204 y Fs(Return)g(a)f(string)f
-(represen)o(ting)i(the)f(v)m(alue)h(of)f(the)g(Readline)h(v)m(ariable)f
-Fi(v)m(ariable)s Fs(.)k(F)l(or)c(b)q(o)q(olean)195 259
-y(v)m(ariables,)g(this)h(string)f(is)h(either)g(`)p Fr(on)p
-Fs(')f(or)g(`)p Fr(off)p Fs('.)1675 356 y([F)l(unction])-1801
-b Fg(void)27 b(rl_variable_dumper)e Ff(\()p Fi(in)o(t)14
-b(readable)p Ff(\))195 411 y Fs(Prin)o(t)f(the)i(readline)f(v)m
-(ariable)f(names)i(and)f(their)g(curren)o(t)g(v)m(alues)h(to)e
-Fr(rl_outstream)p Fs(.)18 b(If)d Fi(read-)195 466 y(able)k
-Fs(is)e(non-zero,)g(the)g(list)f(is)h(formatted)f(in)g(suc)o(h)i(a)e(w)
-o(a)o(y)g(that)h(it)f(can)h(b)q(e)h(made)f(part)f(of)h(an)195
-521 y Fr(inputrc)d Fs(\014le)h(and)h(re-read.)1675 618
-y([F)l(unction])-1801 b Fg(int)27 b(rl_set_paren_blink_timeout)f
-Ff(\()p Fi(in)o(t)14 b(u)p Ff(\))195 672 y Fs(Set)f(the)f(time)g(in)o
-(terv)m(al)g(\(in)g(microseconds\))g(that)g(Readline)h(w)o(aits)e(when)
-i(sho)o(wing)e(a)i(balancing)195 727 y(c)o(haracter)h(when)i
-Fr(blink-matching-paren)d Fs(has)i(b)q(een)h(enabled.)1675
-824 y([F)l(unction])-1801 b Fg(char)27 b(*)f(rl_get_termcap)f
-Ff(\()p Fi(const)15 b(c)o(har)f(*cap)p Ff(\))195 879
-y Fs(Retriev)o(e)f(the)h(string)e(v)m(alue)i(of)f(the)g(termcap)g
-(capabilit)o(y)f Fi(cap)q Fs(.)20 b(Readline)13 b(fetc)o(hes)h(the)f
-(termcap)195 934 y(en)o(try)j(for)h(the)f(curren)o(t)h(terminal)f(name)
-g(and)h(uses)g(those)g(capabilities)e(to)h(mo)o(v)o(e)g(around)h(the)
-195 989 y(screen)11 b(line)f(and)h(p)q(erform)f(other)g(terminal-sp)q
+(Section)h(1.3.1)195 1002 y([Readline)g(Init)g(File)g(Syn)o(tax],)f
+(page)h(4\).)1675 1103 y([F)l(unction])-1801 b Fg(char)27
+b(*)f(rl_variable_value)f Ff(\()p Fi(const)15 b(c)o(har)g(*v)m(ariable)
+p Ff(\))195 1158 y Fs(Return)g(a)f(string)f(represen)o(ting)i(the)f(v)m
+(alue)h(of)f(the)g(Readline)h(v)m(ariable)f Fi(v)m(ariable)s
+Fs(.)k(F)l(or)c(b)q(o)q(olean)195 1212 y(v)m(ariables,)g(this)h(string)
+f(is)h(either)g(`)p Fr(on)p Fs(')f(or)g(`)p Fr(off)p
+Fs('.)1675 1313 y([F)l(unction])-1801 b Fg(void)27 b
+(rl_variable_dumper)e Ff(\()p Fi(in)o(t)14 b(readable)p
+Ff(\))195 1368 y Fs(Prin)o(t)f(the)i(readline)f(v)m(ariable)f(names)i
+(and)f(their)g(curren)o(t)g(v)m(alues)h(to)e Fr(rl_outstream)p
+Fs(.)18 b(If)d Fi(read-)195 1423 y(able)k Fs(is)e(non-zero,)g(the)g
+(list)f(is)h(formatted)f(in)g(suc)o(h)i(a)e(w)o(a)o(y)g(that)h(it)f
+(can)h(b)q(e)h(made)f(part)f(of)h(an)195 1478 y Fr(inputrc)d
+Fs(\014le)h(and)h(re-read.)1675 1578 y([F)l(unction])-1801
+b Fg(int)27 b(rl_set_paren_blink_timeout)f Ff(\()p Fi(in)o(t)14
+b(u)p Ff(\))195 1633 y Fs(Set)f(the)f(time)g(in)o(terv)m(al)g(\(in)g
+(microseconds\))g(that)g(Readline)h(w)o(aits)e(when)i(sho)o(wing)e(a)i
+(balancing)195 1688 y(c)o(haracter)h(when)i Fr(blink-matching-paren)d
+Fs(has)i(b)q(een)h(enabled.)1675 1789 y([F)l(unction])-1801
+b Fg(char)27 b(*)f(rl_get_termcap)f Ff(\()p Fi(const)15
+b(c)o(har)f(*cap)p Ff(\))195 1844 y Fs(Retriev)o(e)f(the)h(string)e(v)m
+(alue)i(of)f(the)g(termcap)g(capabilit)o(y)f Fi(cap)q
+Fs(.)20 b(Readline)13 b(fetc)o(hes)h(the)f(termcap)195
+1899 y(en)o(try)j(for)h(the)f(curren)o(t)h(terminal)f(name)g(and)h
+(uses)g(those)g(capabilities)e(to)h(mo)o(v)o(e)g(around)h(the)195
+1953 y(screen)11 b(line)f(and)h(p)q(erform)f(other)g(terminal-sp)q
 (eci\014c)h(op)q(erations,)f(lik)o(e)g(erasing)f(a)i(line.)18
-b(Readline)195 1044 y(do)q(es)g(not)f(use)h(all)e(of)h(a)g(terminal's)f
+b(Readline)195 2008 y(do)q(es)g(not)f(use)h(all)e(of)h(a)g(terminal's)f
 (capabilities,)g(and)i(this)f(function)g(will)f(return)i(v)m(alues)g
-(for)195 1098 y(only)d(those)g(capabilities)e(Readline)j(uses.)75
-1200 y Fh(2.4.12)29 b(Alternate)21 b(In)n(terface)75
-1274 y Fs(An)11 b(alternate)f(in)o(terface)g(is)g(a)o(v)m(ailable)g(to)
+(for)195 2063 y(only)d(those)g(capabilities)e(Readline)j(uses.)1675
+2164 y([F)l(unction])-1801 b Fg(void)27 b(rl_clear_history)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 2219 y Fs(Clear)13 b(the)g(history)g
+(list)f(b)o(y)i(deleting)f(all)g(of)g(the)g(en)o(tries,)g(in)h(the)f
+(same)h(manner)f(as)g(the)h(History)195 2273 y(library's)20
+b Fr(clear_history\(\))f Fs(function.)38 b(This)21 b(di\013ers)g(from)g
+Fr(clear_history)e Fs(b)q(ecause)k(it)195 2328 y(frees)15
+b(priv)m(ate)g(data)g(Readline)g(sa)o(v)o(es)g(in)g(the)g(history)f
+(list.)75 2432 y Fh(2.4.12)29 b(Alternate)21 b(In)n(terface)75
+2506 y Fs(An)11 b(alternate)f(in)o(terface)g(is)g(a)o(v)m(ailable)g(to)
 g(plain)g Fr(readline\(\))p Fs(.)17 b(Some)11 b(applications)f(need)h
-(to)f(in)o(terlea)o(v)o(e)75 1329 y(k)o(eyb)q(oard)18
+(to)f(in)o(terlea)o(v)o(e)75 2560 y(k)o(eyb)q(oard)18
 b(I/O)g(with)f(\014le,)h(device,)h(or)e(windo)o(w)g(system)g(I/O,)h(t)o
 (ypically)e(b)o(y)i(using)g(a)f(main)g(lo)q(op)h(to)75
-1383 y Fr(select\(\))12 b Fs(on)h(v)m(arious)f(\014le)h(descriptors.)18
+2615 y Fr(select\(\))12 b Fs(on)h(v)m(arious)f(\014le)h(descriptors.)18
 b(T)l(o)13 b(accomo)q(date)f(this)h(need,)h(readline)e(can)h(also)f(b)q
-(e)i(in)o(v)o(ok)o(ed)75 1438 y(as)f(a)g(`callbac)o(k')f(function)h
+(e)i(in)o(v)o(ok)o(ed)75 2670 y(as)f(a)g(`callbac)o(k')f(function)h
 (from)g(an)g(ev)o(en)o(t)g(lo)q(op.)19 b(There)14 b(are)f(functions)g
-(a)o(v)m(ailable)f(to)h(mak)o(e)f(this)h(easy)l(.)1675
-1535 y([F)l(unction])-1801 b Fg(void)27 b(rl_callback_handler_insta)q
-(ll)f Ff(\()p Fi(const)14 b(c)o(har)h(*prompt,)283 1590
-y(rl)p 317 1590 14 2 v 19 w(v)o(cpfunc)p 488 1590 V 21
-w(t)g(*lhandler)p Ff(\))195 1645 y Fs(Set)d(up)h(the)g(terminal)e(for)g
-(readline)h(I/O)h(and)g(displa)o(y)e(the)h(initial)f(expanded)i(v)m
-(alue)g(of)f Fi(prompt)q Fs(.)195 1700 y(Sa)o(v)o(e)j(the)h(v)m(alue)g
-(of)g Fi(lhandler)j Fs(to)c(use)h(as)f(a)h(function)g(to)f(call)g(when)
-h(a)g(complete)f(line)h(of)f(input)195 1755 y(has)g(b)q(een)h(en)o
-(tered.)21 b(The)15 b(function)g(tak)o(es)f(the)i(text)e(of)h(the)g
-(line)g(as)g(an)g(argumen)o(t.)1675 1852 y([F)l(unction])-1801
-b Fg(void)27 b(rl_callback_read_char)f Ff(\()p Fi(v)o(oid)p
-Ff(\))195 1906 y Fs(Whenev)o(er)17 b(an)g(application)e(determines)i
-(that)f(k)o(eyb)q(oard)h(input)g(is)f(a)o(v)m(ailable,)g(it)g(should)h
-(call)195 1961 y Fr(rl_callback_read_char\(\))p Fs(,)8
-b(whic)o(h)j(will)e(read)i(the)g(next)g(c)o(haracter)f(from)g(the)h
-(curren)o(t)g(input)195 2016 y(source.)38 b(If)21 b(that)g(c)o
-(haracter)f(completes)h(the)g(line,)h Fr(rl_callback_read_char)c
-Fs(will)i(in)o(v)o(ok)o(e)195 2071 y(the)e Fi(lhandler)i
-Fs(function)e(sa)o(v)o(ed)f(b)o(y)h Fr(rl_callback_handler_insta)o(ll)d
-Fs(to)i(pro)q(cess)h(the)g(line.)195 2126 y(Before)13
-b(calling)f(the)i Fi(lhandler)i Fs(function,)d(the)h(terminal)e
-(settings)g(are)h(reset)g(to)g(the)g(v)m(alues)h(they)195
-2180 y(had)h(b)q(efore)g(calling)f Fr(rl_callback_handler_insta)o(ll)p
-Fs(.)j(If)e(the)g Fi(lhandler)j Fs(function)c(returns,)195
-2235 y(the)e(terminal)g(settings)f(are)h(mo)q(di\014ed)h(for)e
-(Readline's)h(use)h(again.)18 b Fr(EOF)12 b Fs(is)g(indicated)g(b)o(y)g
-(calling)195 2290 y Fi(lhandler)18 b Fs(with)d(a)g Fr(NULL)f
-Fs(line.)1675 2387 y([F)l(unction])-1801 b Fg(void)27
-b(rl_callback_handler_remov)q(e)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 2442 y Fs(Restore)19 b(the)f(terminal)g(to)f(its)h(initial)f
-(state)h(and)g(remo)o(v)o(e)g(the)h(line)f(handler.)30
-b(This)18 b(ma)o(y)g(b)q(e)195 2497 y(called)g(from)f(within)h(a)f
+(a)o(v)m(ailable)f(to)h(mak)o(e)f(this)h(easy)l(.)p eop
+end
+%%Page: 40 44
+TeXDict begin 40 43 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(40)1675 149 y([F)l(unction])-1801
+b Fg(void)27 b(rl_callback_handler_insta)q(ll)f Ff(\()p
+Fi(const)14 b(c)o(har)h(*prompt,)283 204 y(rl)p 317 204
+14 2 v 19 w(v)o(cpfunc)p 488 204 V 21 w(t)g(*lhandler)p
+Ff(\))195 259 y Fs(Set)d(up)h(the)g(terminal)e(for)g(readline)h(I/O)h
+(and)g(displa)o(y)e(the)h(initial)f(expanded)i(v)m(alue)g(of)f
+Fi(prompt)q Fs(.)195 314 y(Sa)o(v)o(e)k(the)h(v)m(alue)f(of)g
+Fi(lhandler)j Fs(to)d(use)h(as)f(a)g(handler)h(function)f(to)g(call)f
+(when)i(a)f(complete)g(line)195 369 y(of)h(input)h(has)g(b)q(een)h(en)o
+(tered.)28 b(The)18 b(handler)g(function)g(receiv)o(es)f(the)h(text)g
+(of)f(the)h(line)g(as)f(an)195 423 y(argumen)o(t.)1675
+520 y([F)l(unction])-1801 b Fg(void)27 b(rl_callback_read_char)f
+Ff(\()p Fi(v)o(oid)p Ff(\))195 575 y Fs(Whenev)o(er)17
+b(an)g(application)e(determines)i(that)f(k)o(eyb)q(oard)h(input)g(is)f
+(a)o(v)m(ailable,)g(it)g(should)h(call)195 630 y Fr
+(rl_callback_read_char\(\))p Fs(,)8 b(whic)o(h)j(will)e(read)i(the)g
+(next)g(c)o(haracter)f(from)g(the)h(curren)o(t)g(input)195
+685 y(source.)20 b(If)14 b(that)f(c)o(haracter)g(completes)h(the)g
+(line,)f Fr(rl_callback_read_char)e Fs(will)i(in)o(v)o(ok)o(e)g(the)195
+739 y Fi(lhandler)23 b Fs(function)e(installed)e(b)o(y)h
+Fr(rl_callback_handler_install)d Fs(to)j(pro)q(cess)g(the)h(line.)195
+794 y(Before)h(calling)e(the)i Fi(lhandler)i Fs(function,)f(the)f
+(terminal)e(settings)g(are)i(reset)f(to)g(the)h(v)m(alues)195
+849 y(they)g(had)g(b)q(efore)g(calling)e Fr
+(rl_callback_handler_install)o Fs(.)37 b(If)22 b(the)f
+Fi(lhandler)k Fs(function)195 904 y(returns,)14 b(and)g(the)g(line)g
+(handler)g(remains)f(installed,)g(the)h(terminal)f(settings)g(are)g(mo)
+q(di\014ed)i(for)195 958 y(Readline's)g(use)h(again.)i
+Fr(EOF)d Fs(is)g(indicated)g(b)o(y)g(calling)f Fi(lhandler)k
+Fs(with)d(a)g Fr(NULL)f Fs(line.)1675 1055 y([F)l(unction])-1801
+b Fg(void)27 b(rl_callback_handler_remov)q(e)e Ff(\()p
+Fi(v)o(oid)p Ff(\))195 1110 y Fs(Restore)19 b(the)f(terminal)g(to)f
+(its)h(initial)f(state)h(and)g(remo)o(v)o(e)g(the)h(line)f(handler.)30
+b(This)18 b(ma)o(y)g(b)q(e)195 1165 y(called)g(from)f(within)h(a)f
 (callbac)o(k)h(as)f(w)o(ell)g(as)h(indep)q(enden)o(tly)l(.)30
 b(If)19 b(the)f Fi(lhandler)j Fs(installed)c(b)o(y)195
-2552 y Fr(rl_callback_handler_instal)o(l)g Fs(do)q(es)i(not)g(exit)g
-(the)h(program,)e(either)h(this)g(function)g(or)195 2606
+1220 y Fr(rl_callback_handler_instal)o(l)g Fs(do)q(es)i(not)g(exit)g
+(the)h(program,)e(either)h(this)g(function)g(or)195 1274
 y(the)d(function)f(referred)h(to)f(b)o(y)h(the)g(v)m(alue)g(of)f
 Fr(rl_deprep_term_function)d Fs(should)k(b)q(e)g(called)195
-2661 y(b)q(efore)f(the)h(program)e(exits)g(to)h(reset)g(the)g(terminal)
-f(settings.)p eop end
-%%Page: 40 44
-TeXDict begin 40 43 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(40)75 149 y Fh(2.4.13)29
-b(A)21 b(Readline)g(Example)75 223 y Fs(Here)c(is)g(a)f(function)h
-(whic)o(h)g(c)o(hanges)g(lo)o(w)o(ercase)e(c)o(haracters)h(to)h(their)f
-(upp)q(ercase)i(equiv)m(alen)o(ts,)f(and)75 278 y(upp)q(ercase)i(c)o
-(haracters)e(to)g(lo)o(w)o(ercase.)26 b(If)17 b(this)h(function)f(w)o
-(as)g(b)q(ound)i(to)e(`)p Fr(M-c)p Fs(',)f(then)i(t)o(yping)f(`)p
-Fr(M-c)p Fs(')75 333 y(w)o(ould)e(c)o(hange)h(the)g(case)g(of)f(the)h
-(c)o(haracter)f(under)h(p)q(oin)o(t.)21 b(T)o(yping)16
-b(`)p Fr(M-1)e(0)h(M-c)p Fs(')g(w)o(ould)g(c)o(hange)h(the)75
-387 y(case)f(of)g(the)g(follo)o(wing)e(10)i(c)o(haracters,)f(lea)o
-(ving)g(the)h(cursor)g(on)g(the)g(last)g(c)o(haracter)f(c)o(hanged.)195
-478 y Fr(/*)24 b(Invert)f(the)g(case)g(of)h(the)f(COUNT)h(following)e
-(characters.)h(*/)195 533 y(int)195 588 y(invert_case_line)f(\(count,)h
-(key\))314 643 y(int)h(count,)f(key;)195 697 y({)243
-752 y(register)f(int)i(start,)f(end,)g(i;)243 862 y(start)g(=)h
-(rl_point;)243 971 y(if)f(\(rl_point)g(>=)h(rl_end\))290
-1026 y(return)f(\(0\);)243 1136 y(if)g(\(count)g(<)h(0\))290
-1191 y({)338 1245 y(direction)f(=)h(-1;)338 1300 y(count)f(=)h(-count;)
-290 1355 y(})243 1410 y(else)290 1465 y(direction)f(=)h(1;)243
-1574 y(/*)f(Find)h(the)f(end)h(of)f(the)h(range)f(to)g(modify.)g(*/)243
-1629 y(end)g(=)h(start)f(+)h(\(count)f(*)h(direction\);)243
-1738 y(/*)f(Force)g(it)h(to)g(be)f(within)g(range.)g(*/)243
-1793 y(if)g(\(end)h(>)f(rl_end\))290 1848 y(end)h(=)g(rl_end;)243
-1903 y(else)f(if)h(\(end)f(<)h(0\))290 1958 y(end)g(=)g(0;)243
-2067 y(if)f(\(start)g(==)h(end\))290 2122 y(return)f(\(0\);)243
-2232 y(if)g(\(start)g(>)h(end\))290 2286 y({)338 2341
-y(int)g(temp)f(=)h(start;)338 2396 y(start)f(=)h(end;)338
-2451 y(end)g(=)f(temp;)290 2506 y(})243 2615 y(/*)g(Tell)h(readline)e
-(that)i(we)f(are)h(modifying)e(the)i(line,)314 2670 y(so)g(it)f(will)h
-(save)f(the)h(undo)f(information.)f(*/)p eop end
+1329 y(b)q(efore)f(the)h(program)e(exits)g(to)h(reset)g(the)g(terminal)
+f(settings.)75 1431 y Fh(2.4.13)29 b(A)21 b(Readline)g(Example)75
+1505 y Fs(Here)c(is)g(a)f(function)h(whic)o(h)g(c)o(hanges)g(lo)o(w)o
+(ercase)e(c)o(haracters)h(to)h(their)f(upp)q(ercase)i(equiv)m(alen)o
+(ts,)f(and)75 1559 y(upp)q(ercase)i(c)o(haracters)e(to)g(lo)o(w)o
+(ercase.)26 b(If)17 b(this)h(function)f(w)o(as)g(b)q(ound)i(to)e(`)p
+Fr(M-c)p Fs(',)f(then)i(t)o(yping)f(`)p Fr(M-c)p Fs(')75
+1614 y(w)o(ould)e(c)o(hange)h(the)g(case)g(of)f(the)h(c)o(haracter)f
+(under)h(p)q(oin)o(t.)21 b(T)o(yping)16 b(`)p Fr(M-1)e(0)h(M-c)p
+Fs(')g(w)o(ould)g(c)o(hange)h(the)75 1669 y(case)f(of)g(the)g(follo)o
+(wing)e(10)i(c)o(haracters,)f(lea)o(ving)g(the)h(cursor)g(on)g(the)g
+(last)g(c)o(haracter)f(c)o(hanged.)195 1738 y Fr(/*)24
+b(Invert)f(the)g(case)g(of)h(the)f(COUNT)h(following)e(characters.)h
+(*/)195 1793 y(int)195 1848 y(invert_case_line)f(\(count,)h(key\))314
+1903 y(int)h(count,)f(key;)195 1958 y({)243 2012 y(register)f(int)i
+(start,)f(end,)g(i;)243 2122 y(start)g(=)h(rl_point;)243
+2232 y(if)f(\(rl_point)g(>=)h(rl_end\))290 2286 y(return)f(\(0\);)243
+2396 y(if)g(\(count)g(<)h(0\))290 2451 y({)338 2506 y(direction)f(=)h
+(-1;)338 2560 y(count)f(=)h(-count;)290 2615 y(})243
+2670 y(else)p eop end
 %%Page: 41 45
 TeXDict begin 41 44 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(41)243 149 y Fr(rl_modifying)22
-b(\(start,)h(end\);)243 259 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f
-(i++\))290 314 y({)338 369 y(if)h(\(_rl_uppercase_p)d
-(\(rl_line_buffer[i]\)\))386 423 y(rl_line_buffer[i])g(=)j
-(_rl_to_lower)e(\(rl_line_buffer[i]\);)338 478 y(else)h(if)h
-(\(_rl_lowercase_p)e(\(rl_line_buffer[i]\)\))386 533
-y(rl_line_buffer[i])f(=)j(_rl_to_upper)e(\(rl_line_buffer[i]\);)290
-588 y(})243 643 y(/*)h(Move)h(point)f(to)g(on)h(top)f(of)h(the)f(last)h
-(character)e(changed.)h(*/)243 697 y(rl_point)f(=)i(\(direction)f(==)g
-(1\))h(?)g(end)f(-)h(1)g(:)f(start;)243 752 y(return)g(\(0\);)195
-807 y(})75 973 y Fq(2.5)33 b(Readline)21 b(Signal)h(Handling)75
-1053 y Fs(Signals)14 b(are)h(async)o(hronous)g(ev)o(en)o(ts)g(sen)o(t)g
-(to)g(a)g(pro)q(cess)g(b)o(y)g(the)h(Unix)f(k)o(ernel,)f(sometimes)h
-(on)g(b)q(ehalf)75 1108 y(of)i(another)g(pro)q(cess.)26
-b(They)18 b(are)f(in)o(tended)h(to)e(indicate)h(exceptional)g(ev)o(en)o
-(ts,)g(lik)o(e)g(a)g(user)g(pressing)75 1163 y(the)g(in)o(terrupt)f(k)o
-(ey)h(on)f(his)h(terminal,)f(or)g(a)g(net)o(w)o(ork)g(connection)h(b)q
-(eing)g(brok)o(en.)25 b(There)17 b(is)f(a)h(class)75
-1217 y(of)d(signals)f(that)h(can)g(b)q(e)h(sen)o(t)g(to)e(the)i(pro)q
-(cess)g(curren)o(tly)e(reading)h(input)h(from)e(the)i(k)o(eyb)q(oard.)k
-(Since)75 1272 y(Readline)k(c)o(hanges)f(the)g(terminal)f(attributes)g
-(when)i(it)e(is)h(called,)h(it)f(needs)h(to)e(p)q(erform)h(sp)q(ecial)
-75 1327 y(pro)q(cessing)14 b(when)g(suc)o(h)g(a)g(signal)e(is)h(receiv)
-o(ed)h(in)g(order)g(to)f(restore)g(the)h(terminal)e(to)h(a)h(sane)g
-(state,)e(or)75 1382 y(pro)o(vide)j(application)f(writers)g(with)g
-(functions)h(to)g(do)g(so)g(man)o(ually)l(.)137 1482
-y(Readline)21 b(con)o(tains)e(an)h(in)o(ternal)f(signal)g(handler)h
-(that)g(is)g(installed)f(for)g(a)h(n)o(um)o(b)q(er)g(of)g(signals)75
-1537 y(\()p Fr(SIGINT)p Fs(,)h Fr(SIGQUIT)p Fs(,)g Fr(SIGTERM)p
-Fs(,)g Fr(SIGALRM)p Fs(,)g Fr(SIGTSTP)p Fs(,)g Fr(SIGTTIN)p
-Fs(,)h(and)f Fr(SIGTTOU)p Fs(\).)36 b(When)21 b(one)g(of)75
-1592 y(these)16 b(signals)f(is)g(receiv)o(ed,)h(the)g(signal)f(handler)
-g(will)g(reset)h(the)g(terminal)e(attributes)h(to)g(those)h(that)75
-1647 y(w)o(ere)d(in)h(e\013ect)f(b)q(efore)h Fr(readline\(\))e
-Fs(w)o(as)h(called,)g(reset)h(the)f(signal)g(handling)g(to)g(what)g(it)
-g(w)o(as)g(b)q(efore)75 1702 y Fr(readline\(\))21 b Fs(w)o(as)h
-(called,)h(and)g(resend)g(the)g(signal)e(to)h(the)h(calling)e
-(application.)41 b(If)23 b(and)f(when)75 1756 y(the)17
-b(calling)f(application's)f(signal)h(handler)h(returns,)g(Readline)g
-(will)f(reinitialize)f(the)i(terminal)f(and)75 1811 y(con)o(tin)o(ue)e
-(to)f(accept)i(input.)k(When)c(a)e Fr(SIGINT)h Fs(is)f(receiv)o(ed,)h
-(the)h(Readline)f(signal)f(handler)h(p)q(erforms)75 1866
-y(some)19 b(additional)f(w)o(ork,)h(whic)o(h)g(will)f(cause)i(an)o(y)f
-(partially-en)o(tered)f(line)h(to)f(b)q(e)i(ab)q(orted)g(\(see)f(the)75
-1921 y(description)c(of)f Fr(rl_free_line_state\(\))f
-Fs(b)q(elo)o(w\).)137 2021 y(There)g(is)e(an)h(additional)f(Readline)i
-(signal)e(handler,)h(for)g Fr(SIGWINCH)p Fs(,)f(whic)o(h)h(the)g(k)o
-(ernel)g(sends)h(to)e(a)75 2076 y(pro)q(cess)k(whenev)o(er)g(the)f
-(terminal's)f(size)h(c)o(hanges)g(\(for)g(example,)g(if)g(a)g(user)h
-(resizes)f(an)g Fr(xterm)p Fs(\).)19 b(The)75 2131 y(Readline)f
-Fr(SIGWINCH)f Fs(handler)h(up)q(dates)g(Readline's)g(in)o(ternal)e
-(screen)j(size)e(information,)g(and)h(then)75 2186 y(calls)e(an)o(y)h
-Fr(SIGWINCH)e Fs(signal)h(handler)h(the)g(calling)f(application)f(has)i
-(installed.)24 b(Readline)17 b(calls)f(the)75 2241 y(application's)g
-Fr(SIGWINCH)g Fs(signal)h(handler)g(without)g(resetting)g(the)g
-(terminal)g(to)g(its)f(original)g(state.)75 2295 y(If)g(the)g
-(application's)e(signal)h(handler)h(do)q(es)h(more)e(than)h(up)q(date)h
-(its)e(idea)h(of)f(the)h(terminal)f(size)h(and)75 2350
-y(return)f(\(for)f(example,)g(a)g Fr(longjmp)g Fs(bac)o(k)h(to)f(a)h
-(main)f(pro)q(cessing)g(lo)q(op\),)g(it)g Fj(must)20
-b Fs(call)14 b Fr(rl_cleanup_)75 2405 y(after_signal\(\))f
-Fs(\(describ)q(ed)j(b)q(elo)o(w\),)e(to)h(restore)f(the)h(terminal)f
-(state.)137 2506 y(Readline)h(pro)o(vides)f(t)o(w)o(o)f(v)m(ariables)g
-(that)h(allo)o(w)e(application)h(writers)g(to)h(con)o(trol)f(whether)i
-(or)e(not)75 2560 y(it)j(will)f(catc)o(h)h(certain)g(signals)g(and)h
-(act)f(on)g(them)h(when)g(they)f(are)h(receiv)o(ed.)24
-b(It)16 b(is)h(imp)q(ortan)o(t)e(that)75 2615 y(applications)i(c)o
-(hange)h(the)h(v)m(alues)f(of)g(these)h(v)m(ariables)e(only)h(when)h
-(calling)e Fr(readline\(\))p Fs(,)g(not)h(in)g(a)75 2670
-y(signal)c(handler,)h(so)g(Readline's)g(in)o(ternal)f(signal)g(state)g
-(is)h(not)g(corrupted.)p eop end
+b(with)g(GNU)h(Readline)842 b(41)290 149 y Fr(direction)23
+b(=)h(1;)243 259 y(/*)f(Find)h(the)f(end)h(of)f(the)h(range)f(to)g
+(modify.)g(*/)243 314 y(end)g(=)h(start)f(+)h(\(count)f(*)h
+(direction\);)243 423 y(/*)f(Force)g(it)h(to)g(be)f(within)g(range.)g
+(*/)243 478 y(if)g(\(end)h(>)f(rl_end\))290 533 y(end)h(=)g(rl_end;)243
+588 y(else)f(if)h(\(end)f(<)h(0\))290 643 y(end)g(=)g(0;)243
+752 y(if)f(\(start)g(==)h(end\))290 807 y(return)f(\(0\);)243
+917 y(if)g(\(start)g(>)h(end\))290 971 y({)338 1026 y(int)g(temp)f(=)h
+(start;)338 1081 y(start)f(=)h(end;)338 1136 y(end)g(=)f(temp;)290
+1191 y(})243 1300 y(/*)g(Tell)h(readline)e(that)i(we)f(are)h(modifying)
+e(the)i(line,)314 1355 y(so)g(it)f(will)h(save)f(the)h(undo)f
+(information.)f(*/)243 1410 y(rl_modifying)g(\(start,)h(end\);)243
+1519 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f(i++\))290
+1574 y({)338 1629 y(if)h(\(_rl_uppercase_p)d(\(rl_line_buffer[i]\)\))
+386 1684 y(rl_line_buffer[i])g(=)j(_rl_to_lower)e
+(\(rl_line_buffer[i]\);)338 1738 y(else)h(if)h(\(_rl_lowercase_p)e
+(\(rl_line_buffer[i]\)\))386 1793 y(rl_line_buffer[i])f(=)j
+(_rl_to_upper)e(\(rl_line_buffer[i]\);)290 1848 y(})243
+1903 y(/*)h(Move)h(point)f(to)g(on)h(top)f(of)h(the)f(last)h(character)
+e(changed.)h(*/)243 1958 y(rl_point)f(=)i(\(direction)f(==)g(1\))h(?)g
+(end)f(-)h(1)g(:)f(start;)243 2012 y(return)g(\(0\);)195
+2067 y(})75 2184 y Fh(2.4.14)29 b(Alternate)21 b(In)n(terface)g
+(Example)75 2257 y Fs(Here)f(is)e(a)h(complete)g(program)f(that)h
+(illustrates)e(Readline's)i(alternate)g(in)o(terface.)31
+b(It)19 b(reads)g(lines)75 2312 y(from)c(the)g(terminal)g(and)g(displa)
+o(ys)g(them,)g(pro)o(viding)f(the)i(standard)f(history)f(and)i(T)l(AB)g
+(completion)75 2367 y(functions.)k(It)15 b(understands)h(the)f(EOF)g(c)
+o(haracter)f(or)h Fr(")p Fs(exit)p Fr(")f Fs(to)h(exit)g(the)g
+(program.)195 2451 y Fr(/*)24 b(Standard)e(include)h(files.)g(stdio.h)g
+(is)h(required.)e(*/)195 2506 y(#include)h(<stdlib.h>)195
+2560 y(#include)g(<unistd.h>)195 2670 y(/*)h(Used)f(for)g(select\(2\))g
+(*/)p eop end
 %%Page: 42 46
 TeXDict begin 42 45 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(42)1685 149 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_catch_signals)195 204 y Fs(If)15 b(this)f(v)m(ariable)
+b(with)g(GNU)h(Readline)842 b(42)195 149 y Fr(#include)23
+b(<sys/types.h>)195 204 y(#include)g(<sys/select.h>)195
+314 y(#include)g(<stdio.h>)195 423 y(/*)h(Standard)e(readline)h
+(include)g(files.)g(*/)195 478 y(#include)g(<readline/readline.h>)195
+533 y(#include)g(<readline/history.h>)195 643 y(static)g(void)g
+(cb_linehandler)f(\(char)h(*\);)195 752 y(int)g(running;)195
+807 y(const)g(char)g(*prompt)g(=)h("rltest$)f(";)195
+917 y(/*)h(Callback)e(function)h(called)g(for)h(each)f(line)g(when)h
+(accept-line)e(executed,)h(EOF)267 971 y(seen,)g(or)g(EOF)h(character)e
+(read.)47 b(This)24 b(sets)f(a)h(flag)f(and)h(returns;)e(it)i(could)267
+1026 y(also)f(call)g(exit\(3\).)g(*/)195 1081 y(static)g(void)195
+1136 y(cb_linehandler)f(\(char)h(*line\))195 1191 y({)243
+1245 y(/*)g(Can)h(use)f(^D)h(\(stty)f(eof\))g(or)h(`exit')f(to)h(exit.)
+f(*/)243 1300 y(if)g(\(line)g(==)h(NULL)f(||)h(strcmp)f(\(line,)g
+("exit"\))g(==)h(0\))290 1355 y({)338 1410 y(if)g(\(line)f(==)h(0\))386
+1465 y(printf)f(\("\\n"\);)338 1519 y(printf)g(\("exit\\n"\);)338
+1574 y(/*)h(This)f(function)g(needs)g(to)h(be)f(called)g(to)h(reset)f
+(the)g(terminal)g(settings,)p 1937 1584 21 42 v 410 1629
+a(and)g(calling)g(it)h(from)f(the)g(line)h(handler)f(keeps)g(one)g
+(extra)h(prompt)f(from)p 1937 1639 21 38 v 410 1684 a(being)g
+(displayed.)f(*/)338 1738 y(rl_callback_handler_remove)e(\(\);)338
+1848 y(running)j(=)h(0;)290 1903 y(})243 1958 y(else)290
+2012 y({)338 2067 y(if)g(\(*line\))386 2122 y(add_history)e(\(line\);)
+338 2177 y(printf)h(\("input)g(line:)g(\045s\\n",)g(line\);)338
+2232 y(free)g(\(line\);)290 2286 y(})195 2341 y(})195
+2451 y(int)195 2506 y(main)g(\(int)h(c,)f(char)h(**v\))195
+2560 y({)243 2615 y(fd_set)f(fds;)243 2670 y(int)g(r;)p
+eop end
+%%Page: 43 47
+TeXDict begin 43 46 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(43)243 204 y Fr(/*)23 b(Install)g(the)h
+(line)f(handler.)g(*/)243 259 y(rl_callback_handler_inst)o(all)e
+(\(prompt,)i(cb_linehandler\);)243 369 y(/*)g(Enter)g(a)h(simple)f
+(event)g(loop.)47 b(This)24 b(waits)f(until)g(something)g(is)g
+(available)314 423 y(to)h(read)f(on)h(readline's)e(input)h(stream)h
+(\(defaults)e(to)i(standard)f(input\))g(and)314 478 y(calls)g(the)h
+(builtin)f(character)f(read)i(callback)f(to)g(read)g(it.)48
+b(It)23 b(does)h(not)314 533 y(have)g(to)f(modify)g(the)h(user's)f
+(terminal)g(settings.)f(*/)243 588 y(running)h(=)g(1;)243
+643 y(while)g(\(running\))290 697 y({)338 752 y(FD_ZERO)g(\(&fds\);)338
+807 y(FD_SET)g(\(fileno)g(\(rl_instream\),)f(&fds\);)338
+917 y(r)i(=)g(select)f(\(FD_SETSIZE,)f(&fds,)h(NULL,)g(NULL,)g(NULL\);)
+338 971 y(if)h(\(r)f(<)h(0\))386 1026 y({)434 1081 y(perror)f
+(\("rltest:)f(select"\);)434 1136 y(break;)386 1191 y(})338
+1300 y(if)i(\(FD_ISSET)e(\(fileno)h(\(rl_instream\),)f(&fds\)\))386
+1355 y(rl_callback_read_char)f(\(\);)290 1410 y(})243
+1519 y(printf)i(\("rltest:)f(Event)i(loop)f(has)g(exited\\n"\);)243
+1574 y(return)g(0;)195 1629 y(})75 1752 y Fq(2.5)33 b(Readline)21
+b(Signal)h(Handling)75 1831 y Fs(Signals)14 b(are)h(async)o(hronous)g
+(ev)o(en)o(ts)g(sen)o(t)g(to)g(a)g(pro)q(cess)g(b)o(y)g(the)h(Unix)f(k)
+o(ernel,)f(sometimes)h(on)g(b)q(ehalf)75 1886 y(of)i(another)g(pro)q
+(cess.)26 b(They)18 b(are)f(in)o(tended)h(to)e(indicate)h(exceptional)g
+(ev)o(en)o(ts,)g(lik)o(e)g(a)g(user)g(pressing)75 1941
+y(the)g(in)o(terrupt)f(k)o(ey)h(on)f(his)h(terminal,)f(or)g(a)g(net)o
+(w)o(ork)g(connection)h(b)q(eing)g(brok)o(en.)25 b(There)17
+b(is)f(a)h(class)75 1996 y(of)d(signals)f(that)h(can)g(b)q(e)h(sen)o(t)
+g(to)e(the)i(pro)q(cess)g(curren)o(tly)e(reading)h(input)h(from)e(the)i
+(k)o(eyb)q(oard.)k(Since)75 2050 y(Readline)k(c)o(hanges)f(the)g
+(terminal)f(attributes)g(when)i(it)e(is)h(called,)h(it)f(needs)h(to)e
+(p)q(erform)h(sp)q(ecial)75 2105 y(pro)q(cessing)14 b(when)g(suc)o(h)g
+(a)g(signal)e(is)h(receiv)o(ed)h(in)g(order)g(to)f(restore)g(the)h
+(terminal)e(to)h(a)h(sane)g(state,)e(or)75 2160 y(pro)o(vide)j
+(application)f(writers)g(with)g(functions)h(to)g(do)g(so)g(man)o(ually)
+l(.)137 2232 y(Readline)21 b(con)o(tains)e(an)h(in)o(ternal)f(signal)g
+(handler)h(that)g(is)g(installed)f(for)g(a)h(n)o(um)o(b)q(er)g(of)g
+(signals)75 2286 y(\()p Fr(SIGINT)p Fs(,)e Fr(SIGQUIT)p
+Fs(,)g 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)h
+Fr(SIGTTOU)p Fs(\).)29 b(When)75 2341 y(one)13 b(of)g(these)h(signals)e
+(is)h(receiv)o(ed,)h(the)f(signal)f(handler)i(will)e(reset)h(the)g
+(terminal)f(attributes)g(to)h(those)75 2396 y(that)i(w)o(ere)h(in)g
+(e\013ect)g(b)q(efore)h Fr(readline\(\))d Fs(w)o(as)i(called,)f(reset)h
+(the)g(signal)f(handling)h(to)g(what)f(it)h(w)o(as)75
+2451 y(b)q(efore)e Fr(readline\(\))e Fs(w)o(as)g(called,)h(and)h
+(resend)g(the)f(signal)f(to)h(the)g(calling)f(application.)18
+b(If)c(and)f(when)75 2506 y(the)k(calling)f(application's)f(signal)h
+(handler)h(returns,)g(Readline)g(will)f(reinitialize)f(the)i(terminal)f
+(and)75 2560 y(con)o(tin)o(ue)e(to)f(accept)i(input.)k(When)c(a)e
+Fr(SIGINT)h Fs(is)f(receiv)o(ed,)h(the)h(Readline)f(signal)f(handler)h
+(p)q(erforms)75 2615 y(some)19 b(additional)f(w)o(ork,)h(whic)o(h)g
+(will)f(cause)i(an)o(y)f(partially-en)o(tered)f(line)h(to)f(b)q(e)i(ab)
+q(orted)g(\(see)f(the)75 2670 y(description)c(of)f Fr
+(rl_free_line_state\(\))f Fs(b)q(elo)o(w\).)p eop end
+%%Page: 44 48
+TeXDict begin 44 47 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(44)137 149 y(There)13 b(is)e(an)h
+(additional)f(Readline)i(signal)e(handler,)h(for)g Fr(SIGWINCH)p
+Fs(,)f(whic)o(h)h(the)g(k)o(ernel)g(sends)h(to)e(a)75
+204 y(pro)q(cess)k(whenev)o(er)g(the)f(terminal's)f(size)h(c)o(hanges)g
+(\(for)g(example,)g(if)g(a)g(user)h(resizes)f(an)g Fr(xterm)p
+Fs(\).)19 b(The)75 259 y(Readline)f Fr(SIGWINCH)f Fs(handler)h(up)q
+(dates)g(Readline's)g(in)o(ternal)e(screen)j(size)e(information,)g(and)
+h(then)75 314 y(calls)e(an)o(y)h Fr(SIGWINCH)e Fs(signal)h(handler)h
+(the)g(calling)f(application)f(has)i(installed.)24 b(Readline)17
+b(calls)f(the)75 369 y(application's)g Fr(SIGWINCH)g
+Fs(signal)h(handler)g(without)g(resetting)g(the)g(terminal)g(to)g(its)f
+(original)g(state.)75 423 y(If)g(the)g(application's)e(signal)h
+(handler)h(do)q(es)h(more)e(than)h(up)q(date)h(its)e(idea)h(of)f(the)h
+(terminal)f(size)h(and)75 478 y(return)f(\(for)f(example,)g(a)g
+Fr(longjmp)g Fs(bac)o(k)h(to)f(a)h(main)f(pro)q(cessing)g(lo)q(op\),)g
+(it)g Fj(must)20 b Fs(call)14 b Fr(rl_cleanup_)75 533
+y(after_signal\(\))f Fs(\(describ)q(ed)j(b)q(elo)o(w\),)e(to)h(restore)
+f(the)h(terminal)f(state.)137 598 y(Readline)h(pro)o(vides)f(t)o(w)o(o)
+f(v)m(ariables)g(that)h(allo)o(w)e(application)h(writers)g(to)h(con)o
+(trol)f(whether)i(or)e(not)75 653 y(it)j(will)f(catc)o(h)h(certain)g
+(signals)g(and)h(act)f(on)g(them)h(when)g(they)f(are)h(receiv)o(ed.)24
+b(It)16 b(is)h(imp)q(ortan)o(t)e(that)75 708 y(applications)i(c)o
+(hange)h(the)h(v)m(alues)f(of)g(these)h(v)m(ariables)e(only)h(when)h
+(calling)e Fr(readline\(\))p Fs(,)g(not)h(in)g(a)75 762
+y(signal)c(handler,)h(so)g(Readline's)g(in)o(ternal)f(signal)g(state)g
+(is)h(not)g(corrupted.)1685 848 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_catch_signals)195 902 y Fs(If)15 b(this)f(v)m(ariable)
 f(is)h(non-zero,)h(Readline)g(will)e(install)f(signal)i(handlers)g(for)
-g Fr(SIGINT)p Fs(,)f Fr(SIGQUIT)p Fs(,)195 259 y Fr(SIGTERM)p
-Fs(,)h Fr(SIGALRM)p Fs(,)g Fr(SIGTSTP)p Fs(,)f Fr(SIGTTIN)p
-Fs(,)h(and)i Fr(SIGTTOU)p Fs(.)195 331 y(The)f(default)g(v)m(alue)h(of)
-e Fr(rl_catch_signals)f Fs(is)i(1.)1685 431 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_catch_sigwinch)195 486 y Fs(If)15 b(this)g(v)m
-(ariable)g(is)f(non-zero,)h(Readline)h(will)e(install)f(a)i(signal)f
-(handler)i(for)e Fr(SIGWINCH)p Fs(.)195 558 y(The)h(default)g(v)m(alue)
-h(of)e Fr(rl_catch_sigwinch)f Fs(is)i(1.)137 658 y(If)h(an)f
-(application)g(do)q(es)g(not)g(wish)h(to)e(ha)o(v)o(e)h(Readline)h
-(catc)o(h)g(an)o(y)f(signals,)f(or)h(to)f(handle)i(signals)75
-713 y(other)j(than)g(those)g(Readline)h(catc)o(hes)f(\()p
-Fr(SIGHUP)p Fs(,)g(for)g(example\),)g(Readline)h(pro)o(vides)e(con)o(v)
-o(enience)75 768 y(functions)d(to)g(do)g(the)g(necessary)g(terminal)f
-(and)i(in)o(ternal)e(state)g(clean)o(up)h(up)q(on)h(receipt)f(of)g(a)g
-(signal.)1675 869 y([F)l(unction])-1801 b Fg(void)27
-b(rl_cleanup_after_signal)f Ff(\()p Fi(v)o(oid)p Ff(\))195
-924 y Fs(This)17 b(function)f(will)g(reset)h(the)g(state)f(of)g(the)h
-(terminal)f(to)g(what)h(it)f(w)o(as)g(b)q(efore)h Fr(readline\(\))195
-978 y Fs(w)o(as)d(called,)g(and)h(remo)o(v)o(e)f(the)g(Readline)h
-(signal)f(handlers)h(for)f(all)f(signals,)g(dep)q(ending)j(on)f(the)195
-1033 y(v)m(alues)g(of)g Fr(rl_catch_signals)e Fs(and)i
-Fr(rl_catch_sigwinch)p Fs(.)1675 1134 y([F)l(unction])-1801
-b Fg(void)27 b(rl_free_line_state)e Ff(\()p Fi(v)o(oid)p
-Ff(\))195 1189 y Fs(This)19 b(will)f(free)i(an)o(y)f(partial)f(state)h
-(asso)q(ciated)g(with)g(the)h(curren)o(t)f(input)h(line)f(\(undo)h
-(infor-)195 1244 y(mation,)h(an)o(y)g(partial)f(history)g(en)o(try)l(,)
-i(an)o(y)f(partially-en)o(tered)f(k)o(eyb)q(oard)h(macro,)h(and)f(an)o
-(y)195 1298 y(partially-en)o(tered)h(n)o(umeric)i(argumen)o(t\).)45
-b(This)23 b(should)h(b)q(e)h(called)e(b)q(efore)i Fr(rl_cleanup_)195
-1353 y(after_signal\(\))p Fs(.)36 b(The)22 b(Readline)g(signal)e
-(handler)h(for)g Fr(SIGINT)f Fs(calls)h(this)f(to)h(ab)q(ort)g(the)195
-1408 y(curren)o(t)15 b(input)g(line.)1675 1509 y([F)l(unction])-1801
+g Fr(SIGINT)p Fs(,)f Fr(SIGQUIT)p Fs(,)195 957 y Fr(SIGTERM)p
+Fs(,)h Fr(SIGHUP)p Fs(,)g Fr(SIGALRM)p Fs(,)g Fr(SIGTSTP)p
+Fs(,)f Fr(SIGTTIN)p Fs(,)h(and)i Fr(SIGTTOU)p Fs(.)195
+1022 y(The)f(default)g(v)m(alue)h(of)e Fr(rl_catch_signals)f
+Fs(is)i(1.)1685 1107 y([V)l(ariable])-1801 b Fg(int)27
+b(rl_catch_sigwinch)195 1162 y Fs(If)15 b(this)g(v)m(ariable)g(is)f
+(non-zero,)h(Readline)h(will)e(install)f(a)i(signal)f(handler)i(for)e
+Fr(SIGWINCH)p Fs(.)195 1227 y(The)h(default)g(v)m(alue)h(of)e
+Fr(rl_catch_sigwinch)f Fs(is)i(1.)137 1312 y(If)h(an)f(application)g
+(do)q(es)g(not)g(wish)h(to)e(ha)o(v)o(e)h(Readline)h(catc)o(h)g(an)o(y)
+f(signals,)f(or)h(to)f(handle)i(signals)75 1367 y(other)j(than)g(those)
+g(Readline)h(catc)o(hes)f(\()p Fr(SIGHUP)p Fs(,)g(for)g(example\),)g
+(Readline)h(pro)o(vides)e(con)o(v)o(enience)75 1422 y(functions)d(to)g
+(do)g(the)g(necessary)g(terminal)f(and)i(in)o(ternal)e(state)g(clean)o
+(up)h(up)q(on)h(receipt)f(of)g(a)g(signal.)1675 1507
+y([F)l(unction])-1801 b Fg(void)27 b(rl_cleanup_after_signal)f
+Ff(\()p Fi(v)o(oid)p Ff(\))195 1562 y Fs(This)17 b(function)f(will)g
+(reset)h(the)g(state)f(of)g(the)h(terminal)f(to)g(what)h(it)f(w)o(as)g
+(b)q(efore)h Fr(readline\(\))195 1617 y Fs(w)o(as)d(called,)g(and)h
+(remo)o(v)o(e)f(the)g(Readline)h(signal)f(handlers)h(for)f(all)f
+(signals,)g(dep)q(ending)j(on)f(the)195 1672 y(v)m(alues)g(of)g
+Fr(rl_catch_signals)e Fs(and)i Fr(rl_catch_sigwinch)p
+Fs(.)1675 1757 y([F)l(unction])-1801 b Fg(void)27 b(rl_free_line_state)
+e Ff(\()p Fi(v)o(oid)p Ff(\))195 1812 y Fs(This)19 b(will)f(free)i(an)o
+(y)f(partial)f(state)h(asso)q(ciated)g(with)g(the)h(curren)o(t)f(input)
+h(line)f(\(undo)h(infor-)195 1866 y(mation,)h(an)o(y)g(partial)f
+(history)g(en)o(try)l(,)i(an)o(y)f(partially-en)o(tered)f(k)o(eyb)q
+(oard)h(macro,)h(and)f(an)o(y)195 1921 y(partially-en)o(tered)h(n)o
+(umeric)i(argumen)o(t\).)45 b(This)23 b(should)h(b)q(e)h(called)e(b)q
+(efore)i Fr(rl_cleanup_)195 1976 y(after_signal\(\))p
+Fs(.)36 b(The)22 b(Readline)g(signal)e(handler)h(for)g
+Fr(SIGINT)f Fs(calls)h(this)f(to)h(ab)q(ort)g(the)195
+2031 y(curren)o(t)15 b(input)g(line.)1675 2116 y([F)l(unction])-1801
 b Fg(void)27 b(rl_reset_after_signal)f Ff(\()p Fi(v)o(oid)p
-Ff(\))195 1563 y Fs(This)14 b(will)f(reinitialize)f(the)i(terminal)f
+Ff(\))195 2171 y Fs(This)14 b(will)f(reinitialize)f(the)i(terminal)f
 (and)i(reinstall)e(an)o(y)g(Readline)i(signal)e(handlers,)h(dep)q(end-)
-195 1618 y(ing)h(on)g(the)g(v)m(alues)h(of)e Fr(rl_catch_signals)f
-Fs(and)j Fr(rl_catch_sigwinch)p Fs(.)137 1719 y(If)k(an)g(application)e
+195 2226 y(ing)h(on)g(the)g(v)m(alues)h(of)e Fr(rl_catch_signals)f
+Fs(and)j Fr(rl_catch_sigwinch)p Fs(.)137 2311 y(If)k(an)g(application)e
 (do)q(es)i(not)g(wish)f(Readline)h(to)f(catc)o(h)g Fr(SIGWINCH)p
-Fs(,)h(it)f(ma)o(y)g(call)f Fr(rl_resize_)75 1774 y(terminal\(\))12
+Fs(,)h(it)f(ma)o(y)g(call)f Fr(rl_resize_)75 2366 y(terminal\(\))12
 b Fs(or)h Fr(rl_set_screen_size\(\))e Fs(to)i(force)g(Readline)h(to)f
-(up)q(date)h(its)f(idea)g(of)h(the)f(terminal)75 1829
+(up)q(date)h(its)f(idea)g(of)h(the)f(terminal)75 2420
 y(size)i(when)h(a)f Fr(SIGWINCH)f Fs(is)g(receiv)o(ed.)1675
-1929 y([F)l(unction])-1801 b Fg(void)27 b(rl_echo_signal_char)e
-Ff(\()p Fi(in)o(t)14 b(sig)p Ff(\))195 1984 y Fs(If)22
+2506 y([F)l(unction])-1801 b Fg(void)27 b(rl_echo_signal_char)e
+Ff(\()p Fi(in)o(t)14 b(sig)p Ff(\))195 2560 y Fs(If)22
 b(an)g(application)e(wishes)i(to)f(install)f(its)h(o)o(wn)g(signal)g
 (handlers,)i(but)f(still)e(ha)o(v)o(e)h(readline)195
-2039 y(displa)o(y)14 b(c)o(haracters)h(that)f(generate)h(signals,)f
+2615 y(displa)o(y)14 b(c)o(haracters)h(that)f(generate)h(signals,)f
 (calling)g(this)h(function)g(with)f Fi(sig)19 b Fs(set)c(to)f
-Fr(SIGINT)p Fs(,)195 2094 y Fr(SIGQUIT)p Fs(,)g(or)h
+Fr(SIGINT)p Fs(,)195 2670 y Fr(SIGQUIT)p Fs(,)g(or)h
 Fr(SIGTSTP)f Fs(will)g(displa)o(y)g(the)h(c)o(haracter)g(generating)f
-(that)g(signal.)1675 2194 y([F)l(unction])-1801 b Fg(void)27
-b(rl_resize_terminal)e Ff(\()p Fi(v)o(oid)p Ff(\))195
-2249 y Fs(Up)q(date)16 b(Readline's)f(in)o(ternal)f(screen)h(size)h(b)o
-(y)f(reading)f(v)m(alues)i(from)e(the)i(k)o(ernel.)1675
-2350 y([F)l(unction])-1801 b Fg(void)27 b(rl_set_screen_size)e
+(that)g(signal.)p eop end
+%%Page: 45 49
+TeXDict begin 45 48 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(45)1675 149 y([F)l(unction])-1801
+b Fg(void)27 b(rl_resize_terminal)e Ff(\()p Fi(v)o(oid)p
+Ff(\))195 204 y Fs(Up)q(date)16 b(Readline's)f(in)o(ternal)f(screen)h
+(size)h(b)o(y)f(reading)f(v)m(alues)i(from)e(the)i(k)o(ernel.)1675
+297 y([F)l(unction])-1801 b Fg(void)27 b(rl_set_screen_size)e
 Ff(\()p Fi(in)o(t)14 b(ro)o(ws,)g(in)o(t)h(cols)p Ff(\))195
-2405 y Fs(Set)f(Readline's)g(idea)g(of)g(the)g(terminal)f(size)h(to)f
+351 y Fs(Set)f(Readline's)g(idea)g(of)g(the)g(terminal)f(size)h(to)f
 Fi(ro)o(ws)i Fs(ro)o(ws)e(and)h Fi(cols)i Fs(columns.)j(If)14
-b(either)g Fi(ro)o(ws)195 2460 y Fs(or)j Fi(columns)i
+b(either)g Fi(ro)o(ws)195 406 y Fs(or)j Fi(columns)i
 Fs(is)e(less)h(than)f(or)g(equal)h(to)e(0,)i(Readline's)f(idea)h(of)f
-(that)g(terminal)f(dimension)h(is)195 2514 y(unc)o(hanged.)137
-2615 y(If)g(an)g(application)e(do)q(es)i(not)f(w)o(an)o(t)g(to)g
+(that)g(terminal)f(dimension)h(is)195 461 y(unc)o(hanged.)137
+553 y(If)g(an)g(application)e(do)q(es)i(not)f(w)o(an)o(t)g(to)g
 (install)f(a)i Fr(SIGWINCH)e Fs(handler,)i(but)g(is)f(still)f(in)o
-(terested)h(in)75 2670 y(the)f(screen)h(dimensions,)e(Readline's)i
-(idea)e(of)h(the)h(screen)f(size)g(ma)o(y)g(b)q(e)h(queried.)p
-eop end
-%%Page: 43 47
-TeXDict begin 43 46 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(43)1675 149 y([F)l(unction])-1801
-b Fg(void)27 b(rl_get_screen_size)e Ff(\()p Fi(in)o(t)14
-b(*ro)o(ws,)g(in)o(t)g(*cols)p Ff(\))195 204 y Fs(Return)i(Readline's)f
-(idea)f(of)h(the)g(terminal's)e(size)i(in)g(the)g(v)m(ariables)g(p)q
-(oin)o(ted)g(to)f(b)o(y)h(the)g(argu-)195 259 y(men)o(ts.)1675
-348 y([F)l(unction])-1801 b Fg(void)27 b(rl_reset_screen_size)f
-Ff(\()p Fi(v)o(oid)p Ff(\))195 403 y Fs(Cause)15 b(Readline)h(to)e
-(reobtain)h(the)g(screen)h(size)f(and)g(recalculate)f(its)h
-(dimensions.)137 492 y(The)h(follo)o(wing)d(functions)i(install)e(and)j
-(remo)o(v)o(e)e(Readline's)h(signal)f(handlers.)1675
-581 y([F)l(unction])-1801 b Fg(int)27 b(rl_set_signals)d
-Ff(\()p Fi(v)o(oid)p Ff(\))195 636 y Fs(Install)17 b(Readline's)g
-(signal)g(handler)g(for)g Fr(SIGINT)p Fs(,)g Fr(SIGQUIT)p
-Fs(,)g Fr(SIGTERM)p Fs(,)g Fr(SIGALRM)p Fs(,)f Fr(SIGTSTP)p
-Fs(,)195 691 y Fr(SIGTTIN)p Fs(,)11 b Fr(SIGTTOU)p Fs(,)g(and)h
-Fr(SIGWINCH)p Fs(,)e(dep)q(ending)j(on)f(the)f(v)m(alues)h(of)f
-Fr(rl_catch_signals)f Fs(and)195 746 y Fr(rl_catch_sigwinch)p
-Fs(.)1675 835 y([F)l(unction])-1801 b Fg(int)27 b(rl_clear_signals)e
-Ff(\()p Fi(v)o(oid)p Ff(\))195 889 y Fs(Remo)o(v)o(e)15
+(terested)h(in)75 608 y(the)f(screen)h(dimensions,)e(Readline's)i(idea)
+e(of)h(the)h(screen)f(size)g(ma)o(y)g(b)q(e)h(queried.)1675
+701 y([F)l(unction])-1801 b Fg(void)27 b(rl_get_screen_size)e
+Ff(\()p Fi(in)o(t)14 b(*ro)o(ws,)g(in)o(t)g(*cols)p Ff(\))195
+755 y Fs(Return)i(Readline's)f(idea)f(of)h(the)g(terminal's)e(size)i
+(in)g(the)g(v)m(ariables)g(p)q(oin)o(ted)g(to)f(b)o(y)h(the)g(argu-)195
+810 y(men)o(ts.)1675 903 y([F)l(unction])-1801 b Fg(void)27
+b(rl_reset_screen_size)f Ff(\()p Fi(v)o(oid)p Ff(\))195
+957 y Fs(Cause)15 b(Readline)h(to)e(reobtain)h(the)g(screen)h(size)f
+(and)g(recalculate)f(its)h(dimensions.)137 1050 y(The)h(follo)o(wing)d
+(functions)i(install)e(and)j(remo)o(v)o(e)e(Readline's)h(signal)f
+(handlers.)1675 1142 y([F)l(unction])-1801 b Fg(int)27
+b(rl_set_signals)d Ff(\()p Fi(v)o(oid)p Ff(\))195 1197
+y Fs(Install)19 b(Readline's)h(signal)f(handler)h(for)f
+Fr(SIGINT)p Fs(,)h Fr(SIGQUIT)p Fs(,)g Fr(SIGTERM)p Fs(,)f
+Fr(SIGHUP)p Fs(,)h Fr(SIGALRM)p Fs(,)195 1252 y Fr(SIGTSTP)p
+Fs(,)d Fr(SIGTTIN)p Fs(,)g Fr(SIGTTOU)p Fs(,)g(and)g
+Fr(SIGWINCH)p Fs(,)g(dep)q(ending)i(on)f(the)f(v)m(alues)h(of)f
+Fr(rl_catch_)195 1306 y(signals)d Fs(and)i Fr(rl_catch_sigwinch)p
+Fs(.)1675 1399 y([F)l(unction])-1801 b Fg(int)27 b(rl_clear_signals)e
+Ff(\()p Fi(v)o(oid)p Ff(\))195 1454 y Fs(Remo)o(v)o(e)15
 b(all)f(of)h(the)g(Readline)h(signal)e(handlers)h(installed)f(b)o(y)h
-Fr(rl_set_signals\(\))p Fs(.)75 1004 y Fq(2.6)33 b(Custom)21
-b(Completers)75 1083 y Fs(T)o(ypically)l(,)g(a)g(program)f(that)h
+Fr(rl_set_signals\(\))p Fs(.)75 1570 y Fq(2.6)33 b(Custom)21
+b(Completers)75 1650 y Fs(T)o(ypically)l(,)g(a)g(program)f(that)h
 (reads)g(commands)g(from)g(the)g(user)h(has)f(a)g(w)o(a)o(y)f(of)h
-(disam)o(biguating)75 1138 y(commands)d(and)f(data.)27
+(disam)o(biguating)75 1705 y(commands)d(and)f(data.)27
 b(If)18 b(y)o(our)f(program)g(is)g(one)h(of)f(these,)i(then)f(it)f(can)
-g(pro)o(vide)h(completion)f(for)75 1193 y(commands,)d(data,)g(or)g(b)q
+g(pro)o(vide)h(completion)f(for)75 1759 y(commands,)d(data,)g(or)g(b)q
 (oth.)20 b(The)15 b(follo)o(wing)d(sections)i(describ)q(e)h(ho)o(w)f(y)
-o(our)g(program)g(and)h(Readline)75 1248 y(co)q(op)q(erate)g(to)g(pro)o
-(vide)f(this)h(service.)75 1345 y Fh(2.6.1)30 b(Ho)n(w)21
-b(Completing)f(W)-5 b(orks)75 1419 y Fs(In)14 b(order)f(to)f(complete)h
+o(our)g(program)g(and)h(Readline)75 1814 y(co)q(op)q(erate)g(to)g(pro)o
+(vide)f(this)h(service.)75 1914 y Fh(2.6.1)30 b(Ho)n(w)21
+b(Completing)f(W)-5 b(orks)75 1987 y Fs(In)14 b(order)f(to)f(complete)h
 (some)g(text,)g(the)g(full)f(list)g(of)h(p)q(ossible)g(completions)f(m)
-o(ust)h(b)q(e)h(a)o(v)m(ailable.)k(That)75 1474 y(is,)13
+o(ust)h(b)q(e)h(a)o(v)m(ailable.)k(That)75 2042 y(is,)13
 b(it)g(is)g(not)g(p)q(ossible)g(to)g(accurately)f(expand)j(a)e(partial)
 f(w)o(ord)g(without)h(kno)o(wing)f(all)h(of)g(the)g(p)q(ossible)75
-1528 y(w)o(ords)j(whic)o(h)g(mak)o(e)g(sense)h(in)g(that)f(con)o(text.)
+2097 y(w)o(ords)j(whic)o(h)g(mak)o(e)g(sense)h(in)g(that)f(con)o(text.)
 23 b(The)17 b(Readline)g(library)e(pro)o(vides)h(the)h(user)g(in)o
-(terface)75 1583 y(to)d(completion,)f(and)h(t)o(w)o(o)f(of)h(the)g
+(terface)75 2152 y(to)d(completion,)f(and)h(t)o(w)o(o)f(of)h(the)g
 (most)f(common)h(completion)f(functions:)19 b(\014lename)c(and)f
-(username.)75 1638 y(F)l(or)k(completing)h(other)f(t)o(yp)q(es)h(of)g
+(username.)75 2207 y(F)l(or)k(completing)h(other)f(t)o(yp)q(es)h(of)g
 (text,)g(y)o(ou)g(m)o(ust)f(write)g(y)o(our)h(o)o(wn)f(completion)g
-(function.)31 b(This)75 1693 y(section)15 b(describ)q(es)h(exactly)e
+(function.)31 b(This)75 2261 y(section)15 b(describ)q(es)h(exactly)e
 (what)h(suc)o(h)g(functions)g(m)o(ust)g(do,)g(and)g(pro)o(vides)g(an)g
-(example.)137 1759 y(There)h(are)f(three)g(ma)s(jor)f(functions)h(used)
-g(to)g(p)q(erform)g(completion:)100 1825 y(1.)29 b(The)22
+(example.)137 2329 y(There)h(are)f(three)g(ma)s(jor)f(functions)h(used)
+g(to)g(p)q(erform)g(completion:)100 2396 y(1.)29 b(The)22
 b(user-in)o(terface)f(function)h Fr(rl_complete\(\))p
 Fs(.)37 b(This)22 b(function)f(is)g(called)g(with)g(the)h(same)165
-1880 y(argumen)o(ts)17 b(as)g(other)g(bindable)h(Readline)f(functions:)
+2451 y(argumen)o(ts)17 b(as)g(other)g(bindable)h(Readline)f(functions:)
 25 b Fi(coun)o(t)18 b Fs(and)g Fi(in)o(v)o(oking)p 1553
-1880 14 2 v 18 w(k)o(ey)t Fs(.)27 b(It)18 b(isolates)165
-1935 y(the)h(w)o(ord)f(to)g(b)q(e)i(completed)e(and)h(calls)f
+2451 14 2 v 18 w(k)o(ey)t Fs(.)27 b(It)18 b(isolates)165
+2506 y(the)h(w)o(ord)f(to)g(b)q(e)i(completed)e(and)h(calls)f
 Fr(rl_completion_matches\(\))e Fs(to)i(generate)g(a)h(list)e(of)165
-1990 y(p)q(ossible)e(completions.)20 b(It)c(then)g(either)f(lists)f
+2560 y(p)q(ossible)e(completions.)20 b(It)c(then)g(either)f(lists)f
 (the)i(p)q(ossible)f(completions,)g(inserts)g(the)g(p)q(ossible)165
-2044 y(completions,)23 b(or)f(actually)g(p)q(erforms)g(the)g
+2615 y(completions,)23 b(or)f(actually)g(p)q(erforms)g(the)g
 (completion,)i(dep)q(ending)f(on)g(whic)o(h)f(b)q(eha)o(vior)g(is)165
-2099 y(desired.)100 2165 y(2.)29 b(The)17 b(in)o(ternal)f(function)g
-Fr(rl_completion_matches\(\))e Fs(uses)j(an)g(application-supplied)f
-Fi(gener-)165 2220 y(ator)21 b Fs(function)d(to)g(generate)g(the)h
-(list)e(of)h(p)q(ossible)g(matc)o(hes,)h(and)f(then)h(returns)g(the)f
-(arra)o(y)f(of)165 2275 y(these)j(matc)o(hes.)32 b(The)20
-b(caller)e(should)i(place)f(the)h(address)f(of)h(its)e(generator)h
-(function)g(in)g Fr(rl_)165 2330 y(completion_entry_function)p
-Fs(.)100 2396 y(3.)29 b(The)12 b(generator)e(function)h(is)g(called)g
-(rep)q(eatedly)h(from)f Fr(rl_completion_matches\(\))p
-Fs(,)d(returning)165 2451 y(a)16 b(string)f(eac)o(h)i(time.)22
-b(The)17 b(argumen)o(ts)e(to)h(the)g(generator)f(function)h(are)g
-Fi(text)h Fs(and)g Fi(state)s Fs(.)k Fi(text)165 2506
-y Fs(is)16 b(the)g(partial)e(w)o(ord)h(to)h(b)q(e)h(completed.)22
-b Fi(state)c Fs(is)d(zero)h(the)g(\014rst)g(time)f(the)h(function)g(is)
-g(called,)165 2560 y(allo)o(wing)k(the)i(generator)f(to)g(p)q(erform)h
-(an)o(y)g(necessary)g(initializatio)o(n,)f(and)h(a)g(p)q(ositiv)o(e)f
-(non-)165 2615 y(zero)14 b(in)o(teger)g(for)g(eac)o(h)h(subsequen)o(t)g
-(call.)k(The)c(generator)e(function)i(returns)f Fr(\(char)h(*\)NULL)f
-Fs(to)165 2670 y(inform)k Fr(rl_completion_matches\(\))e
-Fs(that)i(there)h(are)g(no)g(more)g(p)q(ossibilities)e(left.)31
-b(Usually)p eop end
-%%Page: 44 48
-TeXDict begin 44 47 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(44)165 149 y(the)19 b(generator)g
+2670 y(desired.)p eop end
+%%Page: 46 50
+TeXDict begin 46 49 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(46)100 149 y(2.)29 b(The)17
+b(in)o(ternal)f(function)g Fr(rl_completion_matches\(\))e
+Fs(uses)j(an)g(application-supplied)f Fi(gener-)165 204
+y(ator)21 b Fs(function)d(to)g(generate)g(the)h(list)e(of)h(p)q
+(ossible)g(matc)o(hes,)h(and)f(then)h(returns)g(the)f(arra)o(y)f(of)165
+259 y(these)j(matc)o(hes.)32 b(The)20 b(caller)e(should)i(place)f(the)h
+(address)f(of)h(its)e(generator)h(function)g(in)g Fr(rl_)165
+314 y(completion_entry_function)p Fs(.)100 382 y(3.)29
+b(The)12 b(generator)e(function)h(is)g(called)g(rep)q(eatedly)h(from)f
+Fr(rl_completion_matches\(\))p Fs(,)d(returning)165 436
+y(a)16 b(string)f(eac)o(h)i(time.)22 b(The)17 b(argumen)o(ts)e(to)h
+(the)g(generator)f(function)h(are)g Fi(text)h Fs(and)g
+Fi(state)s Fs(.)k Fi(text)165 491 y Fs(is)16 b(the)g(partial)e(w)o(ord)
+h(to)h(b)q(e)h(completed.)22 b Fi(state)c Fs(is)d(zero)h(the)g(\014rst)
+g(time)f(the)h(function)g(is)g(called,)165 546 y(allo)o(wing)k(the)i
+(generator)f(to)g(p)q(erform)h(an)o(y)g(necessary)g(initializatio)o(n,)
+f(and)h(a)g(p)q(ositiv)o(e)f(non-)165 601 y(zero)14 b(in)o(teger)g(for)
+g(eac)o(h)h(subsequen)o(t)g(call.)k(The)c(generator)e(function)i
+(returns)f Fr(\(char)h(*\)NULL)f Fs(to)165 656 y(inform)k
+Fr(rl_completion_matches\(\))e Fs(that)i(there)h(are)g(no)g(more)g(p)q
+(ossibilities)e(left.)31 b(Usually)165 710 y(the)19 b(generator)g
 (function)g(computes)h(the)f(list)f(of)h(p)q(ossible)g(completions)g
-(when)g Fi(state)j Fs(is)c(zero,)165 204 y(and)13 b(returns)g(them)f
+(when)g Fi(state)j Fs(is)c(zero,)165 765 y(and)13 b(returns)g(them)f
 (one)h(at)f(a)h(time)f(on)h(subsequen)o(t)g(calls.)18
 b(Eac)o(h)13 b(string)e(the)i(generator)f(function)165
-259 y(returns)k(as)f(a)h(matc)o(h)f(m)o(ust)h(b)q(e)g(allo)q(cated)f
+820 y(returns)k(as)f(a)h(matc)o(h)f(m)o(ust)h(b)q(e)g(allo)q(cated)f
 (with)h Fr(malloc\(\))p Fs(;)e(Readline)j(frees)f(the)g(strings)e(when)
-165 314 y(it)i(has)h(\014nished)h(with)e(them.)25 b(Suc)o(h)18
+165 875 y(it)i(has)h(\014nished)h(with)e(them.)25 b(Suc)o(h)18
 b(a)e(generator)g(function)h(is)f(referred)h(to)g(as)f(an)h
-Fi(application-)165 369 y(sp)q(eci\014c)f(completion)e(function)p
-Fs(.)1675 461 y([F)l(unction])-1801 b Fg(int)27 b(rl_complete)d
+Fi(application-)165 930 y(sp)q(eci\014c)f(completion)e(function)p
+Fs(.)1675 1024 y([F)l(unction])-1801 b Fg(int)27 b(rl_complete)d
 Ff(\()p Fi(in)o(t)14 b(ignore,)g(in)o(t)h(in)o(v)o(oking)p
-967 461 14 2 v 18 w(k)o(ey)p Ff(\))195 516 y Fs(Complete)g(the)g(w)o
+967 1024 14 2 v 18 w(k)o(ey)p Ff(\))195 1078 y Fs(Complete)g(the)g(w)o
 (ord)g(at)f(or)h(b)q(efore)h(p)q(oin)o(t.)k(Y)l(ou)15
 b(ha)o(v)o(e)g(supplied)h(the)f(function)h(that)e(do)q(es)i(the)195
-571 y(initial)j(simple)h(matc)o(hing)f(selection)h(algorithm)f(\(see)h
-Fr(rl_completion_matches\(\))p Fs(\).)33 b(The)195 626
+1133 y(initial)j(simple)h(matc)o(hing)f(selection)h(algorithm)f(\(see)h
+Fr(rl_completion_matches\(\))p Fs(\).)33 b(The)195 1188
 y(default)15 b(is)f(to)h(do)g(\014lename)g(completion.)1685
-718 y([V)l(ariable])-1801 b Fg(rl_compentry_func_t)29
-b(*)d(rl_completion_entry_f)q(unction)195 773 y Fs(This)20
+1282 y([V)l(ariable])-1801 b Fg(rl_compentry_func_t)29
+b(*)d(rl_completion_entry_f)q(unction)195 1337 y Fs(This)20
 b(is)f(a)h(p)q(oin)o(ter)f(to)g(the)h(generator)g(function)f(for)h
 Fr(rl_completion_matches\(\))p Fs(.)31 b(If)20 b(the)195
-828 y(v)m(alue)12 b(of)g Fr(rl_completion_entry_fun)o(ction)d
+1392 y(v)m(alue)12 b(of)g Fr(rl_completion_entry_fun)o(ction)d
 Fs(is)i Fr(NULL)g Fs(then)h(the)g(default)g(\014lename)g(generator)195
-883 y(function,)24 b Fr(rl_filename_completion_f)o(unction\()o(\))p
+1446 y(function,)24 b Fr(rl_filename_completion_f)o(unction\()o(\))p
 Fs(,)d(is)h(used.)42 b(An)23 b Fi(application-sp)q(eci\014c)195
-937 y(completion)10 b(function)g Fs(is)g(a)g(function)h(whose)f
+1501 y(completion)10 b(function)g Fs(is)g(a)g(function)h(whose)f
 (address)h(is)f(assigned)g(to)g Fr(rl_completion_entry_)195
-992 y(function)k Fs(and)h(whose)h(return)f(v)m(alues)g(are)g(used)h(to)
-e(generate)h(p)q(ossible)g(completions.)75 1092 y Fh(2.6.2)30
-b(Completion)20 b(F)-5 b(unctions)75 1166 y Fs(Here)15
-b(is)g(the)g(complete)g(list)f(of)h(callable)f(completion)h(functions)g
-(presen)o(t)g(in)g(Readline.)1675 1258 y([F)l(unction])-1801
-b Fg(int)27 b(rl_complete_internal)e Ff(\()p Fi(in)o(t)14
-b(what)p 914 1258 V 20 w(to)p 975 1258 V 19 w(do)p Ff(\))195
-1313 y Fs(Complete)k(the)g(w)o(ord)g(at)f(or)h(b)q(efore)h(p)q(oin)o
-(t.)28 b Fi(what)p 1104 1313 V 20 w(to)p 1165 1313 V
+1556 y(function)k Fs(and)h(whose)h(return)f(v)m(alues)g(are)g(used)h
+(to)e(generate)h(p)q(ossible)g(completions.)75 1657 y
+Fh(2.6.2)30 b(Completion)20 b(F)-5 b(unctions)75 1730
+y Fs(Here)15 b(is)g(the)g(complete)g(list)f(of)h(callable)f(completion)
+h(functions)g(presen)o(t)g(in)g(Readline.)1675 1824 y([F)l(unction])
+-1801 b Fg(int)27 b(rl_complete_internal)e Ff(\()p Fi(in)o(t)14
+b(what)p 914 1824 V 20 w(to)p 975 1824 V 19 w(do)p Ff(\))195
+1879 y Fs(Complete)k(the)g(w)o(ord)g(at)f(or)h(b)q(efore)h(p)q(oin)o
+(t.)28 b Fi(what)p 1104 1879 V 20 w(to)p 1165 1879 V
 19 w(do)21 b Fs(sa)o(ys)c(what)h(to)g(do)g(with)g(the)g(com-)195
-1368 y(pletion.)i(A)c(v)m(alue)g(of)f(`)p Fr(?)p Fs(')g(means)g(list)g
+1934 y(pletion.)i(A)c(v)m(alue)g(of)f(`)p Fr(?)p Fs(')g(means)g(list)g
 (the)g(p)q(ossible)h(completions.)k(`)p Fr(TAB)p Fs(')14
-b(means)i(do)f(standard)195 1423 y(completion.)20 b(`)p
+b(means)i(do)f(standard)195 1989 y(completion.)20 b(`)p
 Fr(*)p Fs(')15 b(means)g(insert)g(all)g(of)g(the)h(p)q(ossible)f
 (completions.)20 b(`)p Fr(!)p Fs(')15 b(means)g(to)g(displa)o(y)g(all)
-195 1477 y(of)i(the)g(p)q(ossible)g(completions,)f(if)h(there)g(is)g
+195 2043 y(of)i(the)g(p)q(ossible)g(completions,)f(if)h(there)g(is)g
 (more)g(than)g(one,)g(as)g(w)o(ell)f(as)h(p)q(erforming)g(partial)195
-1532 y(completion.)h(`)p Fr(@)p Fs(')13 b(is)g(similar)f(to)h(`)p
+2098 y(completion.)h(`)p Fr(@)p Fs(')13 b(is)g(similar)f(to)h(`)p
 Fr(!)p Fs(',)g(but)h(p)q(ossible)f(completions)g(are)g(not)g(listed)g
-(if)g(the)h(p)q(ossible)195 1587 y(completions)g(share)h(a)g(common)g
-(pre\014x.)1675 1680 y([F)l(unction])-1801 b Fg(int)27
+(if)g(the)h(p)q(ossible)195 2153 y(completions)g(share)h(a)g(common)g
+(pre\014x.)1675 2247 y([F)l(unction])-1801 b Fg(int)27
 b(rl_complete)d Ff(\()p Fi(in)o(t)14 b(ignore,)g(in)o(t)h(in)o(v)o
-(oking)p 967 1680 V 18 w(k)o(ey)p Ff(\))195 1734 y Fs(Complete)20
+(oking)p 967 2247 V 18 w(k)o(ey)p Ff(\))195 2302 y Fs(Complete)20
 b(the)h(w)o(ord)e(at)h(or)g(b)q(efore)h(p)q(oin)o(t.)36
 b(Y)l(ou)21 b(ha)o(v)o(e)f(supplied)h(the)f(function)h(that)f(do)q(es)
-195 1789 y(the)d(initial)d(simple)i(matc)o(hing)g(selection)g
+195 2357 y(the)d(initial)d(simple)i(matc)o(hing)g(selection)g
 (algorithm)e(\(see)i Fr(rl_completion_matches\(\))e Fs(and)195
-1844 y Fr(rl_completion_entry_functi)o(on)p Fs(\).)25
+2412 y Fr(rl_completion_entry_functi)o(on)p Fs(\).)25
 b(The)18 b(default)g(is)f(to)g(do)h(\014lename)g(completion.)27
-b(This)195 1899 y(calls)14 b Fr(rl_complete_internal\(\))e
+b(This)195 2466 y(calls)14 b Fr(rl_complete_internal\(\))e
 Fs(with)j(an)g(argumen)o(t)f(dep)q(ending)j(on)e Fi(in)o(v)o(oking)p
-1659 1899 V 19 w(k)o(ey)t Fs(.)1675 1992 y([F)l(unction])-1801
+1659 2466 V 19 w(k)o(ey)t Fs(.)1675 2560 y([F)l(unction])-1801
 b Fg(int)27 b(rl_possible_completions)f Ff(\()p Fi(in)o(t)14
-b(coun)o(t,)h(in)o(t)f(in)o(v)o(oking)p 1269 1992 V 19
-w(k)o(ey)p Ff(\))195 2046 y Fs(List)20 b(the)g(p)q(ossible)g
+b(coun)o(t,)h(in)o(t)f(in)o(v)o(oking)p 1269 2560 V 19
+w(k)o(ey)p Ff(\))195 2615 y Fs(List)20 b(the)g(p)q(ossible)g
 (completions.)34 b(See)21 b(description)f(of)g Fr(rl_complete)13
-b(\(\))p Fs(.)35 b(This)20 b(calls)f Fr(rl_)195 2101
+b(\(\))p Fs(.)35 b(This)20 b(calls)f Fr(rl_)195 2670
 y(complete_internal\(\))13 b Fs(with)h(an)h(argumen)o(t)g(of)f(`)p
-Fr(?)p Fs('.)1675 2194 y([F)l(unction])-1801 b Fg(int)27
-b(rl_insert_completions)f Ff(\()p Fi(in)o(t)14 b(coun)o(t,)g(in)o(t)h
-(in)o(v)o(oking)p 1217 2194 V 18 w(k)o(ey)p Ff(\))195
-2249 y Fs(Insert)i(the)g(list)f(of)g(p)q(ossible)h(completions)e(in)o
-(to)h(the)h(line,)g(deleting)f(the)h(partially-completed)195
-2303 y(w)o(ord.)k(See)c(description)e(of)g Fr(rl_complete\(\))p
-Fs(.)20 b(This)c(calls)f Fr(rl_complete_internal\(\))e
-Fs(with)195 2358 y(an)i(argumen)o(t)g(of)f(`)p Fr(*)p
-Fs('.)1675 2451 y([F)l(unction])-1801 b Fg(int)27 b(rl_completion_mode)
-e Ff(\()p Fi(rl)p 725 2451 V 19 w(command)p 936 2451
-V 20 w(func)p 1040 2451 V 21 w(t)15 b(*cfunc)p Ff(\))195
-2506 y Fs(Returns)26 b(the)f(apppriate)g(v)m(alue)g(to)g(pass)g(to)f
-Fr(rl_complete_internal\(\))f Fs(dep)q(ending)j(on)195
-2560 y(whether)21 b Fi(cfunc)i Fs(w)o(as)d(called)g(t)o(wice)g(in)g
+Fr(?)p Fs('.)p eop end
+%%Page: 47 51
+TeXDict begin 47 50 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(47)1675 149 y([F)l(unction])-1801
+b Fg(int)27 b(rl_insert_completions)f Ff(\()p Fi(in)o(t)14
+b(coun)o(t,)g(in)o(t)h(in)o(v)o(oking)p 1217 149 14 2
+v 18 w(k)o(ey)p Ff(\))195 204 y Fs(Insert)i(the)g(list)f(of)g(p)q
+(ossible)h(completions)e(in)o(to)h(the)h(line,)g(deleting)f(the)h
+(partially-completed)195 259 y(w)o(ord.)k(See)c(description)e(of)g
+Fr(rl_complete\(\))p Fs(.)20 b(This)c(calls)f Fr
+(rl_complete_internal\(\))e Fs(with)195 314 y(an)i(argumen)o(t)g(of)f
+(`)p Fr(*)p Fs('.)1675 404 y([F)l(unction])-1801 b Fg(int)27
+b(rl_completion_mode)e Ff(\()p Fi(rl)p 725 404 V 19 w(command)p
+936 404 V 20 w(func)p 1040 404 V 21 w(t)15 b(*cfunc)p
+Ff(\))195 459 y Fs(Returns)26 b(the)f(apppriate)g(v)m(alue)g(to)g(pass)
+g(to)f Fr(rl_complete_internal\(\))f Fs(dep)q(ending)j(on)195
+514 y(whether)21 b Fi(cfunc)i Fs(w)o(as)d(called)g(t)o(wice)g(in)g
 (succession)h(and)f(the)h(v)m(alues)f(of)g(the)h Fr(show-all-if-)195
-2615 y(ambiguous)13 b Fs(and)g Fr(show-all-if-unmodified)e
+568 y(ambiguous)13 b Fs(and)g Fr(show-all-if-unmodified)e
 Fs(v)m(ariables.)19 b(Application-sp)q(eci\014c)14 b(completion)195
-2670 y(functions)h(ma)o(y)f(use)i(this)f(function)g(to)f(presen)o(t)h
+623 y(functions)h(ma)o(y)f(use)i(this)f(function)g(to)f(presen)o(t)h
 (the)h(same)f(in)o(terface)f(as)h Fr(rl_complete\(\))p
-Fs(.)p eop end
-%%Page: 45 49
-TeXDict begin 45 48 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(45)1675 149 y([F)l(unction])-1801
-b Fg(char)27 b(**)f(rl_completion_matches)g Ff(\()p Fi(const)15
-b(c)o(har)g(*text,)283 204 y(rl)p 317 204 14 2 v 19 w(comp)q(en)o(try)p
-547 204 V 20 w(func)p 651 204 V 21 w(t)f(*en)o(try)p
-831 204 V 20 w(func)p Ff(\))195 259 y Fs(Returns)19 b(an)g(arra)o(y)f
-(of)g(strings)g(whic)o(h)h(is)f(a)h(list)e(of)i(completions)f(for)g
-Fi(text)q Fs(.)30 b(If)20 b(there)e(are)h(no)195 314
+Fs(.)1675 713 y([F)l(unction])-1801 b Fg(char)27 b(**)f
+(rl_completion_matches)g Ff(\()p Fi(const)15 b(c)o(har)g(*text,)283
+768 y(rl)p 317 768 V 19 w(comp)q(en)o(try)p 547 768 V
+20 w(func)p 651 768 V 21 w(t)f(*en)o(try)p 831 768 V
+20 w(func)p Ff(\))195 823 y Fs(Returns)19 b(an)g(arra)o(y)f(of)g
+(strings)g(whic)o(h)h(is)f(a)h(list)e(of)i(completions)f(for)g
+Fi(text)q Fs(.)30 b(If)20 b(there)e(are)h(no)195 878
 y(completions,)d(returns)i Fr(NULL)p Fs(.)25 b(The)17
 b(\014rst)g(en)o(try)g(in)g(the)g(returned)h(arra)o(y)e(is)h(the)g
-(substitution)195 369 y(for)12 b Fi(text)q Fs(.)19 b(The)13
+(substitution)195 932 y(for)12 b Fi(text)q Fs(.)19 b(The)13
 b(remaining)g(en)o(tries)f(are)h(the)g(p)q(ossible)g(completions.)18
-b(The)13 b(arra)o(y)f(is)h(terminated)195 423 y(with)i(a)f
-Fr(NULL)h Fs(p)q(oin)o(ter.)195 493 y Fi(en)o(try)p 302
-493 V 20 w(func)23 b Fs(is)c(a)g(function)h(of)f(t)o(w)o(o)g(args,)g
-(and)h(returns)g(a)f Fr(char)c(*)p Fs(.)33 b(The)20 b(\014rst)f
-(argumen)o(t)g(is)195 548 y Fi(text)q Fs(.)32 b(The)19
-b(second)h(is)f(a)g(state)f(argumen)o(t;)i(it)f(is)f(zero)i(on)f(the)g
-(\014rst)g(call,)g(and)g(non-zero)h(on)195 602 y(subsequen)o(t)e
-(calls.)24 b Fi(en)o(try)p 661 602 V 19 w(func)d Fs(returns)16
-b(a)h Fr(NULL)f Fs(p)q(oin)o(ter)h(to)f(the)h(caller)f(when)h(there)g
-(are)g(no)195 657 y(more)e(matc)o(hes.)1675 754 y([F)l(unction])-1801
-b Fg(char)27 b(*)f(rl_filename_completion_)q(functio)q(n)f
-Ff(\()p Fi(const)15 b(c)o(har)g(*text,)f(in)o(t)283 808
-y(state)p Ff(\))195 863 y Fs(A)f(generator)f(function)g(for)h
-(\014lename)g(completion)e(in)i(the)g(general)f(case.)19
-b Fi(text)14 b Fs(is)e(a)h(partial)e(\014le-)195 918
-y(name.)18 b(The)11 b(Bash)g(source)g(is)f(a)h(useful)g(reference)g
-(for)f(writing)f(application-sp)q(eci\014c)i(completion)195
-973 y(functions)k(\(the)g(Bash)g(completion)f(functions)h(call)g(this)f
-(and)i(other)f(Readline)g(functions\).)1675 1069 y([F)l(unction])-1801
-b Fg(char)27 b(*)f(rl_username_completion_)q(functio)q(n)f
-Ff(\()p Fi(const)15 b(c)o(har)g(*text,)f(in)o(t)283 1124
-y(state)p Ff(\))195 1179 y Fs(A)g(completion)g(generator)f(for)h
+b(The)13 b(arra)o(y)f(is)h(terminated)195 987 y(with)i(a)f
+Fr(NULL)h Fs(p)q(oin)o(ter.)195 1054 y Fi(en)o(try)p
+302 1054 V 20 w(func)23 b Fs(is)c(a)g(function)h(of)f(t)o(w)o(o)g
+(args,)g(and)h(returns)g(a)f Fr(char)c(*)p Fs(.)33 b(The)20
+b(\014rst)f(argumen)o(t)g(is)195 1109 y Fi(text)q Fs(.)32
+b(The)19 b(second)h(is)f(a)g(state)f(argumen)o(t;)i(it)f(is)f(zero)i
+(on)f(the)g(\014rst)g(call,)g(and)g(non-zero)h(on)195
+1163 y(subsequen)o(t)e(calls.)24 b Fi(en)o(try)p 661
+1163 V 19 w(func)d Fs(returns)16 b(a)h Fr(NULL)f Fs(p)q(oin)o(ter)h(to)
+f(the)h(caller)f(when)h(there)g(are)g(no)195 1218 y(more)e(matc)o(hes.)
+1675 1308 y([F)l(unction])-1801 b Fg(char)27 b(*)f
+(rl_filename_completion_)q(functio)q(n)f Ff(\()p Fi(const)15
+b(c)o(har)g(*text,)f(in)o(t)283 1363 y(state)p Ff(\))195
+1418 y Fs(A)f(generator)f(function)g(for)h(\014lename)g(completion)e
+(in)i(the)g(general)f(case.)19 b Fi(text)14 b Fs(is)e(a)h(partial)e
+(\014le-)195 1473 y(name.)18 b(The)11 b(Bash)g(source)g(is)f(a)h
+(useful)g(reference)g(for)f(writing)f(application-sp)q(eci\014c)i
+(completion)195 1527 y(functions)k(\(the)g(Bash)g(completion)f
+(functions)h(call)g(this)f(and)i(other)f(Readline)g(functions\).)1675
+1617 y([F)l(unction])-1801 b Fg(char)27 b(*)f(rl_username_completion_)q
+(functio)q(n)f Ff(\()p Fi(const)15 b(c)o(har)g(*text,)f(in)o(t)283
+1672 y(state)p Ff(\))195 1727 y Fs(A)g(completion)g(generator)f(for)h
 (usernames.)19 b Fi(text)c Fs(con)o(tains)e(a)h(partial)f(username)h
-(preceded)i(b)o(y)195 1234 y(a)f(random)g(c)o(haracter)f(\(usually)h(`)
+(preceded)i(b)o(y)195 1782 y(a)f(random)g(c)o(haracter)f(\(usually)h(`)
 p Fr(~)p Fs('\).)k(As)c(with)f(all)h(completion)f(generators,)g
-Fi(state)j Fs(is)e(zero)g(on)195 1288 y(the)g(\014rst)g(call)f(and)i
-(non-zero)f(for)g(subsequen)o(t)h(calls.)75 1390 y Fh(2.6.3)30
-b(Completion)20 b(V)-5 b(ariables)1685 1491 y Fs([V)l(ariable])-1801
+Fi(state)j Fs(is)e(zero)g(on)195 1837 y(the)g(\014rst)g(call)f(and)i
+(non-zero)f(for)g(subsequen)o(t)h(calls.)75 1935 y Fh(2.6.3)30
+b(Completion)20 b(V)-5 b(ariables)1685 2032 y Fs([V)l(ariable])-1801
 b Fg(rl_compentry_func_t)29 b(*)d(rl_completion_entry_f)q(unction)195
-1546 y Fs(A)17 b(p)q(oin)o(ter)f(to)g(the)h(generator)f(function)g(for)
+2087 y Fs(A)17 b(p)q(oin)o(ter)f(to)g(the)h(generator)f(function)g(for)
 g Fr(rl_completion_matches\(\))p Fs(.)22 b Fr(NULL)16
-b Fs(means)h(to)195 1600 y(use)f Fr(rl_filename_completion_)o(functio)o
+b Fs(means)h(to)195 2142 y(use)f Fr(rl_filename_completion_)o(functio)o
 (n\(\))p Fs(,)c(the)j(default)g(\014lename)g(completer.)1685
-1697 y([V)l(ariable])-1801 b Fg(rl_completion_func_t)29
-b(*)d(rl_attempted_complet)q(ion_fun)q(ction)195 1752
+2232 y([V)l(ariable])-1801 b Fg(rl_completion_func_t)29
+b(*)d(rl_attempted_complet)q(ion_fun)q(ction)195 2286
 y Fs(A)17 b(p)q(oin)o(ter)g(to)g(an)g(alternativ)o(e)f(function)h(to)g
 (create)g(matc)o(hes.)26 b(The)18 b(function)f(is)g(called)g(with)195
-1806 y Fi(text)q Fs(,)24 b Fi(start)q Fs(,)e(and)h Fi(end)r
+2341 y Fi(text)q Fs(,)24 b Fi(start)q Fs(,)e(and)h Fi(end)r
 Fs(.)43 b Fi(start)22 b Fs(and)h Fi(end)i Fs(are)d(indices)h(in)f
-Fr(rl_line_buffer)f Fs(de\014ning)i(the)195 1861 y(b)q(oundaries)c(of)g
+Fr(rl_line_buffer)f Fs(de\014ning)i(the)195 2396 y(b)q(oundaries)c(of)g
 Fi(text)q Fs(,)h(whic)o(h)f(is)f(a)h(c)o(haracter)g(string.)31
 b(If)19 b(this)g(function)g(exists)g(and)g(returns)195
-1916 y Fr(NULL)p Fs(,)h(or)g(if)f(this)h(v)m(ariable)f(is)g(set)h(to)g
+2451 y Fr(NULL)p Fs(,)h(or)g(if)f(this)h(v)m(ariable)f(is)g(set)h(to)g
 Fr(NULL)p Fs(,)g(then)g Fr(rl_complete\(\))e Fs(will)h(call)g(the)h(v)m
-(alue)g(of)195 1971 y Fr(rl_completion_entry_functi)o(on)11
+(alue)g(of)195 2506 y Fr(rl_completion_entry_functi)o(on)11
 b Fs(to)i(generate)g(matc)o(hes,)g(otherwise)g(the)h(arra)o(y)e(of)h
-(strings)195 2026 y(returned)23 b(will)e(b)q(e)i(used.)42
+(strings)195 2560 y(returned)23 b(will)e(b)q(e)i(used.)42
 b(If)22 b(this)g(function)g(sets)g(the)h Fr(rl_attempted_completion_o)o
-(ver)195 2080 y Fs(v)m(ariable)14 b(to)h(a)f(non-zero)h(v)m(alue,)g
+(ver)195 2615 y Fs(v)m(ariable)14 b(to)h(a)f(non-zero)h(v)m(alue,)g
 (Readline)h(will)d(not)i(p)q(erform)f(its)h(default)f(completion)g(ev)o
-(en)h(if)195 2135 y(this)g(function)g(returns)g(no)g(matc)o(hes.)1685
-2232 y([V)l(ariable])-1801 b Fg(rl_quote_func_t)28 b(*)f
-(rl_filename_quoting_funct)q(ion)195 2286 y Fs(A)16 b(p)q(oin)o(ter)g
-(to)g(a)g(function)g(that)f(will)g(quote)h(a)g(\014lename)h(in)f(an)g
-(application-sp)q(eci\014c)g(fashion.)195 2341 y(This)j(is)g(called)h
-(if)f(\014lename)g(completion)g(is)g(b)q(eing)h(attempted)f(and)h(one)g
-(of)f(the)h(c)o(haracters)195 2396 y(in)c Fr
-(rl_filename_quote_characters)d Fs(app)q(ears)k(in)f(a)h(completed)f
-(\014lename.)24 b(The)17 b(function)195 2451 y(is)g(called)h(with)f
-Fi(text)q Fs(,)h Fi(matc)o(h)p 719 2451 V 20 w(t)o(yp)q(e)s
-Fs(,)g(and)g Fi(quote)p 1061 2451 V 20 w(p)q(oin)o(ter)s
-Fs(.)28 b(The)18 b Fi(text)g Fs(is)g(the)g(\014lename)g(to)f(b)q(e)195
-2506 y(quoted.)38 b(The)21 b Fi(matc)o(h)p 606 2506 V
-20 w(t)o(yp)q(e)i Fs(is)e(either)g Fr(SINGLE_MATCH)p
-Fs(,)f(if)h(there)g(is)g(only)g(one)g(completion)195
-2560 y(matc)o(h,)15 b(or)g Fr(MULT_MATCH)p Fs(.)20 b(Some)c(functions)f
-(use)h(this)f(to)g(decide)i(whether)f(or)f(not)g(to)g(insert)g(a)195
-2615 y(closing)9 b(quote)i(c)o(haracter.)17 b(The)11
-b Fi(quote)p 876 2615 V 20 w(p)q(oin)o(ter)i Fs(is)d(a)g(p)q(oin)o(ter)
-g(to)g(an)o(y)g(op)q(ening)g(quote)h(c)o(haracter)195
-2670 y(the)k(user)h(t)o(yp)q(ed.)k(Some)15 b(functions)g(c)o(ho)q(ose)g
-(to)g(reset)g(this)f(c)o(haracter.)p eop end
-%%Page: 46 50
-TeXDict begin 46 49 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(46)1685 149 y([V)l(ariable])-1801
-b Fg(rl_dequote_func_t)29 b(*)d(rl_filename_dequoting_f)q(unction)195
-204 y Fs(A)15 b(p)q(oin)o(ter)f(to)g(a)h(function)f(that)h(will)e(remo)
-o(v)o(e)h(application-sp)q(eci\014c)h(quoting)f(c)o(haracters)g(from)
-195 259 y(a)i(\014lename)g(b)q(efore)h(completion)e(is)h(attempted,)g
-(so)f(those)h(c)o(haracters)g(do)g(not)g(in)o(terfere)g(with)195
-314 y(matc)o(hing)i(the)h(text)g(against)e(names)i(in)g(the)g
+(en)h(if)195 2670 y(this)g(function)g(returns)g(no)g(matc)o(hes.)p
+eop end
+%%Page: 48 52
+TeXDict begin 48 51 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(48)1685 149 y([V)l(ariable])-1801
+b Fg(rl_quote_func_t)28 b(*)f(rl_filename_quoting_funct)q(ion)195
+204 y Fs(A)16 b(p)q(oin)o(ter)g(to)g(a)g(function)g(that)f(will)g
+(quote)h(a)g(\014lename)h(in)f(an)g(application-sp)q(eci\014c)g
+(fashion.)195 259 y(This)j(is)g(called)h(if)f(\014lename)g(completion)g
+(is)g(b)q(eing)h(attempted)f(and)h(one)g(of)f(the)h(c)o(haracters)195
+314 y(in)c Fr(rl_filename_quote_characters)d Fs(app)q(ears)k(in)f(a)h
+(completed)f(\014lename.)24 b(The)17 b(function)195 369
+y(is)g(called)h(with)f Fi(text)q Fs(,)h Fi(matc)o(h)p
+719 369 14 2 v 20 w(t)o(yp)q(e)s Fs(,)g(and)g Fi(quote)p
+1061 369 V 20 w(p)q(oin)o(ter)s Fs(.)28 b(The)18 b Fi(text)g
+Fs(is)g(the)g(\014lename)g(to)f(b)q(e)195 423 y(quoted.)38
+b(The)21 b Fi(matc)o(h)p 606 423 V 20 w(t)o(yp)q(e)i
+Fs(is)e(either)g Fr(SINGLE_MATCH)p Fs(,)f(if)h(there)g(is)g(only)g(one)
+g(completion)195 478 y(matc)o(h,)15 b(or)g Fr(MULT_MATCH)p
+Fs(.)20 b(Some)c(functions)f(use)h(this)f(to)g(decide)i(whether)f(or)f
+(not)g(to)g(insert)g(a)195 533 y(closing)9 b(quote)i(c)o(haracter.)17
+b(The)11 b Fi(quote)p 876 533 V 20 w(p)q(oin)o(ter)i
+Fs(is)d(a)g(p)q(oin)o(ter)g(to)g(an)o(y)g(op)q(ening)g(quote)h(c)o
+(haracter)195 588 y(the)k(user)h(t)o(yp)q(ed.)k(Some)15
+b(functions)g(c)o(ho)q(ose)g(to)g(reset)g(this)f(c)o(haracter.)1685
+705 y([V)l(ariable])-1801 b Fg(rl_dequote_func_t)29 b(*)d
+(rl_filename_dequoting_f)q(unction)195 760 y Fs(A)15
+b(p)q(oin)o(ter)f(to)g(a)h(function)f(that)h(will)e(remo)o(v)o(e)h
+(application-sp)q(eci\014c)h(quoting)f(c)o(haracters)g(from)195
+814 y(a)i(\014lename)g(b)q(efore)h(completion)e(is)h(attempted,)g(so)f
+(those)h(c)o(haracters)g(do)g(not)g(in)o(terfere)g(with)195
+869 y(matc)o(hing)i(the)h(text)g(against)e(names)i(in)g(the)g
 (\014lesystem.)31 b(It)19 b(is)f(called)h(with)f Fi(text)q
-Fs(,)h(the)g(text)195 369 y(of)h(the)h(w)o(ord)g(to)f(b)q(e)h
-(dequoted,)i(and)e Fi(quote)p 1006 369 14 2 v 20 w(c)o(har)s
+Fs(,)h(the)g(text)195 924 y(of)h(the)h(w)o(ord)g(to)f(b)q(e)h
+(dequoted,)i(and)e Fi(quote)p 1006 924 V 20 w(c)o(har)s
 Fs(,)g(whic)o(h)g(is)g(the)f(quoting)h(c)o(haracter)f(that)195
-423 y(delimits)15 b(the)h(\014lename)g(\(usually)f(`)p
+979 y(delimits)15 b(the)h(\014lename)g(\(usually)f(`)p
 Fr(')p Fs(')g(or)h(`)p Fr(")p Fs('\).)21 b(If)c Fi(quote)p
-1185 423 V 19 w(c)o(har)i Fs(is)d(zero,)g(the)g(\014lename)g(w)o(as)f
-(not)195 478 y(in)g(an)g(em)o(b)q(edded)i(string.)1685
-574 y([V)l(ariable])-1801 b Fg(rl_linebuf_func_t)29 b(*)d
-(rl_char_is_quoted_p)195 629 y Fs(A)18 b(p)q(oin)o(ter)g(to)g(a)g
+1185 979 V 19 w(c)o(har)i Fs(is)d(zero,)g(the)g(\014lename)g(w)o(as)f
+(not)195 1034 y(in)g(an)g(em)o(b)q(edded)i(string.)1685
+1151 y([V)l(ariable])-1801 b Fg(rl_linebuf_func_t)29
+b(*)d(rl_char_is_quoted_p)195 1205 y Fs(A)18 b(p)q(oin)o(ter)g(to)g(a)g
 (function)g(to)g(call)g(that)f(determines)i(whether)f(or)g(not)g(a)g
-(sp)q(eci\014c)i(c)o(haracter)195 684 y(in)d(the)g(line)g(bu\013er)g
+(sp)q(eci\014c)i(c)o(haracter)195 1260 y(in)d(the)g(line)g(bu\013er)g
 (is)g(quoted,)h(according)e(to)h(whatev)o(er)f(quoting)h(mec)o(hanism)g
-(the)g(program)195 738 y(calling)11 b(Readline)i(uses.)19
+(the)g(program)195 1315 y(calling)11 b(Readline)i(uses.)19
 b(The)12 b(function)h(is)e(called)h(with)g(t)o(w)o(o)f(argumen)o(ts:)18
-b Fi(text)q Fs(,)12 b(the)g(text)g(of)g(the)195 793 y(line,)j(and)g
-Fi(index)s Fs(,)g(the)g(index)h(of)f(the)g(c)o(haracter)g(in)g(the)g
-(line.)20 b(It)15 b(is)g(used)g(to)g(decide)h(whether)f(a)195
-848 y(c)o(haracter)f(found)i(in)f Fr(rl_completer_word_break_)o
-(charact)o(ers)d Fs(should)j(b)q(e)h(used)g(to)e(break)195
-903 y(w)o(ords)g(for)h(the)g(completer.)1685 999 y([V)l(ariable])-1801
-b Fg(rl_compignore_func_t)29 b(*)d(rl_ignore_some_compl)q(etions_)q
-(functio)q(n)195 1054 y Fs(This)18 b(function,)i(if)e(de\014ned,)j(is)d
-(called)g(b)o(y)h(the)g(completer)f(when)i(real)e(\014lename)h
-(completion)195 1108 y(is)e(done,)g(after)f(all)g(the)h(matc)o(hing)f
-(names)h(ha)o(v)o(e)g(b)q(een)h(generated.)25 b(It)17
-b(is)g(passed)g(a)g Fr(NULL)f Fs(ter-)195 1163 y(minated)f(arra)o(y)f
-(of)h(matc)o(hes.)20 b(The)c(\014rst)f(elemen)o(t)g(\()p
-Fr(matches[0])p Fs(\))e(is)i(the)h(maximal)e(substring)195
-1218 y(common)g(to)g(all)f(matc)o(hes.)19 b(This)14 b(function)g(can)h
-(re-arrange)f(the)g(list)f(of)h(matc)o(hes)g(as)g(required,)195
-1273 y(but)h(eac)o(h)h(elemen)o(t)f(deleted)g(from)g(the)g(arra)o(y)f
-(m)o(ust)g(b)q(e)i(freed.)1685 1369 y([V)l(ariable])-1801
-b Fg(rl_icppfunc_t)28 b(*)e(rl_directory_completi)q(on_hoo)q(k)195
-1423 y Fs(This)c(function,)i(if)e(de\014ned,)k(is)c(allo)o(w)o(ed)f(to)
-h(mo)q(dify)g(the)h(directory)f(p)q(ortion)g(of)g(\014lenames)195
-1478 y(Readline)c(completes.)26 b(It)17 b(could)h(b)q(e)g(used)g(to)f
-(expand)h(sym)o(b)q(olic)f(links)f(or)h(shell)g(v)m(ariables)g(in)195
-1533 y(pathnames.)35 b(It)20 b(is)f(called)h(with)g(the)g(address)g(of)
-g(a)g(string)f(\(the)h(curren)o(t)g(directory)f(name\))195
-1588 y(as)f(an)h(argumen)o(t,)g(and)g(ma)o(y)f(mo)q(dify)g(that)g
+b Fi(text)q Fs(,)12 b(the)g(text)g(of)g(the)195 1370
+y(line,)j(and)g Fi(index)s Fs(,)g(the)g(index)h(of)f(the)g(c)o
+(haracter)g(in)g(the)g(line.)20 b(It)15 b(is)g(used)g(to)g(decide)h
+(whether)f(a)195 1425 y(c)o(haracter)f(found)i(in)f Fr
+(rl_completer_word_break_)o(charact)o(ers)d Fs(should)j(b)q(e)h(used)g
+(to)e(break)195 1479 y(w)o(ords)g(for)h(the)g(completer.)1685
+1597 y([V)l(ariable])-1801 b Fg(rl_compignore_func_t)29
+b(*)d(rl_ignore_some_compl)q(etions_)q(functio)q(n)195
+1651 y Fs(This)18 b(function,)i(if)e(de\014ned,)j(is)d(called)g(b)o(y)h
+(the)g(completer)f(when)i(real)e(\014lename)h(completion)195
+1706 y(is)e(done,)g(after)f(all)g(the)h(matc)o(hing)f(names)h(ha)o(v)o
+(e)g(b)q(een)h(generated.)25 b(It)17 b(is)g(passed)g(a)g
+Fr(NULL)f Fs(ter-)195 1761 y(minated)f(arra)o(y)f(of)h(matc)o(hes.)20
+b(The)c(\014rst)f(elemen)o(t)g(\()p Fr(matches[0])p Fs(\))e(is)i(the)h
+(maximal)e(substring)195 1816 y(common)g(to)g(all)f(matc)o(hes.)19
+b(This)14 b(function)g(can)h(re-arrange)f(the)g(list)f(of)h(matc)o(hes)
+g(as)g(required,)195 1870 y(but)h(eac)o(h)h(elemen)o(t)f(deleted)g
+(from)g(the)g(arra)o(y)f(m)o(ust)g(b)q(e)i(freed.)1685
+1988 y([V)l(ariable])-1801 b Fg(rl_icppfunc_t)28 b(*)e
+(rl_directory_completi)q(on_hoo)q(k)195 2042 y Fs(This)c(function,)i
+(if)e(de\014ned,)k(is)c(allo)o(w)o(ed)f(to)h(mo)q(dify)g(the)h
+(directory)f(p)q(ortion)g(of)g(\014lenames)195 2097 y(Readline)c
+(completes.)26 b(It)17 b(could)h(b)q(e)g(used)g(to)f(expand)h(sym)o(b)q
+(olic)f(links)f(or)h(shell)g(v)m(ariables)g(in)195 2152
+y(pathnames.)35 b(It)20 b(is)f(called)h(with)g(the)g(address)g(of)g(a)g
+(string)f(\(the)h(curren)o(t)g(directory)f(name\))195
+2207 y(as)f(an)h(argumen)o(t,)g(and)g(ma)o(y)f(mo)q(dify)g(that)g
 (string.)30 b(If)19 b(the)g(string)f(is)g(replaced)h(with)f(a)h(new)195
-1643 y(string,)g(the)g(old)g(v)m(alue)g(should)h(b)q(e)f(freed.)33
+2262 y(string,)g(the)g(old)g(v)m(alue)g(should)h(b)q(e)f(freed.)33
 b(An)o(y)19 b(mo)q(di\014ed)h(directory)e(name)h(should)g(ha)o(v)o(e)g
-(a)195 1697 y(trailing)c(slash.)27 b(The)17 b(mo)q(di\014ed)h(v)m(alue)
+(a)195 2316 y(trailing)c(slash.)27 b(The)17 b(mo)q(di\014ed)h(v)m(alue)
 g(will)e(b)q(e)i(used)g(as)f(part)g(of)g(the)h(completion,)f(replacing)
-195 1752 y(the)f(directory)f(p)q(ortion)g(of)g(the)h(pathname)g(the)g
+195 2371 y(the)f(directory)f(p)q(ortion)g(of)g(the)h(pathname)g(the)g
 (user)g(t)o(yp)q(ed.)22 b(A)o(t)15 b(the)h(least,)f(ev)o(en)h(if)g(no)f
-(other)195 1807 y(expansion)j(is)f(p)q(erformed,)h(this)f(function)h
+(other)195 2426 y(expansion)j(is)f(p)q(erformed,)h(this)f(function)h
 (should)g(remo)o(v)o(e)f(an)o(y)g(quote)h(c)o(haracters)f(from)g(the)
-195 1862 y(directory)11 b(name,)h(b)q(ecause)h(its)e(result)g(will)g(b)
-q(e)h(passed)g(directly)f(to)g Fr(opendir\(\))p Fs(.)18
-b(The)12 b(directory)195 1917 y(completion)k(ho)q(ok)g(returns)g(an)h
-(in)o(teger)f(that)f(should)i(b)q(e)g(non-zero)g(if)f(the)h(function)f
-(mo)q(di\014es)195 1971 y(its)f(directory)g(argumen)o(t.)20
-b(The)c(function)f(should)h(not)f(mo)q(dify)g(the)h(directory)f
-(argumen)o(t)g(if)g(it)195 2026 y(returns)g(0.)1685 2122
-y([V)l(ariable])-1801 b Fg(rl_dequote_func_t)29 b(*)d
-(rl_filename_rewrite_hoo)q(k)195 2177 y Fs(If)12 b(non-zero,)h(this)e
-(is)g(the)h(address)g(of)g(a)f(function)h(called)f(when)i(reading)e
-(directory)g(en)o(tries)h(from)195 2232 y(the)f(\014lesystem)f(for)g
-(completion)f(and)i(comparing)f(them)g(to)g(the)h(partial)d(w)o(ord)i
-(to)g(b)q(e)h(completed.)195 2286 y(The)g(function)f(should)h(p)q
-(erform)f(an)o(y)h(necesary)g(application)e(or)h(system-sp)q(eci\014c)h
-(con)o(v)o(ersion)f(on)195 2341 y(the)h(\014lename,)h(suc)o(h)f(as)g
-(con)o(v)o(erting)f(b)q(et)o(w)o(een)h(c)o(haracter)g(sets)g(or)f(con)o
-(v)o(erting)g(from)h(a)f(\014lesystem)195 2396 y(format)16
-b(to)g(a)h(c)o(haracter)f(input)h(format.)24 b(The)17
-b(function)g(tak)o(es)f(t)o(w)o(o)g(argumen)o(ts:)22
-b Fi(fname)s Fs(,)17 b(the)195 2451 y(\014lename)d(to)g(b)q(e)h(con)o
-(v)o(erted,)f(and)g Fi(fnlen)p Fs(,)h(its)e(length)h(in)g(b)o(ytes.)20
+195 2481 y(directory)d(name,)h(b)q(ecause)h(its)f(result)f(will)g(b)q
+(e)i(passed)g(directly)e(to)h Fr(opendir\(\))p Fs(.)195
+2560 y(The)e(directory)f(completion)g(ho)q(ok)h(returns)g(an)g(in)o
+(teger)f(that)g(should)h(b)q(e)h(non-zero)f(if)f(the)h(func-)195
+2615 y(tion)j(mo)q(di\014es)h(its)g(directory)f(argumen)o(t.)25
+b(The)17 b(function)g(should)g(not)g(mo)q(dify)g(the)g(directory)195
+2670 y(argumen)o(t)d(if)h(it)g(returns)g(0.)p eop end
+%%Page: 49 53
+TeXDict begin 49 52 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(49)1685 149 y([V)l(ariable])-1801
+b Fg(rl_icppfunc_t)28 b(*)e(rl_directory_rewrite_)q(hook;)195
+204 y Fs(If)12 b(non-zero,)h(this)f(is)f(the)i(address)f(of)g(a)f
+(function)h(to)g(call)f(when)i(completing)e(a)h(directory)f(name.)195
+259 y(This)i(function)g(tak)o(es)g(the)g(address)g(of)g(the)h
+(directory)e(name)i(to)e(b)q(e)i(mo)q(di\014ed)g(as)f(an)g(argumen)o
+(t.)195 314 y(Unlik)o(e)19 b Fr(rl_directory_completion_hoo)o(k)p
+Fs(,)f(it)g(only)i(mo)q(di\014es)f(the)h(directory)f(name)g(used)195
+369 y(in)f Fr(opendir)p Fs(,)e(not)i(what)f(is)g(displa)o(y)o(ed)g
+(when)h(the)g(p)q(ossible)f(completions)g(are)g(prin)o(ted)h(or)f(in-)
+195 423 y(serted.)i(It)13 b(is)g(called)g(b)q(efore)g(rl)p
+732 423 14 2 v 20 w(directory)p 931 423 V 19 w(completion)p
+1168 423 V 19 w(ho)q(ok.)19 b(A)o(t)13 b(the)g(least,)f(ev)o(en)i(if)e
+(no)h(other)195 478 y(expansion)18 b(is)f(p)q(erformed,)h(this)f
+(function)h(should)g(remo)o(v)o(e)f(an)o(y)g(quote)h(c)o(haracters)f
+(from)g(the)195 533 y(directory)d(name,)h(b)q(ecause)h(its)f(result)f
+(will)g(b)q(e)i(passed)g(directly)e(to)h Fr(opendir\(\))p
+Fs(.)195 600 y(The)k(directory)f(rewrite)g(ho)q(ok)h(returns)g(an)g(in)
+o(teger)f(that)g(should)h(b)q(e)h(non-zero)f(if)f(the)h(func-)195
+654 y(tion)e(mo)q(d\014es)i(its)e(directory)g(argumen)o(t.)28
+b(The)18 b(function)g(should)g(not)g(mo)q(dify)g(the)g(directory)195
+709 y(argumen)o(t)c(if)h(it)g(returns)g(0.)1685 799 y([V)l(ariable])
+-1801 b Fg(rl_icppfunc_t)28 b(*)e(rl_filename_stat_hook)195
+854 y Fs(If)15 b(non-zero,)g(this)g(is)f(the)h(address)h(of)e(a)h
+(function)g(for)f(the)h(completer)g(to)f(call)h(b)q(efore)g(deciding)
+195 909 y(whic)o(h)g(c)o(haracter)f(to)h(app)q(end)h(to)e(a)h
+(completed)g(name.)20 b(This)15 b(function)f(mo)q(di\014es)i(its)e
+(\014lename)195 964 y(name)k(argumen)o(t,)f(and)h(the)g(mo)q(di\014ed)g
+(v)m(alue)g(is)f(passed)h(to)g Fr(stat\(\))f Fs(to)g(determine)g(the)h
+(\014le's)195 1018 y(t)o(yp)q(e)i(and)h(c)o(haracteristics.)33
+b(This)20 b(function)g(do)q(es)h(not)e(need)j(to)d(remo)o(v)o(e)h
+(quote)g(c)o(haracters)195 1073 y(from)14 b(the)i(\014lename.)195
+1140 y(The)g(stat)f(ho)q(ok)h(returns)g(an)g(in)o(teger)g(that)f
+(should)h(b)q(e)h(non-zero)f(if)g(the)g(function)g(mo)q(d\014es)h(its)
+195 1194 y(directory)j(argumen)o(t.)35 b(The)21 b(function)f(should)g
+(not)h(mo)q(dify)f(the)g(directory)g(argumen)o(t)g(if)g(it)195
+1249 y(returns)15 b(0.)1685 1339 y([V)l(ariable])-1801
+b Fg(rl_dequote_func_t)29 b(*)d(rl_filename_rewrite_hoo)q(k)195
+1394 y Fs(If)12 b(non-zero,)h(this)e(is)g(the)h(address)g(of)g(a)f
+(function)h(called)f(when)i(reading)e(directory)g(en)o(tries)h(from)195
+1449 y(the)f(\014lesystem)f(for)g(completion)f(and)i(comparing)f(them)g
+(to)g(the)h(partial)d(w)o(ord)i(to)g(b)q(e)h(completed.)195
+1504 y(The)g(function)f(should)h(p)q(erform)f(an)o(y)h(necesary)g
+(application)e(or)h(system-sp)q(eci\014c)h(con)o(v)o(ersion)f(on)195
+1558 y(the)h(\014lename,)h(suc)o(h)f(as)g(con)o(v)o(erting)f(b)q(et)o
+(w)o(een)h(c)o(haracter)g(sets)g(or)f(con)o(v)o(erting)g(from)h(a)f
+(\014lesystem)195 1613 y(format)16 b(to)g(a)h(c)o(haracter)f(input)h
+(format.)24 b(The)17 b(function)g(tak)o(es)f(t)o(w)o(o)g(argumen)o(ts:)
+22 b Fi(fname)s Fs(,)17 b(the)195 1668 y(\014lename)d(to)g(b)q(e)h(con)
+o(v)o(erted,)f(and)g Fi(fnlen)p Fs(,)h(its)e(length)h(in)g(b)o(ytes.)20
 b(It)14 b(m)o(ust)g(either)g(return)g(its)f(\014rst)195
-2506 y(argumen)o(t)i(\(if)f(no)h(con)o(v)o(ersion)g(tak)o(es)g(place\))
+1723 y(argumen)o(t)i(\(if)f(no)h(con)o(v)o(ersion)g(tak)o(es)g(place\))
 g(or)g(the)g(con)o(v)o(erted)g(\014lename)h(in)f(newly-allo)q(cated)195
-2560 y(memory)l(.)23 b(The)16 b(con)o(v)o(erted)h(form)e(is)h(used)h
+1778 y(memory)l(.)23 b(The)16 b(con)o(v)o(erted)h(form)e(is)h(used)h
 (to)f(compare)g(against)f(the)h(w)o(ord)g(to)f(b)q(e)i(completed,)195
-2615 y(and,)i(if)e(it)h(matc)o(hes,)g(is)g(added)g(to)g(the)g(list)f
+1832 y(and,)i(if)e(it)h(matc)o(hes,)g(is)g(added)g(to)g(the)g(list)f
 (of)h(matc)o(hes.)28 b(Readline)19 b(will)d(free)j(the)f(allo)q(cated)
-195 2670 y(string.)p eop end
-%%Page: 47 51
-TeXDict begin 47 50 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(47)1685 149 y([V)l(ariable])-1801
-b Fg(rl_compdisp_func_t)29 b(*)d(rl_completion_display_)q(matches)q
-(_hook)195 204 y Fs(If)11 b(non-zero,)h(then)f(this)g(is)f(the)h
+195 1887 y(string.)1685 1977 y([V)l(ariable])-1801 b
+Fg(rl_compdisp_func_t)29 b(*)d(rl_completion_display_)q(matches)q
+(_hook)195 2032 y Fs(If)11 b(non-zero,)h(then)f(this)g(is)f(the)h
 (address)g(of)g(a)g(function)f(to)h(call)f(when)h(completing)g(a)f(w)o
-(ord)h(w)o(ould)195 259 y(normally)f(displa)o(y)g(the)h(list)f(of)h(p)q
-(ossible)f(matc)o(hes.)18 b(This)11 b(function)g(is)g(called)f(in)h
-(lieu)g(of)g(Readline)195 314 y(displa)o(ying)17 b(the)h(list.)28
+(ord)h(w)o(ould)195 2087 y(normally)f(displa)o(y)g(the)h(list)f(of)h(p)
+q(ossible)f(matc)o(hes.)18 b(This)11 b(function)g(is)g(called)f(in)h
+(lieu)g(of)g(Readline)195 2142 y(displa)o(ying)17 b(the)h(list.)28
 b(It)18 b(tak)o(es)g(three)g(argumen)o(ts:)25 b(\()p
 Fr(char)14 b(**)p Fi(matc)o(hes)r Fs(,)k Fr(int)g Fi(n)o(um)p
-1683 314 14 2 v 20 w(matc)o(hes)r Fs(,)195 369 y Fr(int)13
-b Fi(max)p 368 369 V 19 w(length)p Fs(\))g(where)g Fi(matc)o(hes)i
+1683 2142 V 20 w(matc)o(hes)r Fs(,)195 2196 y Fr(int)13
+b Fi(max)p 368 2196 V 19 w(length)p Fs(\))g(where)g Fi(matc)o(hes)i
 Fs(is)e(the)g(arra)o(y)f(of)h(matc)o(hing)f(strings,)g
-Fi(n)o(um)p 1575 369 V 20 w(matc)o(hes)j Fs(is)e(the)195
-423 y(n)o(um)o(b)q(er)i(of)f(strings)f(in)i(that)f(arra)o(y)l(,)f(and)i
-Fi(max)p 1011 423 V 19 w(length)f Fs(is)g(the)h(length)f(of)g(the)h
-(longest)f(string)f(in)195 478 y(that)g(arra)o(y)l(.)19
+Fi(n)o(um)p 1575 2196 V 20 w(matc)o(hes)j Fs(is)e(the)195
+2251 y(n)o(um)o(b)q(er)i(of)f(strings)f(in)i(that)f(arra)o(y)l(,)f(and)
+i Fi(max)p 1011 2251 V 19 w(length)f Fs(is)g(the)h(length)f(of)g(the)h
+(longest)f(string)f(in)195 2306 y(that)g(arra)o(y)l(.)19
 b(Readline)14 b(pro)o(vides)g(a)f(con)o(v)o(enience)i(function,)f
-Fr(rl_display_match_list)p Fs(,)d(that)195 533 y(tak)o(es)17
+Fr(rl_display_match_list)p Fs(,)d(that)195 2361 y(tak)o(es)17
 b(care)g(of)g(doing)g(the)g(displa)o(y)g(to)f(Readline's)i(output)f
 (stream.)26 b(That)16 b(function)i(ma)o(y)e(b)q(e)195
-588 y(called)f(from)f(this)h(ho)q(ok.)1685 684 y([V)l(ariable])-1801
+2416 y(called)f(from)f(this)h(ho)q(ok.)1685 2506 y([V)l(ariable])-1801
 b Fg(const)27 b(char)g(*)f(rl_basic_word_break_char)q(acters)195
-738 y Fs(The)c(basic)g(list)f(of)h(c)o(haracters)f(that)g(signal)g(a)h
+2560 y Fs(The)c(basic)g(list)f(of)h(c)o(haracters)f(that)g(signal)g(a)h
 (break)g(b)q(et)o(w)o(een)g(w)o(ords)g(for)f(the)h(completer)195
-793 y(routine.)29 b(The)19 b(default)f(v)m(alue)h(of)f(this)g(v)m
+2615 y(routine.)29 b(The)19 b(default)f(v)m(alue)h(of)f(this)g(v)m
 (ariable)g(is)g(the)h(c)o(haracters)f(whic)o(h)g(break)h(w)o(ords)f
-(for)195 848 y(completion)c(in)h(Bash:)20 b Fr(")15 b
-(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fs(.)1685 944 y([V)l(ariable])-1801
+(for)195 2670 y(completion)c(in)h(Bash:)20 b Fr(")15
+b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fs(.)p eop end
+%%Page: 50 54
+TeXDict begin 50 53 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(50)1685 149 y([V)l(ariable])-1801
 b Fg(const)27 b(char)g(*)f(rl_basic_quote_character)q(s)195
-999 y Fs(A)15 b(list)f(of)h(quote)g(c)o(haracters)f(whic)o(h)h(can)h
-(cause)f(a)g(w)o(ord)g(break.)1685 1095 y([V)l(ariable])-1801
+204 y Fs(A)15 b(list)f(of)h(quote)g(c)o(haracters)f(whic)o(h)h(can)h
+(cause)f(a)g(w)o(ord)g(break.)1685 314 y([V)l(ariable])-1801
 b Fg(const)27 b(char)g(*)f(rl_completer_word_break_)q(charac)q(ters)195
-1149 y Fs(The)33 b(list)e(of)h(c)o(haracters)g(that)f(signal)h(a)g
+369 y Fs(The)33 b(list)e(of)h(c)o(haracters)g(that)f(signal)h(a)g
 (break)g(b)q(et)o(w)o(een)h(w)o(ords)f(for)g Fr(rl_complete_)195
-1204 y(internal\(\))p Fs(.)18 b(The)e(default)f(list)f(is)g(the)i(v)m
+423 y(internal\(\))p Fs(.)18 b(The)e(default)f(list)f(is)g(the)i(v)m
 (alue)f(of)g Fr(rl_basic_word_break_chara)o(cters)p Fs(.)1685
-1300 y([V)l(ariable])-1801 b Fg(rl_cpvfunc_t)28 b(*)e
-(rl_completion_word_bre)q(ak_hoo)q(k)195 1355 y Fs(If)16
+533 y([V)l(ariable])-1801 b Fg(rl_cpvfunc_t)28 b(*)e
+(rl_completion_word_bre)q(ak_hoo)q(k)195 588 y Fs(If)16
 b(non-zero,)g(this)f(is)g(the)h(address)g(of)f(a)h(function)f(to)g
-(call)g(when)i(Readline)f(is)f(deciding)h(where)195 1410
+(call)g(when)i(Readline)f(is)f(deciding)h(where)195 643
 y(to)h(separate)f(w)o(ords)h(for)f(w)o(ord)g(completion.)25
 b(It)18 b(should)f(return)g(a)g(c)o(haracter)f(string)g(lik)o(e)g
-Fr(rl_)195 1465 y(completer_word_break_chara)o(cters)d
+Fr(rl_)195 697 y(completer_word_break_chara)o(cters)d
 Fs(to)j(b)q(e)h(used)g(to)f(p)q(erform)g(the)h(curren)o(t)f
-(completion.)195 1519 y(The)d(function)f(ma)o(y)f(c)o(ho)q(ose)i(to)f
+(completion.)195 752 y(The)d(function)f(ma)o(y)f(c)o(ho)q(ose)i(to)f
 (set)g Fr(rl_completer_word_break_)o(charact)o(ers)d
-Fs(itself.)18 b(If)13 b(the)195 1574 y(function)i(returns)g
+Fs(itself.)18 b(If)13 b(the)195 807 y(function)i(returns)g
 Fr(NULL)p Fs(,)f Fr(rl_completer_word_break_chara)o(cters)e
-Fs(is)j(used.)1685 1670 y([V)l(ariable])-1801 b Fg(const)27
-b(char)g(*)f(rl_completer_quote_chara)q(cters)195 1725
+Fs(is)j(used.)1685 917 y([V)l(ariable])-1801 b Fg(const)27
+b(char)g(*)f(rl_completer_quote_chara)q(cters)195 971
 y Fs(A)17 b(list)f(of)g(c)o(haracters)g(whic)o(h)h(can)g(b)q(e)g(used)h
 (to)e(quote)h(a)f(substring)g(of)h(the)g(line.)24 b(Completion)195
-1780 y(o)q(ccurs)13 b(on)h(the)f(en)o(tire)f(substring,)h(and)g(within)
-g(the)g(substring)f Fr(rl_completer_word_break_)195 1834
+1026 y(o)q(ccurs)13 b(on)h(the)f(en)o(tire)f(substring,)h(and)g(within)
+g(the)g(substring)f Fr(rl_completer_word_break_)195 1081
 y(characters)k Fs(are)h(treated)g(as)h(an)o(y)f(other)g(c)o(haracter,)g
 (unless)h(they)f(also)g(app)q(ear)h(within)f(this)195
-1889 y(list.)1685 1985 y([V)l(ariable])-1801 b Fg(const)27
-b(char)g(*)f(rl_filename_quote_charac)q(ters)195 2040
+1136 y(list.)1685 1245 y([V)l(ariable])-1801 b Fg(const)27
+b(char)g(*)f(rl_filename_quote_charac)q(ters)195 1300
 y Fs(A)17 b(list)f(of)g(c)o(haracters)g(that)g(cause)h(a)g(\014lename)g
 (to)f(b)q(e)i(quoted)e(b)o(y)h(the)g(completer)g(when)g(they)195
-2095 y(app)q(ear)e(in)g(a)g(completed)g(\014lename.)20
-b(The)c(default)f(is)f(the)i(n)o(ull)e(string.)1685 2191
+1355 y(app)q(ear)e(in)g(a)g(completed)g(\014lename.)20
+b(The)c(default)f(is)f(the)i(n)o(ull)e(string.)1685 1465
 y([V)l(ariable])-1801 b Fg(const)27 b(char)g(*)f(rl_special_prefixes)
-195 2245 y Fs(The)14 b(list)f(of)g(c)o(haracters)g(that)g(are)h(w)o
+195 1519 y Fs(The)14 b(list)f(of)g(c)o(haracters)g(that)g(are)h(w)o
 (ord)f(break)h(c)o(haracters,)f(but)h(should)g(b)q(e)g(left)f(in)h
-Fi(text)g Fs(when)195 2300 y(it)e(is)f(passed)i(to)f(the)g(completion)f
+Fi(text)g Fs(when)195 1574 y(it)e(is)f(passed)i(to)f(the)g(completion)f
 (function.)19 b(Programs)11 b(can)h(use)h(this)f(to)g(help)g(determine)
-h(what)195 2355 y(kind)i(of)f(completing)g(to)g(do.)19
+h(what)195 1629 y(kind)i(of)f(completing)g(to)g(do.)19
 b(F)l(or)14 b(instance,)h(Bash)f(sets)h(this)f(v)m(ariable)g(to)g
-Fr(")p Fs($)p Fr(@")g Fs(so)g(that)g(it)g(can)195 2410
+Fr(")p Fs($)p Fr(@")g Fs(so)g(that)g(it)g(can)195 1684
 y(complete)h(shell)g(v)m(ariables)f(and)i(hostnames.)1685
-2506 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_query_items)195
-2560 y Fs(Up)18 b(to)g(this)f(man)o(y)h(items)f(will)g(b)q(e)i(displa)o
+1793 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_query_items)195
+1848 y Fs(Up)18 b(to)g(this)f(man)o(y)h(items)f(will)g(b)q(e)i(displa)o
 (y)o(ed)e(in)h(resp)q(onse)h(to)e(a)h(p)q(ossible-completions)f(call.)
-195 2615 y(After)d(that,)f(readline)g(asks)h(the)g(user)g(if)f(she)h
+195 1903 y(After)d(that,)f(readline)g(asks)h(the)g(user)g(if)f(she)h
 (is)g(sure)g(she)g(w)o(an)o(ts)f(to)g(see)h(them)g(all.)k(The)c
-(default)195 2670 y(v)m(alue)h(is)g(100.)k(A)c(negativ)o(e)g(v)m(alue)g
-(indicates)g(that)f(Readline)i(should)f(nev)o(er)g(ask)g(the)g(user.)p
-eop end
-%%Page: 48 52
-TeXDict begin 48 51 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(48)1685 149 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_completion_append_chara)q(cter)195 204
-y Fs(When)17 b(a)f(single)g(completion)g(alternativ)o(e)f(matc)o(hes)h
-(at)g(the)h(end)g(of)f(the)h(command)f(line,)h(this)195
-259 y(c)o(haracter)10 b(is)g(app)q(ended)j(to)d(the)g(inserted)h
-(completion)f(text.)18 b(The)11 b(default)f(is)g(a)h(space)g(c)o
-(haracter)195 314 y(\(`)j('\).)42 b(Setting)22 b(this)g(to)g(the)h(n)o
-(ull)f(c)o(haracter)g(\(`)p Fr(\\0)p Fs('\))f(prev)o(en)o(ts)i(an)o
-(ything)e(b)q(eing)i(app)q(ended)195 369 y(automatically)l(.)29
-b(This)18 b(can)h(b)q(e)h(c)o(hanged)f(in)f(application-sp)q(eci\014c)h
-(completion)f(functions)h(to)195 423 y(pro)o(vide)g(the)h(\\most)f
+(default)195 1958 y(v)m(alue)h(is)g(100.)k(A)c(negativ)o(e)g(v)m(alue)g
+(indicates)g(that)f(Readline)i(should)f(nev)o(er)g(ask)g(the)g(user.)
+1685 2067 y([V)l(ariable])-1801 b Fg(int)27 b
+(rl_completion_append_chara)q(cter)195 2122 y Fs(When)17
+b(a)f(single)g(completion)g(alternativ)o(e)f(matc)o(hes)h(at)g(the)h
+(end)g(of)f(the)h(command)f(line,)h(this)195 2177 y(c)o(haracter)10
+b(is)g(app)q(ended)j(to)d(the)g(inserted)h(completion)f(text.)18
+b(The)11 b(default)f(is)g(a)h(space)g(c)o(haracter)195
+2232 y(\(`)j('\).)42 b(Setting)22 b(this)g(to)g(the)h(n)o(ull)f(c)o
+(haracter)g(\(`)p Fr(\\0)p Fs('\))f(prev)o(en)o(ts)i(an)o(ything)e(b)q
+(eing)i(app)q(ended)195 2286 y(automatically)l(.)29 b(This)18
+b(can)h(b)q(e)h(c)o(hanged)f(in)f(application-sp)q(eci\014c)h
+(completion)f(functions)h(to)195 2341 y(pro)o(vide)g(the)h(\\most)f
 (sensible)h(w)o(ord)f(separator)g(c)o(haracter")g(according)g(to)g(an)h
-(application-)195 478 y(sp)q(eci\014c)c(command)f(line)g(syn)o(tax)f
-(sp)q(eci\014cation.)1685 588 y([V)l(ariable])-1801 b
-Fg(int)27 b(rl_completion_suppress_app)q(end)195 643
-y Fs(If)17 b(non-zero,)g Fi(rl)p 475 643 14 2 v 19 w(completion)p
-712 643 V 19 w(app)q(end)p 875 643 V 22 w(c)o(haracter)i
+(application-)195 2396 y(sp)q(eci\014c)c(command)f(line)g(syn)o(tax)f
+(sp)q(eci\014cation.)1685 2506 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_completion_suppress_app)q(end)195 2560
+y Fs(If)17 b(non-zero,)g Fi(rl)p 475 2560 14 2 v 19 w(completion)p
+712 2560 V 19 w(app)q(end)p 875 2560 V 22 w(c)o(haracter)i
 Fs(is)d(not)g(app)q(ended)i(to)e(matc)o(hes)h(at)f(the)g(end)195
-697 y(of)d(the)h(command)g(line,)f(as)h(describ)q(ed)g(ab)q(o)o(v)o(e.)
-19 b(It)14 b(is)g(set)f(to)g(0)h(b)q(efore)g(an)o(y)f(application-sp)q
-(eci\014c)195 752 y(completion)h(function)h(is)g(called,)f(and)i(ma)o
-(y)e(only)h(b)q(e)h(c)o(hanged)f(within)g(suc)o(h)g(a)g(function.)1685
-862 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_quote_charac)q
-(ter)195 917 y Fs(When)18 b(Readline)h(is)e(completing)h(quoted)g
-(text,)g(as)f(delimited)h(b)o(y)g(one)g(of)g(the)g(c)o(haracters)f(in)
-195 971 y Fi(rl)p 229 971 V 19 w(completer)p 443 971
-V 20 w(quote)p 573 971 V 20 w(c)o(haracters)r Fs(,)i(it)f(sets)h(this)g
+2615 y(of)d(the)h(command)g(line,)f(as)h(describ)q(ed)g(ab)q(o)o(v)o
+(e.)19 b(It)14 b(is)g(set)f(to)g(0)h(b)q(efore)g(an)o(y)f
+(application-sp)q(eci\014c)195 2670 y(completion)h(function)h(is)g
+(called,)f(and)i(ma)o(y)e(only)h(b)q(e)h(c)o(hanged)f(within)g(suc)o(h)
+g(a)g(function.)p eop end
+%%Page: 51 55
+TeXDict begin 51 54 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(51)1685 149 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_completion_quote_charac)q(ter)195 204
+y Fs(When)18 b(Readline)h(is)e(completing)h(quoted)g(text,)g(as)f
+(delimited)h(b)o(y)g(one)g(of)g(the)g(c)o(haracters)f(in)195
+259 y Fi(rl)p 229 259 14 2 v 19 w(completer)p 443 259
+V 20 w(quote)p 573 259 V 20 w(c)o(haracters)r Fs(,)i(it)f(sets)h(this)g
 (v)m(ariable)g(to)g(the)g(quoting)f(c)o(haracter)h(found.)195
-1026 y(This)c(is)f(set)h(b)q(efore)h(an)o(y)f(application-sp)q
-(eci\014c)g(completion)f(function)h(is)g(called.)1685
-1136 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_suppress_quo)q
-(te)195 1191 y Fs(If)16 b(non-zero,)h(Readline)f(do)q(es)h(not)e(app)q
-(end)j(a)d(matc)o(hing)h(quote)g(c)o(haracter)f(when)i(p)q(erforming)
-195 1245 y(completion)11 b(on)h(a)f(quoted)h(string.)18
-b(It)11 b(is)h(set)f(to)g(0)h(b)q(efore)g(an)o(y)f(application-sp)q
-(eci\014c)h(completion)195 1300 y(function)j(is)g(called,)f(and)i(ma)o
-(y)e(only)h(b)q(e)h(c)o(hanged)f(within)g(suc)o(h)g(a)g(function.)1685
-1410 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_found_quote)195
-1465 y Fs(When)16 b(Readline)g(is)g(completing)f(quoted)g(text,)h(it)f
+314 y(This)c(is)f(set)h(b)q(efore)h(an)o(y)f(application-sp)q(eci\014c)
+g(completion)f(function)h(is)g(called.)1685 416 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_completion_suppress_quo)q(te)195 470
+y Fs(If)16 b(non-zero,)h(Readline)f(do)q(es)h(not)e(app)q(end)j(a)d
+(matc)o(hing)h(quote)g(c)o(haracter)f(when)i(p)q(erforming)195
+525 y(completion)11 b(on)h(a)f(quoted)h(string.)18 b(It)11
+b(is)h(set)f(to)g(0)h(b)q(efore)g(an)o(y)f(application-sp)q(eci\014c)h
+(completion)195 580 y(function)j(is)g(called,)f(and)i(ma)o(y)e(only)h
+(b)q(e)h(c)o(hanged)f(within)g(suc)o(h)g(a)g(function.)1685
+682 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_found_quote)195
+737 y Fs(When)16 b(Readline)g(is)g(completing)f(quoted)g(text,)h(it)f
 (sets)g(this)g(v)m(ariable)h(to)f(a)g(non-zero)h(v)m(alue)g(if)195
-1519 y(the)11 b(w)o(ord)e(b)q(eing)i(completed)g(con)o(tains)e(or)i(is)
-f(delimited)f(b)o(y)i(an)o(y)f(quoting)g(c)o(haracters,)g(including)195
-1574 y(bac)o(kslashes.)19 b(This)c(is)g(set)g(b)q(efore)g(an)o(y)g
+791 y(the)11 b(w)o(ord)e(b)q(eing)i(completed)g(con)o(tains)e(or)i(is)f
+(delimited)f(b)o(y)i(an)o(y)f(quoting)g(c)o(haracters,)g(including)195
+846 y(bac)o(kslashes.)19 b(This)c(is)g(set)g(b)q(efore)g(an)o(y)g
 (application-sp)q(eci\014c)g(completion)f(function)h(is)g(called.)1685
-1684 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_mark_symlink)q
-(_dirs)195 1738 y Fs(If)16 b(non-zero,)g(a)g(slash)f(will)g(b)q(e)h
+948 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_mark_symlink)q
+(_dirs)195 1003 y Fs(If)16 b(non-zero,)g(a)g(slash)f(will)g(b)q(e)h
 (app)q(ended)i(to)d(completed)h(\014lenames)g(that)f(are)g(sym)o(b)q
-(olic)h(links)195 1793 y(to)11 b(directory)h(names,)g(sub)s(ject)g(to)f
+(olic)h(links)195 1057 y(to)11 b(directory)h(names,)g(sub)s(ject)g(to)f
 (the)i(v)m(alue)f(of)g(the)g(user-settable)f Fi(mark-directories)i
-Fs(v)m(ariable.)195 1848 y(This)g(v)m(ariable)g(exists)g(so)h(that)f
+Fs(v)m(ariable.)195 1112 y(This)g(v)m(ariable)g(exists)g(so)h(that)f
 (application-sp)q(eci\014c)g(completion)g(functions)g(can)h(o)o(v)o
-(erride)f(the)195 1903 y(user's)21 b(global)f(preference)i(\(set)e(via)
+(erride)f(the)195 1167 y(user's)21 b(global)f(preference)i(\(set)e(via)
 h(the)g Fi(mark-symlink)o(ed-directories)g Fs(Readline)h(v)m(ariable\))
-195 1958 y(if)c(appropriate.)30 b(This)18 b(v)m(ariable)g(is)h(set)f
+195 1222 y(if)c(appropriate.)30 b(This)18 b(v)m(ariable)g(is)h(set)f
 (to)g(the)h(user's)g(preference)h(b)q(efore)f(an)o(y)f(application-)195
-2012 y(sp)q(eci\014c)f(completion)e(function)g(is)h(called,)f(so)g
+1277 y(sp)q(eci\014c)f(completion)e(function)g(is)h(called,)f(so)g
 (unless)h(that)f(function)h(mo)q(di\014es)g(the)g(v)m(alue,)g(the)195
-2067 y(user's)f(preferences)h(are)f(honored.)1685 2177
+1331 y(user's)f(preferences)h(are)f(honored.)1685 1433
 y([V)l(ariable])-1801 b Fg(int)27 b(rl_ignore_completion_dupli)q(cates)
-195 2232 y Fs(If)15 b(non-zero,)h(then)f(duplicates)g(in)g(the)g(matc)o
+195 1488 y Fs(If)15 b(non-zero,)h(then)f(duplicates)g(in)g(the)g(matc)o
 (hes)g(are)g(remo)o(v)o(ed.)k(The)d(default)f(is)f(1.)1685
-2341 y([V)l(ariable])-1801 b Fg(int)27 b(rl_filename_completion_des)q
-(ired)195 2396 y Fs(Non-zero)16 b(means)g(that)f(the)h(results)f(of)h
+1590 y([V)l(ariable])-1801 b Fg(int)27 b(rl_filename_completion_des)q
+(ired)195 1645 y Fs(Non-zero)16 b(means)g(that)f(the)h(results)f(of)h
 (the)g(matc)o(hes)f(are)h(to)f(b)q(e)i(treated)e(as)g(\014lenames.)22
-b(This)195 2451 y(is)d Fj(always)24 b Fs(zero)c(when)g(completion)f(is)
+b(This)195 1699 y(is)d Fj(always)24 b Fs(zero)c(when)g(completion)f(is)
 h(attempted,)g(and)g(can)g(only)g(b)q(e)h(c)o(hanged)f(within)f(an)195
-2506 y(application-sp)q(eci\014c)g(completion)g(function.)34
+1754 y(application-sp)q(eci\014c)g(completion)g(function.)34
 b(If)20 b(it)e(is)i(set)f(to)g(a)h(non-zero)g(v)m(alue)g(b)o(y)f(suc)o
-(h)h(a)195 2560 y(function,)11 b(directory)g(names)g(ha)o(v)o(e)g(a)f
+(h)h(a)195 1809 y(function,)11 b(directory)g(names)g(ha)o(v)o(e)g(a)f
 (slash)h(app)q(ended)i(and)e(Readline)g(attempts)g(to)f(quote)h(com-)
-195 2615 y(pleted)18 b(\014lenames)f(if)g(they)h(con)o(tain)f(an)o(y)g
+195 1864 y(pleted)18 b(\014lenames)f(if)g(they)h(con)o(tain)f(an)o(y)g
 (c)o(haracters)f(in)i Fr(rl_filename_quote_charact)o(ers)195
-2670 y Fs(and)d Fr(rl_filename_quoting_desired)d Fs(is)j(set)g(to)f(a)h
-(non-zero)g(v)m(alue.)p eop end
-%%Page: 49 53
-TeXDict begin 49 52 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(49)1685 149 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_filename_quoting_desire)q(d)195 204
+1919 y Fs(and)d Fr(rl_filename_quoting_desired)d Fs(is)j(set)g(to)f(a)h
+(non-zero)g(v)m(alue.)1685 2020 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_filename_quoting_desire)q(d)195 2075
 y Fs(Non-zero)14 b(means)g(that)f(the)i(results)e(of)h(the)g(matc)o
 (hes)f(are)h(to)f(b)q(e)i(quoted)f(using)g(double)g(quotes)195
-259 y(\(or)20 b(an)i(application-sp)q(eci\014c)e(quoting)h(mec)o
+2130 y(\(or)20 b(an)i(application-sp)q(eci\014c)e(quoting)h(mec)o
 (hanism\))f(if)h(the)g(completed)h(\014lename)f(con)o(tains)195
-314 y(an)o(y)13 b(c)o(haracters)h(in)f Fr(rl_filename_quote_chars)p
+2185 y(an)o(y)13 b(c)o(haracters)h(in)f Fr(rl_filename_quote_chars)p
 Fs(.)j(This)e(is)f Fj(always)18 b Fs(non-zero)c(when)g(comple-)195
-369 y(tion)f(is)g(attempted,)h(and)g(can)g(only)f(b)q(e)h(c)o(hanged)h
+2239 y(tion)f(is)g(attempted,)h(and)g(can)g(only)f(b)q(e)h(c)o(hanged)h
 (within)e(an)g(application-sp)q(eci\014c)h(completion)195
-423 y(function.)k(The)11 b(quoting)f(is)g(e\013ected)g(via)g(a)g(call)g
-(to)g(the)h(function)f(p)q(oin)o(ted)g(to)g(b)o(y)h Fr(rl_filename_)195
-478 y(quoting_function)p Fs(.)1685 570 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_attempted_completion_ov)q(er)195 625
-y Fs(If)47 b(an)g(application-sp)q(eci\014c)g(completion)f(function)h
-(assigned)f(to)h Fr(rl_attempted_)195 680 y(completion_function)24
-b Fs(sets)i(this)g(v)m(ariable)g(to)g(a)g(non-zero)h(v)m(alue,)i
-(Readline)e(will)e(not)195 735 y(p)q(erform)15 b(its)f(default)g
-(\014lename)h(completion)f(ev)o(en)h(if)f(the)h(application's)e
-(completion)h(function)195 790 y(returns)h(no)g(matc)o(hes.)20
-b(It)15 b(should)g(b)q(e)h(set)f(only)g(b)o(y)g(an)g(application's)e
-(completion)i(function.)1685 882 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_sort_completion_matches)195 936 y Fs(If)15
+2294 y(function.)k(The)11 b(quoting)f(is)g(e\013ected)g(via)g(a)g(call)
+g(to)g(the)h(function)f(p)q(oin)o(ted)g(to)g(b)o(y)h
+Fr(rl_filename_)195 2349 y(quoting_function)p Fs(.)1685
+2451 y([V)l(ariable])-1801 b Fg(int)27 b(rl_attempted_completion_ov)q
+(er)195 2506 y Fs(If)47 b(an)g(application-sp)q(eci\014c)g(completion)f
+(function)h(assigned)f(to)h Fr(rl_attempted_)195 2560
+y(completion_function)24 b Fs(sets)i(this)g(v)m(ariable)g(to)g(a)g
+(non-zero)h(v)m(alue,)i(Readline)e(will)e(not)195 2615
+y(p)q(erform)15 b(its)f(default)g(\014lename)h(completion)f(ev)o(en)h
+(if)f(the)h(application's)e(completion)h(function)195
+2670 y(returns)h(no)g(matc)o(hes.)20 b(It)15 b(should)g(b)q(e)h(set)f
+(only)g(b)o(y)g(an)g(application's)e(completion)i(function.)p
+eop end
+%%Page: 52 56
+TeXDict begin 52 55 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(52)1685 149 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_sort_completion_matches)195 204 y Fs(If)15
 b(an)g(application)f(sets)g(this)h(v)m(ariable)f(to)g(0,)g(Readline)i
 (will)d(not)i(sort)f(the)h(list)e(of)i(completions)195
-991 y(\(whic)o(h)d(implies)f(that)h(it)f(cannot)h(remo)o(v)o(e)g(an)o
+259 y(\(whic)o(h)d(implies)f(that)h(it)f(cannot)h(remo)o(v)o(e)g(an)o
 (y)g(duplicate)g(completions\).)18 b(The)12 b(default)g(v)m(alue)g(is)
-195 1046 y(1,)j(whic)o(h)g(means)h(that)f(Readline)h(will)e(sort)h(the)
-g(completions)g(and,)h(dep)q(ending)g(on)g(the)g(v)m(alue)195
-1101 y(of)f Fr(rl_ignore_completion_dup)o(licates)p Fs(,)c(will)j
+195 314 y(1,)j(whic)o(h)g(means)h(that)f(Readline)h(will)e(sort)h(the)g
+(completions)g(and,)h(dep)q(ending)g(on)g(the)g(v)m(alue)195
+369 y(of)f Fr(rl_ignore_completion_dup)o(licates)p Fs(,)c(will)j
 (attempt)g(to)h(remo)o(v)o(e)f(duplicate)h(matc)o(hes.)1685
-1193 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_type)195
-1248 y Fs(Set)18 b(to)e(a)i(c)o(haracter)f(describing)g(the)g(t)o(yp)q
+461 y([V)l(ariable])-1801 b Fg(int)27 b(rl_completion_type)195
+516 y Fs(Set)18 b(to)e(a)i(c)o(haracter)f(describing)g(the)g(t)o(yp)q
 (e)h(of)f(completion)g(Readline)h(is)f(curren)o(tly)g(attempt-)195
-1303 y(ing;)g(see)g(the)f(description)g(of)h Fr
+570 y(ing;)g(see)g(the)f(description)g(of)h Fr
 (rl_complete_internal\(\))c Fs(\(see)k(Section)g(2.6.2)e([Completion)
-195 1357 y(F)l(unctions],)j(page)g(44\))g(for)f(the)i(list)e(of)h(c)o
+195 625 y(F)l(unctions],)j(page)g(46\))g(for)f(the)i(list)e(of)h(c)o
 (haracters.)28 b(This)18 b(is)g(set)g(to)g(the)g(appropriate)g(v)m
-(alue)195 1412 y(b)q(efore)e(an)o(y)g(application-sp)q(eci\014c)f
+(alue)195 680 y(b)q(efore)e(an)o(y)g(application-sp)q(eci\014c)f
 (completion)g(function)h(is)f(called,)g(allo)o(wing)f(suc)o(h)i
-(functions)195 1467 y(to)f(presen)o(t)g(the)g(same)g(in)o(terface)f(as)
-h Fr(rl_complete\(\))p Fs(.)1685 1559 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_completion_invoking_key)195 1614 y Fs(Set)20
+(functions)195 735 y(to)f(presen)o(t)g(the)g(same)g(in)o(terface)f(as)h
+Fr(rl_complete\(\))p Fs(.)1685 827 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_completion_invoking_key)195 882 y Fs(Set)20
 b(to)g(the)h(\014nal)f(c)o(haracter)f(in)i(the)f(k)o(ey)g(sequence)i
 (that)d(in)o(v)o(ok)o(ed)h(one)g(of)g(the)h(completion)195
-1669 y(functions)e(that)f(call)f Fr(rl_complete_internal\(\))p
+936 y(functions)e(that)f(call)f Fr(rl_complete_internal\(\))p
 Fs(.)28 b(This)18 b(is)h(set)f(to)g(the)h(appropriate)f(v)m(alue)195
-1724 y(b)q(efore)d(an)o(y)g(application-sp)q(eci\014c)g(completion)g
-(function)g(is)f(called.)1685 1816 y([V)l(ariable])-1801
-b Fg(int)27 b(rl_inhibit_completion)195 1870 y Fs(If)14
+991 y(b)q(efore)d(an)o(y)g(application-sp)q(eci\014c)g(completion)g
+(function)g(is)f(called.)1685 1083 y([V)l(ariable])-1801
+b Fg(int)27 b(rl_inhibit_completion)195 1138 y Fs(If)14
 b(this)g(v)m(ariable)f(is)h(non-zero,)g(completion)g(is)f(inhibited.)19
 b(The)c(completion)e(c)o(haracter)g(will)g(b)q(e)195
-1925 y(inserted)i(as)g(an)o(y)g(other)g(b)q(ound)h(to)e
-Fr(self-insert)p Fs(.)75 2025 y Fh(2.6.4)30 b(A)21 b(Short)f
-(Completion)g(Example)75 2098 y Fs(Here)15 b(is)f(a)g(small)f
+1193 y(inserted)i(as)g(an)o(y)g(other)g(b)q(ound)h(to)e
+Fr(self-insert)p Fs(.)75 1293 y Fh(2.6.4)30 b(A)21 b(Short)f
+(Completion)g(Example)75 1366 y Fs(Here)15 b(is)f(a)g(small)f
 (application)g(demonstrating)h(the)g(use)h(of)f(the)h(GNU)f(Readline)h
-(library)l(.)k(It)14 b(is)g(called)75 2153 y Fr(fileman)p
+(library)l(.)k(It)14 b(is)g(called)75 1421 y Fr(fileman)p
 Fs(,)j(and)h(the)g(source)g(co)q(de)g(resides)g(in)f(`)p
 Fr(examples/fileman.c)p Fs('.)25 b(This)17 b(sample)g(application)75
-2208 y(pro)o(vides)c(completion)f(of)g(command)h(names,)g(line)g
+1476 y(pro)o(vides)c(completion)f(of)g(command)h(names,)g(line)g
 (editing)g(features,)f(and)i(access)f(to)f(the)h(history)g(list.)p
 eop end
-%%Page: 50 54
-TeXDict begin 50 53 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(50)195 149 y Fe(/*)19 b(fileman.c)d(--)j
+%%Page: 53 57
+TeXDict begin 53 56 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(53)195 149 y Fe(/*)19 b(fileman.c)d(--)j
 (A)g(tiny)f(applicatio)o(n)e(which)i(demonstrat)o(es)e(how)j(to)f(use)h
 (the)254 193 y(GNU)f(Readline)f(library.)36 b(This)18
 b(applicatio)o(n)e(interactive)o(ly)g(allows)h(users)254
@@ -7340,9 +10279,9 @@ y(rl_icpfunc)o(_t)g(*func;)h(/*)i(Function)e(to)i(call)f(to)h(do)f(the)
 h(job.)f(*/)234 2590 y(char)g(*doc;)g(/*)h(Documenta)o(tio)o(n)d(for)j
 (this)f(function.)36 b(*/)195 2634 y(})19 b(COMMAND;)p
 eop end
-%%Page: 51 55
-TeXDict begin 51 54 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(51)195 193 y Fe(COMMAND)17
+%%Page: 54 58
+TeXDict begin 54 57 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(54)195 193 y Fe(COMMAND)17
 b(commands[)o(])g(=)i({)234 237 y({)g("cd",)f(com_cd,)f("Change)g(to)i
 (directory)d(DIR")i(},)234 280 y({)h("delete",)e(com_dele)o(te,)f
 ("Delete)h(FILE")h(},)234 324 y({)h("help",)e(com_help,)f("Display)h
@@ -7378,9 +10317,9 @@ y(if)j(\(!line\))352 2460 y(break;)313 2547 y(/*)g(Remove)e(leading)g
 2590 y(Then,)f(if)i(there)f(is)h(anything)d(left,)i(add)g(it)h(to)g
 (the)f(history)f(list)372 2634 y(and)h(execute)f(it.)h(*/)p
 eop end
-%%Page: 52 56
-TeXDict begin 52 55 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(52)313 149 y Fe(s)19 b(=)g(stripwhite)d
+%%Page: 55 59
+TeXDict begin 55 58 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(55)313 149 y Fe(s)19 b(=)g(stripwhite)d
 (\(line\);)313 237 y(if)j(\(*s\))352 280 y({)391 324
 y(add_histor)o(y)d(\(s\);)391 367 y(execute_li)o(ne)g(\(s\);)352
 411 y(})313 498 y(free)i(\(line\);)273 542 y(})234 585
@@ -7407,9 +10346,9 @@ y(exit)g(\(0\);)195 629 y(})195 716 y(/*)h(Execute)e(a)i(command)e
 (isn't)g(a)h(command)e(name.)h(*/)195 2503 y(COMMAND)f(*)195
 2547 y(find_comma)o(nd)f(\(name\))293 2590 y(char)i(*name;)195
 2634 y({)p eop end
-%%Page: 53 57
-TeXDict begin 53 56 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(53)234 149 y Fe(register)17
+%%Page: 56 60
+TeXDict begin 56 59 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(56)234 149 y Fe(register)17
 b(int)h(i;)234 237 y(for)h(\(i)g(=)g(0;)g(commands)o([i])o(.na)o(me)o
 (;)e(i++\))273 280 y(if)i(\(strcmp)e(\(name,)g(commands[i])o(.n)o(ame)o
 (\))g(==)h(0\))313 324 y(return)f(\(&command)o(s[i)o(]\);)234
@@ -7452,9 +10391,9 @@ f(of)i(TEXT.)37 b(START)18 b(and)g(END)h(bound)e(the)254
 (some)f(simple)g(parsing.)36 b(Return)17 b(the)i(array)e(of)i(matches,)
 254 2590 y(or)g(NULL)f(if)h(there)e(aren't)h(any.)g(*/)195
 2634 y(char)g(**)p eop end
-%%Page: 54 58
-TeXDict begin 54 57 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(54)195 149 y Fe(fileman_co)o(mp)o(let)o
+%%Page: 57 61
+TeXDict begin 57 60 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(57)195 149 y Fe(fileman_co)o(mp)o(let)o
 (io)o(n)17 b(\(text,)g(start,)g(end\))293 193 y(const)h(char)g(*text;)
 293 237 y(int)h(start,)e(end;)195 280 y({)234 324 y(char)h(**matches;)
 234 411 y(matches)f(=)i(\(char)f(**\)NULL;)234 498 y(/*)h(If)g(this)f
@@ -7493,9 +10432,9 @@ y(/*)1294 b(*/)195 2503 y(/*)19 b(*********)o(***)o(**)o(***)o(**)o
 (**)o(***)o(**)o(***)o(***)d(*/)195 2590 y(/*)j(String)e(to)i(pass)f
 (to)h(system)e(\(\).)38 b(This)18 b(is)h(for)g(the)f(LIST,)g(VIEW)g
 (and)g(RENAME)254 2634 y(commands.)e(*/)p eop end
-%%Page: 55 59
-TeXDict begin 55 58 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(55)195 149 y Fe(static)17
+%%Page: 58 62
+TeXDict begin 58 61 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(58)195 149 y Fe(static)17
 b(char)h(syscom[102)o(4];)195 237 y(/*)h(List)f(the)g(file\(s\))f
 (named)h(in)h(arg.)f(*/)195 280 y(com_list)f(\(arg\))293
 324 y(char)h(*arg;)195 367 y({)234 411 y(if)h(\(!arg\))273
@@ -7524,9 +10463,9 @@ y(arg,)391 2460 y(finfo.st_n)o(li)o(nk,)391 2503 y(\(finfo.st_)o(nl)o
 2590 y(\(finfo.st_)o(si)o(ze)d(==)j(1\))g(?)g("")g(:)g("s"\);)234
 2634 y(printf)f(\("Inode)e(Last)i(Change)g(at:)g(\045s",)g(ctime)g
 (\(&finfo.st)o(_c)o(tim)o(e\))o(\);)p eop end
-%%Page: 56 60
-TeXDict begin 56 59 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(56)234 149 y Fe(printf)18
+%%Page: 59 63
+TeXDict begin 59 62 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(59)234 149 y Fe(printf)18
 b(\(")116 b(Last)18 b(access)g(at:)g(\045s",)g(ctime)g(\(&finfo.st)o
 (_a)o(tim)o(e\))o(\);)234 193 y(printf)g(\(")77 b(Last)18
 b(modified)f(at:)h(\045s",)g(ctime)g(\(&finfo.st)o(_m)o(tim)o(e\))o
@@ -7557,9 +10496,9 @@ y(if)i(\(printed)o(\))352 2198 y(printf)e(\("\\n"\);)273
 2460 y(com_cd)f(\(arg\))293 2503 y(char)h(*arg;)195 2547
 y({)234 2590 y(if)h(\(chdir)e(\(arg\))h(==)h(-1\))273
 2634 y({)p eop end
-%%Page: 57 61
-TeXDict begin 57 60 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
-b(with)g(GNU)h(Readline)842 b(57)313 149 y Fe(perror)17
+%%Page: 60 64
+TeXDict begin 60 63 bop 75 -58 a Fs(Chapter)15 b(2:)k(Programming)14
+b(with)g(GNU)h(Readline)842 b(60)313 149 y Fe(perror)17
 b(\(arg\);)313 193 y(return)g(1;)273 237 y(})234 324
 y(com_pwd)g(\(""\);)234 367 y(return)h(\(0\);)195 411
 y(})195 498 y(/*)h(Print)f(out)g(the)g(current)f(working)g(directory.)f
@@ -7588,9 +10527,9 @@ y(char)h(*caller,)f(*arg;)195 2198 y({)234 2242 y(if)i(\(!arg)f(||)h
 (Argument)f(required.)o(\\n)o(",)f(caller\);)313 2372
 y(return)h(\(0\);)273 2416 y(})234 2503 y(return)h(\(1\);)195
 2547 y(})p eop end
-%%Page: 58 62
-TeXDict begin 58 61 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(58)75 149
+%%Page: 61 65
+TeXDict begin 61 64 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(61)75 149
 y Fo(App)r(endix)26 b(A)41 b(GNU)27 b(F)-7 b(ree)26 b(Do)r(cumen)n
 (tation)j(License)679 251 y Fs(V)l(ersion)15 b(1.3,)f(3)h(No)o(v)o(em)o
 (b)q(er)g(2008)195 318 y(Cop)o(yrigh)o(t)421 317 y(c)409
@@ -7667,9 +10606,9 @@ b(The)165 2439 y(relationship)12 b(could)i(b)q(e)g(a)g(matter)e(of)i
 (are)i(designated,)f(as)165 2670 y(b)q(eing)i(those)f(of)g(In)o(v)m
 (arian)o(t)f(Sections,)h(in)h(the)f(notice)g(that)f(sa)o(ys)h(that)g
 (the)g(Do)q(cumen)o(t)g(is)g(released)p eop end
-%%Page: 59 63
-TeXDict begin 59 62 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(59)165 149
+%%Page: 62 66
+TeXDict begin 62 65 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(62)165 149
 y(under)15 b(this)e(License.)20 b(If)14 b(a)g(section)f(do)q(es)h(not)g
 (\014t)f(the)h(ab)q(o)o(v)o(e)g(de\014nition)g(of)f(Secondary)h(then)g
 (it)f(is)165 204 y(not)j(allo)o(w)o(ed)e(to)h(b)q(e)i(designated)f(as)f
@@ -7756,9 +10695,9 @@ h(are)g(considered)i(to)165 2485 y(b)q(e)h(included)h(b)o(y)f
 g(ha)o(v)o(e)h(is)g(v)o(oid)g(and)h(has)f(no)165 2595
 y(e\013ect)d(on)g(the)g(meaning)g(of)g(this)g(License.)100
 2670 y(2.)29 b(VERBA)l(TIM)16 b(COPYING)p eop end
-%%Page: 60 64
-TeXDict begin 60 63 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(60)165 149
+%%Page: 63 67
+TeXDict begin 63 66 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(63)165 149
 y(Y)l(ou)19 b(ma)o(y)g(cop)o(y)f(and)i(distribute)e(the)h(Do)q(cumen)o
 (t)g(in)g(an)o(y)g(medium,)g(either)g(commercially)e(or)165
 204 y(noncommercially)l(,)k(pro)o(vided)g(that)g(this)g(License,)i(the)
@@ -7844,9 +10783,9 @@ l(ersion:)178 2615 y(A.)30 b(Use)17 b(in)f(the)g(Title)f(P)o(age)h
 (distinct)h(from)f(that)h(of)g(the)255 2670 y(Do)q(cumen)o(t,)h(and)g
 (from)f(those)h(of)f(previous)h(v)o(ersions)f(\(whic)o(h)g(should,)h
 (if)g(there)g(w)o(ere)f(an)o(y)l(,)p eop end
-%%Page: 61 65
-TeXDict begin 61 64 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(61)255 149
+%%Page: 64 68
+TeXDict begin 64 67 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(64)255 149
 y(b)q(e)16 b(listed)f(in)h(the)g(History)e(section)h(of)g(the)h(Do)q
 (cumen)o(t\).)21 b(Y)l(ou)16 b(ma)o(y)f(use)h(the)g(same)f(title)f(as)
 255 204 y(a)h(previous)g(v)o(ersion)f(if)h(the)g(original)e(publisher)j
@@ -7923,9 +10862,9 @@ g(Section.)177 2478 y(O.)30 b(Preserv)o(e)15 b(an)o(y)g(W)l(arran)o(t)o
 f(ma)o(y)h(at)165 2670 y(y)o(our)i(option)f(designate)h(some)g(or)f
 (all)g(of)h(these)h(sections)e(as)h(in)o(v)m(arian)o(t.)22
 b(T)l(o)15 b(do)i(this,)e(add)h(their)p eop end
-%%Page: 62 66
-TeXDict begin 62 65 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(62)165 149
+%%Page: 65 69
+TeXDict begin 65 68 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(65)165 149
 y(titles)16 b(to)h(the)h(list)f(of)g(In)o(v)m(arian)o(t)g(Sections)h
 (in)f(the)h(Mo)q(di\014ed)g(V)l(ersion's)f(license)h(notice.)27
 b(These)165 204 y(titles)14 b(m)o(ust)h(b)q(e)g(distinct)g(from)f(an)o
@@ -8005,9 +10944,9 @@ g(in)f(all)165 2434 y(other)d(resp)q(ects.)165 2506 y(Y)l(ou)h(ma)o(y)f
 2615 y(do)q(cumen)o(t,)g(and)f(follo)o(w)e(this)i(License)h(in)f(all)g
 (other)f(resp)q(ects)i(regarding)f(v)o(erbatim)f(cop)o(ying)g(of)165
 2670 y(that)f(do)q(cumen)o(t.)p eop end
-%%Page: 63 67
-TeXDict begin 63 66 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(63)100 149
+%%Page: 66 70
+TeXDict begin 66 69 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(66)100 149
 y(7.)29 b(A)o(GGREGA)l(TION)15 b(WITH)h(INDEPENDENT)e(W)o(ORKS)165
 221 y(A)g(compilation)e(of)i(the)g(Do)q(cumen)o(t)g(or)f(its)h(deriv)m
 (ativ)o(es)f(with)g(other)h(separate)f(and)i(indep)q(enden)o(t)165
@@ -8089,9 +11028,9 @@ b(If)19 b(y)o(our)g(righ)o(ts)e(ha)o(v)o(e)165 2615 y(b)q(een)d
 (of)g(a)g(cop)o(y)g(of)f(some)h(or)f(all)g(of)h(the)165
 2670 y(same)i(material)e(do)q(es)j(not)f(giv)o(e)f(y)o(ou)h(an)o(y)g
 (righ)o(ts)f(to)g(use)i(it.)p eop end
-%%Page: 64 68
-TeXDict begin 64 67 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(64)77 149
+%%Page: 67 71
+TeXDict begin 67 70 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(67)77 149
 y(10.)29 b(FUTURE)15 b(REVISIONS)j(OF)d(THIS)h(LICENSE)165
 217 y(The)21 b(F)l(ree)g(Soft)o(w)o(are)e(F)l(oundation)h(ma)o(y)g
 (publish)h(new,)h(revised)f(v)o(ersions)f(of)g(the)h(GNU)g(F)l(ree)165
@@ -8154,9 +11093,9 @@ g(republish)h(an)f(MMC)f(con)o(tained)h(in)g(the)h(site)e(under)165
 1948 y(CC-BY-SA)d(on)f(the)g(same)g(site)f(at)h(an)o(y)f(time)h(b)q
 (efore)g(August)g(1,)g(2009,)e(pro)o(vided)i(the)g(MMC)f(is)165
 2002 y(eligible)g(for)h(relicensing.)p eop end
-%%Page: 65 69
-TeXDict begin 65 68 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
-(ree)g(Do)q(cumen)o(tation)g(License)802 b(65)75 149
+%%Page: 68 72
+TeXDict begin 68 71 bop 75 -58 a Fs(App)q(endix)16 b(A:)f(GNU)g(F)l
+(ree)g(Do)q(cumen)o(tation)g(License)802 b(68)75 149
 y Fq(ADDENDUM:)20 b(Ho)n(w)h(to)h(use)g(this)g(License)g(for)g(y)n(our)
 h(do)r(cumen)n(ts)75 229 y Fs(T)l(o)17 b(use)h(this)e(License)i(in)g(a)
 f(do)q(cumen)o(t)g(y)o(ou)g(ha)o(v)o(e)g(written,)g(include)g(a)g(cop)o
@@ -8190,11 +11129,11 @@ y(three,)e(merge)g(those)g(t)o(w)o(o)f(alternativ)o(es)f(to)i(suit)f
 (suc)o(h)g(as)g(the)f(GNU)75 1166 y(General)15 b(Public)g(License,)g
 (to)g(p)q(ermit)g(their)f(use)i(in)f(free)g(soft)o(w)o(are.)p
 eop end
-%%Page: 66 70
-TeXDict begin 66 69 bop 75 -58 a Fs(Concept)15 b(Index)1466
-b(66)75 149 y Fo(Concept)27 b(Index)75 319 y Fq(A)75
+%%Page: 69 73
+TeXDict begin 69 72 bop 75 -58 a Fs(Concept)15 b(Index)1466
+b(69)75 149 y Fo(Concept)27 b(Index)75 319 y Fq(A)75
 377 y Fb(application-sp)q(eci\014c)14 b(completion)f(functions)c
-Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(43)75 502 y Fq(C)75
+Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(45)75 502 y Fq(C)75
 561 y Fb(command)14 b(editing)9 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)21 b Fb(1)75 686 y Fq(E)75 744 y Fb(editing)13
@@ -8224,9 +11163,9 @@ b Fb(4)1012 1089 y Fq(Y)1012 1154 y Fb(y)o(anking)14
 b(text)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)19 b Fb(2)p eop end
-%%Page: 67 71
-TeXDict begin 67 70 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
-g(Index)1187 b(67)75 149 y Fo(F)-7 b(unction)27 b(and)g(V)-7
+%%Page: 70 74
+TeXDict begin 70 73 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
+g(Index)1187 b(70)75 149 y Fo(F)-7 b(unction)27 b(and)g(V)-7
 b(ariable)28 b(Index)p 80 305 21 3 v 75 363 a Fe(_rl_digit_)o(p)7
 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
@@ -8273,687 +11212,715 @@ g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 b(\(C-x)j(e\))6 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)18 b Fb(19)75 1569 y Fe(capitalize)o(-w)o(ord)9
 b(\(M-c\))f Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(16)75 1613
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(17)75 1613
 y Fe(character-)o(se)o(arc)o(h)10 b(\(C-]\))f Fa(:)s(:)d(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)21
 b Fb(20)75 1657 y Fe(character-)o(se)o(arc)o(h-)o(bac)o(kwa)o(rd)9
 b(\(M-C-]\))s Fa(:)t(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16
 b Fb(20)75 1700 y Fe(clear-scre)o(en)9 b(\(C-l\))c Fa(:)g(:)h(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)18 b Fb(14)75 1744 y(commen)o(t-b)q(egin)9
-b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21
-b Fb(5)75 1788 y Fe(complete)10 b(\(TAB\))e Fa(:)e(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(18)75 1831 y(completion-displa)o
-(y-width)11 b Fa(:)6 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(5)75 1875
-y(completion-ignore-case)6 b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)19
-b Fb(5)75 1918 y(completion-map-case)t Fa(:)8 b(:)e(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)17 b Fb(5)75 1962 y(completion-pre\014x-displa)o(y-length)t
+g(:)g(:)g(:)g(:)g(:)18 b Fb(14)75 1744 y(colored-stats)5
+b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)18 b Fb(5)75 1788 y(commen)o(t-b)q(egin)9 b Fa(:)e(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(5)75
+1831 y Fe(complete)10 b(\(TAB\))e Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)23 b Fb(18)75 1875 y(completion-displa)o(y-width)11
+b Fa(:)6 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(5)75 1918 y(completion-ignore-case)6
+b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(5)75 1962
+y(completion-map-case)t Fa(:)8 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17
+b Fb(5)75 2006 y(completion-pre\014x-displa)o(y-length)t
 Fa(:)8 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-16 b Fb(5)75 2006 y(completion-query-items)9 b Fa(:)d(:)h(:)f(:)g(:)g
+16 b Fb(5)75 2049 y(completion-query-items)9 b Fa(:)d(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)21 b Fb(5)75 2049 y(con)o(v)o(ert-meta)11 b Fa(:)6
+g(:)g(:)21 b Fb(5)75 2093 y(con)o(v)o(ert-meta)11 b Fa(:)6
 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23
-b Fb(5)75 2093 y Fe(copy-backw)o(ar)o(d-w)o(or)o(d)10
+b Fb(5)75 2137 y Fe(copy-backw)o(ar)o(d-w)o(or)o(d)10
 b(\(\))f Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(17)75 2137 y Fe(copy-forwa)o(rd)
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(18)75 2180 y Fe(copy-forwa)o(rd)
 o(-wo)o(rd)9 b(\(\))i Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24
-b Fb(18)75 2180 y Fe(copy-regio)o(n-)o(as-)o(ki)o(ll)9
+b Fb(18)75 2224 y Fe(copy-regio)o(n-)o(as-)o(ki)o(ll)9
 b(\(\))g Fa(:)c(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(17)75 2306 y Fq(D)75
-2365 y Fe(delete-cha)o(r)10 b(\(C-d\))c Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)h
+(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(18)75 2350 y Fq(D)75
+2408 y Fe(delete-cha)o(r)10 b(\(C-d\))c Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)19 b Fb(16)75 2408 y Fe(delete-cha)o(r-)o(or-)o(li)o(st)9
+g(:)g(:)g(:)19 b Fb(16)75 2452 y Fe(delete-cha)o(r-)o(or-)o(li)o(st)9
 b(\(\))g Fa(:)c(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(19)75 2452 y Fe(delete-hor)o(iz)o
+(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(19)75 2495 y Fe(delete-hor)o(iz)o
 (ont)o(al)o(-sp)o(ace)9 b(\(\))t Fa(:)c(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)16 b Fb(17)75 2495
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)16 b Fb(17)75 2539
 y Fe(digit-argu)o(me)o(nt)9 b(\()p Fc(M-0)p Fe(,)i Fc(M-1)p
 Fe(,)h(...)f Fc(M--)p Fe(\))t Fa(:)t(:)6 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)16 b Fb(18)75 2539 y(disable-completion)6 b Fa(:)h(:)f(:)g(:)g(:)g
+(:)16 b Fb(18)75 2583 y(disable-completion)6 b Fa(:)h(:)f(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(5)75 2583 y Fe(do-upperca)o(se)o
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(6)75 2626 y Fe(do-upperca)o(se)o
 (-ve)o(rs)o(ion)9 b(\(M-a,)i(M-b,)g(M-)p Fc(x)t Fe(,)h(...)o(\))155
-2626 y Fa(:)6 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(19)75
-2670 y Fe(downcase-w)o(or)o(d)10 b(\(M-l\))t Fa(:)t(:)c(:)g(:)g(:)g(:)g
+2670 y Fa(:)6 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)17 b Fb(16)1012 305 y Fe(dump-functi)o(on)o(s)10
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(19)1012
+305 y Fe(downcase-wo)o(rd)9 b(\(M-l\))t Fa(:)t(:)d(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)17 b Fb(17)1012 349 y Fe(dump-functi)o(on)o(s)10
 b(\(\))c Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(20)1012 349 y Fe(dump-macros)9 b(\(\))g Fa(:)e(:)f(:)g(:)g(:)g(:)g
+b Fb(20)1012 393 y Fe(dump-macros)9 b(\(\))g Fa(:)e(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(20)1012 393 y Fe(dump-variab)o(le)o
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(21)1012 437 y Fe(dump-variab)o(le)o
 (s)10 b(\(\))c Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(20)1012 520 y Fq(E)1012 578 y Fb(editing-mo)q(de)11
+b Fb(20)1012 565 y Fq(E)1012 624 y Fb(editing-mo)q(de)11
 b Fa(:)6 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)23 b Fb(6)1012 622 y Fe(emacs-editi)o(ng)o(-mo)o(de)9
+f(:)23 b Fb(6)1012 668 y Fe(emacs-editi)o(ng)o(-mo)o(de)9
 b(\(C-e\))d Fa(:)t(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)19 b Fb(20)1012 665 y(enable-k)o(eypad)12
+(:)g(:)g(:)h(:)f(:)g(:)19 b Fb(21)1012 712 y(enable-k)o(eypad)12
 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-22 b Fb(6)1012 709 y Fe(end-kbd-mac)o(ro)9 b(\(C-x)i(\)\))5
+22 b Fb(6)1012 756 y Fe(end-kbd-mac)o(ro)9 b(\(C-x)i(\)\))5
 b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(19)1012 753 y Fe(end-of-hist)o(or)o
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(19)1012 800 y Fe(end-of-hist)o(or)o
 (y)10 b(\(M->\))f Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(15)1012
-797 y Fe(end-of-line)9 b(\(C-e\))d Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g
+844 y Fe(end-of-line)9 b(\(C-e\))d Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)20 b Fb(14)1012 841 y Fe(exchange-po)o(in)o(t-a)o(nd)o(-ma)o
+g(:)g(:)20 b Fb(14)1012 888 y Fe(exchange-po)o(in)o(t-a)o(nd)o(-ma)o
 (rk)9 b(\(C-x)j(C-x\))7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(20)1012 884 y(expand-tilde)7 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(20)1012 932 y(expand-tilde)7 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)20 b Fb(6)1012
-1010 y Fq(F)1012 1069 y Fe(forward-bac)o(kw)o(ard)o(-d)o(ele)o(te)o
+1058 y Fq(F)1012 1117 y Fe(forward-bac)o(kw)o(ard)o(-d)o(ele)o(te)o
 (-ch)o(ar)9 b(\(\))d Fa(:)f(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-19 b Fb(16)1012 1112 y Fe(forward-cha)o(r)10 b(\(C-f\))5
+19 b Fb(16)1012 1161 y Fe(forward-cha)o(r)10 b(\(C-f\))5
 b Fa(:)t(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)18 b Fb(14)1012
-1156 y Fe(forward-sea)o(rc)o(h-h)o(is)o(tor)o(y)10 b(\(C-s\))d
+1205 y Fe(forward-sea)o(rc)o(h-h)o(is)o(tor)o(y)10 b(\(C-s\))d
 Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23
-b Fb(15)1012 1200 y Fe(forward-wor)o(d)10 b(\(M-f\))5
+b Fb(15)1012 1249 y Fe(forward-wor)o(d)10 b(\(M-f\))5
 b Fa(:)t(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)18 b Fb(14)1012
-1322 y Fq(H)1012 1380 y Fb(history-preserv)o(e-p)q(oin)o(t)5
+1372 y Fq(H)1012 1430 y Fb(history-preserv)o(e-p)q(oin)o(t)5
 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(6)1012
-1424 y Fe(history-sea)o(rc)o(h-b)o(ac)o(kwa)o(rd)9 b(\(\))t
+1474 y Fe(history-sea)o(rc)o(h-b)o(ac)o(kwa)o(rd)9 b(\(\))t
 Fa(:)c(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)17 b Fb(15)1012 1468 y Fe(history-sea)o(rc)o(h-f)o(or)o(war)o(d)10
+(:)17 b Fb(15)1012 1518 y Fe(history-sea)o(rc)o(h-f)o(or)o(war)o(d)10
 b(\(\))5 b Fa(:)g(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)18 b Fb(15)1012 1511 y(history-size)8
+(:)g(:)g(:)g(:)g(:)18 b Fb(15)1012 1562 y(history-size)8
 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)21 b Fb(6)1012 1555 y(horizon)o(tal-scroll-mo)q(de)12
-b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(6)1012
-1673 y Fq(I)1012 1731 y Fb(input-meta)11 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23
-b Fb(6)1012 1775 y Fe(insert-comm)o(en)o(t)10 b(\(M-#\))f
+(:)g(:)g(:)21 b Fb(6)1012 1606 y Fe(history-sub)o(st)o(r-s)o(ea)o(rch)o
+(-b)o(ack)o(war)o(d)10 b(\(\))s Fa(:)5 b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)16 b Fb(15)1012 1650 y Fe(history-sub)o(st)o(r-s)o(ea)o(rch)o(-f)o
+(orw)o(ard)9 b(\(\))t Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18
+b Fb(15)1012 1694 y(horizon)o(tal-scroll-mo)q(de)12 b
+Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(6)1012 1813
+y Fq(I)1012 1872 y Fb(input-meta)11 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b
+Fb(7)1012 1916 y Fe(insert-comm)o(en)o(t)10 b(\(M-#\))f
 Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(20)1012 1819 y Fe(insert-comp)o(le)o
+(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(20)1012 1960 y Fe(insert-comp)o(le)o
 (tio)o(ns)9 b(\(M-*\))d Fa(:)t(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)19 b Fb(18)1012 1862
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)19 b Fb(18)1012 2003
 y(isearc)o(h-terminators)11 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)23 b Fb(6)1012 1980 y Fq(K)1012 2038 y Fb(k)o(eymap)t
+g(:)g(:)23 b Fb(7)1012 2122 y Fq(K)1012 2181 y Fb(k)o(eymap)t
 Fa(:)7 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(7)1012 2082 y Fe(kill-line)10
+(:)g(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(7)1012 2225 y Fe(kill-line)10
 b(\(C-k\))f Fa(:)t(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)22
-b Fb(17)1012 2126 y Fe(kill-region)9 b(\(\))g Fa(:)e(:)f(:)g(:)g(:)g(:)
+b Fb(17)1012 2269 y Fe(kill-region)9 b(\(\))g Fa(:)e(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(17)1012 2170 y
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(18)1012 2313 y
 Fe(kill-whole-)o(li)o(ne)9 b(\(\))c Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)18 b Fb(17)1012 2213 y Fe(kill-word)10 b(\(M-d\))f
+h(:)18 b Fb(17)1012 2357 y Fe(kill-word)10 b(\(M-d\))f
 Fa(:)t(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)22
-b Fb(17)1012 2335 y Fq(M)1012 2393 y Fb(mark-mo)q(di\014ed-lines)5
+b Fb(17)1012 2479 y Fq(M)1012 2538 y Fb(mark-mo)q(di\014ed-lines)5
 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)18 b
-Fb(7)1012 2437 y(mark-symlink)o(ed-directories)t Fa(:)8
+Fb(7)1012 2582 y(mark-symlink)o(ed-directories)t Fa(:)8
 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)17 b Fb(7)1012 2481 y(matc)o(h-hidden-\014les)9
+(:)g(:)g(:)g(:)17 b Fb(7)1012 2626 y(matc)o(h-hidden-\014les)9
 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)22
-b Fb(7)1012 2525 y Fe(menu-comple)o(te)9 b(\(\))f Fa(:)d(:)h(:)g(:)g(:)
+b Fb(7)1012 2670 y Fe(menu-comple)o(te)9 b(\(\))f Fa(:)d(:)h(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(18)1012 2569 y Fe(menu-comple)o(te)o
-(-ba)o(ck)o(war)o(d)10 b(\(\))5 b Fa(:)g(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(19)1012
-2612 y(men)o(u-complete-displa)o(y-pre\014x)13 b Fa(:)6
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)24 b Fb(7)1012 2656 y(meta-\015ag)8 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(6)p eop end
-%%Page: 68 72
-TeXDict begin 68 71 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
-g(Index)1187 b(68)75 149 y Fq(N)75 209 y Fe(next-histo)o(ry)9
-b(\(C-n\))c Fa(:)g(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18
-b Fb(15)75 253 y Fe(non-increm)o(en)o(tal)o(-f)o(orw)o(ard)o(-s)o(ear)o
-(ch)o(-hi)o(st)o(ory)9 b(\(M-n\))155 296 y Fa(:)d(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(19)p eop end
+%%Page: 71 75
+TeXDict begin 71 74 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
+g(Index)1187 b(71)75 149 y Fe(menu-compl)o(et)o(e-b)o(ac)o(kwa)o(rd)9
+b(\(\))c Fa(:)g(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)17 b Fb(19)75 193 y(men)o(u-complete-displa)o
+(y-pre\014x)c Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)23 b Fb(8)75 237 y(meta-\015ag)8
+b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)20 b Fb(7)75 362 y Fq(N)75 420 y Fe(next-histo)o(ry)
+9 b(\(C-n\))c Fa(:)g(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18
+b Fb(15)75 464 y Fe(non-increm)o(en)o(tal)o(-f)o(orw)o(ard)o(-s)o(ear)o
+(ch)o(-hi)o(st)o(ory)9 b(\(M-n\))155 507 y Fa(:)d(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)16 b Fb(15)75 341 y Fe(non-increm)o(en)o(tal)o(-r)o(eve)o(rse)o
-(-s)o(ear)o(ch)o(-hi)o(st)o(ory)9 b(\(M-p\))155 384 y
+(:)g(:)16 b Fb(15)75 551 y Fe(non-increm)o(en)o(tal)o(-r)o(eve)o(rse)o
+(-s)o(ear)o(ch)o(-hi)o(st)o(ory)9 b(\(M-p\))155 594 y
 Fa(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(15)75 504 y Fq(O)75
-563 y Fb(output-meta)7 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(15)75 711 y Fq(O)75
+769 y Fb(output-meta)7 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(7)75 607 y Fe(overwrite-)o(mo)o(de)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(8)75 813 y Fe(overwrite-)o(mo)o(de)
 9 b(\(\))d Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19
-b Fb(17)75 731 y Fq(P)75 790 y Fb(page-completions)11
+b Fb(17)75 934 y Fq(P)75 992 y Fb(page-completions)11
 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)22
-b Fb(7)75 835 y Fe(possible-c)o(om)o(ple)o(ti)o(ons)9
+b Fb(8)75 1036 y Fe(possible-c)o(om)o(ple)o(ti)o(ons)9
 b(\(M-?\))t Fa(:)t(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)16 b Fb(18)75 879 y Fe(prefix-met)o(a)10
+(:)g(:)g(:)g(:)16 b Fb(18)75 1079 y Fe(prefix-met)o(a)10
 b(\(ESC\))c Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19
-b Fb(19)75 923 y Fe(previous-h)o(is)o(tor)o(y)10 b(\(C-p\))f
+b Fb(19)75 1123 y Fe(previous-h)o(is)o(tor)o(y)10 b(\(C-p\))f
 Fa(:)s(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)21 b Fb(14)75 1052 y Fq(Q)75 1111
-y Fe(quoted-ins)o(er)o(t)10 b(\(C-q)h(or)h(C-v\))d Fa(:)d(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23
-b Fb(16)75 1240 y Fq(R)75 1300 y Fe(re-read-in)o(it)o(-fi)o(le)9
+(:)h(:)f(:)g(:)g(:)21 b Fb(14)75 1167 y Fe(print-last)o(-k)o(bd-)o(ma)o
+(cro)9 b(\(\))e Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(19)75 1293 y Fq(Q)75
+1351 y Fe(quoted-ins)o(er)o(t)10 b(\(C-q)h(or)h(C-v\))d
+Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)23 b Fb(16)75 1477 y Fq(R)75 1535 y Fe(re-read-in)o(it)o(-fi)o(le)9
 b(\(C-x)i(C-r\))6 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)18 b Fb(19)75 1344 y Fe(readline)6
+(:)g(:)h(:)f(:)g(:)18 b Fb(19)75 1579 y Fe(readline)6
 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)19 b Fb(22)75 1388 y Fe(redraw-cur)o(re)o(nt-)o(li)o(ne)
+(:)g(:)g(:)g(:)19 b Fb(22)75 1622 y Fe(redraw-cur)o(re)o(nt-)o(li)o(ne)
 9 b(\(\))g Fa(:)c(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(14)75 1432 y Fe(reverse-se)o(ar)
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(14)75 1666 y Fe(reverse-se)o(ar)
 o(ch-)o(hi)o(sto)o(ry)9 b(\(C-r\))f Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)22 b Fb(15)75 1476 y(rev)o
+(:)g(:)h(:)f(:)g(:)g(:)g(:)22 b Fb(15)75 1710 y(rev)o
 (ert-all-at-newline)10 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(8)75 1521 y Fe(revert-lin)o(e)10 b(\(M-r\))c Fa(:)t(:)g(:)g(:)g(:)
+b Fb(8)75 1753 y Fe(revert-lin)o(e)10 b(\(M-r\))c Fa(:)t(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(19)75 1565 y Fe(rl_add_def)o(un)6
+(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(20)75 1797 y Fe(rl_add_def)o(un)6
 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(30)75 1609 y Fe(rl_add_fun)o(ma)o(p_e)o(nt)o(ry)9
+b Fb(30)75 1841 y Fe(rl_add_fun)o(ma)o(p_e)o(nt)o(ry)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(33)75 1653 y
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(33)75 1884 y
 Fe(rl_add_und)o(o)7 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)23 b Fb(34)75 1697 y Fe(rl_alphabe)o(ti)o(c)8
+(:)g(:)h(:)f(:)g(:)23 b Fb(34)75 1928 y Fe(rl_alphabe)o(ti)o(c)8
 b Fa(:)s(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(37)75 1742 y Fe(rl_already)o(_p)o(rom)o(pt)o(ed)9
+b Fb(38)75 1972 y Fe(rl_already)o(_p)o(rom)o(pt)o(ed)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(26)75 1786 y
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(26)75 2015 y
 Fe(rl_attempt)o(ed)o(_co)o(mp)o(let)o(ion)o(_f)o(unc)o(ti)o(on)6
-b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)22 b Fb(45)75
-1830 y Fe(rl_attempt)o(ed)o(_co)o(mp)o(let)o(ion)o(_o)o(ver)5
+b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)22 b Fb(47)75
+2059 y Fe(rl_attempt)o(ed)o(_co)o(mp)o(let)o(ion)o(_o)o(ver)5
 b Fa(:)s(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)19
-b Fb(49)75 1874 y Fe(rl_basic_q)o(uo)o(te_)o(ch)o(ara)o(cte)o(rs)6
+b Fb(51)75 2102 y Fe(rl_basic_q)o(uo)o(te_)o(ch)o(ara)o(cte)o(rs)6
 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)23 b Fb(47)75 1918 y Fe(rl_basic_w)o(or)o(d_b)o(re)o(ak_)o(cha)o
+g(:)23 b Fb(50)75 2146 y Fe(rl_basic_w)o(or)o(d_b)o(re)o(ak_)o(cha)o
 (ra)o(cte)o(rs)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)16 b Fb(47)75 1963 y Fe(rl_begin_u)o(nd)o(o_g)o(ro)o(up)9
+(:)16 b Fb(49)75 2190 y Fe(rl_begin_u)o(nd)o(o_g)o(ro)o(up)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(33)75 2007 y
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(34)75 2233 y
 Fe(rl_bind_ke)o(y)7 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)23 b Fb(31)75 2051 y Fe(rl_bind_ke)o(y_)o(if_)o(un)o
+(:)g(:)h(:)f(:)g(:)23 b Fb(31)75 2277 y Fe(rl_bind_ke)o(y_)o(if_)o(un)o
 (bou)o(nd)5 b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(31)75 2095 y
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(31)75 2321 y
 Fe(rl_bind_ke)o(y_)o(if_)o(un)o(bou)o(nd_)o(in)o(_ma)o(p)5
 b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)17
-b Fb(31)75 2139 y Fe(rl_bind_ke)o(y_)o(in_)o(ma)o(p)7
+b Fb(31)75 2364 y Fe(rl_bind_ke)o(y_)o(in_)o(ma)o(p)7
 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(31)75 2184
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(31)75 2408
 y Fe(rl_bind_ke)o(ys)o(eq)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)20 b Fb(31)75 2228 y Fe(rl_bind_ke)o(ys)o(eq_)o(if)o
+(:)g(:)g(:)g(:)20 b Fb(32)75 2452 y Fe(rl_bind_ke)o(ys)o(eq_)o(if)o
 (_un)o(bou)o(nd)6 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(32)75 2272 y Fe(rl_bind_ke)o(ys)o(eq_)o
+(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(32)75 2495 y Fe(rl_bind_ke)o(ys)o(eq_)o
 (if)o(_un)o(bou)o(nd)o(_in)o(_m)o(ap)6 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)22 b Fb(32)75 2316 y Fe(rl_bind_ke)o(ys)o(eq_)o(in)o(_ma)o
+(:)g(:)g(:)22 b Fb(32)75 2539 y Fe(rl_bind_ke)o(ys)o(eq_)o(in)o(_ma)o
 (p)6 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(32)75 2361 y Fe(rl_binding)o(_k)
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(32)75 2583 y Fe(rl_binding)o(_k)
 o(eym)o(ap)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16
-b Fb(27)75 2405 y Fe(rl_callbac)o(k_)o(han)o(dl)o(er_)o(ins)o(ta)o(ll)7
+b Fb(28)75 2626 y Fe(rl_callbac)o(k_)o(han)o(dl)o(er_)o(ins)o(ta)o(ll)7
 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(39)75 2449 y Fe(rl_callbac)o(k_)o(han)o(dl)o(er_)o(rem)o(ov)o(e)9
+b Fb(40)75 2670 y Fe(rl_callbac)o(k_)o(han)o(dl)o(er_)o(rem)o(ov)o(e)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-21 b Fb(39)75 2493 y Fe(rl_callbac)o(k_)o(rea)o(d_)o(cha)o(r)6
-b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(39)75 2537 y Fe(rl_catch_s)o(ig)o(nal)o
-(s)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)17
-b Fb(42)75 2582 y Fe(rl_catch_s)o(ig)o(win)o(ch)r Fa(:)t(:)6
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(42)75 2626
-y Fe(rl_char_is)o(_q)o(uot)o(ed)o(_p)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-22 b Fb(46)75 2670 y Fe(rl_cleanup)o(_a)o(fte)o(r_)o(sig)o(nal)s
-Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)17 b Fb(42)1012 149 y Fe(rl_clear_me)o(ss)o(age)s
-Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b
-Fb(35)1012 194 y Fe(rl_clear_pe)o(nd)o(ing)o(_i)o(npu)o(t)5
-b Fa(:)s(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)19 b Fb(36)1012 238 y Fe(rl_clear_si)o(gn)o(als)s
+21 b Fb(40)1012 149 y Fe(rl_callback)o(_r)o(ead)o(_c)o(har)6
+b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(40)1012 194 y Fe(rl_catch_si)o(gn)o
+(als)s Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18
+b Fb(44)1012 238 y Fe(rl_catch_si)o(gw)o(inc)o(h)s Fa(:)s(:)6
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(44)1012 282
+y Fe(rl_char_is_)o(qu)o(ote)o(d_)o(p)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+22 b Fb(48)1012 326 y Fe(rl_cleanup_)o(af)o(ter)o(_s)o(ign)o(al)s
+Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)17 b Fb(44)1012 371 y Fe(rl_clear_hi)o(st)o(ory)s
 Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b
-Fb(43)1012 282 y Fe(rl_complete)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+Fb(39)1012 415 y Fe(rl_clear_me)o(ss)o(age)s Fa(:)t(:)6
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(35)1012
+459 y Fe(rl_clear_pe)o(nd)o(ing)o(_i)o(npu)o(t)5 b Fa(:)s(:)h(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(44)1012 326 y
-Fe(rl_complete)o(_i)o(nte)o(rn)o(al)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(44)1012 371 y Fe(rl_complete)o(r_)o(quo)o(te)o(_ch)o(ar)o(act)o
-(ers)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)18
-b Fb(47)1012 415 y Fe(rl_complete)o(r_)o(wor)o(d_)o(bre)o(ak)o(_ch)o
+19 b Fb(37)1012 503 y Fe(rl_clear_si)o(gn)o(als)s Fa(:)t(:)6
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(45)1012
+547 y Fe(rl_complete)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)24 b Fb(46)1012 592 y Fe(rl_complete)o(_i)o(nte)o
+(rn)o(al)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(46)1012
+636 y Fe(rl_complete)o(r_)o(quo)o(te)o(_ch)o(ar)o(act)o(ers)t
+Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)18
+b Fb(50)1012 680 y Fe(rl_complete)o(r_)o(wor)o(d_)o(bre)o(ak)o(_ch)o
 (ara)o(ct)o(ers)6 b Fa(:)s(:)g(:)g(:)h(:)f(:)g(:)g(:)20
-b Fb(47)1012 459 y Fe(rl_completi)o(on)o(_ap)o(pe)o(nd_)o(ch)o(ara)o
+b Fb(50)1012 724 y Fe(rl_completi)o(on)o(_ap)o(pe)o(nd_)o(ch)o(ara)o
 (cte)o(r)s Fa(:)s(:)7 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17
-b Fb(48)1012 503 y Fe(rl_completi)o(on)o(_di)o(sp)o(lay)o(_m)o(atc)o
+b Fb(50)1012 769 y Fe(rl_completi)o(on)o(_di)o(sp)o(lay)o(_m)o(atc)o
 (hes)o(_h)o(ook)6 b Fa(:)s(:)g(:)g(:)h(:)f(:)g(:)g(:)20
-b Fb(47)1012 547 y Fe(rl_completi)o(on)o(_en)o(tr)o(y_f)o(un)o(cti)o
+b Fb(49)1012 813 y Fe(rl_completi)o(on)o(_en)o(tr)o(y_f)o(un)o(cti)o
 (on)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
-b Fb(44,)13 b(45)1012 592 y Fe(rl_completi)o(on)o(_fo)o(un)o(d_q)o(uo)o
+b Fb(46,)13 b(47)1012 857 y Fe(rl_completi)o(on)o(_fo)o(un)o(d_q)o(uo)o
 (te)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)23 b Fb(48)1012 636 y Fe(rl_completi)o(on)o(_in)o(vo)o(kin)o
+(:)g(:)g(:)23 b Fb(51)1012 901 y Fe(rl_completi)o(on)o(_in)o(vo)o(kin)o
 (g_)o(key)8 b Fa(:)s(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)22 b Fb(49)1012 680 y Fe(rl_completi)o(on)o(_ma)o(rk)o(_sy)
+g(:)g(:)g(:)22 b Fb(52)1012 945 y Fe(rl_completi)o(on)o(_ma)o(rk)o(_sy)
 o(ml)o(ink)o(_di)o(rs)7 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-24 b Fb(48)1012 724 y Fe(rl_completi)o(on)o(_ma)o(tc)o(hes)6
+24 b Fb(51)1012 990 y Fe(rl_completi)o(on)o(_ma)o(tc)o(hes)6
 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(45)1012 769 y Fe(rl_completi)o(on)o
+g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(47)1012 1034 y Fe(rl_completi)o(on)o
 (_mo)o(de)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b
-Fb(44)1012 813 y Fe(rl_completi)o(on)o(_qu)o(er)o(y_i)o(te)o(ms)7
+Fb(47)1012 1078 y Fe(rl_completi)o(on)o(_qu)o(er)o(y_i)o(te)o(ms)7
 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)23 b Fb(47)1012 857 y Fe(rl_completi)o(on)o(_qu)o(ot)o(e_c)o(ha)o
+g(:)23 b Fb(50)1012 1122 y Fe(rl_completi)o(on)o(_qu)o(ot)o(e_c)o(ha)o
 (rac)o(ter)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)18 b Fb(48)1012 901 y Fe(rl_completi)o(on)o(_su)o(pp)o(res)o(s_)o
+(:)18 b Fb(51)1012 1167 y Fe(rl_completi)o(on)o(_su)o(pp)o(res)o(s_)o
 (app)o(end)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)18 b Fb(48)1012 945 y Fe(rl_completi)o(on)o(_su)o(pp)o(res)o(s_)o
+(:)18 b Fb(50)1012 1211 y Fe(rl_completi)o(on)o(_su)o(pp)o(res)o(s_)o
 (quo)o(te)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)19 b Fb(48)1012 990 y Fe(rl_completi)o(on)o(_ty)o(pe)7
+f(:)19 b Fb(51)1012 1255 y Fe(rl_completi)o(on)o(_ty)o(pe)7
 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(49)1012 1034
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(52)1012 1299
 y Fe(rl_completi)o(on)o(_wo)o(rd)o(_br)o(ea)o(k_h)o(ook)t
 Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)18
-b Fb(47)1012 1078 y Fe(rl_copy_key)o(ma)o(p)7 b Fa(:)s(:)f(:)g(:)g(:)g
+b Fb(50)1012 1343 y Fe(rl_copy_key)o(ma)o(p)7 b Fa(:)s(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20 b Fb(30)1012 1122
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20 b Fb(30)1012 1388
 y Fe(rl_copy_tex)o(t)6 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)23 b Fb(35)1012 1167 y Fe(rl_crlf)7 b
+g(:)g(:)g(:)g(:)23 b Fb(36)1012 1432 y Fe(rl_crlf)7 b
 Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)21 b Fb(34)1012 1211 y Fe(rl_delete_t)o(ex)o(t)7
+g(:)g(:)g(:)g(:)21 b Fb(35)1012 1476 y Fe(rl_delete_t)o(ex)o(t)7
 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20
-b Fb(35)1012 1255 y Fe(rl_deprep_t)o(er)o(m_f)o(un)o(cti)o(on)s
+b Fb(36)1012 1520 y Fe(rl_deprep_t)o(er)o(m_f)o(un)o(cti)o(on)s
 Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)17 b Fb(27)1012 1299 y Fe(rl_deprep_t)o(er)o(min)o(al)7
+f(:)g(:)g(:)g(:)17 b Fb(27)1012 1564 y Fe(rl_deprep_t)o(er)o(min)o(al)7
 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(37)1012 1343
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(37)1012 1609
 y Fe(rl_ding)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(37)1012 1388
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(38)1012 1653
 y Fe(rl_director)o(y_)o(com)o(pl)o(eti)o(on)o(_ho)o(ok)6
 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)19
-b Fb(46)1012 1432 y Fe(rl_discard_)o(ke)o(yma)o(p)s Fa(:)s(:)6
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(30)1012 1476
-y Fe(rl_dispatch)o(in)o(g)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)20 b Fb(25)1012 1520 y Fe(rl_display_)o(ma)o(tch)o(_l)o
-(ist)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(38)1012 1564 y
-Fe(rl_display_)o(pr)o(omp)o(t)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)16 b Fb(26)1012 1609 y Fe(rl_do_undo)s Fa(:)s(:)6
+b Fb(48)1012 1697 y Fe(rl_director)o(y_)o(rew)o(ri)o(te_)o(ho)o(ok;)8
+b Fa(:)s(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+22 b Fb(49)1012 1741 y Fe(rl_discard_)o(ke)o(yma)o(p)s
+Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(30)1012
+1786 y Fe(rl_dispatch)o(in)o(g)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)20 b Fb(25)1012 1830 y Fe(rl_display_)o(ma)o(tch)o
+(_l)o(ist)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(38)1012 1874
+y Fe(rl_display_)o(pr)o(omp)o(t)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)16 b Fb(26)1012 1918 y Fe(rl_do_undo)s Fa(:)s(:)6
 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17
-b Fb(34)1012 1653 y Fe(rl_done)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(34)1012 1962 y Fe(rl_done)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(25)1012 1697 y Fe(rl_echo_sig)o(na)o(l_c)o(ha)o(r)9
+b Fb(25)1012 2007 y Fe(rl_echo_sig)o(na)o(l_c)o(ha)o(r)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(42)1012 1741
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(44)1012 2051
 y Fe(rl_editing_)o(mo)o(de)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)19 b Fb(29)1012 1786 y Fe(rl_end)9 b Fa(:)t(:)d(:)g(:)g(:)g
+g(:)g(:)g(:)19 b Fb(30)1012 2095 y Fe(rl_end)9 b Fa(:)t(:)d(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(25)1012 1830 y Fe(rl_end_undo)o(_g)o(rou)o(p)s Fa(:)s(:)6
+b Fb(25)1012 2139 y Fe(rl_end_undo)o(_g)o(rou)o(p)s Fa(:)s(:)6
 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(33)1012 1874
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(34)1012 2184
 y Fe(rl_erase_em)o(pt)o(y_l)o(in)o(e)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-22 b Fb(25)1012 1918 y Fe(rl_event_ho)o(ok)7 b Fa(:)t(:)f(:)g(:)g(:)g
+22 b Fb(25)1012 2228 y Fe(rl_event_ho)o(ok)7 b Fa(:)t(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(27)1012 1962
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(27)1012 2272
 y Fe(rl_execute_)o(ne)o(xt)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)19 b Fb(36)1012 2007 y Fe(rl_executin)o(g_)o(key)o(ma)o(p)9
+g(:)g(:)g(:)19 b Fb(36)1012 2316 y Fe(rl_executin)o(g_)o(key)s
+Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b
+Fb(28)1012 2360 y Fe(rl_executin)o(g_)o(key)o(ma)o(p)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(27)1012 2051
-y Fe(rl_executin)o(g_)o(mac)o(ro)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-24 b Fb(27)1012 2095 y Fe(rl_expand_p)o(ro)o(mpt)s Fa(:)t(:)6
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(35)1012
-2139 y Fe(rl_explicit)o(_a)o(rg)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)19 b Fb(29)1012 2184 y Fe(rl_extend_l)o(in)o(e_b)o(uf)o
-(fer)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(37)1012 2228 y
-Fe(rl_filename)o(_c)o(omp)o(le)o(tio)o(n_)o(des)o(ire)o(d)s
-Fa(:)s(:)7 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17
-b Fb(48)1012 2272 y Fe(rl_filename)o(_c)o(omp)o(le)o(tio)o(n_)o(fun)o
-(cti)o(on)7 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)24
-b Fb(45)1012 2316 y Fe(rl_filename)o(_d)o(equ)o(ot)o(ing)o(_f)o(unc)o
-(tio)o(n)s Fa(:)s(:)7 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17
-b Fb(46)1012 2360 y Fe(rl_filename)o(_q)o(uot)o(e_)o(cha)o(ra)o(cte)o
-(rs)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)19
-b Fb(47)1012 2405 y Fe(rl_filename)o(_q)o(uot)o(in)o(g_d)o(es)o(ire)o
-(d)7 b Fa(:)s(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)21 b Fb(49)1012 2449 y Fe(rl_filename)o(_q)o(uot)o(in)o(g_f)o(un)o
-(cti)o(on)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)19 b Fb(45)1012 2493 y Fe(rl_filename)o(_r)o(ewr)o(it)o(e_h)o(oo)o
-(k)8 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)24 b Fb(46)1012 2537 y Fe(rl_forced_u)o(pd)o(ate)o(_d)o
-(isp)o(la)o(y)8 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(34)1012 2582 y Fe(rl_free)7
-b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)21 b Fb(37)1012 2626 y Fe(rl_free_key)o(ma)o(p)7
-b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20
-b Fb(30)1012 2670 y Fe(rl_free_lin)o(e_)o(sta)o(te)7
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(28)1012 2405
+y Fe(rl_executin)o(g_)o(key)o(se)o(q)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+22 b Fb(28)1012 2449 y Fe(rl_executin)o(g_)o(mac)o(ro)7
 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(42)p eop
-end
-%%Page: 69 73
-TeXDict begin 69 72 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
-g(Index)1187 b(69)75 149 y Fe(rl_free_un)o(do)o(_li)o(st)r
-Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(34)75
-194 y Fe(rl_functio)o(n_)o(dum)o(pe)o(r)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)23 b Fb(33)75 238 y Fe(rl_functio)o(n_)o(of_)o(ke)o(yse)o(q)6
-b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(32)75 282 y Fe(rl_funmap_)o(na)o(mes)5
-b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)18
-b Fb(33)75 326 y Fe(rl_generic)o(_b)o(ind)5 b Fa(:)s(:)h(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)18 b Fb(32)75 371 y Fe(rl_get_key)o(ma)o(p)8
-b Fa(:)s(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(30)75 415 y Fe(rl_get_key)o(ma)o(p_b)o(y_)o(nam)o(e)6
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(28)1012 2493
+y Fe(rl_expand_p)o(ro)o(mpt)s Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)18 b Fb(35)1012 2537 y Fe(rl_explicit)o(_a)o(rg)5
+b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)19
+b Fb(29)1012 2582 y Fe(rl_extend_l)o(in)o(e_b)o(uf)o(fer)6
+b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(38)1012 2626 y Fe(rl_filename)o(_c)o
+(omp)o(le)o(tio)o(n_)o(des)o(ire)o(d)s Fa(:)s(:)7 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(51)1012 2670 y Fe(rl_filename)o(_c)o
+(omp)o(le)o(tio)o(n_)o(fun)o(cti)o(on)7 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)24 b Fb(47)p eop end
+%%Page: 72 76
+TeXDict begin 72 75 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
+g(Index)1187 b(72)75 149 y Fe(rl_filenam)o(e_)o(deq)o(uo)o(tin)o(g_f)o
+(un)o(cti)o(on)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)16 b Fb(48)75 194 y Fe(rl_filenam)o(e_)o(quo)o(te)o(_ch)o(ara)o(ct)o
+(ers)5 b Fa(:)s(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+19 b Fb(50)75 238 y Fe(rl_filenam)o(e_)o(quo)o(ti)o(ng_)o(des)o(ir)o
+(ed)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)20 b Fb(51)75 282 y Fe(rl_filenam)o(e_)o(quo)o(ti)o(ng_)o(fun)o(ct)o
+(ion)5 b Fa(:)s(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+19 b Fb(48)75 326 y Fe(rl_filenam)o(e_)o(rew)o(ri)o(te_)o(hoo)o(k)8
+b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)24 b Fb(49)75 371 y Fe(rl_filenam)o(e_)o(sta)o(t_)o(hoo)o(k)6
 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(30)75 459 y Fe(rl_get_key)o(ma)o(p_n)o
-(am)o(e)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(30)75
-503 y Fe(rl_get_scr)o(ee)o(n_s)o(iz)o(e)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)23 b Fb(43)75 547 y Fe(rl_get_ter)o(mc)o(ap)6
+h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(49)75 415 y Fe(rl_forced_)o(up)o(dat)o
+(e_)o(dis)o(pla)o(y)8 b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(34)75 459 y Fe(rl_free)7
+b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)20 b Fb(37)75 503 y Fe(rl_free_ke)o(ym)o(ap)6
 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(39)75 592 y Fe(rl_getc)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b
-Fb(36)75 636 y Fe(rl_getc_fu)o(nc)o(tio)o(n)t Fa(:)s(:)6
+b Fb(31)75 547 y Fe(rl_free_li)o(ne)o(_st)o(at)o(e)7
+b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(44)75 592
+y Fe(rl_free_un)o(do)o(_li)o(st)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)16 b Fb(34)75 636 y Fe(rl_functio)o(n_)o(dum)o(pe)o(r)7
+b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(33)75 680
+y Fe(rl_functio)o(n_)o(of_)o(ke)o(yse)o(q)6 b Fa(:)s(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19
+b Fb(33)75 724 y Fe(rl_funmap_)o(na)o(mes)5 b Fa(:)s(:)h(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)18 b Fb(33)75 769 y Fe(rl_generic)o(_b)o
+(ind)5 b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)18
+b Fb(32)75 813 y Fe(rl_get_key)o(ma)o(p)8 b Fa(:)s(:)e(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(31)75 857 y Fe(rl_get_key)o(ma)
+o(p_b)o(y_)o(nam)o(e)6 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(31)75
+901 y Fe(rl_get_key)o(ma)o(p_n)o(am)o(e)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)23 b Fb(31)75 945 y Fe(rl_get_scr)o(ee)o(n_s)o(iz)o(e)7
+b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(45)75 990
+y Fe(rl_get_ter)o(mc)o(ap)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)20 b Fb(39)75 1034 y Fe(rl_getc)7 b Fa(:)t(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
+b Fb(36)75 1078 y Fe(rl_getc_fu)o(nc)o(tio)o(n)t Fa(:)s(:)6
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(27)75
-680 y Fe(rl_gnu_rea)o(dl)o(ine)o(_p)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g
+1122 y Fe(rl_gnu_rea)o(dl)o(ine)o(_p)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)16 b Fb(26)75 724 y Fe(rl_ignore_)o(co)o(mpl)o(et)o(ion)o
+g(:)g(:)g(:)16 b Fb(26)75 1167 y Fe(rl_ignore_)o(co)o(mpl)o(et)o(ion)o
 (_du)o(pl)o(ica)o(te)o(s)8 b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)23 b Fb(48)75 769 y Fe(rl_ignore_)o(so)o(me_)o(co)o(mpl)o(eti)o(on)o
-(s_f)o(un)o(cti)o(on)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)18
-b Fb(46)75 813 y Fe(rl_inhibit)o(_c)o(omp)o(le)o(tio)o(n)6
+(:)23 b Fb(51)75 1211 y Fe(rl_ignore_)o(so)o(me_)o(co)o(mpl)o(eti)o(on)
+o(s_f)o(un)o(cti)o(on)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)18
+b Fb(48)75 1255 y Fe(rl_inhibit)o(_c)o(omp)o(le)o(tio)o(n)6
 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(49)75 857 y Fe(rl_initial)o(iz)o(e)8
+h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(52)75 1299 y Fe(rl_initial)o(iz)o(e)8
 b Fa(:)s(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(37)75 901 y Fe(rl_insert_)o(co)o(mpl)o(et)o(ion)o(s)6
-b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(44)75 945 y Fe(rl_insert_)o(te)o(xt)6
-b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(35)75 990 y Fe(rl_instrea)o(m)7 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(26)75 1034
-y Fe(rl_invokin)o(g_)o(key)o(se)o(qs)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-22 b Fb(33)75 1078 y Fe(rl_invokin)o(g_)o(key)o(se)o(qs_)o(in_)o(ma)o
-(p)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)21 b Fb(33)75 1122 y Fe(rl_kill_te)o(xt)6 b Fa(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(36)75
-1167 y Fe(rl_last_fu)o(nc)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(27)75 1211 y Fe(rl_library)o(_v)o(ers)o
-(io)o(n)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(26)75
-1255 y Fe(rl_line_bu)o(ff)o(er)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)20 b Fb(25)75 1299 y Fe(rl_list_fu)o(nm)o(ap_)o(na)
-o(mes)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(33)75 1343
-y Fe(rl_macro_b)o(in)o(d)8 b Fa(:)s(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)21 b Fb(38)75 1388 y Fe(rl_macro_d)o(um)o(per)5
-b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)18
-b Fb(38)75 1432 y Fe(rl_make_ba)o(re)o(_ke)o(ym)o(ap)9
+b Fb(38)75 1343 y Fe(rl_input_a)o(va)o(ila)o(bl)o(e_h)o(ook)s
+Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)17 b Fb(27)75 1388 y Fe(rl_insert_)o(co)o(mpl)o(et)o
+(ion)o(s)6 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(47)75 1432
+y Fe(rl_insert_)o(te)o(xt)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)20 b Fb(36)75 1476 y Fe(rl_instrea)o(m)7
+b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
+b Fb(26)75 1520 y Fe(rl_invokin)o(g_)o(key)o(se)o(qs)9
+b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(33)75 1564 y
+Fe(rl_invokin)o(g_)o(key)o(se)o(qs_)o(in_)o(ma)o(p)9
+b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+21 b Fb(33)75 1609 y Fe(rl_key_seq)o(ue)o(nce)o(_l)o(eng)o(th)5
+b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)18 b Fb(28)75 1653 y Fe(rl_kill_te)o(xt)6
+b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
+b Fb(36)75 1697 y Fe(rl_last_fu)o(nc)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(27)75 1741 y
+Fe(rl_library)o(_v)o(ers)o(io)o(n)7 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)23 b Fb(26)75 1786 y Fe(rl_line_bu)o(ff)o(er)6 b Fa(:)t(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(25)75 1830
+y Fe(rl_list_fu)o(nm)o(ap_)o(na)o(mes)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20
+b Fb(33)75 1874 y Fe(rl_macro_b)o(in)o(d)8 b Fa(:)s(:)e(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(39)75 1918 y
+Fe(rl_macro_d)o(um)o(per)5 b Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)18 b Fb(39)75 1962 y Fe(rl_make_ba)o(re)o(_ke)o(ym)o(ap)9
 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(30)75 1476 y
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(30)75 2007 y
 Fe(rl_make_ke)o(ym)o(ap)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)20 b Fb(30)75 1520 y Fe(rl_mark)7 b Fa(:)t(:)f(:)g(:)g(:)g
+g(:)g(:)g(:)20 b Fb(30)75 2051 y Fe(rl_mark)7 b Fa(:)t(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(25)75 1564 y Fe(rl_message)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(25)75 2095 y Fe(rl_message)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(35)75
-1609 y Fe(rl_modifyi)o(ng)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+2139 y Fe(rl_modifyi)o(ng)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(34)75 1653 y Fe(rl_named_f)o(un)o(cti)o
+(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(34)75 2184 y Fe(rl_named_f)o(un)o(cti)o
 (on)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16
-b Fb(32)75 1697 y Fe(rl_num_cha)o(rs)o(_to)o(_r)o(ead)7
+b Fb(33)75 2228 y Fe(rl_num_cha)o(rs)o(_to)o(_r)o(ead)7
 b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(25)75 1741 y Fe(rl_numeric)o(_a)o
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(25)75 2272 y Fe(rl_numeric)o(_a)o
 (rg)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
-b Fb(29)75 1786 y Fe(rl_on_new_)o(li)o(ne)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)
+b Fb(30)75 2316 y Fe(rl_on_new_)o(li)o(ne)6 b Fa(:)t(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(34)75 1830 y Fe(rl_on_new_)o(li)
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(34)75 2360 y Fe(rl_on_new_)o(li)
 o(ne_)o(wi)o(th_)o(pro)o(mp)o(t)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)21 b Fb(34)75 1874
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)21 b Fb(35)75 2405
 y Fe(rl_outstre)o(am)6 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)22 b Fb(26)75 1918 y Fe(rl_parse_a)o(nd)o(_bi)o(nd)r
+g(:)g(:)g(:)g(:)22 b Fb(26)75 2449 y Fe(rl_parse_a)o(nd)o(_bi)o(nd)r
 Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(32)75
-1962 y Fe(rl_pending)o(_i)o(npu)o(t)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)h(:)f
+2493 y Fe(rl_pending)o(_i)o(npu)o(t)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)17 b Fb(25)75 2007 y Fe(rl_point)6 b
+g(:)g(:)g(:)g(:)17 b Fb(25)75 2537 y Fe(rl_point)6 b
 Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)19 b Fb(25)75 2051 y Fe(rl_possibl)o(e_)o(com)o(pl)o(eti)o
+g(:)g(:)g(:)19 b Fb(25)75 2582 y Fe(rl_possibl)o(e_)o(com)o(pl)o(eti)o
 (ons)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(44)75 2095 y Fe(rl_pre_inp)o(ut)o(_ho)o
+(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(46)75 2626 y Fe(rl_pre_inp)o(ut)o(_ho)o
 (ok)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16
-b Fb(27)75 2139 y Fe(rl_prefer_)o(en)o(v_w)o(in)o(siz)o(e)6
+b Fb(27)75 2670 y Fe(rl_prefer_)o(en)o(v_w)o(in)o(siz)o(e)6
 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(26)75 2184 y Fe(rl_prep_te)o(rm)o(_fu)o
-(nc)o(tio)o(n)6 b Fa(:)s(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(27)75
-2228 y Fe(rl_prep_te)o(rm)o(ina)o(l)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)17 b Fb(36)75 2272 y Fe(rl_prompt)t Fa(:)s(:)6
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-17 b Fb(26)75 2316 y Fe(rl_push_ma)o(cr)o(o_i)o(np)o(ut)9
-b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(36)75 2360 y
-Fe(rl_read_in)o(it)o(_fi)o(le)r Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)16 b Fb(32)75 2405 y Fe(rl_read_ke)o(y)7 b Fa(:)g(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(36)75
-2449 y Fe(rl_readlin)o(e_)o(nam)o(e)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)17 b Fb(26)75 2493 y Fe(rl_readlin)o(e_)o(sta)o(te)r
-Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(28)75
-2537 y Fe(rl_readlin)o(e_)o(ver)o(si)o(on)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)22 b Fb(26)75 2582 y Fe(rl_redispl)o(ay)6 b Fa(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)19 b Fb(26)1012 149 y Fe(rl_prep_ter)o(m_)o
+(fun)o(ct)o(ion)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(27)1012
+194 y Fe(rl_prep_ter)o(mi)o(nal)s Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(34)75
-2626 y Fe(rl_redispl)o(ay)o(_fu)o(nc)o(tio)o(n)6 b Fa(:)s(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)19 b Fb(27)75 2670 y Fe(rl_replace)o(_l)o(ine)5 b
-Fa(:)s(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)18
-b Fb(37)1012 149 y Fe(rl_reset_af)o(te)o(r_s)o(ig)o(nal)6
-b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(42)1012 193 y Fe(rl_reset_li)o(ne)o
-(_st)o(at)o(e)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b
-Fb(34)1012 237 y Fe(rl_reset_sc)o(re)o(en_)o(si)o(ze)7
-b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(43)1012 280 y Fe(rl_reset_te)o(rm)o
-(ina)o(l)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16
-b Fb(37)1012 324 y Fe(rl_resize_t)o(er)o(min)o(al)7 b
-Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(42)1012 368
-y Fe(rl_restore_)o(pr)o(omp)o(t)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)16 b Fb(35)1012 412 y Fe(rl_restore_)o(st)o(ate)s
-Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b
-Fb(37)1012 455 y Fe(rl_save_pro)o(mp)o(t)7 b Fa(:)s(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)18 b Fb(37)1012 239 y Fe(rl_prompt)5 b Fa(:)s(:)h(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)18
+b Fb(26)1012 284 y Fe(rl_push_mac)o(ro)o(_in)o(pu)o(t)9
+b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(36)1012 329 y
+Fe(rl_read_ini)o(t_)o(fil)o(e)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)16 b Fb(33)1012 374 y Fe(rl_read_key)7 b Fa(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(36)1012
+419 y Fe(rl_readline)o(_n)o(ame)s Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)18 b Fb(26)1012 464 y Fe(rl_readline)o(_s)o(tat)o(e)s
+Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(28)1012
+508 y Fe(rl_readline)o(_v)o(ers)o(io)o(n)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)22 b Fb(26)1012 553 y Fe(rl_redispla)o(y)6 b Fa(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(34)1012
+598 y Fe(rl_redispla)o(y_)o(fun)o(ct)o(ion)6 b Fa(:)s(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+20 b Fb(27)1012 643 y Fe(rl_replace_)o(li)o(ne)5 b Fa(:)s(:)h(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)19 b Fb(38)1012 688 y
+Fe(rl_reset_af)o(te)o(r_s)o(ig)o(nal)6 b Fa(:)s(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)20
+b Fb(44)1012 733 y Fe(rl_reset_li)o(ne)o(_st)o(at)o(e)9
+b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(35)1012 778 y
+Fe(rl_reset_sc)o(re)o(en_)o(si)o(ze)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
+b Fb(45)1012 823 y Fe(rl_reset_te)o(rm)o(ina)o(l)s Fa(:)s(:)6
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(37)1012 867
+y Fe(rl_resize_t)o(er)o(min)o(al)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)20 b Fb(35)1012 499 y Fe(rl_save_sta)o(te)7
+24 b Fb(45)1012 912 y Fe(rl_restore_)o(pr)o(omp)o(t)s
+Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(35)1012
+957 y Fe(rl_restore_)o(st)o(ate)s Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)18 b Fb(37)1012 1002 y Fe(rl_save_pro)o(mp)o(t)7
+b Fa(:)s(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20
+b Fb(35)1012 1047 y Fe(rl_save_sta)o(te)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(37)1012 1092
+y Fe(rl_set_key)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(32)1012 1137 y Fe(rl_set_keyb)o(oa)o
+(rd_)o(in)o(put)o(_t)o(ime)o(out)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)18 b Fb(37)1012 1182 y Fe(rl_set_keym)o(ap)7
 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21
-b Fb(37)1012 543 y Fe(rl_set_key)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)17 b Fb(32)1012
-586 y Fe(rl_set_keyb)o(oa)o(rd_)o(in)o(put)o(_t)o(ime)o(out)t
-Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)18
-b Fb(36)1012 630 y Fe(rl_set_keym)o(ap)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(30)1012 674 y
-Fe(rl_set_pare)o(n_)o(bli)o(nk)o(_ti)o(me)o(out)8 b Fa(:)s(:)e(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(39)1012 717 y Fe(rl_set_prom)o(pt)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(35)1012 761 y
-Fe(rl_set_scre)o(en)o(_si)o(ze)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(31)1012 1226 y Fe(rl_set_pare)o(n_)o(bli)o(nk)o(_ti)o(me)o(out)8
+b Fa(:)s(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+22 b Fb(39)1012 1271 y Fe(rl_set_prom)o(pt)7 b Fa(:)t(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b Fb(36)1012 1316
+y Fe(rl_set_scre)o(en)o(_si)o(ze)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-24 b Fb(42)1012 805 y Fe(rl_set_sign)o(al)o(s)7 b Fa(:)s(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20 b Fb(43)1012 848
+24 b Fb(45)1012 1361 y Fe(rl_set_sign)o(al)o(s)7 b Fa(:)s(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)20 b Fb(45)1012 1406
 y Fe(rl_show_cha)o(r)6 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)23 b Fb(34)1012 892 y Fe(rl_sort_com)o(pl)o(eti)o(on)o
-(_ma)o(tc)o(hes)8 b Fa(:)s(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)22 b Fb(49)1012 936 y Fe(rl_special_)o(pr)o(efi)o
-(xe)o(s)9 b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(47)1012
-979 y Fe(rl_startup_)o(ho)o(ok)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)19 b Fb(27)1012 1023 y Fe(rl_stuff_ch)o(ar)7
+g(:)g(:)g(:)g(:)23 b Fb(35)1012 1451 y Fe(rl_signal_e)o(ve)o(nt_)o(ho)o
+(ok)7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(27)1012 1496
+y Fe(rl_sort_com)o(pl)o(eti)o(on)o(_ma)o(tc)o(hes)8 b
+Fa(:)s(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22
+b Fb(52)1012 1540 y Fe(rl_special_)o(pr)o(efi)o(xe)o(s)9
+b Fa(:)s(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(50)1012 1585
+y Fe(rl_startup_)o(ho)o(ok)5 b Fa(:)s(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)19 b Fb(27)1012 1630 y Fe(rl_stuff_ch)o(ar)7
 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21
-b Fb(36)1012 1067 y Fe(rl_terminal)o(_n)o(ame)s Fa(:)t(:)6
+b Fb(36)1012 1675 y Fe(rl_terminal)o(_n)o(ame)s Fa(:)t(:)6
 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(26)1012
-1110 y Fe(rl_tty_set_)o(de)o(fau)o(lt)o(_bi)o(nd)o(ing)o(s)7
+1720 y Fe(rl_tty_set_)o(de)o(fau)o(lt)o(_bi)o(nd)o(ing)o(s)7
 b Fa(:)s(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(37)1012 1154 y Fe(rl_tty_unse)o(t_)o(def)o(au)o(lt_)o(bi)o(ndi)o
+b Fb(37)1012 1765 y Fe(rl_tty_unse)o(t_)o(def)o(au)o(lt_)o(bi)o(ndi)o
 (ngs)t Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)18
-b Fb(37)1012 1198 y Fe(rl_unbind_c)o(om)o(man)o(d_)o(in_)o(ma)o(p)8
+b Fb(37)1012 1810 y Fe(rl_unbind_c)o(om)o(man)o(d_)o(in_)o(ma)o(p)8
 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)24 b Fb(31)1012 1242 y Fe(rl_unbind_f)o(un)o(cti)o(on)o(_in)o
+g(:)h(:)24 b Fb(32)1012 1855 y Fe(rl_unbind_f)o(un)o(cti)o(on)o(_in)o
 (_m)o(ap)7 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)23 b Fb(31)1012 1285 y Fe(rl_unbind_k)o(ey)7
+(:)g(:)g(:)g(:)23 b Fb(32)1012 1899 y Fe(rl_unbind_k)o(ey)7
 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21
-b Fb(31)1012 1329 y Fe(rl_unbind_k)o(ey)o(_in)o(_m)o(ap)7
+b Fb(32)1012 1944 y Fe(rl_unbind_k)o(ey)o(_in)o(_m)o(ap)7
 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(31)1012 1373 y Fe(rl_username)o(_c)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(32)1012 1989 y Fe(rl_username)o(_c)
 o(omp)o(le)o(tio)o(n_)o(fun)o(cti)o(on)7 b Fa(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)24 b Fb(45)1012 1416 y Fe(rl_variable)o(_b)o(ind)s
+(:)g(:)g(:)g(:)g(:)24 b Fb(47)1012 2034 y Fe(rl_variable)o(_b)o(ind)s
 Fa(:)t(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18 b
-Fb(38)1012 1460 y Fe(rl_variable)o(_d)o(ump)o(er)7 b
+Fb(39)1012 2079 y Fe(rl_variable)o(_d)o(ump)o(er)7 b
 Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(39)1012 1504
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(39)1012 2124
 y Fe(rl_variable)o(_v)o(alu)o(e)s Fa(:)s(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)16 b Fb(39)1012 1625 y Fq(S)1012 1683 y Fe(self-insert)9
+f(:)g(:)16 b Fb(39)1012 2252 y Fq(S)1012 2312 y Fe(self-insert)9
 b(\(a,)j(b,)g(A,)g(1,)g(!,)g(...)o(\))t Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(16)1012 1727 y Fe(set-mark)10
+g(:)g(:)g(:)g(:)g(:)g(:)18 b Fb(16)1012 2357 y Fe(set-mark)10
 b(\(C-@\))e Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)24
-b Fb(19)1012 1771 y(sho)o(w-all-if-am)o(biguous)7 b Fa(:)f(:)g(:)h(:)f
+b Fb(20)1012 2402 y(sho)o(w-all-if-am)o(biguous)7 b Fa(:)f(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)20 b Fb(8)1012 1814 y(sho)o(w-all-if-unmo)q
+g(:)g(:)g(:)g(:)g(:)20 b Fb(8)1012 2447 y(sho)o(w-all-if-unmo)q
 (di\014ed)12 b Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24
-b Fb(8)1012 1858 y(skip-completed-text)5 b Fa(:)j(:)e(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)18 b Fb(8)1012 1902 y Fe(skip-csi-se)o(qu)o(enc)o
-(e)10 b(\(\))g Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(20)1012
-1946 y Fe(start-kbd-m)o(ac)o(ro)9 b(\(C-x)j(\(\))e Fa(:)c(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)24
-b Fb(19)1012 2067 y Fq(T)1012 2125 y Fe(tab-insert)9
-b(\(M-TAB\))c Fa(:)t(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)18
-b Fb(16)1012 2168 y Fe(tilde-expan)o(d)10 b(\(M-~\))5
-b Fa(:)t(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)18 b Fb(19)1012
-2212 y Fe(transpose-c)o(ha)o(rs)9 b(\(C-t\))f Fa(:)e(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(16)1012 2256 y Fe(transpose-w)o(or)o(ds)9 b(\(M-t\))f
-Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(16)1012 2382 y Fq(U)1012
-2440 y Fe(undo)12 b(\(C-_)f(or)h(C-x)g(C-u\))s Fa(:)t(:)6
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)16 b Fb(19)1012 2484 y Fe(universal-a)o(rg)o
-(ume)o(nt)9 b(\(\))g Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(18)1012
-2528 y Fe(unix-filena)o(me)o(-ru)o(bo)o(ut)9 b(\(\))e
-Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)21 b Fb(17)1012 2571 y Fe(unix-line-d)o(is)o(car)o(d)10
-b(\(C-u\))d Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(17)1012 2615 y Fe(unix-word-r)o(ub)o
-(out)9 b(\(C-w\))g Fa(:)t(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(17)1012
-2659 y Fe(upcase-word)9 b(\(M-u\))d Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(8)1012 2492 y(sho)o(w-mo)q(de-in-prompt)t Fa(:)8
+b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)17 b Fb(8)1012 2537
+y(skip-completed-text)5 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)18 b Fb(8)1012 2581 y Fe(skip-csi-se)o(qu)o(enc)o(e)10
+b(\(\))g Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(20)1012 2626
+y Fe(start-kbd-m)o(ac)o(ro)9 b(\(C-x)j(\(\))e Fa(:)c(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)24
+b Fb(19)p eop end
+%%Page: 73 77
+TeXDict begin 73 76 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
+g(Index)1187 b(73)75 149 y Fq(T)75 208 y Fe(tab-insert)9
+b(\(M-TAB\))c Fa(:)t(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)18
+b Fb(16)75 251 y Fe(tilde-expa)o(nd)9 b(\(M-~\))c Fa(:)g(:)h(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)18 b Fb(20)75 295 y Fe(transpose-)o(ch)o(ars)9
+b(\(C-t\))f Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(16)75 339
+y Fe(transpose-)o(wo)o(rds)9 b(\(M-t\))f Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23
+b Fb(16)75 465 y Fq(U)75 523 y Fe(undo)11 b(\(C-_)h(or)g(C-x)f(C-u\))s
+Fa(:)5 b(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)16 b Fb(20)75 566 y Fe(universal-)o(ar)
+o(gum)o(en)o(t)10 b(\(\))f Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)23
+b Fb(18)75 610 y Fe(unix-filen)o(am)o(e-r)o(ub)o(out)9
+b(\(\))e Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(17)75 654 y Fe(unix-line-)o(di)o(sca)o
+(rd)9 b(\(C-u\))e Fa(:)e(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(17)75 697 y Fe(unix-word-)o(ru)
+o(bou)o(t)10 b(\(C-w\))f Fa(:)s(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)21 b Fb(17)1012
+149 y Fe(upcase-word)9 b(\(M-u\))d Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)g(:)20 b Fb(16)p eop end
-%%Page: 70 74
-TeXDict begin 70 73 bop 75 -58 a Fs(F)l(unction)15 b(and)g(V)l(ariable)
-g(Index)1187 b(70)75 149 y Fq(V)75 213 y Fe(vi-editing)o(-m)o(ode)9
-b(\(M-C-j\))e Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)20 b Fb(20)75 259 y(visible-stats)t
-Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)16 b Fb(8)1012 149 y Fq(Y)1012 208 y Fe(yank)c(\(C-y\))7
-b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)20 b Fb(18)1012 252 y Fe(yank-last-a)o(rg)9 b(\(M-.)i(or)h
-(M-_\))d Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)g(:)g(:)24 b Fb(15)1012 295 y Fe(yank-nth-ar)o(g)10
+g(:)g(:)20 b Fb(17)1012 280 y Fq(V)1012 339 y Fe(vi-editing-)o(mo)o(de)
+9 b(\(M-C-j\))e Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(21)1012 384 y(visible-stats)t
+Fa(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)17 b Fb(9)1012 504 y Fq(Y)1012 564 y Fe(yank)12
+b(\(C-y\))7 b Fa(:)t(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)20 b Fb(18)1012 608 y Fe(yank-last-a)o(rg)9
+b(\(M-.)i(or)h(M-_\))d Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)24 b Fb(16)1012 653 y Fe(yank-nth-ar)o(g)10
 b(\(M-C-y\))e Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)24 b Fb(15)1012
-339 y Fe(yank-pop)10 b(\(M-y\))e Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
+697 y Fe(yank-pop)10 b(\(M-y\))e Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)
 g(:)g(:)g(:)g(:)24 b Fb(18)p eop end
 %%Trailer
index ef3c2783f2b96d1888d4b74d4f5334822d30d3f5..edca08645ad2939e8e591e8ae009dcdff23eaec6 100644 (file)
 @xrdef{Readline Convenience Functions-snt}{Section@tie 2.4}
 @xrdef{Function Naming-title}{Naming a Function}
 @xrdef{Function Naming-snt}{Section@tie 2.4.1}
-@xrdef{Readline Convenience Functions-pg}{29}
-@xrdef{Function Naming-pg}{29}
 @xrdef{Keymaps-title}{Selecting a Keymap}
 @xrdef{Keymaps-snt}{Section@tie 2.4.2}
+@xrdef{Readline Convenience Functions-pg}{30}
+@xrdef{Function Naming-pg}{30}
+@xrdef{Keymaps-pg}{30}
 @xrdef{Binding Keys-title}{Binding Keys}
 @xrdef{Binding Keys-snt}{Section@tie 2.4.3}
-@xrdef{Keymaps-pg}{30}
 @xrdef{Binding Keys-pg}{31}
 @xrdef{Associating Function Names and Bindings-title}{Associating Function Names and Bindings}
 @xrdef{Associating Function Names and Bindings-snt}{Section@tie 2.4.4}
-@xrdef{Associating Function Names and Bindings-pg}{32}
 @xrdef{Allowing Undoing-title}{Allowing Undoing}
 @xrdef{Allowing Undoing-snt}{Section@tie 2.4.5}
+@xrdef{Associating Function Names and Bindings-pg}{33}
 @xrdef{Allowing Undoing-pg}{33}
 @xrdef{Redisplay-title}{Redisplay}
 @xrdef{Redisplay-snt}{Section@tie 2.4.6}
 @xrdef{Redisplay-pg}{34}
 @xrdef{Modifying Text-title}{Modifying Text}
 @xrdef{Modifying Text-snt}{Section@tie 2.4.7}
-@xrdef{Modifying Text-pg}{35}
 @xrdef{Character Input-title}{Character Input}
 @xrdef{Character Input-snt}{Section@tie 2.4.8}
+@xrdef{Modifying Text-pg}{36}
+@xrdef{Character Input-pg}{36}
 @xrdef{Terminal Management-title}{Terminal Management}
 @xrdef{Terminal Management-snt}{Section@tie 2.4.9}
-@xrdef{Character Input-pg}{36}
-@xrdef{Terminal Management-pg}{36}
 @xrdef{Utility Functions-title}{Utility Functions}
 @xrdef{Utility Functions-snt}{Section@tie 2.4.10}
+@xrdef{Terminal Management-pg}{37}
 @xrdef{Utility Functions-pg}{37}
 @xrdef{Miscellaneous Functions-title}{Miscellaneous Functions}
 @xrdef{Miscellaneous Functions-snt}{Section@tie 2.4.11}
-@xrdef{Miscellaneous Functions-pg}{38}
 @xrdef{Alternate Interface-title}{Alternate Interface}
 @xrdef{Alternate Interface-snt}{Section@tie 2.4.12}
+@xrdef{Miscellaneous Functions-pg}{39}
+@xrdef{Alternate Interface-pg}{39}
 @xrdef{A Readline Example-title}{A Readline Example}
 @xrdef{A Readline Example-snt}{Section@tie 2.4.13}
-@xrdef{Alternate Interface-pg}{39}
 @xrdef{A Readline Example-pg}{40}
+@xrdef{Alternate Interface Example-title}{Alternate Interface Example}
+@xrdef{Alternate Interface Example-snt}{Section@tie 2.4.14}
+@xrdef{Alternate Interface Example-pg}{41}
 @xrdef{Readline Signal Handling-title}{Readline Signal Handling}
 @xrdef{Readline Signal Handling-snt}{Section@tie 2.5}
-@xrdef{Readline Signal Handling-pg}{41}
+@xrdef{Readline Signal Handling-pg}{43}
 @xrdef{Custom Completers-title}{Custom Completers}
 @xrdef{Custom Completers-snt}{Section@tie 2.6}
 @xrdef{How Completing Works-title}{How Completing Works}
 @xrdef{How Completing Works-snt}{Section@tie 2.6.1}
-@xrdef{Custom Completers-pg}{43}
-@xrdef{How Completing Works-pg}{43}
+@xrdef{Custom Completers-pg}{45}
+@xrdef{How Completing Works-pg}{45}
 @xrdef{Completion Functions-title}{Completion Functions}
 @xrdef{Completion Functions-snt}{Section@tie 2.6.2}
-@xrdef{Completion Functions-pg}{44}
+@xrdef{Completion Functions-pg}{46}
 @xrdef{Completion Variables-title}{Completion Variables}
 @xrdef{Completion Variables-snt}{Section@tie 2.6.3}
-@xrdef{Completion Variables-pg}{45}
+@xrdef{Completion Variables-pg}{47}
 @xrdef{A Short Completion Example-title}{A Short Completion Example}
 @xrdef{A Short Completion Example-snt}{Section@tie 2.6.4}
-@xrdef{A Short Completion Example-pg}{49}
+@xrdef{A Short Completion Example-pg}{52}
 @xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
 @xrdef{GNU Free Documentation License-snt}{Appendix@tie @char65{}}
-@xrdef{GNU Free Documentation License-pg}{58}
+@xrdef{GNU Free Documentation License-pg}{61}
 @xrdef{Concept Index-title}{Concept Index}
 @xrdef{Concept Index-snt}{}
-@xrdef{Concept Index-pg}{66}
+@xrdef{Concept Index-pg}{69}
 @xrdef{Function and Variable Index-title}{Function and Variable Index}
 @xrdef{Function and Variable Index-snt}{}
-@xrdef{Function and Variable Index-pg}{67}
+@xrdef{Function and Variable Index-pg}{70}
index fdb4b034264aea540fb7acedaf4fed8f3493e297..63e938ae84e0ed94eb78ce639362046052faa364 100644 (file)
@@ -8,4 +8,4 @@
 \entry{initialization file, readline}{4}{initialization file, readline}
 \entry{variables, readline}{4}{variables, readline}
 \entry{readline, function}{22}{readline, function}
-\entry{application-specific completion functions}{43}{application-specific completion functions}
+\entry{application-specific completion functions}{45}{application-specific completion functions}
index 401ccaa6cc0b0b3446e639c3d063ad2a81e0d3ad..a2c70b5811fc3cd30c7ca689dfa2e64397cb790b 100644 (file)
@@ -1,5 +1,5 @@
 \initial {A}
-\entry {application-specific completion functions}{43}
+\entry {application-specific completion functions}{45}
 \initial {C}
 \entry {command editing}{1}
 \initial {E}
index be62e2f8c0fce37c58388928d83f7f8ee4b4eac8..aeeb0af1435ef8e7d4709cb00a143fe0e3ca3f62 100644 (file)
@@ -1,5 +1,6 @@
 \entry{bell-style}{4}{bell-style}
 \entry{bind-tty-special-chars}{5}{bind-tty-special-chars}
+\entry{colored-stats}{5}{colored-stats}
 \entry{comment-begin}{5}{comment-begin}
 \entry{completion-display-width}{5}{completion-display-width}
 \entry{completion-ignore-case}{5}{completion-ignore-case}
@@ -7,28 +8,29 @@
 \entry{completion-prefix-display-length}{5}{completion-prefix-display-length}
 \entry{completion-query-items}{5}{completion-query-items}
 \entry{convert-meta}{5}{convert-meta}
-\entry{disable-completion}{5}{disable-completion}
+\entry{disable-completion}{6}{disable-completion}
 \entry{editing-mode}{6}{editing-mode}
 \entry{enable-keypad}{6}{enable-keypad}
 \entry{expand-tilde}{6}{expand-tilde}
 \entry{history-preserve-point}{6}{history-preserve-point}
 \entry{history-size}{6}{history-size}
 \entry{horizontal-scroll-mode}{6}{horizontal-scroll-mode}
-\entry{input-meta}{6}{input-meta}
-\entry{meta-flag}{6}{meta-flag}
-\entry{isearch-terminators}{6}{isearch-terminators}
+\entry{input-meta}{7}{input-meta}
+\entry{meta-flag}{7}{meta-flag}
+\entry{isearch-terminators}{7}{isearch-terminators}
 \entry{keymap}{7}{keymap}
 \entry{mark-modified-lines}{7}{mark-modified-lines}
 \entry{mark-symlinked-directories}{7}{mark-symlinked-directories}
 \entry{match-hidden-files}{7}{match-hidden-files}
-\entry{menu-complete-display-prefix}{7}{menu-complete-display-prefix}
-\entry{output-meta}{7}{output-meta}
-\entry{page-completions}{7}{page-completions}
+\entry{menu-complete-display-prefix}{8}{menu-complete-display-prefix}
+\entry{output-meta}{8}{output-meta}
+\entry{page-completions}{8}{page-completions}
 \entry{revert-all-at-newline}{8}{revert-all-at-newline}
 \entry{show-all-if-ambiguous}{8}{show-all-if-ambiguous}
 \entry{show-all-if-unmodified}{8}{show-all-if-unmodified}
+\entry{show-mode-in-prompt}{8}{show-mode-in-prompt}
 \entry{skip-completed-text}{8}{skip-completed-text}
-\entry{visible-stats}{8}{visible-stats}
+\entry{visible-stats}{9}{visible-stats}
 \entry{beginning-of-line (C-a)}{14}{\code {beginning-of-line (C-a)}}
 \entry{end-of-line (C-e)}{14}{\code {end-of-line (C-e)}}
 \entry{forward-char (C-f)}{14}{\code {forward-char (C-f)}}
 \entry{non-incremental-forward-search-history (M-n)}{15}{\code {non-incremental-forward-search-history (M-n)}}
 \entry{history-search-forward ()}{15}{\code {history-search-forward ()}}
 \entry{history-search-backward ()}{15}{\code {history-search-backward ()}}
+\entry{history-substr-search-forward ()}{15}{\code {history-substr-search-forward ()}}
+\entry{history-substr-search-backward ()}{15}{\code {history-substr-search-backward ()}}
 \entry{yank-nth-arg (M-C-y)}{15}{\code {yank-nth-arg (M-C-y)}}
-\entry{yank-last-arg (M-. or M-_)}{15}{\code {yank-last-arg (M-. or M-_)}}
+\entry{yank-last-arg (M-. or M-_)}{16}{\code {yank-last-arg (M-. or M-_)}}
 \entry{delete-char (C-d)}{16}{\code {delete-char (C-d)}}
 \entry{backward-delete-char (Rubout)}{16}{\code {backward-delete-char (Rubout)}}
 \entry{forward-backward-delete-char ()}{16}{\code {forward-backward-delete-char ()}}
@@ -58,9 +62,9 @@
 \entry{self-insert (a, b, A, 1, !, ...{})}{16}{\code {self-insert (a, b, A, 1, !, \dots {})}}
 \entry{transpose-chars (C-t)}{16}{\code {transpose-chars (C-t)}}
 \entry{transpose-words (M-t)}{16}{\code {transpose-words (M-t)}}
-\entry{upcase-word (M-u)}{16}{\code {upcase-word (M-u)}}
-\entry{downcase-word (M-l)}{16}{\code {downcase-word (M-l)}}
-\entry{capitalize-word (M-c)}{16}{\code {capitalize-word (M-c)}}
+\entry{upcase-word (M-u)}{17}{\code {upcase-word (M-u)}}
+\entry{downcase-word (M-l)}{17}{\code {downcase-word (M-l)}}
+\entry{capitalize-word (M-c)}{17}{\code {capitalize-word (M-c)}}
 \entry{overwrite-mode ()}{17}{\code {overwrite-mode ()}}
 \entry{kill-line (C-k)}{17}{\code {kill-line (C-k)}}
 \entry{backward-kill-line (C-x Rubout)}{17}{\code {backward-kill-line (C-x Rubout)}}
@@ -71,9 +75,9 @@
 \entry{unix-word-rubout (C-w)}{17}{\code {unix-word-rubout (C-w)}}
 \entry{unix-filename-rubout ()}{17}{\code {unix-filename-rubout ()}}
 \entry{delete-horizontal-space ()}{17}{\code {delete-horizontal-space ()}}
-\entry{kill-region ()}{17}{\code {kill-region ()}}
-\entry{copy-region-as-kill ()}{17}{\code {copy-region-as-kill ()}}
-\entry{copy-backward-word ()}{17}{\code {copy-backward-word ()}}
+\entry{kill-region ()}{18}{\code {kill-region ()}}
+\entry{copy-region-as-kill ()}{18}{\code {copy-region-as-kill ()}}
+\entry{copy-backward-word ()}{18}{\code {copy-backward-word ()}}
 \entry{copy-forward-word ()}{18}{\code {copy-forward-word ()}}
 \entry{yank (C-y)}{18}{\code {yank (C-y)}}
 \entry{yank-pop (M-y)}{18}{\code {yank-pop (M-y)}}
 \entry{complete (TAB)}{18}{\code {complete (\key {TAB})}}
 \entry{possible-completions (M-?)}{18}{\code {possible-completions (M-?)}}
 \entry{insert-completions (M-*)}{18}{\code {insert-completions (M-*)}}
-\entry{menu-complete ()}{18}{\code {menu-complete ()}}
+\entry{menu-complete ()}{19}{\code {menu-complete ()}}
 \entry{menu-complete-backward ()}{19}{\code {menu-complete-backward ()}}
 \entry{delete-char-or-list ()}{19}{\code {delete-char-or-list ()}}
 \entry{start-kbd-macro (C-x ()}{19}{\code {start-kbd-macro (C-x ()}}
 \entry{end-kbd-macro (C-x ))}{19}{\code {end-kbd-macro (C-x ))}}
 \entry{call-last-kbd-macro (C-x e)}{19}{\code {call-last-kbd-macro (C-x e)}}
+\entry{print-last-kbd-macro ()}{19}{\code {print-last-kbd-macro ()}}
 \entry{re-read-init-file (C-x C-r)}{19}{\code {re-read-init-file (C-x C-r)}}
 \entry{abort (C-g)}{19}{\code {abort (C-g)}}
 \entry{do-uppercase-version (M-a, M-b, M-x, ...{})}{19}{\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}
 \entry{prefix-meta (ESC)}{19}{\code {prefix-meta (\key {ESC})}}
-\entry{undo (C-_ or C-x C-u)}{19}{\code {undo (C-_ or C-x C-u)}}
-\entry{revert-line (M-r)}{19}{\code {revert-line (M-r)}}
-\entry{tilde-expand (M-~)}{19}{\code {tilde-expand (M-~)}}
-\entry{set-mark (C-@)}{19}{\code {set-mark (C-@)}}
+\entry{undo (C-_ or C-x C-u)}{20}{\code {undo (C-_ or C-x C-u)}}
+\entry{revert-line (M-r)}{20}{\code {revert-line (M-r)}}
+\entry{tilde-expand (M-~)}{20}{\code {tilde-expand (M-~)}}
+\entry{set-mark (C-@)}{20}{\code {set-mark (C-@)}}
 \entry{exchange-point-and-mark (C-x C-x)}{20}{\code {exchange-point-and-mark (C-x C-x)}}
 \entry{character-search (C-])}{20}{\code {character-search (C-])}}
 \entry{character-search-backward (M-C-])}{20}{\code {character-search-backward (M-C-])}}
 \entry{insert-comment (M-#)}{20}{\code {insert-comment (M-#)}}
 \entry{dump-functions ()}{20}{\code {dump-functions ()}}
 \entry{dump-variables ()}{20}{\code {dump-variables ()}}
-\entry{dump-macros ()}{20}{\code {dump-macros ()}}
-\entry{emacs-editing-mode (C-e)}{20}{\code {emacs-editing-mode (C-e)}}
-\entry{vi-editing-mode (M-C-j)}{20}{\code {vi-editing-mode (M-C-j)}}
+\entry{dump-macros ()}{21}{\code {dump-macros ()}}
+\entry{emacs-editing-mode (C-e)}{21}{\code {emacs-editing-mode (C-e)}}
+\entry{vi-editing-mode (M-C-j)}{21}{\code {vi-editing-mode (M-C-j)}}
 \entry{readline}{22}{\code {readline}}
 \entry{rl_line_buffer}{25}{\code {rl_line_buffer}}
 \entry{rl_point}{25}{\code {rl_point}}
 \entry{rl_pre_input_hook}{27}{\code {rl_pre_input_hook}}
 \entry{rl_event_hook}{27}{\code {rl_event_hook}}
 \entry{rl_getc_function}{27}{\code {rl_getc_function}}
+\entry{rl_signal_event_hook}{27}{\code {rl_signal_event_hook}}
+\entry{rl_input_available_hook}{27}{\code {rl_input_available_hook}}
 \entry{rl_redisplay_function}{27}{\code {rl_redisplay_function}}
 \entry{rl_prep_term_function}{27}{\code {rl_prep_term_function}}
 \entry{rl_deprep_term_function}{27}{\code {rl_deprep_term_function}}
-\entry{rl_executing_keymap}{27}{\code {rl_executing_keymap}}
-\entry{rl_binding_keymap}{27}{\code {rl_binding_keymap}}
-\entry{rl_executing_macro}{27}{\code {rl_executing_macro}}
+\entry{rl_executing_keymap}{28}{\code {rl_executing_keymap}}
+\entry{rl_binding_keymap}{28}{\code {rl_binding_keymap}}
+\entry{rl_executing_macro}{28}{\code {rl_executing_macro}}
+\entry{rl_executing_key}{28}{\code {rl_executing_key}}
+\entry{rl_executing_keyseq}{28}{\code {rl_executing_keyseq}}
+\entry{rl_key_sequence_length}{28}{\code {rl_key_sequence_length}}
 \entry{rl_readline_state}{28}{\code {rl_readline_state}}
 \entry{rl_explicit_arg}{29}{\code {rl_explicit_arg}}
-\entry{rl_numeric_arg}{29}{\code {rl_numeric_arg}}
-\entry{rl_editing_mode}{29}{\code {rl_editing_mode}}
+\entry{rl_numeric_arg}{30}{\code {rl_numeric_arg}}
+\entry{rl_editing_mode}{30}{\code {rl_editing_mode}}
 \entry{rl_add_defun}{30}{\code {rl_add_defun}}
 \entry{rl_make_bare_keymap}{30}{\code {rl_make_bare_keymap}}
 \entry{rl_copy_keymap}{30}{\code {rl_copy_keymap}}
 \entry{rl_make_keymap}{30}{\code {rl_make_keymap}}
 \entry{rl_discard_keymap}{30}{\code {rl_discard_keymap}}
-\entry{rl_free_keymap}{30}{\code {rl_free_keymap}}
-\entry{rl_get_keymap}{30}{\code {rl_get_keymap}}
-\entry{rl_set_keymap}{30}{\code {rl_set_keymap}}
-\entry{rl_get_keymap_by_name}{30}{\code {rl_get_keymap_by_name}}
-\entry{rl_get_keymap_name}{30}{\code {rl_get_keymap_name}}
+\entry{rl_free_keymap}{31}{\code {rl_free_keymap}}
+\entry{rl_get_keymap}{31}{\code {rl_get_keymap}}
+\entry{rl_set_keymap}{31}{\code {rl_set_keymap}}
+\entry{rl_get_keymap_by_name}{31}{\code {rl_get_keymap_by_name}}
+\entry{rl_get_keymap_name}{31}{\code {rl_get_keymap_name}}
 \entry{rl_bind_key}{31}{\code {rl_bind_key}}
 \entry{rl_bind_key_in_map}{31}{\code {rl_bind_key_in_map}}
 \entry{rl_bind_key_if_unbound}{31}{\code {rl_bind_key_if_unbound}}
 \entry{rl_bind_key_if_unbound_in_map}{31}{\code {rl_bind_key_if_unbound_in_map}}
-\entry{rl_unbind_key}{31}{\code {rl_unbind_key}}
-\entry{rl_unbind_key_in_map}{31}{\code {rl_unbind_key_in_map}}
-\entry{rl_unbind_function_in_map}{31}{\code {rl_unbind_function_in_map}}
-\entry{rl_unbind_command_in_map}{31}{\code {rl_unbind_command_in_map}}
-\entry{rl_bind_keyseq}{31}{\code {rl_bind_keyseq}}
+\entry{rl_unbind_key}{32}{\code {rl_unbind_key}}
+\entry{rl_unbind_key_in_map}{32}{\code {rl_unbind_key_in_map}}
+\entry{rl_unbind_function_in_map}{32}{\code {rl_unbind_function_in_map}}
+\entry{rl_unbind_command_in_map}{32}{\code {rl_unbind_command_in_map}}
+\entry{rl_bind_keyseq}{32}{\code {rl_bind_keyseq}}
 \entry{rl_bind_keyseq_in_map}{32}{\code {rl_bind_keyseq_in_map}}
 \entry{rl_set_key}{32}{\code {rl_set_key}}
 \entry{rl_bind_keyseq_if_unbound}{32}{\code {rl_bind_keyseq_if_unbound}}
 \entry{rl_bind_keyseq_if_unbound_in_map}{32}{\code {rl_bind_keyseq_if_unbound_in_map}}
 \entry{rl_generic_bind}{32}{\code {rl_generic_bind}}
 \entry{rl_parse_and_bind}{32}{\code {rl_parse_and_bind}}
-\entry{rl_read_init_file}{32}{\code {rl_read_init_file}}
-\entry{rl_named_function}{32}{\code {rl_named_function}}
-\entry{rl_function_of_keyseq}{32}{\code {rl_function_of_keyseq}}
+\entry{rl_read_init_file}{33}{\code {rl_read_init_file}}
+\entry{rl_named_function}{33}{\code {rl_named_function}}
+\entry{rl_function_of_keyseq}{33}{\code {rl_function_of_keyseq}}
 \entry{rl_invoking_keyseqs}{33}{\code {rl_invoking_keyseqs}}
 \entry{rl_invoking_keyseqs_in_map}{33}{\code {rl_invoking_keyseqs_in_map}}
 \entry{rl_function_dumper}{33}{\code {rl_function_dumper}}
 \entry{rl_list_funmap_names}{33}{\code {rl_list_funmap_names}}
 \entry{rl_funmap_names}{33}{\code {rl_funmap_names}}
 \entry{rl_add_funmap_entry}{33}{\code {rl_add_funmap_entry}}
-\entry{rl_begin_undo_group}{33}{\code {rl_begin_undo_group}}
-\entry{rl_end_undo_group}{33}{\code {rl_end_undo_group}}
+\entry{rl_begin_undo_group}{34}{\code {rl_begin_undo_group}}
+\entry{rl_end_undo_group}{34}{\code {rl_end_undo_group}}
 \entry{rl_add_undo}{34}{\code {rl_add_undo}}
 \entry{rl_free_undo_list}{34}{\code {rl_free_undo_list}}
 \entry{rl_do_undo}{34}{\code {rl_do_undo}}
 \entry{rl_redisplay}{34}{\code {rl_redisplay}}
 \entry{rl_forced_update_display}{34}{\code {rl_forced_update_display}}
 \entry{rl_on_new_line}{34}{\code {rl_on_new_line}}
-\entry{rl_on_new_line_with_prompt}{34}{\code {rl_on_new_line_with_prompt}}
-\entry{rl_reset_line_state}{34}{\code {rl_reset_line_state}}
-\entry{rl_crlf}{34}{\code {rl_crlf}}
-\entry{rl_show_char}{34}{\code {rl_show_char}}
+\entry{rl_on_new_line_with_prompt}{35}{\code {rl_on_new_line_with_prompt}}
+\entry{rl_reset_line_state}{35}{\code {rl_reset_line_state}}
+\entry{rl_crlf}{35}{\code {rl_crlf}}
+\entry{rl_show_char}{35}{\code {rl_show_char}}
 \entry{rl_message}{35}{\code {rl_message}}
 \entry{rl_clear_message}{35}{\code {rl_clear_message}}
 \entry{rl_save_prompt}{35}{\code {rl_save_prompt}}
 \entry{rl_restore_prompt}{35}{\code {rl_restore_prompt}}
 \entry{rl_expand_prompt}{35}{\code {rl_expand_prompt}}
-\entry{rl_set_prompt}{35}{\code {rl_set_prompt}}
-\entry{rl_insert_text}{35}{\code {rl_insert_text}}
-\entry{rl_delete_text}{35}{\code {rl_delete_text}}
-\entry{rl_copy_text}{35}{\code {rl_copy_text}}
+\entry{rl_set_prompt}{36}{\code {rl_set_prompt}}
+\entry{rl_insert_text}{36}{\code {rl_insert_text}}
+\entry{rl_delete_text}{36}{\code {rl_delete_text}}
+\entry{rl_copy_text}{36}{\code {rl_copy_text}}
 \entry{rl_kill_text}{36}{\code {rl_kill_text}}
 \entry{rl_push_macro_input}{36}{\code {rl_push_macro_input}}
 \entry{rl_read_key}{36}{\code {rl_read_key}}
 \entry{rl_getc}{36}{\code {rl_getc}}
 \entry{rl_stuff_char}{36}{\code {rl_stuff_char}}
 \entry{rl_execute_next}{36}{\code {rl_execute_next}}
-\entry{rl_clear_pending_input}{36}{\code {rl_clear_pending_input}}
-\entry{rl_set_keyboard_input_timeout}{36}{\code {rl_set_keyboard_input_timeout}}
-\entry{rl_prep_terminal}{36}{\code {rl_prep_terminal}}
+\entry{rl_clear_pending_input}{37}{\code {rl_clear_pending_input}}
+\entry{rl_set_keyboard_input_timeout}{37}{\code {rl_set_keyboard_input_timeout}}
+\entry{rl_prep_terminal}{37}{\code {rl_prep_terminal}}
 \entry{rl_deprep_terminal}{37}{\code {rl_deprep_terminal}}
 \entry{rl_tty_set_default_bindings}{37}{\code {rl_tty_set_default_bindings}}
 \entry{rl_tty_unset_default_bindings}{37}{\code {rl_tty_unset_default_bindings}}
 \entry{rl_save_state}{37}{\code {rl_save_state}}
 \entry{rl_restore_state}{37}{\code {rl_restore_state}}
 \entry{rl_free}{37}{\code {rl_free}}
-\entry{rl_replace_line}{37}{\code {rl_replace_line}}
-\entry{rl_extend_line_buffer}{37}{\code {rl_extend_line_buffer}}
-\entry{rl_initialize}{37}{\code {rl_initialize}}
-\entry{rl_ding}{37}{\code {rl_ding}}
-\entry{rl_alphabetic}{37}{\code {rl_alphabetic}}
+\entry{rl_replace_line}{38}{\code {rl_replace_line}}
+\entry{rl_extend_line_buffer}{38}{\code {rl_extend_line_buffer}}
+\entry{rl_initialize}{38}{\code {rl_initialize}}
+\entry{rl_ding}{38}{\code {rl_ding}}
+\entry{rl_alphabetic}{38}{\code {rl_alphabetic}}
 \entry{rl_display_match_list}{38}{\code {rl_display_match_list}}
 \entry{_rl_uppercase_p}{38}{\code {_rl_uppercase_p}}
 \entry{_rl_lowercase_p}{38}{\code {_rl_lowercase_p}}
 \entry{_rl_to_upper}{38}{\code {_rl_to_upper}}
 \entry{_rl_to_lower}{38}{\code {_rl_to_lower}}
 \entry{_rl_digit_value}{38}{\code {_rl_digit_value}}
-\entry{rl_macro_bind}{38}{\code {rl_macro_bind}}
-\entry{rl_macro_dumper}{38}{\code {rl_macro_dumper}}
-\entry{rl_variable_bind}{38}{\code {rl_variable_bind}}
+\entry{rl_macro_bind}{39}{\code {rl_macro_bind}}
+\entry{rl_macro_dumper}{39}{\code {rl_macro_dumper}}
+\entry{rl_variable_bind}{39}{\code {rl_variable_bind}}
 \entry{rl_variable_value}{39}{\code {rl_variable_value}}
 \entry{rl_variable_dumper}{39}{\code {rl_variable_dumper}}
 \entry{rl_set_paren_blink_timeout}{39}{\code {rl_set_paren_blink_timeout}}
 \entry{rl_get_termcap}{39}{\code {rl_get_termcap}}
-\entry{rl_callback_handler_install}{39}{\code {rl_callback_handler_install}}
-\entry{rl_callback_read_char}{39}{\code {rl_callback_read_char}}
-\entry{rl_callback_handler_remove}{39}{\code {rl_callback_handler_remove}}
-\entry{rl_catch_signals}{42}{\code {rl_catch_signals}}
-\entry{rl_catch_sigwinch}{42}{\code {rl_catch_sigwinch}}
-\entry{rl_cleanup_after_signal}{42}{\code {rl_cleanup_after_signal}}
-\entry{rl_free_line_state}{42}{\code {rl_free_line_state}}
-\entry{rl_reset_after_signal}{42}{\code {rl_reset_after_signal}}
-\entry{rl_echo_signal_char}{42}{\code {rl_echo_signal_char}}
-\entry{rl_resize_terminal}{42}{\code {rl_resize_terminal}}
-\entry{rl_set_screen_size}{42}{\code {rl_set_screen_size}}
-\entry{rl_get_screen_size}{43}{\code {rl_get_screen_size}}
-\entry{rl_reset_screen_size}{43}{\code {rl_reset_screen_size}}
-\entry{rl_set_signals}{43}{\code {rl_set_signals}}
-\entry{rl_clear_signals}{43}{\code {rl_clear_signals}}
-\entry{rl_complete}{44}{\code {rl_complete}}
-\entry{rl_completion_entry_function}{44}{\code {rl_completion_entry_function}}
-\entry{rl_complete_internal}{44}{\code {rl_complete_internal}}
-\entry{rl_complete}{44}{\code {rl_complete}}
-\entry{rl_possible_completions}{44}{\code {rl_possible_completions}}
-\entry{rl_insert_completions}{44}{\code {rl_insert_completions}}
-\entry{rl_completion_mode}{44}{\code {rl_completion_mode}}
-\entry{rl_completion_matches}{45}{\code {rl_completion_matches}}
-\entry{rl_filename_completion_function}{45}{\code {rl_filename_completion_function}}
-\entry{rl_username_completion_function}{45}{\code {rl_username_completion_function}}
-\entry{rl_completion_entry_function}{45}{\code {rl_completion_entry_function}}
-\entry{rl_attempted_completion_function}{45}{\code {rl_attempted_completion_function}}
-\entry{rl_filename_quoting_function}{45}{\code {rl_filename_quoting_function}}
-\entry{rl_filename_dequoting_function}{46}{\code {rl_filename_dequoting_function}}
-\entry{rl_char_is_quoted_p}{46}{\code {rl_char_is_quoted_p}}
-\entry{rl_ignore_some_completions_function}{46}{\code {rl_ignore_some_completions_function}}
-\entry{rl_directory_completion_hook}{46}{\code {rl_directory_completion_hook}}
-\entry{rl_filename_rewrite_hook}{46}{\code {rl_filename_rewrite_hook}}
-\entry{rl_completion_display_matches_hook}{47}{\code {rl_completion_display_matches_hook}}
-\entry{rl_basic_word_break_characters}{47}{\code {rl_basic_word_break_characters}}
-\entry{rl_basic_quote_characters}{47}{\code {rl_basic_quote_characters}}
-\entry{rl_completer_word_break_characters}{47}{\code {rl_completer_word_break_characters}}
-\entry{rl_completion_word_break_hook}{47}{\code {rl_completion_word_break_hook}}
-\entry{rl_completer_quote_characters}{47}{\code {rl_completer_quote_characters}}
-\entry{rl_filename_quote_characters}{47}{\code {rl_filename_quote_characters}}
-\entry{rl_special_prefixes}{47}{\code {rl_special_prefixes}}
-\entry{rl_completion_query_items}{47}{\code {rl_completion_query_items}}
-\entry{rl_completion_append_character}{48}{\code {rl_completion_append_character}}
-\entry{rl_completion_suppress_append}{48}{\code {rl_completion_suppress_append}}
-\entry{rl_completion_quote_character}{48}{\code {rl_completion_quote_character}}
-\entry{rl_completion_suppress_quote}{48}{\code {rl_completion_suppress_quote}}
-\entry{rl_completion_found_quote}{48}{\code {rl_completion_found_quote}}
-\entry{rl_completion_mark_symlink_dirs}{48}{\code {rl_completion_mark_symlink_dirs}}
-\entry{rl_ignore_completion_duplicates}{48}{\code {rl_ignore_completion_duplicates}}
-\entry{rl_filename_completion_desired}{48}{\code {rl_filename_completion_desired}}
-\entry{rl_filename_quoting_desired}{49}{\code {rl_filename_quoting_desired}}
-\entry{rl_attempted_completion_over}{49}{\code {rl_attempted_completion_over}}
-\entry{rl_sort_completion_matches}{49}{\code {rl_sort_completion_matches}}
-\entry{rl_completion_type}{49}{\code {rl_completion_type}}
-\entry{rl_completion_invoking_key}{49}{\code {rl_completion_invoking_key}}
-\entry{rl_inhibit_completion}{49}{\code {rl_inhibit_completion}}
+\entry{rl_clear_history}{39}{\code {rl_clear_history}}
+\entry{rl_callback_handler_install}{40}{\code {rl_callback_handler_install}}
+\entry{rl_callback_read_char}{40}{\code {rl_callback_read_char}}
+\entry{rl_callback_handler_remove}{40}{\code {rl_callback_handler_remove}}
+\entry{rl_catch_signals}{44}{\code {rl_catch_signals}}
+\entry{rl_catch_sigwinch}{44}{\code {rl_catch_sigwinch}}
+\entry{rl_cleanup_after_signal}{44}{\code {rl_cleanup_after_signal}}
+\entry{rl_free_line_state}{44}{\code {rl_free_line_state}}
+\entry{rl_reset_after_signal}{44}{\code {rl_reset_after_signal}}
+\entry{rl_echo_signal_char}{44}{\code {rl_echo_signal_char}}
+\entry{rl_resize_terminal}{45}{\code {rl_resize_terminal}}
+\entry{rl_set_screen_size}{45}{\code {rl_set_screen_size}}
+\entry{rl_get_screen_size}{45}{\code {rl_get_screen_size}}
+\entry{rl_reset_screen_size}{45}{\code {rl_reset_screen_size}}
+\entry{rl_set_signals}{45}{\code {rl_set_signals}}
+\entry{rl_clear_signals}{45}{\code {rl_clear_signals}}
+\entry{rl_complete}{46}{\code {rl_complete}}
+\entry{rl_completion_entry_function}{46}{\code {rl_completion_entry_function}}
+\entry{rl_complete_internal}{46}{\code {rl_complete_internal}}
+\entry{rl_complete}{46}{\code {rl_complete}}
+\entry{rl_possible_completions}{46}{\code {rl_possible_completions}}
+\entry{rl_insert_completions}{47}{\code {rl_insert_completions}}
+\entry{rl_completion_mode}{47}{\code {rl_completion_mode}}
+\entry{rl_completion_matches}{47}{\code {rl_completion_matches}}
+\entry{rl_filename_completion_function}{47}{\code {rl_filename_completion_function}}
+\entry{rl_username_completion_function}{47}{\code {rl_username_completion_function}}
+\entry{rl_completion_entry_function}{47}{\code {rl_completion_entry_function}}
+\entry{rl_attempted_completion_function}{47}{\code {rl_attempted_completion_function}}
+\entry{rl_filename_quoting_function}{48}{\code {rl_filename_quoting_function}}
+\entry{rl_filename_dequoting_function}{48}{\code {rl_filename_dequoting_function}}
+\entry{rl_char_is_quoted_p}{48}{\code {rl_char_is_quoted_p}}
+\entry{rl_ignore_some_completions_function}{48}{\code {rl_ignore_some_completions_function}}
+\entry{rl_directory_completion_hook}{48}{\code {rl_directory_completion_hook}}
+\entry{rl_directory_rewrite_hook;}{49}{\code {rl_directory_rewrite_hook;}}
+\entry{rl_filename_stat_hook}{49}{\code {rl_filename_stat_hook}}
+\entry{rl_filename_rewrite_hook}{49}{\code {rl_filename_rewrite_hook}}
+\entry{rl_completion_display_matches_hook}{49}{\code {rl_completion_display_matches_hook}}
+\entry{rl_basic_word_break_characters}{49}{\code {rl_basic_word_break_characters}}
+\entry{rl_basic_quote_characters}{50}{\code {rl_basic_quote_characters}}
+\entry{rl_completer_word_break_characters}{50}{\code {rl_completer_word_break_characters}}
+\entry{rl_completion_word_break_hook}{50}{\code {rl_completion_word_break_hook}}
+\entry{rl_completer_quote_characters}{50}{\code {rl_completer_quote_characters}}
+\entry{rl_filename_quote_characters}{50}{\code {rl_filename_quote_characters}}
+\entry{rl_special_prefixes}{50}{\code {rl_special_prefixes}}
+\entry{rl_completion_query_items}{50}{\code {rl_completion_query_items}}
+\entry{rl_completion_append_character}{50}{\code {rl_completion_append_character}}
+\entry{rl_completion_suppress_append}{50}{\code {rl_completion_suppress_append}}
+\entry{rl_completion_quote_character}{51}{\code {rl_completion_quote_character}}
+\entry{rl_completion_suppress_quote}{51}{\code {rl_completion_suppress_quote}}
+\entry{rl_completion_found_quote}{51}{\code {rl_completion_found_quote}}
+\entry{rl_completion_mark_symlink_dirs}{51}{\code {rl_completion_mark_symlink_dirs}}
+\entry{rl_ignore_completion_duplicates}{51}{\code {rl_ignore_completion_duplicates}}
+\entry{rl_filename_completion_desired}{51}{\code {rl_filename_completion_desired}}
+\entry{rl_filename_quoting_desired}{51}{\code {rl_filename_quoting_desired}}
+\entry{rl_attempted_completion_over}{51}{\code {rl_attempted_completion_over}}
+\entry{rl_sort_completion_matches}{52}{\code {rl_sort_completion_matches}}
+\entry{rl_completion_type}{52}{\code {rl_completion_type}}
+\entry{rl_completion_invoking_key}{52}{\code {rl_completion_invoking_key}}
+\entry{rl_inhibit_completion}{52}{\code {rl_inhibit_completion}}
index 936049dc4cc8c1e2f2586cce09d717fd6ed4c7a9..70ae9a49987312db90f69adf7f75a3334b13dd3f 100644 (file)
 \entry {bind-tty-special-chars}{5}
 \initial {C}
 \entry {\code {call-last-kbd-macro (C-x e)}}{19}
-\entry {\code {capitalize-word (M-c)}}{16}
+\entry {\code {capitalize-word (M-c)}}{17}
 \entry {\code {character-search (C-])}}{20}
 \entry {\code {character-search-backward (M-C-])}}{20}
 \entry {\code {clear-screen (C-l)}}{14}
+\entry {colored-stats}{5}
 \entry {comment-begin}{5}
 \entry {\code {complete (\key {TAB})}}{18}
 \entry {completion-display-width}{5}
 \entry {completion-prefix-display-length}{5}
 \entry {completion-query-items}{5}
 \entry {convert-meta}{5}
-\entry {\code {copy-backward-word ()}}{17}
+\entry {\code {copy-backward-word ()}}{18}
 \entry {\code {copy-forward-word ()}}{18}
-\entry {\code {copy-region-as-kill ()}}{17}
+\entry {\code {copy-region-as-kill ()}}{18}
 \initial {D}
 \entry {\code {delete-char (C-d)}}{16}
 \entry {\code {delete-char-or-list ()}}{19}
 \entry {\code {delete-horizontal-space ()}}{17}
 \entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{18}
-\entry {disable-completion}{5}
+\entry {disable-completion}{6}
 \entry {\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}{19}
-\entry {\code {downcase-word (M-l)}}{16}
+\entry {\code {downcase-word (M-l)}}{17}
 \entry {\code {dump-functions ()}}{20}
-\entry {\code {dump-macros ()}}{20}
+\entry {\code {dump-macros ()}}{21}
 \entry {\code {dump-variables ()}}{20}
 \initial {E}
 \entry {editing-mode}{6}
-\entry {\code {emacs-editing-mode (C-e)}}{20}
+\entry {\code {emacs-editing-mode (C-e)}}{21}
 \entry {enable-keypad}{6}
 \entry {\code {end-kbd-macro (C-x ))}}{19}
 \entry {\code {end-of-history (M->)}}{15}
 \entry {\code {history-search-backward ()}}{15}
 \entry {\code {history-search-forward ()}}{15}
 \entry {history-size}{6}
+\entry {\code {history-substr-search-backward ()}}{15}
+\entry {\code {history-substr-search-forward ()}}{15}
 \entry {horizontal-scroll-mode}{6}
 \initial {I}
-\entry {input-meta}{6}
+\entry {input-meta}{7}
 \entry {\code {insert-comment (M-#)}}{20}
 \entry {\code {insert-completions (M-*)}}{18}
-\entry {isearch-terminators}{6}
+\entry {isearch-terminators}{7}
 \initial {K}
 \entry {keymap}{7}
 \entry {\code {kill-line (C-k)}}{17}
-\entry {\code {kill-region ()}}{17}
+\entry {\code {kill-region ()}}{18}
 \entry {\code {kill-whole-line ()}}{17}
 \entry {\code {kill-word (M-d)}}{17}
 \initial {M}
 \entry {mark-modified-lines}{7}
 \entry {mark-symlinked-directories}{7}
 \entry {match-hidden-files}{7}
-\entry {\code {menu-complete ()}}{18}
+\entry {\code {menu-complete ()}}{19}
 \entry {\code {menu-complete-backward ()}}{19}
-\entry {menu-complete-display-prefix}{7}
-\entry {meta-flag}{6}
+\entry {menu-complete-display-prefix}{8}
+\entry {meta-flag}{7}
 \initial {N}
 \entry {\code {next-history (C-n)}}{15}
 \entry {\code {non-incremental-forward-search-history (M-n)}}{15}
 \entry {\code {non-incremental-reverse-search-history (M-p)}}{15}
 \initial {O}
-\entry {output-meta}{7}
+\entry {output-meta}{8}
 \entry {\code {overwrite-mode ()}}{17}
 \initial {P}
-\entry {page-completions}{7}
+\entry {page-completions}{8}
 \entry {\code {possible-completions (M-?)}}{18}
 \entry {\code {prefix-meta (\key {ESC})}}{19}
 \entry {\code {previous-history (C-p)}}{14}
+\entry {\code {print-last-kbd-macro ()}}{19}
 \initial {Q}
 \entry {\code {quoted-insert (C-q or C-v)}}{16}
 \initial {R}
 \entry {\code {redraw-current-line ()}}{14}
 \entry {\code {reverse-search-history (C-r)}}{15}
 \entry {revert-all-at-newline}{8}
-\entry {\code {revert-line (M-r)}}{19}
+\entry {\code {revert-line (M-r)}}{20}
 \entry {\code {rl_add_defun}}{30}
 \entry {\code {rl_add_funmap_entry}}{33}
 \entry {\code {rl_add_undo}}{34}
-\entry {\code {rl_alphabetic}}{37}
+\entry {\code {rl_alphabetic}}{38}
 \entry {\code {rl_already_prompted}}{26}
-\entry {\code {rl_attempted_completion_function}}{45}
-\entry {\code {rl_attempted_completion_over}}{49}
-\entry {\code {rl_basic_quote_characters}}{47}
-\entry {\code {rl_basic_word_break_characters}}{47}
-\entry {\code {rl_begin_undo_group}}{33}
+\entry {\code {rl_attempted_completion_function}}{47}
+\entry {\code {rl_attempted_completion_over}}{51}
+\entry {\code {rl_basic_quote_characters}}{50}
+\entry {\code {rl_basic_word_break_characters}}{49}
+\entry {\code {rl_begin_undo_group}}{34}
 \entry {\code {rl_bind_key}}{31}
 \entry {\code {rl_bind_key_if_unbound}}{31}
 \entry {\code {rl_bind_key_if_unbound_in_map}}{31}
 \entry {\code {rl_bind_key_in_map}}{31}
-\entry {\code {rl_bind_keyseq}}{31}
+\entry {\code {rl_bind_keyseq}}{32}
 \entry {\code {rl_bind_keyseq_if_unbound}}{32}
 \entry {\code {rl_bind_keyseq_if_unbound_in_map}}{32}
 \entry {\code {rl_bind_keyseq_in_map}}{32}
-\entry {\code {rl_binding_keymap}}{27}
-\entry {\code {rl_callback_handler_install}}{39}
-\entry {\code {rl_callback_handler_remove}}{39}
-\entry {\code {rl_callback_read_char}}{39}
-\entry {\code {rl_catch_signals}}{42}
-\entry {\code {rl_catch_sigwinch}}{42}
-\entry {\code {rl_char_is_quoted_p}}{46}
-\entry {\code {rl_cleanup_after_signal}}{42}
+\entry {\code {rl_binding_keymap}}{28}
+\entry {\code {rl_callback_handler_install}}{40}
+\entry {\code {rl_callback_handler_remove}}{40}
+\entry {\code {rl_callback_read_char}}{40}
+\entry {\code {rl_catch_signals}}{44}
+\entry {\code {rl_catch_sigwinch}}{44}
+\entry {\code {rl_char_is_quoted_p}}{48}
+\entry {\code {rl_cleanup_after_signal}}{44}
+\entry {\code {rl_clear_history}}{39}
 \entry {\code {rl_clear_message}}{35}
-\entry {\code {rl_clear_pending_input}}{36}
-\entry {\code {rl_clear_signals}}{43}
-\entry {\code {rl_complete}}{44}
-\entry {\code {rl_complete_internal}}{44}
-\entry {\code {rl_completer_quote_characters}}{47}
-\entry {\code {rl_completer_word_break_characters}}{47}
-\entry {\code {rl_completion_append_character}}{48}
-\entry {\code {rl_completion_display_matches_hook}}{47}
-\entry {\code {rl_completion_entry_function}}{44, 45}
-\entry {\code {rl_completion_found_quote}}{48}
-\entry {\code {rl_completion_invoking_key}}{49}
-\entry {\code {rl_completion_mark_symlink_dirs}}{48}
-\entry {\code {rl_completion_matches}}{45}
-\entry {\code {rl_completion_mode}}{44}
-\entry {\code {rl_completion_query_items}}{47}
-\entry {\code {rl_completion_quote_character}}{48}
-\entry {\code {rl_completion_suppress_append}}{48}
-\entry {\code {rl_completion_suppress_quote}}{48}
-\entry {\code {rl_completion_type}}{49}
-\entry {\code {rl_completion_word_break_hook}}{47}
+\entry {\code {rl_clear_pending_input}}{37}
+\entry {\code {rl_clear_signals}}{45}
+\entry {\code {rl_complete}}{46}
+\entry {\code {rl_complete_internal}}{46}
+\entry {\code {rl_completer_quote_characters}}{50}
+\entry {\code {rl_completer_word_break_characters}}{50}
+\entry {\code {rl_completion_append_character}}{50}
+\entry {\code {rl_completion_display_matches_hook}}{49}
+\entry {\code {rl_completion_entry_function}}{46, 47}
+\entry {\code {rl_completion_found_quote}}{51}
+\entry {\code {rl_completion_invoking_key}}{52}
+\entry {\code {rl_completion_mark_symlink_dirs}}{51}
+\entry {\code {rl_completion_matches}}{47}
+\entry {\code {rl_completion_mode}}{47}
+\entry {\code {rl_completion_query_items}}{50}
+\entry {\code {rl_completion_quote_character}}{51}
+\entry {\code {rl_completion_suppress_append}}{50}
+\entry {\code {rl_completion_suppress_quote}}{51}
+\entry {\code {rl_completion_type}}{52}
+\entry {\code {rl_completion_word_break_hook}}{50}
 \entry {\code {rl_copy_keymap}}{30}
-\entry {\code {rl_copy_text}}{35}
-\entry {\code {rl_crlf}}{34}
-\entry {\code {rl_delete_text}}{35}
+\entry {\code {rl_copy_text}}{36}
+\entry {\code {rl_crlf}}{35}
+\entry {\code {rl_delete_text}}{36}
 \entry {\code {rl_deprep_term_function}}{27}
 \entry {\code {rl_deprep_terminal}}{37}
-\entry {\code {rl_ding}}{37}
-\entry {\code {rl_directory_completion_hook}}{46}
+\entry {\code {rl_ding}}{38}
+\entry {\code {rl_directory_completion_hook}}{48}
+\entry {\code {rl_directory_rewrite_hook;}}{49}
 \entry {\code {rl_discard_keymap}}{30}
 \entry {\code {rl_dispatching}}{25}
 \entry {\code {rl_display_match_list}}{38}
 \entry {\code {rl_display_prompt}}{26}
 \entry {\code {rl_do_undo}}{34}
 \entry {\code {rl_done}}{25}
-\entry {\code {rl_echo_signal_char}}{42}
-\entry {\code {rl_editing_mode}}{29}
+\entry {\code {rl_echo_signal_char}}{44}
+\entry {\code {rl_editing_mode}}{30}
 \entry {\code {rl_end}}{25}
-\entry {\code {rl_end_undo_group}}{33}
+\entry {\code {rl_end_undo_group}}{34}
 \entry {\code {rl_erase_empty_line}}{25}
 \entry {\code {rl_event_hook}}{27}
 \entry {\code {rl_execute_next}}{36}
-\entry {\code {rl_executing_keymap}}{27}
-\entry {\code {rl_executing_macro}}{27}
+\entry {\code {rl_executing_key}}{28}
+\entry {\code {rl_executing_keymap}}{28}
+\entry {\code {rl_executing_keyseq}}{28}
+\entry {\code {rl_executing_macro}}{28}
 \entry {\code {rl_expand_prompt}}{35}
 \entry {\code {rl_explicit_arg}}{29}
-\entry {\code {rl_extend_line_buffer}}{37}
-\entry {\code {rl_filename_completion_desired}}{48}
-\entry {\code {rl_filename_completion_function}}{45}
-\entry {\code {rl_filename_dequoting_function}}{46}
-\entry {\code {rl_filename_quote_characters}}{47}
-\entry {\code {rl_filename_quoting_desired}}{49}
-\entry {\code {rl_filename_quoting_function}}{45}
-\entry {\code {rl_filename_rewrite_hook}}{46}
+\entry {\code {rl_extend_line_buffer}}{38}
+\entry {\code {rl_filename_completion_desired}}{51}
+\entry {\code {rl_filename_completion_function}}{47}
+\entry {\code {rl_filename_dequoting_function}}{48}
+\entry {\code {rl_filename_quote_characters}}{50}
+\entry {\code {rl_filename_quoting_desired}}{51}
+\entry {\code {rl_filename_quoting_function}}{48}
+\entry {\code {rl_filename_rewrite_hook}}{49}
+\entry {\code {rl_filename_stat_hook}}{49}
 \entry {\code {rl_forced_update_display}}{34}
 \entry {\code {rl_free}}{37}
-\entry {\code {rl_free_keymap}}{30}
-\entry {\code {rl_free_line_state}}{42}
+\entry {\code {rl_free_keymap}}{31}
+\entry {\code {rl_free_line_state}}{44}
 \entry {\code {rl_free_undo_list}}{34}
 \entry {\code {rl_function_dumper}}{33}
-\entry {\code {rl_function_of_keyseq}}{32}
+\entry {\code {rl_function_of_keyseq}}{33}
 \entry {\code {rl_funmap_names}}{33}
 \entry {\code {rl_generic_bind}}{32}
-\entry {\code {rl_get_keymap}}{30}
-\entry {\code {rl_get_keymap_by_name}}{30}
-\entry {\code {rl_get_keymap_name}}{30}
-\entry {\code {rl_get_screen_size}}{43}
+\entry {\code {rl_get_keymap}}{31}
+\entry {\code {rl_get_keymap_by_name}}{31}
+\entry {\code {rl_get_keymap_name}}{31}
+\entry {\code {rl_get_screen_size}}{45}
 \entry {\code {rl_get_termcap}}{39}
 \entry {\code {rl_getc}}{36}
 \entry {\code {rl_getc_function}}{27}
 \entry {\code {rl_gnu_readline_p}}{26}
-\entry {\code {rl_ignore_completion_duplicates}}{48}
-\entry {\code {rl_ignore_some_completions_function}}{46}
-\entry {\code {rl_inhibit_completion}}{49}
-\entry {\code {rl_initialize}}{37}
-\entry {\code {rl_insert_completions}}{44}
-\entry {\code {rl_insert_text}}{35}
+\entry {\code {rl_ignore_completion_duplicates}}{51}
+\entry {\code {rl_ignore_some_completions_function}}{48}
+\entry {\code {rl_inhibit_completion}}{52}
+\entry {\code {rl_initialize}}{38}
+\entry {\code {rl_input_available_hook}}{27}
+\entry {\code {rl_insert_completions}}{47}
+\entry {\code {rl_insert_text}}{36}
 \entry {\code {rl_instream}}{26}
 \entry {\code {rl_invoking_keyseqs}}{33}
 \entry {\code {rl_invoking_keyseqs_in_map}}{33}
+\entry {\code {rl_key_sequence_length}}{28}
 \entry {\code {rl_kill_text}}{36}
 \entry {\code {rl_last_func}}{27}
 \entry {\code {rl_library_version}}{26}
 \entry {\code {rl_line_buffer}}{25}
 \entry {\code {rl_list_funmap_names}}{33}
-\entry {\code {rl_macro_bind}}{38}
-\entry {\code {rl_macro_dumper}}{38}
+\entry {\code {rl_macro_bind}}{39}
+\entry {\code {rl_macro_dumper}}{39}
 \entry {\code {rl_make_bare_keymap}}{30}
 \entry {\code {rl_make_keymap}}{30}
 \entry {\code {rl_mark}}{25}
 \entry {\code {rl_message}}{35}
 \entry {\code {rl_modifying}}{34}
-\entry {\code {rl_named_function}}{32}
+\entry {\code {rl_named_function}}{33}
 \entry {\code {rl_num_chars_to_read}}{25}
-\entry {\code {rl_numeric_arg}}{29}
+\entry {\code {rl_numeric_arg}}{30}
 \entry {\code {rl_on_new_line}}{34}
-\entry {\code {rl_on_new_line_with_prompt}}{34}
+\entry {\code {rl_on_new_line_with_prompt}}{35}
 \entry {\code {rl_outstream}}{26}
 \entry {\code {rl_parse_and_bind}}{32}
 \entry {\code {rl_pending_input}}{25}
 \entry {\code {rl_point}}{25}
-\entry {\code {rl_possible_completions}}{44}
+\entry {\code {rl_possible_completions}}{46}
 \entry {\code {rl_pre_input_hook}}{27}
 \entry {\code {rl_prefer_env_winsize}}{26}
 \entry {\code {rl_prep_term_function}}{27}
-\entry {\code {rl_prep_terminal}}{36}
+\entry {\code {rl_prep_terminal}}{37}
 \entry {\code {rl_prompt}}{26}
 \entry {\code {rl_push_macro_input}}{36}
-\entry {\code {rl_read_init_file}}{32}
+\entry {\code {rl_read_init_file}}{33}
 \entry {\code {rl_read_key}}{36}
 \entry {\code {rl_readline_name}}{26}
 \entry {\code {rl_readline_state}}{28}
 \entry {\code {rl_readline_version}}{26}
 \entry {\code {rl_redisplay}}{34}
 \entry {\code {rl_redisplay_function}}{27}
-\entry {\code {rl_replace_line}}{37}
-\entry {\code {rl_reset_after_signal}}{42}
-\entry {\code {rl_reset_line_state}}{34}
-\entry {\code {rl_reset_screen_size}}{43}
+\entry {\code {rl_replace_line}}{38}
+\entry {\code {rl_reset_after_signal}}{44}
+\entry {\code {rl_reset_line_state}}{35}
+\entry {\code {rl_reset_screen_size}}{45}
 \entry {\code {rl_reset_terminal}}{37}
-\entry {\code {rl_resize_terminal}}{42}
+\entry {\code {rl_resize_terminal}}{45}
 \entry {\code {rl_restore_prompt}}{35}
 \entry {\code {rl_restore_state}}{37}
 \entry {\code {rl_save_prompt}}{35}
 \entry {\code {rl_save_state}}{37}
 \entry {\code {rl_set_key}}{32}
-\entry {\code {rl_set_keyboard_input_timeout}}{36}
-\entry {\code {rl_set_keymap}}{30}
+\entry {\code {rl_set_keyboard_input_timeout}}{37}
+\entry {\code {rl_set_keymap}}{31}
 \entry {\code {rl_set_paren_blink_timeout}}{39}
-\entry {\code {rl_set_prompt}}{35}
-\entry {\code {rl_set_screen_size}}{42}
-\entry {\code {rl_set_signals}}{43}
-\entry {\code {rl_show_char}}{34}
-\entry {\code {rl_sort_completion_matches}}{49}
-\entry {\code {rl_special_prefixes}}{47}
+\entry {\code {rl_set_prompt}}{36}
+\entry {\code {rl_set_screen_size}}{45}
+\entry {\code {rl_set_signals}}{45}
+\entry {\code {rl_show_char}}{35}
+\entry {\code {rl_signal_event_hook}}{27}
+\entry {\code {rl_sort_completion_matches}}{52}
+\entry {\code {rl_special_prefixes}}{50}
 \entry {\code {rl_startup_hook}}{27}
 \entry {\code {rl_stuff_char}}{36}
 \entry {\code {rl_terminal_name}}{26}
 \entry {\code {rl_tty_set_default_bindings}}{37}
 \entry {\code {rl_tty_unset_default_bindings}}{37}
-\entry {\code {rl_unbind_command_in_map}}{31}
-\entry {\code {rl_unbind_function_in_map}}{31}
-\entry {\code {rl_unbind_key}}{31}
-\entry {\code {rl_unbind_key_in_map}}{31}
-\entry {\code {rl_username_completion_function}}{45}
-\entry {\code {rl_variable_bind}}{38}
+\entry {\code {rl_unbind_command_in_map}}{32}
+\entry {\code {rl_unbind_function_in_map}}{32}
+\entry {\code {rl_unbind_key}}{32}
+\entry {\code {rl_unbind_key_in_map}}{32}
+\entry {\code {rl_username_completion_function}}{47}
+\entry {\code {rl_variable_bind}}{39}
 \entry {\code {rl_variable_dumper}}{39}
 \entry {\code {rl_variable_value}}{39}
 \initial {S}
 \entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{16}
-\entry {\code {set-mark (C-@)}}{19}
+\entry {\code {set-mark (C-@)}}{20}
 \entry {show-all-if-ambiguous}{8}
 \entry {show-all-if-unmodified}{8}
+\entry {show-mode-in-prompt}{8}
 \entry {skip-completed-text}{8}
 \entry {\code {skip-csi-sequence ()}}{20}
 \entry {\code {start-kbd-macro (C-x ()}}{19}
 \initial {T}
 \entry {\code {tab-insert (M-\key {TAB})}}{16}
-\entry {\code {tilde-expand (M-~)}}{19}
+\entry {\code {tilde-expand (M-~)}}{20}
 \entry {\code {transpose-chars (C-t)}}{16}
 \entry {\code {transpose-words (M-t)}}{16}
 \initial {U}
-\entry {\code {undo (C-_ or C-x C-u)}}{19}
+\entry {\code {undo (C-_ or C-x C-u)}}{20}
 \entry {\code {universal-argument ()}}{18}
 \entry {\code {unix-filename-rubout ()}}{17}
 \entry {\code {unix-line-discard (C-u)}}{17}
 \entry {\code {unix-word-rubout (C-w)}}{17}
-\entry {\code {upcase-word (M-u)}}{16}
+\entry {\code {upcase-word (M-u)}}{17}
 \initial {V}
-\entry {\code {vi-editing-mode (M-C-j)}}{20}
-\entry {visible-stats}{8}
+\entry {\code {vi-editing-mode (M-C-j)}}{21}
+\entry {visible-stats}{9}
 \initial {Y}
 \entry {\code {yank (C-y)}}{18}
-\entry {\code {yank-last-arg (M-. or M-_)}}{15}
+\entry {\code {yank-last-arg (M-. or M-_)}}{16}
 \entry {\code {yank-nth-arg (M-C-y)}}{15}
 \entry {\code {yank-pop (M-y)}}{18}
index bad80270e106dbd117ba29c9765ba9d0b7871109..c3db1eda610cddbd2c538b18487042080afc387e 100644 (file)
@@ -1,6 +1,6 @@
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  8 FEB 2011 11:10
-**/usr/homes/chet/src/bash/src/lib/readline/doc/rlman.texi
-(/usr/homes/chet/src/bash/src/lib/readline/doc/rlman.texi (./texinfo.tex
+This is TeX, Version 3.1415926 (TeX Live 2011/Fink) (format=tex 2013.1.2)  25 MAY 2013 17:14
+**/usr/src/local/bash/bash-20130523/lib/readline/doc/rlman.texi
+(/usr/src/local/bash/bash-20130523/lib/readline/doc/rlman.texi (./texinfo.tex
 Loading texinfo [version 2009-01-18.17]:
 \bindingoffset=\dimen16
 \normaloffset=\dimen17
@@ -120,6 +120,7 @@ defuns,
 \SAVEmargin=\box23
 
 (/sw/share/texmf-dist/tex/generic/epsf/epsf.tex
+This is `epsf.tex' v2.7.4 <14 February 2011>
 \epsffilein=\read0
 \epsfframemargin=\dimen39
 \epsfframethickness=\dimen40
@@ -129,18 +130,16 @@ defuns,
 \epsfxsize=\dimen44
 \epsfysize=\dimen45
 \pspoints=\dimen46
-\epsfnoopenhelp=\toks26
 )
-\noepsfhelp=\toks27
+\noepsfhelp=\toks26
  localization,
-\nolanghelp=\toks28
+\nolanghelp=\toks27
 \countUTFx=\count52
 \countUTFy=\count53
 \countUTFz=\count54
  formatting,
 \defaultparindent=\dimen47
-
-and turning on texinfo input format.) (./rlman.aux)
+ and turning on texinfo input format.) (./rlman.aux)
 \openout2 = `rlman.aux'.
 
 @cpindfile=@write3
@@ -149,7 +148,7 @@ and turning on texinfo input format.) (./rlman.aux)
 @tpindfile=@write6
 @kyindfile=@write7
 @pgindfile=@write8
- (./version.texi) [1
+(./version.texi) [1
 \openout3 = `rlman.cp'.
 
 \openout4 = `rlman.fn'.
@@ -165,18 +164,17 @@ and turning on texinfo input format.) (./rlman.aux)
 ]
 \openout1 = `rlman.tmp'.
 
-
-(./rlman.tmp) [2] (./rlman.toc [-1]) [-2] (./rluser.texi
+ (./rlman.tmp) [2] (./rlman.toc [-1]) [-2] (./rluser.texi
 @btindfile=@write9
- Chapter 1
+
+Chapter 1
 \openout0 = `rlman.toc'.
 
  [1
 \openout9 = `rlman.bt'.
 
-] [2]
-[3] [4] [5] [6]
-Underfull \hbox (badness 5231) in paragraph at lines 551--567
+] [2] [3] [4] [5] [6]
+Underfull \hbox (badness 5231) in paragraph at lines 565--581
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -189,7 +187,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [7] [8] [9] [10] [11]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 894--894
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 929--929
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] |
 
@@ -203,8 +201,34 @@ gnored[] |
 
 [12] [13] [14] [15] [16] [17] [18] [19] [20]) (./rltech.texi Chapter 2 [21]
 [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36]
-[37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48]
-Underfull \hbox (badness 7379) in paragraph at lines 1910--1915
+[37] [38] [39] [40] [41]
+Overfull \hbox (14.94176pt too wide) in paragraph at lines 1435--1435
+ []      @texttt /* This function needs to be called to reset the terminal sett
+ings,[] |
+
+@hbox(7.60416+2.43333)x433.62
+.@glue(@leftskip) 28.90755
+.@hbox(0.0+0.0)x0.0
+.@penalty 10000
+.@glue 5.74869
+.@penalty 10000
+.etc.
+
+
+Overfull \hbox (14.94176pt too wide) in paragraph at lines 1436--1436
+ []         @texttt and calling it from the line handler keeps one extra prompt
+ from[] |
+
+@hbox(6.69167+2.43333)x433.62
+.@glue(@leftskip) 28.90755
+.@hbox(0.0+0.0)x0.0
+.@penalty 10000
+.@glue 5.74869
+.@penalty 10000
+.etc.
+
+[42] [43] [44] [45] [46] [47] [48] [49] [50]
+Underfull \hbox (badness 7379) in paragraph at lines 2060--2065
  []@textrm If an application-specific com-ple-tion func-tion as-signed to @text
 tt rl_attempted_
 
@@ -216,16 +240,16 @@ tt rl_attempted_
 .@glue 3.65 plus 1.825 minus 1.21666
 .etc.
 
-[49] [50] [51] [52] [53] [54] [55] [56]) Appendix A [57] (./fdl.texi [58]
-[59] [60] [61] [62] [63] [64]) (Concept Index) [65] (./rlman.cps)
-(Function and Variable Index) [66] (./rlman.fns [67] [68] [69]) [70] ) 
+[51] [52] [53] [54] [55] [56] [57] [58] [59]) Appendix A [60] (./fdl.texi
+[61] [62] [63] [64] [65] [66] [67]) (Concept Index) [68] (./rlman.cps)
+(Function and Variable Index) [69] (./rlman.fns [70] [71] [72]) [73] ) 
 Here is how much of TeX's memory you used:
- 1839 strings out of 97980
- 23025 string characters out of 1221004
86081 words of memory out of 1500000
- 2666 multiletter control sequences out of 10000+50000
- 32127 words of font info for 112 fonts, out of 1200000 for 2000
+ 1842 strings out of 497974
+ 23047 string characters out of 3220834
97078 words of memory out of 3000000
+ 2669 multiletter control sequences out of 15000+200000
+ 32127 words of font info for 112 fonts, out of 3000000 for 9000
  51 hyphenation exceptions out of 8191
- 16i,6n,14p,327b,534s stack positions out of 5000i,500n,6000p,200000b,5000s
+ 16i,6n,14p,332b,534s stack positions out of 5000i,500n,10000p,200000b,50000s
 
-Output written on rlman.dvi (74 pages, 300184 bytes).
+Output written on rlman.dvi (77 pages, 312632 bytes).
index d707328355929de9ef9974a9901383d1dc1d2cad..07141b6e0b683b53c4037e8bae742cff623fd4bc 100644 (file)
@@ -4,23 +4,15 @@ This manual describes the GNU Readline Library
 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--2012 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
 @endinput 
index 82cf5c42cf67a8a0de655a0f0ac55d1cb1348de5..c641c5881d968505dd3628d85cd961dfad20f4f7 100644 (file)
 @numsubsecentry{Readline Typedefs}{2.2.1}{Readline Typedefs}{24}
 @numsubsecentry{Writing a New Function}{2.2.2}{Function Writing}{24}
 @numsecentry{Readline Variables}{2.3}{Readline Variables}{25}
-@numsecentry{Readline Convenience Functions}{2.4}{Readline Convenience Functions}{29}
-@numsubsecentry{Naming a Function}{2.4.1}{Function Naming}{29}
+@numsecentry{Readline Convenience Functions}{2.4}{Readline Convenience Functions}{30}
+@numsubsecentry{Naming a Function}{2.4.1}{Function Naming}{30}
 @numsubsecentry{Selecting a Keymap}{2.4.2}{Keymaps}{30}
 @numsubsecentry{Binding Keys}{2.4.3}{Binding Keys}{31}
-@numsubsecentry{Associating Function Names and Bindings}{2.4.4}{Associating Function Names and Bindings}{32}
+@numsubsecentry{Associating Function Names and Bindings}{2.4.4}{Associating Function Names and Bindings}{33}
 @numsubsecentry{Allowing Undoing}{2.4.5}{Allowing Undoing}{33}
 @numsubsecentry{Redisplay}{2.4.6}{Redisplay}{34}
-@numsubsecentry{Modifying Text}{2.4.7}{Modifying Text}{35}
+@numsubsecentry{Modifying Text}{2.4.7}{Modifying Text}{36}
 @numsubsecentry{Character Input}{2.4.8}{Character Input}{36}
-@numsubsecentry{Terminal Management}{2.4.9}{Terminal Management}{36}
+@numsubsecentry{Terminal Management}{2.4.9}{Terminal Management}{37}
 @numsubsecentry{Utility Functions}{2.4.10}{Utility Functions}{37}
-@numsubsecentry{Miscellaneous Functions}{2.4.11}{Miscellaneous Functions}{38}
+@numsubsecentry{Miscellaneous Functions}{2.4.11}{Miscellaneous Functions}{39}
 @numsubsecentry{Alternate Interface}{2.4.12}{Alternate Interface}{39}
 @numsubsecentry{A Readline Example}{2.4.13}{A Readline Example}{40}
-@numsecentry{Readline Signal Handling}{2.5}{Readline Signal Handling}{41}
-@numsecentry{Custom Completers}{2.6}{Custom Completers}{43}
-@numsubsecentry{How Completing Works}{2.6.1}{How Completing Works}{43}
-@numsubsecentry{Completion Functions}{2.6.2}{Completion Functions}{44}
-@numsubsecentry{Completion Variables}{2.6.3}{Completion Variables}{45}
-@numsubsecentry{A Short Completion Example}{2.6.4}{A Short Completion Example}{49}
-@appentry{GNU Free Documentation License}{A}{GNU Free Documentation License}{58}
-@unnchapentry{Concept Index}{10001}{Concept Index}{66}
-@unnchapentry{Function and Variable Index}{10002}{Function and Variable Index}{67}
+@numsubsecentry{Alternate Interface Example}{2.4.14}{Alternate Interface Example}{41}
+@numsecentry{Readline Signal Handling}{2.5}{Readline Signal Handling}{43}
+@numsecentry{Custom Completers}{2.6}{Custom Completers}{45}
+@numsubsecentry{How Completing Works}{2.6.1}{How Completing Works}{45}
+@numsubsecentry{Completion Functions}{2.6.2}{Completion Functions}{46}
+@numsubsecentry{Completion Variables}{2.6.3}{Completion Variables}{47}
+@numsubsecentry{A Short Completion Example}{2.6.4}{A Short Completion Example}{52}
+@appentry{GNU Free Documentation License}{A}{GNU Free Documentation License}{61}
+@unnchapentry{Concept Index}{10001}{Concept Index}{69}
+@unnchapentry{Function and Variable Index}{10002}{Function and Variable Index}{70}
index eb540cd4bc46feb9733b5e1fac6e8dcca73b6278..8b3e1735395676f9ad25fea0395a246b14b13f5d 100644 (file)
@@ -612,6 +612,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
@@ -1293,8 +1294,9 @@ 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)
@@ -1302,14 +1304,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
 
@@ -1389,6 +1392,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 <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;
+@}
+@end example
+
 @node Readline Signal Handling
 @section Readline Signal Handling
 
diff --git a/lib/readline/doc/rltech.texi~ b/lib/readline/doc/rltech.texi~
new file mode 100644 (file)
index 0000000..c07c25c
--- /dev/null
@@ -0,0 +1,2570 @@
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename rltech.info
+@comment %**end of header (This is for running Texinfo on a region.)
+
+@ifinfo
+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--2012 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 preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the Foundation.
+@end ifinfo
+
+@node Programming with GNU Readline
+@chapter Programming with GNU Readline
+
+This chapter describes the interface between the @sc{gnu} Readline Library and
+other programs.  If you are a programmer, and you wish to include the
+features found in @sc{gnu} Readline
+such as completion, line editing, and interactive history manipulation
+in your own programs, this section is for you.
+
+@menu
+* Basic Behavior::     Using the default behavior of Readline.
+* Custom Functions::   Adding your own functions to Readline.
+* Readline Variables::                 Variables accessible to custom
+                                       functions.
+* Readline Convenience Functions::     Functions which Readline supplies to
+                                       aid in writing your own custom
+                                       functions.
+* Readline Signal Handling::   How Readline behaves when it receives signals.
+* Custom Completers::  Supplanting or supplementing Readline's
+                       completion functions.
+@end menu
+
+@node Basic Behavior
+@section Basic Behavior
+
+Many programs provide a command line interface, such as @code{mail},
+@code{ftp}, and @code{sh}.  For such programs, the default behaviour of
+Readline is sufficient.  This section describes how to use Readline in
+the simplest way possible, perhaps to replace calls in your code to
+@code{gets()} or @code{fgets()}.
+
+@findex readline
+@cindex readline, function
+
+The function @code{readline()} prints a prompt @var{prompt}
+and then reads and returns a single line of text from the user.
+If @var{prompt} is @code{NULL} or the empty string, no prompt is displayed.
+The line @code{readline} returns is allocated with @code{malloc()};
+the caller should @code{free()} the line when it has finished with it.
+The declaration for @code{readline} in ANSI C is
+
+@example
+@code{char *readline (const char *@var{prompt});}
+@end example
+
+@noindent
+So, one might say
+@example
+@code{char *line = readline ("Enter a line: ");}
+@end example
+@noindent
+in order to read a line of text from the user.
+The line returned has the final newline removed, so only the
+text remains.
+
+If @code{readline} encounters an @code{EOF} while reading the line, and the
+line is empty at that point, then @code{(char *)NULL} is returned.
+Otherwise, the line is ended just as if a newline had been typed.
+
+If you want the user to be able to get at the line later, (with
+@key{C-p} for example), you must call @code{add_history()} to save the
+line away in a @dfn{history} list of such lines.
+
+@example
+@code{add_history (line)};
+@end example
+
+@noindent
+For full details on the GNU History Library, see the associated manual.
+
+It is preferable to avoid saving empty lines on the history list, since
+users rarely have a burning need to reuse a blank line.  Here is
+a function which usefully replaces the standard @code{gets()} library
+function, and has the advantage of no static buffer to overflow:
+
+@example
+/* A static variable for holding the line. */
+static char *line_read = (char *)NULL;
+
+/* Read a string, and return a pointer to it.
+   Returns NULL on EOF. */
+char *
+rl_gets ()
+@{
+  /* If the buffer has already been allocated,
+     return the memory to the free pool. */
+  if (line_read)
+    @{
+      free (line_read);
+      line_read = (char *)NULL;
+    @}
+
+  /* Get a line from the user. */
+  line_read = readline ("");
+
+  /* If the line has any text in it,
+     save it on the history. */
+  if (line_read && *line_read)
+    add_history (line_read);
+
+  return (line_read);
+@}
+@end example
+
+This function gives the user the default behaviour of @key{TAB}
+completion: completion on file names.  If you do not want Readline to
+complete on filenames, you can change the binding of the @key{TAB} key
+with @code{rl_bind_key()}.
+
+@example
+@code{int rl_bind_key (int @var{key}, rl_command_func_t *@var{function});}
+@end example
+
+@code{rl_bind_key()} takes two arguments: @var{key} is the character that
+you want to bind, and @var{function} is the address of the function to
+call when @var{key} is pressed.  Binding @key{TAB} to @code{rl_insert()}
+makes @key{TAB} insert itself.
+@code{rl_bind_key()} returns non-zero if @var{key} is not a valid
+ASCII character code (between 0 and 255).
+
+Thus, to disable the default @key{TAB} behavior, the following suffices:
+@example
+@code{rl_bind_key ('\t', rl_insert);}
+@end example
+
+This code should be executed once at the start of your program; you
+might write a function called @code{initialize_readline()} which
+performs this and other desired initializations, such as installing
+custom completers (@pxref{Custom Completers}).
+
+@node Custom Functions
+@section Custom Functions
+
+Readline provides many functions for manipulating the text of
+the line, but it isn't possible to anticipate the needs of all
+programs.  This section describes the various functions and variables
+defined within the Readline library which allow a user program to add
+customized functionality to Readline.
+
+Before declaring any functions that customize Readline's behavior, or
+using any functionality Readline provides in other code, an
+application writer should include the file @code{<readline/readline.h>}
+in any file that uses Readline's features.  Since some of the definitions
+in @code{readline.h} use the @code{stdio} library, the file
+@code{<stdio.h>} should be included before @code{readline.h}.
+
+@code{readline.h} defines a C preprocessor variable that should
+be treated as an integer, @code{RL_READLINE_VERSION}, which may
+be used to conditionally compile application code depending on
+the installed Readline version.  The value is a hexadecimal
+encoding of the major and minor version numbers of the library,
+of the form 0x@var{MMmm}.  @var{MM} is the two-digit major
+version number; @var{mm} is the two-digit minor version number. 
+For Readline 4.2, for example, the value of
+@code{RL_READLINE_VERSION} would be @code{0x0402}. 
+
+@menu
+* Readline Typedefs::  C declarations to make code readable.
+* Function Writing::   Variables and calling conventions.
+@end menu
+
+@node Readline Typedefs
+@subsection Readline Typedefs
+
+For readabilty, 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
+code describing pointers to C functions with appropriately prototyped
+arguments and return values.
+
+For instance, say we want to declare a variable @var{func} as a pointer
+to a function which takes two @code{int} arguments and returns an
+@code{int} (this is the type of all of the Readline bindable functions).
+Instead of the classic C declaration
+
+@code{int (*func)();}
+
+@noindent
+or the ANSI-C style declaration
+
+@code{int (*func)(int, int);}
+
+@noindent
+we may write
+
+@code{rl_command_func_t *func;}
+
+The full list of function pointer types available is
+
+@table @code
+@item typedef int rl_command_func_t (int, int);
+
+@item typedef char *rl_compentry_func_t (const char *, int);
+
+@item typedef char **rl_completion_func_t (const char *, int, int);
+
+@item typedef char *rl_quote_func_t (char *, int, char *);
+
+@item typedef char *rl_dequote_func_t (char *, int);
+
+@item typedef int rl_compignore_func_t (char **);
+
+@item typedef void rl_compdisp_func_t (char **, int, int);
+
+@item typedef int rl_hook_func_t (void);
+
+@item typedef int rl_getc_func_t (FILE *);
+
+@item typedef int rl_linebuf_func_t (char *, int);
+
+@item typedef int rl_intfunc_t (int);
+@item #define rl_ivoidfunc_t rl_hook_func_t
+@item typedef int rl_icpfunc_t (char *);
+@item typedef int rl_icppfunc_t (char **);
+
+@item typedef void rl_voidfunc_t (void);
+@item typedef void rl_vintfunc_t (int);
+@item typedef void rl_vcpfunc_t (char *);
+@item typedef void rl_vcppfunc_t (char **);
+
+@end table
+
+@node Function Writing
+@subsection Writing a New Function
+
+In order to write new functions for Readline, you need to know the
+calling conventions for keyboard-invoked functions, and the names of the
+variables that describe the current state of the line read so far.
+
+The calling sequence for a command @code{foo} looks like
+
+@example
+@code{int foo (int count, int key)}
+@end example
+
+@noindent
+where @var{count} is the numeric argument (or 1 if defaulted) and
+@var{key} is the key that invoked this function.
+
+It is completely up to the function as to what should be done with the
+numeric argument.  Some functions use it as a repeat count, some
+as a flag, and others to choose alternate behavior (refreshing the current
+line as opposed to refreshing the screen, for example).  Some choose to
+ignore it.  In general, if a
+function uses the numeric argument as a repeat count, it should be able
+to do something useful with both negative and positive arguments.
+At the very least, it should be aware that it can be passed a
+negative argument.
+
+A command function should return 0 if its action completes successfully,
+and a non-zero value if some error occurs.
+This is the convention obeyed by all of the builtin Readline bindable
+command functions.
+
+@node Readline Variables
+@section Readline Variables
+
+These variables are available to function writers.
+
+@deftypevar {char *} rl_line_buffer
+This is the line gathered so far.  You are welcome to modify the
+contents of the line, but see @ref{Allowing Undoing}.  The
+function @code{rl_extend_line_buffer} is available to increase
+the memory allocated to @code{rl_line_buffer}.
+@end deftypevar
+
+@deftypevar int rl_point
+The offset of the current cursor position in @code{rl_line_buffer}
+(the @emph{point}).
+@end deftypevar
+
+@deftypevar int rl_end
+The number of characters present in @code{rl_line_buffer}.  When
+@code{rl_point} is at the end of the line, @code{rl_point} and
+@code{rl_end} are equal.
+@end deftypevar
+
+@deftypevar int rl_mark
+The @var{mark} (saved position) in the current line.  If set, the mark
+and point define a @emph{region}.
+@end deftypevar
+
+@deftypevar int rl_done
+Setting this to a non-zero value causes Readline to return the current
+line immediately.
+@end deftypevar
+
+@deftypevar int rl_num_chars_to_read
+Setting this to a positive value before calling @code{readline()} causes
+Readline to return after accepting that many characters, rather
+than reading up to a character bound to @code{accept-line}.
+@end deftypevar
+
+@deftypevar int rl_pending_input
+Setting this to a value makes it the next keystroke read.  This is a
+way to stuff a single character into the input stream.
+@end deftypevar
+
+@deftypevar int rl_dispatching
+Set to a non-zero value if a function is being called from a key binding;
+zero otherwise.  Application functions can test this to discover whether
+they were called directly or by Readline's dispatching mechanism.
+@end deftypevar
+
+@deftypevar int rl_erase_empty_line
+Setting this to a non-zero value causes Readline to completely erase
+the current line, including any prompt, any time a newline is typed as
+the only character on an otherwise-empty line.  The cursor is moved to
+the beginning of the newly-blank line.
+@end deftypevar
+
+@deftypevar {char *} rl_prompt
+The prompt Readline uses.  This is set from the argument to
+@code{readline()}, and should not be assigned to directly.
+The @code{rl_set_prompt()} function (@pxref{Redisplay}) may
+be used to modify the prompt string after calling @code{readline()}.
+@end deftypevar
+
+@deftypevar {char *} rl_display_prompt
+The string displayed as the prompt.  This is usually identical to
+@var{rl_prompt}, but may be changed temporarily by functions that
+use the prompt string as a message area, such as incremental search.
+@end deftypevar
+
+@deftypevar int rl_already_prompted
+If an application wishes to display the prompt itself, rather than have
+Readline do it the first time @code{readline()} is called, it should set
+this variable to a non-zero value after displaying the prompt.
+The prompt must also be passed as the argument to @code{readline()} so
+the redisplay functions can update the display properly.
+The calling application is responsible for managing the value; Readline
+never sets it.
+@end deftypevar
+
+@deftypevar {const char *} rl_library_version
+The version number of this revision of the library.
+@end deftypevar
+
+@deftypevar int rl_readline_version
+An integer encoding the current version of the library.  The encoding is
+of the form 0x@var{MMmm}, where @var{MM} is the two-digit major version
+number, and @var{mm} is the two-digit minor version number.
+For example, for Readline-4.2, @code{rl_readline_version} would have the
+value 0x0402.
+@end deftypevar
+
+@deftypevar {int} rl_gnu_readline_p
+Always set to 1, denoting that this is @sc{gnu} readline rather than some
+emulation.
+@end deftypevar
+
+@deftypevar {const char *} rl_terminal_name
+The terminal type, used for initialization.  If not set by the application,
+Readline sets this to the value of the @env{TERM} environment variable
+the first time it is called.
+@end deftypevar
+
+@deftypevar {const char *} rl_readline_name
+This variable is set to a unique name by each application using Readline.
+The value allows conditional parsing of the inputrc file
+(@pxref{Conditional Init Constructs}).
+@end deftypevar
+
+@deftypevar {FILE *} rl_instream
+The stdio stream from which Readline reads input.
+If @code{NULL}, Readline defaults to @var{stdin}.
+@end deftypevar
+
+@deftypevar {FILE *} rl_outstream
+The stdio stream to which Readline performs output.
+If @code{NULL}, Readline defaults to @var{stdout}.
+@end deftypevar
+
+@deftypevar int rl_prefer_env_winsize
+If non-zero, Readline gives values found in the @env{LINES} and
+@env{COLUMNS} environment variables greater precedence than values fetched
+from the kernel when computing the screen dimensions.
+@end deftypevar
+
+@deftypevar {rl_command_func_t *} rl_last_func
+The address of the last command function Readline executed.  May be used to
+test whether or not a function is being executed twice in succession, for
+example.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_startup_hook
+If non-zero, this is the address of a function to call just
+before @code{readline} prints the first prompt.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_pre_input_hook
+If non-zero, this is the address of a function to call after
+the first prompt has been printed and just before @code{readline}
+starts reading input characters.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_event_hook
+If non-zero, this is the address of a function to call periodically
+when Readline is waiting for terminal input.
+By default, this will be called at most ten times a second if there
+is no keyboard input.
+@end deftypevar
+
+@deftypevar {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
+@code{rl_getc}, the default Readline character input function
+(@pxref{Character Input}).
+@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.
+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 functions using Readline's callback interface
+(@pxref{Alternate Interface}), which may not use the traditional
+@code{read(2)} and file descriptor interface.
+@end deftypevar
+
+@deftypevar {rl_voidfunc_t *} rl_redisplay_function
+If non-zero, Readline will call indirectly through this pointer
+to update the display with the current contents of the editing buffer.
+By default, it is set to @code{rl_redisplay}, the default Readline
+redisplay function (@pxref{Redisplay}).
+@end deftypevar
+
+@deftypevar {rl_vintfunc_t *} rl_prep_term_function
+If non-zero, Readline will call indirectly through this pointer
+to initialize the terminal.  The function takes a single argument, an
+@code{int} flag that says whether or not to use eight-bit characters.
+By default, this is set to @code{rl_prep_terminal}
+(@pxref{Terminal Management}).
+@end deftypevar
+
+@deftypevar {rl_voidfunc_t *} rl_deprep_term_function
+If non-zero, Readline will call indirectly through this pointer
+to reset the terminal.  This function should undo the effects of
+@code{rl_prep_term_function}.
+By default, this is set to @code{rl_deprep_terminal}
+(@pxref{Terminal Management}).
+@end deftypevar
+
+@deftypevar {Keymap} rl_executing_keymap
+This variable is set to the keymap (@pxref{Keymaps}) in which the
+currently executing readline function was found.
+@end deftypevar 
+
+@deftypevar {Keymap} rl_binding_keymap
+This variable is set to the keymap (@pxref{Keymaps}) in which the
+last key binding occurred.
+@end deftypevar 
+
+@deftypevar {char *} rl_executing_macro
+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
+@code{RL_UNSETSTATE} macro.  Use the @code{RL_ISSTATE} macro to test
+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.
+@item RL_STATE_INITIALIZING
+Readline is initializing its internal data structures.
+@item RL_STATE_INITIALIZED
+Readline has completed its initialization.
+@item RL_STATE_TERMPREPPED
+Readline has modified the terminal modes to do its own input and redisplay.
+@item RL_STATE_READCMD
+Readline is reading a command from the keyboard.
+@item RL_STATE_METANEXT
+Readline is reading more input after reading the meta-prefix character.
+@item RL_STATE_DISPATCHING
+Readline is dispatching to a command.
+@item RL_STATE_MOREINPUT
+Readline is reading more input while executing an editing command.
+@item RL_STATE_ISEARCH
+Readline is performing an incremental history search.
+@item RL_STATE_NSEARCH
+Readline is performing a non-incremental history search.
+@item RL_STATE_SEARCH
+Readline is searching backward or forward through the history for a string.
+@item RL_STATE_NUMERICARG
+Readline is reading a numeric argument.
+@item RL_STATE_MACROINPUT
+Readline is currently getting its input from a previously-defined keyboard
+macro.
+@item RL_STATE_MACRODEF
+Readline is currently reading characters defining a keyboard macro.
+@item RL_STATE_OVERWRITE
+Readline is in overwrite mode.
+@item RL_STATE_COMPLETING
+Readline is performing word completion.
+@item RL_STATE_SIGHANDLER
+Readline is currently executing the readline signal handler.
+@item RL_STATE_UNDOING
+Readline is performing an undo.
+@item RL_STATE_INPUTPENDING
+Readline has input pending due to a call to @code{rl_execute_next()}.
+@item RL_STATE_TTYCSAVED
+Readline has saved the values of the terminal's special characters.
+@item RL_STATE_CALLBACK
+Readline is currently using the alternate (callback) interface
+(@pxref{Alternate Interface}).
+@item RL_STATE_VIMOTION
+Readline is reading the argument to a vi-mode "motion" command.
+@item RL_STATE_MULTIKEY
+Readline is reading a multiple-keystroke command.
+@item RL_STATE_VICMDONCE
+Readline has entered vi command (movement) mode at least one time during
+the current call to @code{readline()}.
+@item RL_STATE_DONE
+Readline has read a key sequence bound to @code{accept-line}
+and is about to return the line to the caller.
+@end table
+
+@end deftypevar
+
+@deftypevar {int} rl_explicit_arg
+Set to a non-zero value if an explicit numeric argument was specified by
+the user.  Only valid in a bindable command function.
+@end deftypevar
+
+@deftypevar {int} rl_numeric_arg
+Set to the value of any numeric argument explicitly specified by the user
+before executing the current Readline function.  Only valid in a bindable
+command function.
+@end deftypevar
+
+@deftypevar {int} rl_editing_mode
+Set to a value denoting Readline's current editing mode.  A value of
+@var{1} means Readline is currently in emacs mode; @var{0}
+means that vi mode is active.
+@end deftypevar
+
+
+@node Readline Convenience Functions
+@section Readline Convenience Functions
+
+@menu
+* Function Naming::    How to give a function you write a name.
+* Keymaps::            Making keymaps.
+* Binding Keys::       Changing Keymaps.
+* Associating Function Names and Bindings::    Translate function names to
+                                               key sequences.
+* Allowing Undoing::   How to make your functions undoable.
+* Redisplay::          Functions to control line display.
+* Modifying Text::     Functions to modify @code{rl_line_buffer}.
+* Character Input::    Functions to read keyboard input.
+* Terminal Management::        Functions to manage terminal settings.
+* Utility Functions::  Generally useful functions and hooks.
+* 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
+@subsection Naming a Function
+
+The user can dynamically change the bindings of keys while using
+Readline.  This is done by representing the function with a descriptive
+name.  The user is able to type the descriptive name when referring to
+the function.  Thus, in an init file, one might find
+
+@example
+Meta-Rubout:   backward-kill-word
+@end example
+
+This binds the keystroke @key{Meta-Rubout} to the function
+@emph{descriptively} named @code{backward-kill-word}.  You, as the
+programmer, should bind the functions you write to descriptive names as
+well.  Readline provides a function for doing that:
+
+@deftypefun int rl_add_defun (const char *name, rl_command_func_t *function, int key)
+Add @var{name} to the list of named functions.  Make @var{function} be
+the function that gets called.  If @var{key} is not -1, then bind it to
+@var{function} using @code{rl_bind_key()}.
+@end deftypefun
+
+Using this function alone is sufficient for most applications.
+It is the recommended way to add a few functions to the default
+functions that Readline has built in.
+If you need to do something other than adding a function to Readline,
+you may need to use the underlying functions described below.
+
+@node Keymaps
+@subsection Selecting a Keymap
+
+Key bindings take place on a @dfn{keymap}.  The keymap is the
+association between the keys that the user types and the functions that
+get run.  You can make your own keymaps, copy existing keymaps, and tell
+Readline which keymap to use.
+
+@deftypefun Keymap rl_make_bare_keymap (void)
+Returns a new, empty keymap.  The space for the keymap is allocated with
+@code{malloc()}; the caller should free it by calling
+@code{rl_free_keymap()} when done.
+@end deftypefun
+
+@deftypefun Keymap rl_copy_keymap (Keymap map)
+Return a new keymap which is a copy of @var{map}.
+@end deftypefun
+
+@deftypefun Keymap rl_make_keymap (void)
+Return a new keymap with the printing characters bound to rl_insert,
+the lowercase Meta characters bound to run their equivalents, and
+the Meta digits bound to produce numeric arguments.
+@end deftypefun
+
+@deftypefun void rl_discard_keymap (Keymap keymap)
+Free the storage associated with the data in @var{keymap}.
+The caller should free @var{keymap}.
+@end deftypefun
+
+@deftypefun void rl_free_keymap (Keymap keymap)
+Free all storage associated with @var{keymap}.  This calls
+@code{rl_discard_keymap} to free subordindate keymaps and macros.
+@end deftypefun
+
+Readline has several internal keymaps.  These functions allow you to
+change which keymap is active.
+
+@deftypefun Keymap rl_get_keymap (void)
+Returns the currently active keymap.
+@end deftypefun
+
+@deftypefun void rl_set_keymap (Keymap keymap)
+Makes @var{keymap} the currently active keymap.
+@end deftypefun
+
+@deftypefun Keymap rl_get_keymap_by_name (const char *name)
+Return the keymap matching @var{name}.  @var{name} is one which would
+be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
+@end deftypefun
+
+@deftypefun {char *} rl_get_keymap_name (Keymap keymap)
+Return the name matching @var{keymap}.  @var{name} is one which would
+be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
+@end deftypefun
+
+@node Binding Keys
+@subsection Binding Keys
+
+Key sequences are associate with functions through the keymap.
+Readline has several internal keymaps: @code{emacs_standard_keymap},
+@code{emacs_meta_keymap}, @code{emacs_ctlx_keymap},
+@code{vi_movement_keymap}, and @code{vi_insertion_keymap}.
+@code{emacs_standard_keymap} is the default, and the examples in
+this manual assume that.
+
+Since @code{readline()} installs a set of default key bindings the first
+time it is called, there is always the danger that a custom binding
+installed before the first call to @code{readline()} will be overridden.
+An alternate mechanism is to install custom key bindings in an
+initialization function assigned to the @code{rl_startup_hook} variable
+(@pxref{Readline Variables}).
+
+These functions manage key bindings.
+
+@deftypefun int rl_bind_key (int key, rl_command_func_t *function)
+Binds @var{key} to @var{function} in the currently active keymap.
+Returns non-zero in the case of an invalid @var{key}.
+@end deftypefun
+
+@deftypefun int rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
+Bind @var{key} to @var{function} in @var{map}.
+Returns non-zero in the case of an invalid @var{key}.
+@end deftypefun
+
+@deftypefun int rl_bind_key_if_unbound (int key, rl_command_func_t *function)
+Binds @var{key} to @var{function} if it is not already bound in the
+currently active keymap.
+Returns non-zero in the case of an invalid @var{key} or if @var{key} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_bind_key_if_unbound_in_map (int key, rl_command_func_t *function, Keymap map)
+Binds @var{key} to @var{function} if it is not already bound in @var{map}.
+Returns non-zero in the case of an invalid @var{key} or if @var{key} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_unbind_key (int key)
+Bind @var{key} to the null function in the currently active keymap.
+Returns non-zero in case of error.
+@end deftypefun
+
+@deftypefun int rl_unbind_key_in_map (int key, Keymap map)
+Bind @var{key} to the null function in @var{map}.
+Returns non-zero in case of error.
+@end deftypefun
+
+@deftypefun int rl_unbind_function_in_map (rl_command_func_t *function, Keymap map)
+Unbind all keys that execute @var{function} in @var{map}.
+@end deftypefun
+
+@deftypefun int rl_unbind_command_in_map (const char *command, Keymap map)
+Unbind all keys that are bound to @var{command} in @var{map}.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq (const char *keyseq, rl_command_func_t *function)
+Bind the key sequence represented by the string @var{keyseq} to the function
+@var{function}, beginning in the current keymap.
+This makes new keymaps as necessary.
+The return value is non-zero if @var{keyseq} is invalid.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
+Bind the key sequence represented by the string @var{keyseq} to the function
+@var{function}.  This makes new keymaps as necessary.
+Initial bindings are performed in @var{map}.
+The return value is non-zero if @var{keyseq} is invalid.
+@end deftypefun
+
+@deftypefun int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
+Equivalent to @code{rl_bind_keyseq_in_map}.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_if_unbound (const char *keyseq, rl_command_func_t *function)
+Binds @var{keyseq} to @var{function} if it is not already bound in the
+currently active keymap.
+Returns non-zero in the case of an invalid @var{keyseq} or if @var{keyseq} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_if_unbound_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
+Binds @var{keyseq} to @var{function} if it is not already bound in @var{map}.
+Returns non-zero in the case of an invalid @var{keyseq} or if @var{keyseq} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
+Bind the key sequence represented by the string @var{keyseq} to the arbitrary
+pointer @var{data}.  @var{type} says what kind of data is pointed to by
+@var{data}; this can be a function (@code{ISFUNC}), a macro
+(@code{ISMACR}), or a keymap (@code{ISKMAP}).  This makes new keymaps as
+necessary.  The initial keymap in which to do bindings is @var{map}.
+@end deftypefun
+
+@deftypefun int rl_parse_and_bind (char *line)
+Parse @var{line} as if it had been read from the @code{inputrc} file and
+perform any key bindings and variable assignments found
+(@pxref{Readline Init File}).
+@end deftypefun
+
+@deftypefun int rl_read_init_file (const char *filename)
+Read keybindings and variable assignments from @var{filename}
+(@pxref{Readline Init File}).
+@end deftypefun
+
+@node Associating Function Names and Bindings
+@subsection Associating Function Names and Bindings
+
+These functions allow you to find out what keys invoke named functions
+and the functions invoked by a particular key sequence.  You may also
+associate a new function name with an arbitrary function.
+
+@deftypefun {rl_command_func_t *} rl_named_function (const char *name)
+Return the function with name @var{name}.
+@end deftypefun
+
+@deftypefun {rl_command_func_t *} rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
+Return the function invoked by @var{keyseq} in keymap @var{map}.
+If @var{map} is @code{NULL}, the current keymap is used.  If @var{type} is
+not @code{NULL}, the type of the object is returned in the @code{int} variable
+it points to (one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
+@end deftypefun
+
+@deftypefun {char **} rl_invoking_keyseqs (rl_command_func_t *function)
+Return an array of strings representing the key sequences used to
+invoke @var{function} in the current keymap.
+@end deftypefun
+
+@deftypefun {char **} rl_invoking_keyseqs_in_map (rl_command_func_t *function, Keymap map)
+Return an array of strings representing the key sequences used to
+invoke @var{function} in the keymap @var{map}.
+@end deftypefun
+
+@deftypefun void rl_function_dumper (int readable)
+Print the readline function names and the key sequences currently
+bound to them to @code{rl_outstream}.  If @var{readable} is non-zero,
+the list is formatted in such a way that it can be made part of an
+@code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun void rl_list_funmap_names (void)
+Print the names of all bindable Readline functions to @code{rl_outstream}.
+@end deftypefun
+
+@deftypefun {const char **} rl_funmap_names (void)
+Return 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, but not the pointers, using @code{free} or
+@code{rl_free} when you are done.
+@end deftypefun
+
+@deftypefun int rl_add_funmap_entry (const char *name, rl_command_func_t *function)
+Add @var{name} to the list of bindable Readline command names, and make
+@var{function} the function to be called when @var{name} is invoked.
+@end deftypefun
+
+@node Allowing Undoing
+@subsection Allowing Undoing
+
+Supporting the undo command is a painless thing, and makes your
+functions much more useful.  It is certainly easy to try
+something if you know you can undo it.
+
+If your function simply inserts text once, or deletes text once, and
+uses @code{rl_insert_text()} or @code{rl_delete_text()} to do it, then
+undoing is already done for you automatically.
+
+If you do multiple insertions or multiple deletions, or any combination
+of these operations, you should group them together into one operation.
+This is done with @code{rl_begin_undo_group()} and
+@code{rl_end_undo_group()}.
+
+The types of events that can be undone are:
+
+@smallexample
+enum undo_code @{ UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END @}; 
+@end smallexample
+
+Notice that @code{UNDO_DELETE} means to insert some text, and
+@code{UNDO_INSERT} means to delete some text.  That is, the undo code
+tells what to undo, not how to undo it.  @code{UNDO_BEGIN} and
+@code{UNDO_END} are tags added by @code{rl_begin_undo_group()} and
+@code{rl_end_undo_group()}.
+
+@deftypefun int rl_begin_undo_group (void)
+Begins saving undo information in a group construct.  The undo
+information usually comes from calls to @code{rl_insert_text()} and
+@code{rl_delete_text()}, but could be the result of calls to
+@code{rl_add_undo()}.
+@end deftypefun
+
+@deftypefun int rl_end_undo_group (void)
+Closes the current undo group started with @code{rl_begin_undo_group
+()}.  There should be one call to @code{rl_end_undo_group()}
+for each call to @code{rl_begin_undo_group()}.
+@end deftypefun
+
+@deftypefun void rl_add_undo (enum undo_code what, int start, int end, char *text)
+Remember how to undo an event (according to @var{what}).  The affected
+text runs from @var{start} to @var{end}, and encompasses @var{text}.
+@end deftypefun
+
+@deftypefun void rl_free_undo_list (void)
+Free the existing undo list.
+@end deftypefun
+
+@deftypefun int rl_do_undo (void)
+Undo the first thing on the undo list.  Returns @code{0} if there was
+nothing to undo, non-zero if something was undone.
+@end deftypefun
+
+Finally, if you neither insert nor delete text, but directly modify the
+existing text (e.g., change its case), call @code{rl_modifying()}
+once, just before you modify the text.  You must supply the indices of
+the text range that you are going to modify.
+
+@deftypefun int rl_modifying (int start, int end)
+Tell Readline to save the text between @var{start} and @var{end} as a
+single undo unit.  It is assumed that you will subsequently modify
+that text.
+@end deftypefun
+
+@node Redisplay
+@subsection Redisplay
+
+@deftypefun void rl_redisplay (void)
+Change what's displayed on the screen to reflect the current contents
+of @code{rl_line_buffer}.
+@end deftypefun
+
+@deftypefun int rl_forced_update_display (void)
+Force the line to be updated and redisplayed, whether or not
+Readline thinks the screen display is correct.
+@end deftypefun
+
+@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.
+@end deftypefun
+
+@deftypefun int rl_on_new_line_with_prompt (void)
+Tell the update functions that we have moved onto a new line, with
+@var{rl_prompt} already displayed.
+This could be used by applications that want to output the prompt string
+themselves, but still need Readline to know the prompt string length for
+redisplay.
+It should be used after setting @var{rl_already_prompted}.
+@end deftypefun
+
+@deftypefun int rl_reset_line_state (void)
+Reset the display state to a clean state and redisplay the current line
+starting on a new line.
+@end deftypefun
+
+@deftypefun int rl_crlf (void)
+Move the cursor to the start of the next screen line.
+@end deftypefun
+
+@deftypefun int rl_show_char (int c)
+Display character @var{c} on @code{rl_outstream}.
+If Readline has not been set to display meta characters directly, this
+will convert meta characters to a meta-prefixed key sequence.
+This is intended for use by applications which wish to do their own
+redisplay.
+@end deftypefun
+
+@deftypefun int rl_message (const char *, @dots{})
+The arguments are a format string as would be supplied to @code{printf},
+possibly containing conversion specifications such as @samp{%d}, and
+any additional arguments necessary to satisfy the conversion specifications.
+The resulting string is displayed in the @dfn{echo area}.  The echo area
+is also used to display numeric arguments and search strings.
+You should call @code{rl_save_prompt} to save the prompt information
+before calling this function.
+@end deftypefun
+
+@deftypefun int rl_clear_message (void)
+Clear the message in the echo area.  If the prompt was saved with a call to
+@code{rl_save_prompt} before the last call to @code{rl_message},
+call @code{rl_restore_prompt} before calling this function.
+@end deftypefun
+
+@deftypefun void rl_save_prompt (void)
+Save the local Readline prompt display state in preparation for
+displaying a new message in the message area with @code{rl_message()}.
+@end deftypefun
+
+@deftypefun void rl_restore_prompt (void)
+Restore the local Readline prompt display state saved by the most
+recent call to @code{rl_save_prompt}.
+if @code{rl_save_prompt} was called to save the prompt before a call
+to @code{rl_message}, this function should be called before the
+corresponding call to @code{rl_clear_message}.
+@end deftypefun
+
+@deftypefun int rl_expand_prompt (char *prompt)
+Expand any special character sequences in @var{prompt} and set up the
+local Readline prompt redisplay variables.
+This function is called by @code{readline()}.  It may also be called to
+expand the primary prompt if the @code{rl_on_new_line_with_prompt()}
+function or @code{rl_already_prompted} variable is used.
+It returns the number of visible characters on the last line of the
+(possibly multi-line) prompt.
+Applications may indicate that the prompt contains characters that take
+up no physical screen space when displayed by bracketing a sequence of
+such characters with the special markers @code{RL_PROMPT_START_IGNORE}
+and @code{RL_PROMPT_END_IGNORE} (declared in @file{readline.h}.  This may
+be used to embed terminal-specific escape sequences in prompts.
+@end deftypefun
+
+@deftypefun int rl_set_prompt (const char *prompt)
+Make Readline use @var{prompt} for subsequent redisplay.  This calls
+@code{rl_expand_prompt()} to expand the prompt and sets @code{rl_prompt}
+to the result.
+@end deftypefun
+
+@node Modifying Text
+@subsection Modifying Text
+
+@deftypefun int rl_insert_text (const char *text)
+Insert @var{text} into the line at the current cursor position.
+Returns the number of characters inserted.
+@end deftypefun
+
+@deftypefun int rl_delete_text (int start, int end)
+Delete the text between @var{start} and @var{end} in the current line.
+Returns the number of characters deleted.
+@end deftypefun
+
+@deftypefun {char *} rl_copy_text (int start, int end)
+Return a copy of the text between @var{start} and @var{end} in
+the current line.
+@end deftypefun
+
+@deftypefun int rl_kill_text (int start, int end)
+Copy the text between @var{start} and @var{end} in the current line
+to the kill ring, appending or prepending to the last kill if the
+last command was a kill command.  The text is deleted.
+If @var{start} is less than @var{end},
+the text is appended, otherwise prepended.  If the last command was
+not a kill, a new kill ring slot is used.
+@end deftypefun
+
+@deftypefun int rl_push_macro_input (char *macro)
+Cause @var{macro} to be inserted into the line, as if it had been invoked
+by a key bound to a macro.  Not especially useful; use
+@code{rl_insert_text()} instead.
+@end deftypefun
+
+@node Character Input
+@subsection Character Input
+
+@deftypefun int rl_read_key (void)
+Return the next character available from Readline's current input stream.
+This handles input inserted into
+the input stream via @var{rl_pending_input} (@pxref{Readline Variables})
+and @code{rl_stuff_char()}, macros, and characters read from the keyboard.
+While waiting for input, this function will call any function assigned to
+the @code{rl_event_hook} variable.
+@end deftypefun
+
+@deftypefun int rl_getc (FILE *stream)
+Return the next character available from @var{stream}, which is assumed to
+be the keyboard.
+@end deftypefun
+
+@deftypefun int rl_stuff_char (int c)
+Insert @var{c} into the Readline input stream.  It will be "read"
+before Readline attempts to read characters from the terminal with
+@code{rl_read_key()}.  Up to 512 characters may be pushed back.
+@code{rl_stuff_char} returns 1 if the character was successfully inserted;
+0 otherwise.
+@end deftypefun
+
+@deftypefun int rl_execute_next (int c)
+Make @var{c} be the next command to be executed when @code{rl_read_key()}
+is called.  This sets @var{rl_pending_input}.
+@end deftypefun
+
+@deftypefun int rl_clear_pending_input (void)
+Unset @var{rl_pending_input}, effectively negating the effect of any
+previous call to @code{rl_execute_next()}.  This works only if the
+pending input has not already been read with @code{rl_read_key()}.
+@end deftypefun
+
+@deftypefun int rl_set_keyboard_input_timeout (int u)
+While waiting for keyboard input in @code{rl_read_key()}, Readline will
+wait for @var{u} microseconds for input before calling any function
+assigned to @code{rl_event_hook}.  @var{u} must be greater than or equal
+to zero (a zero-length timeout is equivalent to a poll).
+The default waiting period is one-tenth of a second.
+Returns the old timeout value.
+@end deftypefun
+
+@node Terminal Management
+@subsection Terminal Management
+
+@deftypefun void rl_prep_terminal (int meta_flag)
+Modify the terminal settings for Readline's use, so @code{readline()}
+can read a single character at a time from the keyboard.
+The @var{meta_flag} argument should be non-zero if Readline should
+read eight-bit input.
+@end deftypefun
+
+@deftypefun void rl_deprep_terminal (void)
+Undo the effects of @code{rl_prep_terminal()}, leaving the terminal in
+the state in which it was before the most recent call to
+@code{rl_prep_terminal()}.
+@end deftypefun
+
+@deftypefun void rl_tty_set_default_bindings (Keymap kmap)
+Read the operating system's terminal editing characters (as would be
+displayed by @code{stty}) to their Readline equivalents.
+The bindings are performed in @var{kmap}.
+@end deftypefun
+
+@deftypefun void rl_tty_unset_default_bindings (Keymap kmap)
+Reset the bindings manipulated by @code{rl_tty_set_default_bindings} so
+that the terminal editing characters are bound to @code{rl_insert}.
+The bindings are performed in @var{kmap}.
+@end deftypefun
+
+@deftypefun int rl_reset_terminal (const char *terminal_name)
+Reinitialize Readline's idea of the terminal settings using
+@var{terminal_name} as the terminal type (e.g., @code{vt100}).
+If @var{terminal_name} is @code{NULL}, the value of the @code{TERM}
+environment variable is used.
+@end deftypefun
+
+@node Utility Functions
+@subsection Utility Functions
+
+@deftypefun int rl_save_state (struct readline_state *sp)
+Save a snapshot of Readline's internal state to @var{sp}.
+The contents of the @var{readline_state} structure are documented
+in @file{readline.h}.
+The caller is responsible for allocating the structure.
+@end deftypefun
+
+@deftypefun int rl_restore_state (struct readline_state *sp)
+Restore Readline's internal state to that stored in @var{sp}, which must
+have been saved by a call to @code{rl_save_state}.
+The contents of the @var{readline_state} structure are documented
+in @file{readline.h}.
+The caller is responsible for freeing the structure.
+@end deftypefun
+
+@deftypefun void rl_free (void *mem)
+Deallocate the memory pointed to by @var{mem}.  @var{mem} must have been
+allocated by @code{malloc}.
+@end deftypefun
+
+@deftypefun void rl_replace_line (const char *text, int clear_undo)
+Replace the contents of @code{rl_line_buffer} with @var{text}.
+The point and mark are preserved, if possible.
+If @var{clear_undo} is non-zero, the undo list associated with the
+current line is cleared.
+@end deftypefun
+
+@deftypefun void rl_extend_line_buffer (int len)
+Ensure that @code{rl_line_buffer} has enough space to hold @var{len}
+characters, possibly reallocating it if necessary.
+@end deftypefun
+
+@deftypefun int rl_initialize (void)
+Initialize or re-initialize Readline's internal state.
+It's not strictly necessary to call this; @code{readline()} calls it before
+reading any input.
+@end deftypefun
+
+@deftypefun int rl_ding (void)
+Ring the terminal bell, obeying the setting of @code{bell-style}.
+@end deftypefun
+
+@deftypefun int rl_alphabetic (int c)
+Return 1 if @var{c} is an alphabetic character.
+@end deftypefun
+
+@deftypefun void rl_display_match_list (char **matches, int len, int max)
+A convenience function for displaying a list of strings in
+columnar format on Readline's output stream.  @code{matches} is the list
+of strings, in argv format, such as a list of completion matches.
+@code{len} is the number of strings in @code{matches}, and @code{max}
+is the length of the longest string in @code{matches}.  This function uses
+the setting of @code{print-completions-horizontally} to select how the
+matches are displayed (@pxref{Readline Init File Syntax}).
+When displaying completions, this function sets the number of columns used
+for display to the value of @code{completion-display-width}, the value of
+the environment variable @env{COLUMNS}, or the screen width, in that order.
+@end deftypefun
+
+The following are implemented as macros, defined in @code{chardefs.h}.
+Applications should refrain from using them.
+
+@deftypefun int _rl_uppercase_p (int c)
+Return 1 if @var{c} is an uppercase alphabetic character.
+@end deftypefun
+
+@deftypefun int _rl_lowercase_p (int c)
+Return 1 if @var{c} is a lowercase alphabetic character.
+@end deftypefun
+
+@deftypefun int _rl_digit_p (int c)
+Return 1 if @var{c} is a numeric character.
+@end deftypefun
+
+@deftypefun int _rl_to_upper (int c)
+If @var{c} is a lowercase alphabetic character, return the corresponding
+uppercase character.
+@end deftypefun
+
+@deftypefun int _rl_to_lower (int c)
+If @var{c} is an uppercase alphabetic character, return the corresponding
+lowercase character.
+@end deftypefun
+
+@deftypefun int _rl_digit_value (int c)
+If @var{c} is a number, return the value it represents.
+@end deftypefun
+
+@node Miscellaneous Functions
+@subsection Miscellaneous Functions
+
+@deftypefun int rl_macro_bind (const char *keyseq, const char *macro, Keymap map)
+Bind the key sequence @var{keyseq} to invoke the macro @var{macro}.
+The binding is performed in @var{map}.  When @var{keyseq} is invoked, the
+@var{macro} will be inserted into the line.  This function is deprecated;
+use @code{rl_generic_bind()} instead.
+@end deftypefun
+
+@deftypefun void rl_macro_dumper (int readable)
+Print the key sequences bound to macros and their values, using
+the current keymap, to @code{rl_outstream}.
+If @var{readable} is non-zero, the list is formatted in such a way
+that it can be made part of an @code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun int rl_variable_bind (const char *variable, const char *value)
+Make the Readline variable @var{variable} have @var{value}.
+This behaves as if the readline command
+@samp{set @var{variable} @var{value}} had been executed in an @code{inputrc}
+file (@pxref{Readline Init File Syntax}).
+@end deftypefun
+
+@deftypefun {char *} rl_variable_value (const char *variable)
+Return a string representing the value of the Readline variable @var{variable}.
+For boolean variables, this string is either @samp{on} or @samp{off}.
+@end deftypefun
+
+@deftypefun void rl_variable_dumper (int readable)
+Print the readline variable names and their current values
+to @code{rl_outstream}.
+If @var{readable} is non-zero, the list is formatted in such a way
+that it can be made part of an @code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun int rl_set_paren_blink_timeout (int u)
+Set the time interval (in microseconds) that Readline waits when showing
+a balancing character when @code{blink-matching-paren} has been enabled.
+@end deftypefun
+
+@deftypefun {char *} rl_get_termcap (const char *cap)
+Retrieve the string value of the termcap capability @var{cap}.
+Readline fetches the termcap entry for the current terminal name and
+uses those capabilities to move around the screen line and perform other
+terminal-specific operations, like erasing a line.  Readline does not
+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
+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 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)
+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 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{NULL} line.
+@end deftypefun
+
+@deftypefun void rl_callback_handler_remove (void)
+Restore the terminal to its initial state and remove the line handler.
+This may be called from within a callback as well as independently.
+If the @var{lhandler} installed by @code{rl_callback_handler_install}
+does not exit the program, either this function or the function referred
+to by the value of @code{rl_deprep_term_function} should be called before
+the program exits to reset the terminal settings.
+@end deftypefun
+
+@node A Readline Example
+@subsection A Readline Example
+
+Here is a function which changes lowercase characters to their uppercase
+equivalents, and uppercase characters to lowercase.  If
+this function was bound to @samp{M-c}, then typing @samp{M-c} would
+change the case of the character under point.  Typing @samp{M-1 0 M-c}
+would change the case of the following 10 characters, leaving the cursor on
+the last character changed.
+
+@example
+/* Invert the case of the COUNT following characters. */
+int
+invert_case_line (count, key)
+     int count, key;
+@{
+  register int start, end, i;
+
+  start = rl_point;
+
+  if (rl_point >= rl_end)
+    return (0);
+
+  if (count < 0)
+    @{
+      direction = -1;
+      count = -count;
+    @}
+  else
+    direction = 1;
+      
+  /* Find the end of the range to modify. */
+  end = start + (count * direction);
+
+  /* Force it to be within range. */
+  if (end > rl_end)
+    end = rl_end;
+  else if (end < 0)
+    end = 0;
+
+  if (start == end)
+    return (0);
+
+  if (start > end)
+    @{
+      int temp = start;
+      start = end;
+      end = temp;
+    @}
+
+  /* Tell readline that we are modifying the line,
+     so it will save the undo information. */
+  rl_modifying (start, end);
+
+  for (i = start; i != end; i++)
+    @{
+      if (_rl_uppercase_p (rl_line_buffer[i]))
+        rl_line_buffer[i] = _rl_to_lower (rl_line_buffer[i]);
+      else if (_rl_lowercase_p (rl_line_buffer[i]))
+        rl_line_buffer[i] = _rl_to_upper (rl_line_buffer[i]);
+    @}
+  /* Move point to on top of the last character changed. */
+  rl_point = (direction == 1) ? end - 1 : start;
+  return (0);
+@}
+@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 <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");
+          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
+
+Signals are asynchronous events sent to a process by the Unix kernel,
+sometimes on behalf of another process.  They are intended to indicate
+exceptional events, like a user pressing the interrupt key on his terminal,
+or a network connection being broken.  There is a class of signals that can
+be sent to the process currently reading input from the keyboard.  Since
+Readline changes the terminal attributes when it is called, it needs to
+perform special processing when such a signal is 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 (@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
+@code{readline()} was called, reset the signal handling to what it was
+before @code{readline()} was called, and resend the signal to the calling
+application.
+If and when the calling application's signal handler returns, Readline
+will reinitialize the terminal and continue to accept input.
+When a @code{SIGINT} is received, the Readline signal handler performs
+some additional work, which will cause any partially-entered line to be
+aborted (see the description of @code{rl_free_line_state()} below).
+
+There is an additional Readline signal handler, for @code{SIGWINCH}, which
+the kernel sends to a process whenever the terminal's size changes (for
+example, if a user resizes an @code{xterm}).  The Readline @code{SIGWINCH}
+handler updates Readline's internal screen size information, and then calls
+any @code{SIGWINCH} signal handler the calling application has installed. 
+Readline calls the application's @code{SIGWINCH} signal handler without
+resetting the terminal to its original state.  If the application's signal
+handler does more than update its idea of the terminal size and return (for
+example, a @code{longjmp} back to a main processing loop), it @emph{must}
+call @code{rl_cleanup_after_signal()} (described below), to restore the
+terminal state. 
+
+Readline provides two variables that allow application writers to
+control whether or not it will catch certain signals and act on them
+when they are received.  It is important that applications change the
+values of these variables only when calling @code{readline()}, not in
+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{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}.
+
+The default value of @code{rl_catch_sigwinch} 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), 
+Readline provides convenience functions to do the necessary terminal
+and internal state cleanup upon receipt of a signal.
+
+@deftypefun void rl_cleanup_after_signal (void)
+This function will reset the state of the terminal to what it was before
+@code{readline()} was called, and remove the Readline signal handlers for
+all signals, depending on the values of @code{rl_catch_signals} and
+@code{rl_catch_sigwinch}.
+@end deftypefun
+
+@deftypefun void rl_free_line_state (void)
+This will free any partial state associated with the current input line
+(undo information, any partial history entry, any partially-entered
+keyboard macro, and any partially-entered numeric argument).  This
+should be called before @code{rl_cleanup_after_signal()}.  The
+Readline signal handler for @code{SIGINT} calls this to abort the
+current input line.
+@end deftypefun
+
+@deftypefun void rl_reset_after_signal (void)
+This will reinitialize the terminal and reinstall any Readline signal
+handlers, depending on the values of @code{rl_catch_signals} and
+@code{rl_catch_sigwinch}.
+@end deftypefun
+
+If an application does not wish Readline to catch @code{SIGWINCH}, it may
+call @code{rl_resize_terminal()} or @code{rl_set_screen_size()} to force
+Readline to update its idea of the terminal size when a @code{SIGWINCH}
+is received.
+
+@deftypefun void rl_echo_signal_char (int sig)
+If an application wishes to install its own signal handlers, but still
+have readline display characters that generate signals, calling this
+function with @var{sig} set to @code{SIGINT}, @code{SIGQUIT}, or
+@code{SIGTSTP} will display the character generating that signal.
+@end deftypefun
+
+@deftypefun void rl_resize_terminal (void)
+Update Readline's internal screen size by reading values from the kernel.
+@end deftypefun
+
+@deftypefun void rl_set_screen_size (int rows, int cols)
+Set Readline's idea of the terminal size to @var{rows} rows and
+@var{cols} columns.  If either @var{rows} or @var{columns} is less than
+or equal to 0, Readline's idea of that terminal dimension is unchanged.
+@end deftypefun
+
+If an application does not want to install a @code{SIGWINCH} handler, but
+is still interested in the screen dimensions, Readline's idea of the screen
+size may be queried.
+
+@deftypefun void rl_get_screen_size (int *rows, int *cols)
+Return Readline's idea of the terminal's size in the
+variables pointed to by the arguments.
+@end deftypefun
+
+@deftypefun void rl_reset_screen_size (void)
+Cause Readline to reobtain the screen size and recalculate its dimensions.
+@end deftypefun
+
+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{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
+
+@deftypefun int rl_clear_signals (void)
+Remove all of the Readline signal handlers installed by
+@code{rl_set_signals()}.
+@end deftypefun
+
+@node Custom Completers
+@section Custom Completers
+@cindex application-specific completion functions
+
+Typically, a program that reads commands from the user has a way of
+disambiguating commands and data.  If your program is one of these, then
+it can provide completion for commands, data, or both.
+The following sections describe how your program and Readline
+cooperate to provide this service.
+
+@menu
+* How Completing Works::       The logic used to do completion.
+* Completion Functions::       Functions provided by Readline.
+* Completion Variables::       Variables which control completion.
+* A Short Completion Example:: An example of writing completer subroutines.
+@end menu
+
+@node How Completing Works
+@subsection How Completing Works
+
+In order to complete some text, the full list of possible completions
+must be available.  That is, it is not possible to accurately
+expand a partial word without knowing all of the possible words
+which make sense in that context.  The Readline library provides
+the user interface to completion, and two of the most common
+completion functions:  filename and username.  For completing other types
+of text, you must write your own completion function.  This section
+describes exactly what such functions must do, and provides an example.
+
+There are three major functions used to perform completion:
+
+@enumerate
+@item
+The user-interface function @code{rl_complete()}.  This function is
+called with the same arguments as other bindable Readline functions:
+@var{count} and @var{invoking_key}.
+It isolates the word to be completed and calls
+@code{rl_completion_matches()} to generate a list of possible completions.
+It then either lists the possible completions, inserts the possible
+completions, or actually performs the
+completion, depending on which behavior is desired.
+
+@item
+The internal function @code{rl_completion_matches()} uses an
+application-supplied @dfn{generator} function to generate the list of
+possible matches, and then returns the array of these matches.
+The caller should place the address of its generator function in
+@code{rl_completion_entry_function}.
+
+@item
+The generator function is called repeatedly from
+@code{rl_completion_matches()}, returning a string each time.  The
+arguments to the generator function are @var{text} and @var{state}.
+@var{text} is the partial word to be completed.  @var{state} is zero the
+first time the function is called, allowing the generator to perform
+any necessary initialization, and a positive non-zero integer for
+each subsequent call.  The generator function returns
+@code{(char *)NULL} to inform @code{rl_completion_matches()} that there are
+no more possibilities left.  Usually the generator function computes the
+list of possible completions when @var{state} is zero, and returns them
+one at a time on subsequent calls.  Each string the generator function
+returns as a match must be allocated with @code{malloc()}; Readline
+frees the strings when it has finished with them.
+Such a generator function is referred to as an
+@dfn{application-specific completion function}.
+
+@end enumerate
+
+@deftypefun int rl_complete (int ignore, int invoking_key)
+Complete the word at or before point.  You have supplied the function
+that does the initial simple matching selection algorithm (see
+@code{rl_completion_matches()}).  The default is to do filename completion.
+@end deftypefun
+
+@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
+This is a pointer to the generator function for
+@code{rl_completion_matches()}.
+If the value of @code{rl_completion_entry_function} is
+@code{NULL} then the default filename generator
+function, @code{rl_filename_completion_function()}, is used.
+An @dfn{application-specific completion function} is a function whose
+address is assigned to @code{rl_completion_entry_function} and whose
+return values are used to  generate possible completions.
+@end deftypevar
+
+@node Completion Functions
+@subsection Completion Functions
+
+Here is the complete list of callable completion functions present in
+Readline.
+
+@deftypefun int rl_complete_internal (int what_to_do)
+Complete the word at or before point.  @var{what_to_do} says what to do
+with the completion.  A value of @samp{?} means list the possible
+completions.  @samp{TAB} means do standard completion.  @samp{*} means
+insert all of the possible completions.  @samp{!} means to display
+all of the possible completions, if there is more than one, as well as
+performing partial completion.  @samp{@@} is similar to @samp{!}, but
+possible completions are not listed if the possible completions share
+a common prefix.
+@end deftypefun
+
+@deftypefun int rl_complete (int ignore, int invoking_key)
+Complete the word at or before point.  You have supplied the function
+that does the initial simple matching selection algorithm (see
+@code{rl_completion_matches()} and @code{rl_completion_entry_function}).
+The default is to do filename
+completion.  This calls @code{rl_complete_internal()} with an
+argument depending on @var{invoking_key}.
+@end deftypefun
+
+@deftypefun int rl_possible_completions (int count, int invoking_key)
+List the possible completions.  See description of @code{rl_complete
+()}.  This calls @code{rl_complete_internal()} with an argument of
+@samp{?}.
+@end deftypefun
+
+@deftypefun int rl_insert_completions (int count, int invoking_key)
+Insert the list of possible completions into the line, deleting the
+partially-completed word.  See description of @code{rl_complete()}.
+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()}
+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.
+Application-specific completion functions may use this function to present
+the same interface as @code{rl_complete()}.
+@end deftypefun
+
+@deftypefun {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
+@var{text}.  If there are no completions, returns @code{NULL}.
+The first entry in the returned array is the substitution for @var{text}.
+The remaining entries are the possible completions.  The array is
+terminated with a @code{NULL} pointer.
+
+@var{entry_func} is a function of two args, and returns a
+@code{char *}.  The first argument is @var{text}.  The second is a
+state argument; it is zero on the first call, and non-zero on subsequent
+calls.  @var{entry_func} returns a @code{NULL}  pointer to the caller
+when there are no more matches.
+@end deftypefun
+
+@deftypefun {char *} rl_filename_completion_function (const char *text, int state)
+A generator function for filename completion in the general case.
+@var{text} is a partial filename.
+The Bash source is a useful reference for writing application-specific
+completion functions (the Bash completion functions call this and other
+Readline functions).
+@end deftypefun
+
+@deftypefun {char *} rl_username_completion_function (const char *text, int state)
+A completion generator for usernames.  @var{text} contains a partial
+username preceded by a random character (usually @samp{~}).  As with all
+completion generators, @var{state} is zero on the first call and non-zero
+for subsequent calls.
+@end deftypefun
+
+@node Completion Variables
+@subsection Completion Variables
+
+@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
+A pointer to the generator function for @code{rl_completion_matches()}.
+@code{NULL} means to use @code{rl_filename_completion_function()},
+the default filename completer.
+@end deftypevar
+
+@deftypevar {rl_completion_func_t *} rl_attempted_completion_function
+A pointer to an alternative function to create matches.
+The function is called with @var{text}, @var{start}, and @var{end}.
+@var{start} and @var{end} are indices in @code{rl_line_buffer} defining
+the boundaries of @var{text}, which is a character string.
+If this function exists and returns @code{NULL}, or if this variable is
+set to @code{NULL}, then @code{rl_complete()} will call the value of
+@code{rl_completion_entry_function} to generate matches, otherwise the
+array of strings returned will be used.
+If this function sets the @code{rl_attempted_completion_over}
+variable to a non-zero value, Readline will not perform its default
+completion even if this function returns no matches.
+@end deftypevar
+
+@deftypevar {rl_quote_func_t *} rl_filename_quoting_function
+A pointer to a function that will quote a filename in an
+application-specific fashion.  This is called if filename completion is being
+attempted and one of the characters in @code{rl_filename_quote_characters}
+appears in a completed filename.  The function is called with
+@var{text}, @var{match_type}, and @var{quote_pointer}.  The @var{text}
+is the filename to be quoted.  The @var{match_type} is either
+@code{SINGLE_MATCH}, if there is only one completion match, or
+@code{MULT_MATCH}.  Some functions use this to decide whether or not to
+insert a closing quote character.  The @var{quote_pointer} is a pointer
+to any opening quote character the user typed.  Some functions choose
+to reset this character.
+@end deftypevar
+
+@deftypevar {rl_dequote_func_t *} rl_filename_dequoting_function
+A pointer to a function that will remove application-specific quoting
+characters from a filename before completion is attempted, so those
+characters do not interfere with matching the text against names in
+the filesystem.  It is called with @var{text}, the text of the word
+to be dequoted, and @var{quote_char}, which is the quoting character 
+that delimits the filename (usually @samp{'} or @samp{"}).  If
+@var{quote_char} is zero, the filename was not in an embedded string.
+@end deftypevar
+
+@deftypevar {rl_linebuf_func_t *} rl_char_is_quoted_p
+A pointer to a function to call that determines whether or not a specific
+character in the line buffer is quoted, according to whatever quoting
+mechanism the program calling Readline uses.  The function is called with
+two arguments: @var{text}, the text of the line, and @var{index}, the
+index of the character in the line.  It is used to decide whether a
+character found in @code{rl_completer_word_break_characters} should be
+used to break words for the completer.
+@end deftypevar
+
+@deftypevar {rl_compignore_func_t *} rl_ignore_some_completions_function
+This function, if defined, is called by the completer when real filename
+completion is done, after all the matching names have been generated.
+It is passed a @code{NULL} terminated array of matches.
+The first element (@code{matches[0]}) is the
+maximal substring common to all matches. This function can
+re-arrange the list of matches as required, but each element deleted
+from the array must be freed.
+@end deftypevar
+
+@deftypevar {rl_icppfunc_t *} rl_directory_completion_hook
+This function, if defined, is allowed to modify the directory portion
+of filenames Readline completes.
+It could be used to expand symbolic links or shell variables in pathnames.
+It is called with the address of a string (the current directory name) as an
+argument, and may modify that string.
+If the string is replaced with a new string, the old value should be freed.
+Any modified directory name should have a trailing slash.
+The modified value will be used as part of the completion, replacing
+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
+
+@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()}.
+
+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
+
+@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
+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,
+and @var{fnlen}, its length in bytes.
+It must either return its first argument (if no conversion takes place)
+or the converted filename in newly-allocated memory.  The converted
+form is used to compare against the word to be completed, and, if it
+matches, is added to the list of matches.  Readline will free the
+allocated string.
+@end deftypevar
+
+@deftypevar {rl_compdisp_func_t *} rl_completion_display_matches_hook
+If non-zero, then this is the address of a function to call when
+completing a word would normally display the list of possible matches.
+This function is called in lieu of Readline displaying the list.
+It takes three arguments:
+(@code{char **}@var{matches}, @code{int} @var{num_matches}, @code{int} @var{max_length})
+where @var{matches} is the array of matching strings,
+@var{num_matches} is the number of strings in that array, and
+@var{max_length} is the length of the longest string in that array.
+Readline provides a convenience function, @code{rl_display_match_list},
+that takes care of doing the display to Readline's output stream.  That
+function may be called from this hook.
+@end deftypevar
+
+@deftypevar {const char *} rl_basic_word_break_characters
+The basic list of characters that signal a break between words for the
+completer routine.  The default value of this variable is the characters
+which break words for completion in Bash:
+@code{" \t\n\"\\'`@@$><=;|&@{("}.
+@end deftypevar
+
+@deftypevar {const char *} rl_basic_quote_characters
+A list of quote characters which can cause a word break.
+@end deftypevar
+
+@deftypevar {const char *} rl_completer_word_break_characters
+The list of characters that signal a break between words for
+@code{rl_complete_internal()}.  The default list is the value of
+@code{rl_basic_word_break_characters}.
+@end deftypevar
+
+@deftypevar {rl_cpvfunc_t *} rl_completion_word_break_hook
+If non-zero, this is the address of a function to call when Readline is
+deciding where to separate words for word completion.  It should return
+a character string like @code{rl_completer_word_break_characters} to be
+used to perform the current completion.  The function may choose to set
+@code{rl_completer_word_break_characters} itself.  If the function
+returns @code{NULL}, @code{rl_completer_word_break_characters} is used.
+@end deftypevar
+
+@deftypevar {const char *} rl_completer_quote_characters
+A list of characters which can be used to quote a substring of the line.
+Completion occurs on the entire substring, and within the substring
+@code{rl_completer_word_break_characters} are treated as any other character,
+unless they also appear within this list.
+@end deftypevar
+
+@deftypevar {const char *} rl_filename_quote_characters
+A list of characters that cause a filename to be quoted by the completer
+when they appear in a completed filename.  The default is the null string.
+@end deftypevar
+
+@deftypevar {const char *} rl_special_prefixes
+The list of characters that are word break characters, but should be
+left in @var{text} when it is passed to the completion function.
+Programs can use this to help determine what kind of completing to do.
+For instance, Bash sets this variable to "$@@" so that it can complete
+shell variables and hostnames.
+@end deftypevar
+
+@deftypevar int rl_completion_query_items
+Up to this many items will be displayed in response to a
+possible-completions call.  After that, readline asks the user if she is sure
+she wants to see them all.  The default value is 100.  A negative value 
+indicates that Readline should never ask the user.
+@end deftypevar
+
+@deftypevar {int} rl_completion_append_character
+When a single completion alternative matches at the end of the command
+line, this character is appended to the inserted completion text.  The
+default is a space character (@samp{ }).  Setting this to the null
+character (@samp{\0}) prevents anything being appended automatically.
+This can be changed in application-specific completion functions to
+provide the ``most sensible word separator character'' according to
+an application-specific command line syntax specification.
+@end deftypevar
+
+@deftypevar int rl_completion_suppress_append
+If non-zero, @var{rl_completion_append_character} is not appended to
+matches at the end of the command line, as described above.
+It is set to 0 before any application-specific completion function
+is called, and may only be changed within such a function.
+@end deftypevar
+
+@deftypevar int rl_completion_quote_character
+When Readline is completing quoted text, as delimited by one of the
+characters in @var{rl_completer_quote_characters}, it sets this variable
+to the quoting character found.
+This is set before any application-specific completion function is called.
+@end deftypevar
+
+@deftypevar int rl_completion_suppress_quote
+If non-zero, Readline does not append a matching quote character when
+performing completion on a quoted string.
+It is set to 0 before any application-specific completion function
+is called, and may only be changed within such a function.
+@end deftypevar
+
+@deftypevar int rl_completion_found_quote
+When Readline is completing quoted text, it sets this variable
+to a non-zero value if the word being completed contains or is delimited
+by any quoting characters, including backslashes.
+This is set before any application-specific completion function is called.
+@end deftypevar
+
+@deftypevar int rl_completion_mark_symlink_dirs
+If non-zero, a slash will be appended to completed filenames that are
+symbolic links to directory names, subject to the value of the
+user-settable @var{mark-directories} variable.
+This variable exists so that application-specific completion functions
+can override the user's global preference (set via the
+@var{mark-symlinked-directories} Readline variable) if appropriate.
+This variable is set to the user's preference before any
+application-specific completion function is called, so unless that
+function modifies the value, the user's preferences are honored.
+@end deftypevar
+
+@deftypevar int rl_ignore_completion_duplicates
+If non-zero, then duplicates in the matches are removed.
+The default is 1.
+@end deftypevar
+
+@deftypevar int rl_filename_completion_desired
+Non-zero means that the results of the matches are to be treated as
+filenames.  This is @emph{always} zero when completion is attempted,
+and can only be changed
+within an application-specific completion function.  If it is set to a
+non-zero value by such a function, directory names have a slash appended
+and Readline attempts to quote completed filenames if they contain any
+characters in @code{rl_filename_quote_characters} and
+@code{rl_filename_quoting_desired} is set to a non-zero value.
+@end deftypevar
+
+@deftypevar int rl_filename_quoting_desired
+Non-zero means that the results of the matches are to be quoted using
+double quotes (or an application-specific quoting mechanism) if the
+completed filename contains any characters in
+@code{rl_filename_quote_chars}.  This is @emph{always} non-zero
+when completion is attempted, and can only be changed within an
+application-specific completion function.
+The quoting is effected via a call to the function pointed to
+by @code{rl_filename_quoting_function}.
+@end deftypevar
+
+@deftypevar int rl_attempted_completion_over
+If an application-specific completion function assigned to
+@code{rl_attempted_completion_function} sets this variable to a non-zero
+value, Readline will not perform its default filename completion even
+if the application's completion function returns no matches.
+It should be set only by an application's completion function.
+@end deftypevar
+
+@deftypevar int rl_sort_completion_matches
+If an application sets this variable to 0, Readline will not sort the
+list of completions (which implies that it cannot remove any duplicate
+completions).  The default value is 1, which means that Readline will
+sort the completions and, depending on the value of
+@code{rl_ignore_completion_duplicates}, will attempt to remove duplicate
+matches.
+@end deftypevar
+
+@deftypevar int rl_completion_type
+Set to a character describing the type of completion Readline is currently
+attempting; see the description of @code{rl_complete_internal()}
+(@pxref{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 @code{rl_complete()}.
+@end deftypevar
+
+@deftypevar int rl_completion_invoking_key
+Set to the final character in the key sequence that invoked one of the
+completion functions that call @code{rl_complete_internal()}.  This is
+set to the appropriate value before any application-specific completion
+function is called.
+@end deftypevar
+
+@deftypevar int rl_inhibit_completion
+If this variable is non-zero, completion is inhibited.  The completion
+character will be inserted as any other bound to @code{self-insert}.
+@end deftypevar
+
+@node A Short Completion Example
+@subsection A Short Completion Example
+
+Here is a small application demonstrating the use of the GNU Readline
+library.  It is called @code{fileman}, and the source code resides in
+@file{examples/fileman.c}.  This sample application provides
+completion of command names, line editing features, and access to the
+history list.
+
+@page
+@smallexample
+/* fileman.c -- A tiny application which demonstrates how to use the
+   GNU Readline library.  This application interactively allows users
+   to manipulate files and their modes. */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <sys/types.h>
+#ifdef HAVE_SYS_FILE_H
+#  include <sys/file.h>
+#endif
+#include <sys/stat.h>
+
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+#endif
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <errno.h>
+
+#if defined (HAVE_STRING_H)
+#  include <string.h>
+#else /* !HAVE_STRING_H */
+#  include <strings.h>
+#endif /* !HAVE_STRING_H */
+
+#ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+#endif
+
+#include <time.h>
+
+#include <readline/readline.h>
+#include <readline/history.h>
+
+extern char *xmalloc PARAMS((size_t));
+
+/* The names of functions that actually do the manipulation. */
+int com_list PARAMS((char *));
+int com_view PARAMS((char *));
+int com_rename PARAMS((char *));
+int com_stat PARAMS((char *));
+int com_pwd PARAMS((char *));
+int com_delete PARAMS((char *));
+int com_help PARAMS((char *));
+int com_cd PARAMS((char *));
+int com_quit PARAMS((char *));
+
+/* A structure which contains information on the commands this program
+   can understand. */
+
+typedef struct @{
+  char *name;                  /* User printable name of the function. */
+  rl_icpfunc_t *func;          /* Function to call to do the job. */
+  char *doc;                   /* Documentation for this function.  */
+@} COMMAND;
+
+COMMAND commands[] = @{
+  @{ "cd", com_cd, "Change to directory DIR" @},
+  @{ "delete", com_delete, "Delete FILE" @},
+  @{ "help", com_help, "Display this text" @},
+  @{ "?", com_help, "Synonym for `help'" @},
+  @{ "list", com_list, "List files in DIR" @},
+  @{ "ls", com_list, "Synonym for `list'" @},
+  @{ "pwd", com_pwd, "Print the current working directory" @},
+  @{ "quit", com_quit, "Quit using Fileman" @},
+  @{ "rename", com_rename, "Rename FILE to NEWNAME" @},
+  @{ "stat", com_stat, "Print out statistics on FILE" @},
+  @{ "view", com_view, "View the contents of FILE" @},
+  @{ (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL @}
+@};
+
+/* Forward declarations. */
+char *stripwhite ();
+COMMAND *find_command ();
+
+/* The name of this program, as taken from argv[0]. */
+char *progname;
+
+/* When non-zero, this global means the user is done using this program. */
+int done;
+
+char *
+dupstr (s)
+     char *s;
+@{
+  char *r;
+
+  r = xmalloc (strlen (s) + 1);
+  strcpy (r, s);
+  return (r);
+@}
+
+main (argc, argv)
+     int argc;
+     char **argv;
+@{
+  char *line, *s;
+
+  progname = argv[0];
+
+  initialize_readline ();      /* Bind our completer. */
+
+  /* Loop reading and executing lines until the user quits. */
+  for ( ; done == 0; )
+    @{
+      line = readline ("FileMan: ");
+
+      if (!line)
+        break;
+
+      /* Remove leading and trailing whitespace from the line.
+         Then, if there is anything left, add it to the history list
+         and execute it. */
+      s = stripwhite (line);
+
+      if (*s)
+        @{
+          add_history (s);
+          execute_line (s);
+        @}
+
+      free (line);
+    @}
+  exit (0);
+@}
+
+/* Execute a command line. */
+int
+execute_line (line)
+     char *line;
+@{
+  register int i;
+  COMMAND *command;
+  char *word;
+
+  /* Isolate the command word. */
+  i = 0;
+  while (line[i] && whitespace (line[i]))
+    i++;
+  word = line + i;
+
+  while (line[i] && !whitespace (line[i]))
+    i++;
+
+  if (line[i])
+    line[i++] = '\0';
+
+  command = find_command (word);
+
+  if (!command)
+    @{
+      fprintf (stderr, "%s: No such command for FileMan.\n", word);
+      return (-1);
+    @}
+
+  /* Get argument to command, if any. */
+  while (whitespace (line[i]))
+    i++;
+
+  word = line + i;
+
+  /* Call the function. */
+  return ((*(command->func)) (word));
+@}
+
+/* Look up NAME as the name of a command, and return a pointer to that
+   command.  Return a NULL pointer if NAME isn't a command name. */
+COMMAND *
+find_command (name)
+     char *name;
+@{
+  register int i;
+
+  for (i = 0; commands[i].name; i++)
+    if (strcmp (name, commands[i].name) == 0)
+      return (&commands[i]);
+
+  return ((COMMAND *)NULL);
+@}
+
+/* Strip whitespace from the start and end of STRING.  Return a pointer
+   into STRING. */
+char *
+stripwhite (string)
+     char *string;
+@{
+  register char *s, *t;
+
+  for (s = string; whitespace (*s); s++)
+    ;
+    
+  if (*s == 0)
+    return (s);
+
+  t = s + strlen (s) - 1;
+  while (t > s && whitespace (*t))
+    t--;
+  *++t = '\0';
+
+  return s;
+@}
+
+/* **************************************************************** */
+/*                                                                  */
+/*                  Interface to Readline Completion                */
+/*                                                                  */
+/* **************************************************************** */
+
+char *command_generator PARAMS((const char *, int));
+char **fileman_completion PARAMS((const char *, int, int));
+
+/* Tell the GNU Readline library how to complete.  We want to try to complete
+   on command names if this is the first word in the line, or on filenames
+   if not. */
+initialize_readline ()
+@{
+  /* Allow conditional parsing of the ~/.inputrc file. */
+  rl_readline_name = "FileMan";
+
+  /* Tell the completer that we want a crack first. */
+  rl_attempted_completion_function = fileman_completion;
+@}
+
+/* Attempt to complete on the contents of TEXT.  START and END bound the
+   region of rl_line_buffer that contains the word to complete.  TEXT is
+   the word to complete.  We can use the entire contents of rl_line_buffer
+   in case we want to do some simple parsing.  Return the array of matches,
+   or NULL if there aren't any. */
+char **
+fileman_completion (text, start, end)
+     const char *text;
+     int start, end;
+@{
+  char **matches;
+
+  matches = (char **)NULL;
+
+  /* If this word is at the start of the line, then it is a command
+     to complete.  Otherwise it is the name of a file in the current
+     directory. */
+  if (start == 0)
+    matches = rl_completion_matches (text, command_generator);
+
+  return (matches);
+@}
+
+/* Generator function for command completion.  STATE lets us know whether
+   to start from scratch; without any state (i.e. STATE == 0), then we
+   start at the top of the list. */
+char *
+command_generator (text, state)
+     const char *text;
+     int state;
+@{
+  static int list_index, len;
+  char *name;
+
+  /* If this is a new word to complete, initialize now.  This includes
+     saving the length of TEXT for efficiency, and initializing the index
+     variable to 0. */
+  if (!state)
+    @{
+      list_index = 0;
+      len = strlen (text);
+    @}
+
+  /* Return the next name which partially matches from the command list. */
+  while (name = commands[list_index].name)
+    @{
+      list_index++;
+
+      if (strncmp (name, text, len) == 0)
+        return (dupstr(name));
+    @}
+
+  /* If no names matched, then return NULL. */
+  return ((char *)NULL);
+@}
+
+/* **************************************************************** */
+/*                                                                  */
+/*                       FileMan Commands                           */
+/*                                                                  */
+/* **************************************************************** */
+
+/* String to pass to system ().  This is for the LIST, VIEW and RENAME
+   commands. */
+static char syscom[1024];
+
+/* List the file(s) named in arg. */
+com_list (arg)
+     char *arg;
+@{
+  if (!arg)
+    arg = "";
+
+  sprintf (syscom, "ls -FClg %s", arg);
+  return (system (syscom));
+@}
+
+com_view (arg)
+     char *arg;
+@{
+  if (!valid_argument ("view", arg))
+    return 1;
+
+#if defined (__MSDOS__)
+  /* more.com doesn't grok slashes in pathnames */
+  sprintf (syscom, "less %s", arg);
+#else
+  sprintf (syscom, "more %s", arg);
+#endif
+  return (system (syscom));
+@}
+
+com_rename (arg)
+     char *arg;
+@{
+  too_dangerous ("rename");
+  return (1);
+@}
+
+com_stat (arg)
+     char *arg;
+@{
+  struct stat finfo;
+
+  if (!valid_argument ("stat", arg))
+    return (1);
+
+  if (stat (arg, &finfo) == -1)
+    @{
+      perror (arg);
+      return (1);
+    @}
+
+  printf ("Statistics for `%s':\n", arg);
+
+  printf ("%s has %d link%s, and is %d byte%s in length.\n",
+         arg,
+          finfo.st_nlink,
+          (finfo.st_nlink == 1) ? "" : "s",
+          finfo.st_size,
+          (finfo.st_size == 1) ? "" : "s");
+  printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime));
+  printf ("      Last access at: %s", ctime (&finfo.st_atime));
+  printf ("    Last modified at: %s", ctime (&finfo.st_mtime));
+  return (0);
+@}
+
+com_delete (arg)
+     char *arg;
+@{
+  too_dangerous ("delete");
+  return (1);
+@}
+
+/* Print out help for ARG, or for all of the commands if ARG is
+   not present. */
+com_help (arg)
+     char *arg;
+@{
+  register int i;
+  int printed = 0;
+
+  for (i = 0; commands[i].name; i++)
+    @{
+      if (!*arg || (strcmp (arg, commands[i].name) == 0))
+        @{
+          printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc);
+          printed++;
+        @}
+    @}
+
+  if (!printed)
+    @{
+      printf ("No commands match `%s'.  Possibilties are:\n", arg);
+
+      for (i = 0; commands[i].name; i++)
+        @{
+          /* Print in six columns. */
+          if (printed == 6)
+            @{
+              printed = 0;
+              printf ("\n");
+            @}
+
+          printf ("%s\t", commands[i].name);
+          printed++;
+        @}
+
+      if (printed)
+        printf ("\n");
+    @}
+  return (0);
+@}
+
+/* Change to the directory ARG. */
+com_cd (arg)
+     char *arg;
+@{
+  if (chdir (arg) == -1)
+    @{
+      perror (arg);
+      return 1;
+    @}
+
+  com_pwd ("");
+  return (0);
+@}
+
+/* Print out the current working directory. */
+com_pwd (ignore)
+     char *ignore;
+@{
+  char dir[1024], *s;
+
+  s = getcwd (dir, sizeof(dir) - 1);
+  if (s == 0)
+    @{
+      printf ("Error getting pwd: %s\n", dir);
+      return 1;
+    @}
+
+  printf ("Current directory is %s\n", dir);
+  return 0;
+@}
+
+/* The user wishes to quit using this program.  Just set DONE non-zero. */
+com_quit (arg)
+     char *arg;
+@{
+  done = 1;
+  return (0);
+@}
+
+/* Function which tells you that you can't do this. */
+too_dangerous (caller)
+     char *caller;
+@{
+  fprintf (stderr,
+           "%s: Too dangerous for me to distribute.  Write it yourself.\n",
+           caller);
+@}
+
+/* Return non-zero if ARG is a valid argument for CALLER, else print
+   an error message and return zero. */
+int
+valid_argument (caller, arg)
+     char *caller, *arg;
+@{
+  if (!arg || !*arg)
+    @{
+      fprintf (stderr, "%s: Argument required.\n", caller);
+      return (0);
+    @}
+
+  return (1);
+@}
+@end smallexample
index ba54465290e8de17c2befacb5b82dd5c8ae29458..db450183428fa742382aef514fc026da4a28d109 100644 (file)
@@ -1,10 +1,10 @@
 @ignore
-Copyright (C) 1988-2012 Free Software Foundation, Inc. 
+Copyright (C) 1988-2013 Free Software Foundation, Inc. 
 @end ignore
 
-@set EDITION 6.2
-@set VERSION 6.2
-@set UPDATED 15 November 2012
-@set UPDATED-MONTH November 2012
+@set EDITION 6.3
+@set VERSION 6.3
+@set UPDATED 26 May 2013
+@set UPDATED-MONTH May 2013
 
-@set LASTCHANGE Thu Nov 15 21:03:04 EST 2012
+@set LASTCHANGE Sat May 25 17:02:56 EDT 2013
diff --git a/lib/readline/doc/version.texi~ b/lib/readline/doc/version.texi~
new file mode 100644 (file)
index 0000000..ba54465
--- /dev/null
@@ -0,0 +1,10 @@
+@ignore
+Copyright (C) 1988-2012 Free Software Foundation, Inc. 
+@end ignore
+
+@set EDITION 6.2
+@set VERSION 6.2
+@set UPDATED 15 November 2012
+@set UPDATED-MONTH November 2012
+
+@set LASTCHANGE Thu Nov 15 21:03:04 EST 2012
diff --git a/trap.c b/trap.c
index 1e11d1f9ffba34f504d171557bda28a22fdd48db..da59b26bfddc8d9daece44213a54ecdfb3bc42ac 100644 (file)
--- a/trap.c
+++ b/trap.c
@@ -286,6 +286,9 @@ run_pending_traps ()
   if (catch_flag == 0)         /* simple optimization */
     return;
 
+  if (running_trap > 0)
+    return;                    /* no recursive trap invocations */
+
   catch_flag = trapped_signal_received = 0;
 
   /* Preserve $? when running trap. */
@@ -304,6 +307,8 @@ run_pending_traps ()
 
          BLOCK_SIGNAL (sig, set, oset);
 
+         running_trap = sig + 1;
+
          if (sig == SIGINT)
            {
              run_interrupt_trap ();
@@ -324,6 +329,7 @@ run_pending_traps ()
            {
              /* This can happen when run_pending_traps is called while
                 running a SIGCHLD trap handler. */
+             running_trap = 0;
              UNBLOCK_SIGNAL (oset);
              continue;                                 /* XXX */
            }
@@ -359,7 +365,14 @@ run_pending_traps ()
              save_subst_varlist = subst_assign_varlist;
              subst_assign_varlist = 0;
 
+#if defined (JOB_CONTROL)
+             save_pipeline (1);        /* XXX only provides one save level */
+#endif
              evalstring (savestring (trap_list[sig]), "trap", SEVAL_NONINT|SEVAL_NOHIST|SEVAL_RESETLINE);
+#if defined (JOB_CONTROL)
+             restore_pipeline (1);
+#endif
+
              restore_token_state (token_state);
              free (token_state);
 
@@ -367,6 +380,7 @@ run_pending_traps ()
            }
 
          pending_traps[sig] = 0;
+         running_trap = 0;
 
          UNBLOCK_SIGNAL (oset);
        }
diff --git a/trap.c~ b/trap.c~
new file mode 100644 (file)
index 0000000..18369be
--- /dev/null
+++ b/trap.c~
@@ -0,0 +1,1221 @@
+/* trap.c -- Not the trap command, but useful functions for manipulating
+   those objects.  The trap command is in builtins/trap.def. */
+
+/* Copyright (C) 1987-2013 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash 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.
+
+   Bash 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 Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashtypes.h"
+#include "bashansi.h"
+
+#include <stdio.h>
+#include <errno.h>
+
+#include "bashintl.h"
+
+#include <signal.h>
+
+#include "trap.h"
+
+#include "shell.h"
+#include "flags.h"
+#include "input.h"     /* for save_token_state, restore_token_state */
+#include "jobs.h"
+#include "signames.h"
+#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
+
+#if defined (READLINE)
+#  include <readline/readline.h>
+#  include "bashline.h"
+#endif
+
+#ifndef errno
+extern int errno;
+#endif
+
+/* Flags which describe the current handling state of a signal. */
+#define SIG_INHERITED   0x0    /* Value inherited from parent. */
+#define SIG_TRAPPED     0x1    /* Currently trapped. */
+#define SIG_HARD_IGNORE 0x2    /* Signal was ignored on shell entry. */
+#define SIG_SPECIAL     0x4    /* Treat this signal specially. */
+#define SIG_NO_TRAP     0x8    /* Signal cannot be trapped. */
+#define SIG_INPROGRESS 0x10    /* Signal handler currently executing. */
+#define SIG_CHANGED    0x20    /* Trap value changed in trap handler. */
+#define SIG_IGNORED    0x40    /* The signal is currently being ignored. */
+
+#define SPECIAL_TRAP(s)        ((s) == EXIT_TRAP || (s) == DEBUG_TRAP || (s) == ERROR_TRAP || (s) == RETURN_TRAP)
+
+/* An array of such flags, one for each signal, describing what the
+   shell will do with a signal.  DEBUG_TRAP == NSIG; some code below
+   assumes this. */
+static int sigmodes[BASH_NSIG];
+
+static void free_trap_command __P((int));
+static void change_signal __P((int, char *));
+
+static int _run_trap_internal __P((int, char *));
+
+static void free_trap_string __P((int));
+static void reset_signal __P((int));
+static void restore_signal __P((int));
+static void reset_or_restore_signal_handlers __P((sh_resetsig_func_t *));
+
+/* Variables used here but defined in other files. */
+extern int last_command_exit_value;
+extern int line_number;
+
+extern int sigalrm_seen;
+extern procenv_t alrmbuf;
+
+extern char *this_command_name;
+extern sh_builtin_func_t *this_shell_builtin;
+extern procenv_t wait_intr_buf;
+extern int return_catch_flag, return_catch_value;
+extern int subshell_level;
+extern WORD_LIST *subst_assign_varlist;
+
+/* The list of things to do originally, before we started trapping. */
+SigHandler *original_signals[NSIG];
+
+/* For each signal, a slot for a string, which is a command to be
+   executed when that signal is recieved.  The slot can also contain
+   DEFAULT_SIG, which means do whatever you were going to do before
+   you were so rudely interrupted, or IGNORE_SIG, which says ignore
+   this signal. */
+char *trap_list[BASH_NSIG];
+
+/* A bitmap of signals received for which we have trap handlers. */
+int pending_traps[NSIG];
+
+/* Set to the number of the signal we're running the trap for + 1.
+   Used in execute_cmd.c and builtins/common.c to clean up when
+   parse_and_execute does not return normally after executing the
+   trap command (e.g., when `return' is executed in the trap command). */
+int running_trap;
+
+/* Set to last_command_exit_value before running a trap. */
+int trap_saved_exit_value;
+
+/* The (trapped) signal received while executing in the `wait' builtin */
+int wait_signal_received;
+
+int trapped_signal_received;
+
+#define GETORIGSIG(sig) \
+  do { \
+    original_signals[sig] = (SigHandler *)set_signal_handler (sig, SIG_DFL); \
+    set_signal_handler (sig, original_signals[sig]); \
+    if (original_signals[sig] == SIG_IGN) \
+      sigmodes[sig] |= SIG_HARD_IGNORE; \
+  } while (0)
+
+#define SETORIGSIG(sig,handler) \
+  do { \
+    original_signals[sig] = handler; \
+    if (original_signals[sig] == SIG_IGN) \
+      sigmodes[sig] |= SIG_HARD_IGNORE; \
+  } while (0)
+
+#define GET_ORIGINAL_SIGNAL(sig) \
+  if (sig && sig < NSIG && original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER) \
+    GETORIGSIG(sig)
+
+void
+initialize_traps ()
+{
+  register int i;
+
+  initialize_signames();
+
+  trap_list[EXIT_TRAP] = trap_list[DEBUG_TRAP] = trap_list[ERROR_TRAP] = trap_list[RETURN_TRAP] = (char *)NULL;
+  sigmodes[EXIT_TRAP] = sigmodes[DEBUG_TRAP] = sigmodes[ERROR_TRAP] = sigmodes[RETURN_TRAP] = SIG_INHERITED;
+  original_signals[EXIT_TRAP] = IMPOSSIBLE_TRAP_HANDLER;
+
+  for (i = 1; i < NSIG; i++)
+    {
+      pending_traps[i] = 0;
+      trap_list[i] = (char *)DEFAULT_SIG;
+      sigmodes[i] = SIG_INHERITED;     /* XXX - only set, not used */
+      original_signals[i] = IMPOSSIBLE_TRAP_HANDLER;
+    }
+
+  /* Show which signals are treated specially by the shell. */
+#if defined (SIGCHLD)
+  GETORIGSIG (SIGCHLD);
+  sigmodes[SIGCHLD] |= (SIG_SPECIAL | SIG_NO_TRAP);
+#endif /* SIGCHLD */
+
+  GETORIGSIG (SIGINT);
+  sigmodes[SIGINT] |= SIG_SPECIAL;
+
+#if defined (__BEOS__)
+  /* BeOS sets SIGINT to SIG_IGN! */
+  original_signals[SIGINT] = SIG_DFL;
+  sigmodes[SIGINT] &= ~SIG_HARD_IGNORE;
+#endif
+
+  GETORIGSIG (SIGQUIT);
+  sigmodes[SIGQUIT] |= SIG_SPECIAL;
+
+  if (interactive)
+    {
+      GETORIGSIG (SIGTERM);
+      sigmodes[SIGTERM] |= SIG_SPECIAL;
+    }
+}
+
+#ifdef DEBUG
+/* Return a printable representation of the trap handler for SIG. */
+static char *
+trap_handler_string (sig)
+     int sig;
+{
+  if (trap_list[sig] == (char *)DEFAULT_SIG)
+    return "DEFAULT_SIG";
+  else if (trap_list[sig] == (char *)IGNORE_SIG)
+    return "IGNORE_SIG";
+  else if (trap_list[sig] == (char *)IMPOSSIBLE_TRAP_HANDLER)
+    return "IMPOSSIBLE_TRAP_HANDLER";
+  else if (trap_list[sig])
+    return trap_list[sig];
+  else
+    return "NULL";
+}
+#endif
+
+/* Return the print name of this signal. */
+char *
+signal_name (sig)
+     int sig;
+{
+  char *ret;
+
+  /* on cygwin32, signal_names[sig] could be null */
+  ret = (sig >= BASH_NSIG || sig < 0 || signal_names[sig] == NULL)
+       ? _("invalid signal number")
+       : signal_names[sig];
+
+  return ret;
+}
+
+/* Turn a string into a signal number, or a number into
+   a signal number.  If STRING is "2", "SIGINT", or "INT",
+   then (int)2 is returned.  Return NO_SIG if STRING doesn't
+   contain a valid signal descriptor. */
+int
+decode_signal (string, flags)
+     char *string;
+     int flags;
+{
+  intmax_t sig;
+  char *name;
+
+  if (legal_number (string, &sig))
+    return ((sig >= 0 && sig < NSIG) ? (int)sig : NO_SIG);
+
+  /* A leading `SIG' may be omitted. */
+  for (sig = 0; sig < BASH_NSIG; sig++)
+    {
+      name = signal_names[sig];
+      if (name == 0 || name[0] == '\0')
+       continue;
+
+      /* Check name without the SIG prefix first case sensitivly or
+        insensitively depending on whether flags includes DSIG_NOCASE */
+      if (STREQN (name, "SIG", 3))
+       {
+         name += 3;
+
+         if ((flags & DSIG_NOCASE) && strcasecmp (string, name) == 0)
+           return ((int)sig);
+         else if ((flags & DSIG_NOCASE) == 0 && strcmp (string, name) == 0)
+           return ((int)sig);
+         /* If we can't use the `SIG' prefix to match, punt on this
+            name now. */
+         else if ((flags & DSIG_SIGPREFIX) == 0)
+           continue;
+       }
+
+      /* Check name with SIG prefix case sensitively or insensitively
+        depending on whether flags includes DSIG_NOCASE */
+      name = signal_names[sig];
+      if ((flags & DSIG_NOCASE) && strcasecmp (string, name) == 0)
+       return ((int)sig);
+      else if ((flags & DSIG_NOCASE) == 0 && strcmp (string, name) == 0)
+       return ((int)sig);
+    }
+
+  return (NO_SIG);
+}
+
+/* Non-zero when we catch a trapped signal. */
+static int catch_flag;
+
+void
+run_pending_traps ()
+{
+  register int sig;
+  int old_exit_value, *token_state;
+  WORD_LIST *save_subst_varlist;
+#if defined (ARRAY_VARS)
+  ARRAY *ps;
+#endif
+
+  if (catch_flag == 0)         /* simple optimization */
+    return;
+
+  if (running_trap > 0)
+    return;                    /* no recursive trap invocations */
+
+  catch_flag = trapped_signal_received = 0;
+
+  /* Preserve $? when running trap. */
+  old_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+  ps = save_pipestatus_array ();
+#endif
+
+  for (sig = 1; sig < NSIG; sig++)
+    {
+      /* XXX this could be made into a counter by using
+        while (pending_traps[sig]--) instead of the if statement. */
+      if (pending_traps[sig])
+       {
+         sigset_t set, oset;
+
+         BLOCK_SIGNAL (sig, set, oset);
+
+         running_trap = sig + 1;
+
+         if (sig == SIGINT)
+           {
+             run_interrupt_trap ();
+             CLRINTERRUPT;
+           }
+#if defined (JOB_CONTROL) && defined (SIGCHLD)
+         else if (sig == SIGCHLD &&
+                  trap_list[SIGCHLD] != (char *)IMPOSSIBLE_TRAP_HANDLER &&
+                  (sigmodes[SIGCHLD] & SIG_INPROGRESS) == 0)
+           {
+             sigmodes[SIGCHLD] |= SIG_INPROGRESS;
+             run_sigchld_trap (pending_traps[sig]);    /* use as counter */
+             sigmodes[SIGCHLD] &= ~SIG_INPROGRESS;
+           }
+         else if (sig == SIGCHLD &&
+                  trap_list[SIGCHLD] == (char *)IMPOSSIBLE_TRAP_HANDLER &&
+                  (sigmodes[SIGCHLD] & SIG_INPROGRESS) != 0)
+           {
+             /* This can happen when run_pending_traps is called while
+                running a SIGCHLD trap handler. */
+             running_trap = 0;
+             UNBLOCK_SIGNAL (oset);
+             continue;                                 /* XXX */
+           }
+#endif
+         else if (trap_list[sig] == (char *)DEFAULT_SIG ||
+                  trap_list[sig] == (char *)IGNORE_SIG ||
+                  trap_list[sig] == (char *)IMPOSSIBLE_TRAP_HANDLER)
+           {
+             /* This is possible due to a race condition.  Say a bash
+                process has SIGTERM trapped.  A subshell is spawned
+                using { list; } & and the parent does something and kills
+                the subshell with SIGTERM.  It's possible for the subshell
+                to set pending_traps[SIGTERM] to 1 before the code in
+                execute_cmd.c eventually calls restore_original_signals
+                to reset the SIGTERM signal handler in the subshell.  The
+                next time run_pending_traps is called, pending_traps[SIGTERM]
+                will be 1, but the trap handler in trap_list[SIGTERM] will
+                be invalid (probably DEFAULT_SIG, but it could be IGNORE_SIG).
+                Unless we catch this, the subshell will dump core when
+                trap_list[SIGTERM] == DEFAULT_SIG, because DEFAULT_SIG is
+                usually 0x0. */
+             internal_warning (_("run_pending_traps: bad value in trap_list[%d]: %p"),
+                               sig, trap_list[sig]);
+             if (trap_list[sig] == (char *)DEFAULT_SIG)
+               {
+                 internal_warning (_("run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"), sig, signal_name (sig));
+                 kill (getpid (), sig);
+               }
+           }
+         else
+           {
+             token_state = save_token_state ();
+             save_subst_varlist = subst_assign_varlist;
+             subst_assign_varlist = 0;
+
+#if defined (JOB_CONTROL)
+             save_pipeline (1);        /* XXX only provides one save level */
+#endif
+             evalstring (savestring (trap_list[sig]), "trap", SEVAL_NONINT|SEVAL_NOHIST|SEVAL_RESETLINE);
+#if defined (JOB_CONTROL)
+             restore_pipeline (1);
+#endif
+
+             restore_token_state (token_state);
+             free (token_state);
+
+             subst_assign_varlist = save_subst_varlist;
+           }
+
+         pending_traps[sig] = 0;
+         running_trap = 0;
+
+         UNBLOCK_SIGNAL (oset);
+       }
+    }
+
+#if defined (ARRAY_VARS)
+  restore_pipestatus_array (ps);
+#endif
+  last_command_exit_value = old_exit_value;
+}
+
+sighandler
+trap_handler (sig)
+     int sig;
+{
+  int oerrno;
+
+  if ((sigmodes[sig] & SIG_TRAPPED) == 0)
+    {
+#if defined (DEBUG)
+      internal_warning ("trap_handler: signal %d: signal not trapped", sig);
+#endif
+      SIGRETURN (0);
+    }
+
+  if ((sig >= NSIG) ||
+      (trap_list[sig] == (char *)DEFAULT_SIG) ||
+      (trap_list[sig] == (char *)IGNORE_SIG))
+    programming_error (_("trap_handler: bad signal %d"), sig);
+  else
+    {
+      oerrno = errno;
+#if defined (MUST_REINSTALL_SIGHANDLERS)
+#  if defined (JOB_CONTROL) && defined (SIGCHLD)
+      if (sig != SIGCHLD)
+#  endif /* JOB_CONTROL && SIGCHLD */
+      set_signal_handler (sig, trap_handler);
+#endif /* MUST_REINSTALL_SIGHANDLERS */
+
+      catch_flag = 1;
+      pending_traps[sig]++;
+
+      trapped_signal_received = sig;
+
+      if (this_shell_builtin && (this_shell_builtin == wait_builtin))
+       {
+         wait_signal_received = sig;
+         if (interrupt_immediately)
+           longjmp (wait_intr_buf, 1);
+       }
+
+#if defined (READLINE)
+      /* Set the event hook so readline will call it after the signal handlers
+        finish executing, so if this interrupted character input we can get
+        quick response. */
+      if (RL_ISSTATE (RL_STATE_SIGHANDLER) && interrupt_immediately == 0)
+        bashline_set_event_hook ();
+#endif
+
+      if (interrupt_immediately)
+       run_pending_traps ();
+
+      errno = oerrno;
+    }
+
+  SIGRETURN (0);
+}
+
+int
+first_pending_trap ()
+{
+  register int i;
+
+  for (i = 1; i < NSIG; i++)
+    if (pending_traps[i])
+      return i;
+  return -1;
+}
+
+int
+any_signals_trapped ()
+{
+  register int i;
+
+  for (i = 1; i < NSIG; i++)
+    if (sigmodes[i] & SIG_TRAPPED)
+      return i;
+  return -1;
+}
+
+void
+check_signals ()
+{
+  CHECK_ALRM;          /* set by the read builtin */
+  QUIT;
+}
+
+/* Convenience functions the rest of the shell can use */
+void
+check_signals_and_traps ()
+{
+  check_signals ();
+
+  run_pending_traps ();
+}
+
+#if defined (JOB_CONTROL) && defined (SIGCHLD)
+
+#ifdef INCLUDE_UNUSED
+/* Make COMMAND_STRING be executed when SIGCHLD is caught. */
+void
+set_sigchld_trap (command_string)
+     char *command_string;
+{
+  set_signal (SIGCHLD, command_string);
+}
+#endif
+
+/* Make COMMAND_STRING be executed when SIGCHLD is caught iff SIGCHLD
+   is not already trapped.  IMPOSSIBLE_TRAP_HANDLER is used as a sentinel
+   to make sure that a SIGCHLD trap handler run via run_sigchld_trap can
+   reset the disposition to the default and not have the original signal
+   accidentally restored, undoing the user's command. */
+void
+maybe_set_sigchld_trap (command_string)
+     char *command_string;
+{
+  if ((sigmodes[SIGCHLD] & SIG_TRAPPED) == 0 && trap_list[SIGCHLD] == (char *)IMPOSSIBLE_TRAP_HANDLER)
+    set_signal (SIGCHLD, command_string);
+}
+
+/* Temporarily set the SIGCHLD trap string to IMPOSSIBLE_TRAP_HANDLER.  Used
+   as a sentinel in run_sigchld_trap and maybe_set_sigchld_trap to see whether
+   or not a SIGCHLD trap handler reset SIGCHLD disposition to the default. */
+void
+set_impossible_sigchld_trap ()
+{
+  restore_default_signal (SIGCHLD);
+  change_signal (SIGCHLD, (char *)IMPOSSIBLE_TRAP_HANDLER);
+  sigmodes[SIGCHLD] &= ~SIG_TRAPPED;   /* maybe_set_sigchld_trap checks this */
+}
+
+/* Act as if we received SIGCHLD NCHILD times and increment
+   pending_traps[SIGCHLD] by that amount.  This allows us to still run the
+   SIGCHLD trap once for each exited child. */
+void
+queue_sigchld_trap (nchild)
+     int nchild;
+{
+  if (nchild > 0)
+    {
+      catch_flag = 1;
+      pending_traps[SIGCHLD] += nchild;
+      trapped_signal_received = SIGCHLD;
+    }
+}
+#endif /* JOB_CONTROL && SIGCHLD */
+
+void
+set_debug_trap (command)
+     char *command;
+{
+  set_signal (DEBUG_TRAP, command);
+}
+
+void
+set_error_trap (command)
+     char *command;
+{
+  set_signal (ERROR_TRAP, command);
+}
+
+void
+set_return_trap (command)
+     char *command;
+{
+  set_signal (RETURN_TRAP, command);
+}
+
+#ifdef INCLUDE_UNUSED
+void
+set_sigint_trap (command)
+     char *command;
+{
+  set_signal (SIGINT, command);
+}
+#endif
+
+/* Reset the SIGINT handler so that subshells that are doing `shellsy'
+   things, like waiting for command substitution or executing commands
+   in explicit subshells ( ( cmd ) ), can catch interrupts properly. */
+SigHandler *
+set_sigint_handler ()
+{
+  if (sigmodes[SIGINT] & SIG_HARD_IGNORE)
+    return ((SigHandler *)SIG_IGN);
+
+  else if (sigmodes[SIGINT] & SIG_IGNORED)
+    return ((SigHandler *)set_signal_handler (SIGINT, SIG_IGN)); /* XXX */
+
+  else if (sigmodes[SIGINT] & SIG_TRAPPED)
+    return ((SigHandler *)set_signal_handler (SIGINT, trap_handler));
+
+  /* The signal is not trapped, so set the handler to the shell's special
+     interrupt handler. */
+  else if (interactive)        /* XXX - was interactive_shell */
+    return (set_signal_handler (SIGINT, sigint_sighandler));
+  else
+    return (set_signal_handler (SIGINT, termsig_sighandler));
+}
+
+/* Return the correct handler for signal SIG according to the values in
+   sigmodes[SIG]. */
+SigHandler *
+trap_to_sighandler (sig)
+     int sig;
+{
+  if (sigmodes[sig] & (SIG_IGNORED|SIG_HARD_IGNORE))
+    return (SIG_IGN);
+  else if (sigmodes[sig] & SIG_TRAPPED)
+    return (trap_handler);
+  else
+    return (SIG_DFL);
+}
+
+/* Set SIG to call STRING as a command. */
+void
+set_signal (sig, string)
+     int sig;
+     char *string;
+{
+  sigset_t set, oset;
+
+  if (SPECIAL_TRAP (sig))
+    {
+      change_signal (sig, savestring (string));
+      if (sig == EXIT_TRAP && interactive == 0)
+       initialize_terminating_signals ();
+      return;
+    }
+
+  /* A signal ignored on entry to the shell cannot be trapped or reset, but
+     no error is reported when attempting to do so.  -- Posix.2 */
+  if (sigmodes[sig] & SIG_HARD_IGNORE)
+    return;
+
+  /* Make sure we have original_signals[sig] if the signal has not yet
+     been trapped. */
+  if ((sigmodes[sig] & SIG_TRAPPED) == 0)
+    {
+      /* If we aren't sure of the original value, check it. */
+      if (original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER)
+        GETORIGSIG (sig);
+      if (original_signals[sig] == SIG_IGN)
+       return;
+    }
+
+  /* Only change the system signal handler if SIG_NO_TRAP is not set.
+     The trap command string is changed in either case.  The shell signal
+     handlers for SIGINT and SIGCHLD run the user specified traps in an
+     environment in which it is safe to do so. */
+  if ((sigmodes[sig] & SIG_NO_TRAP) == 0)
+    {
+      BLOCK_SIGNAL (sig, set, oset);
+      change_signal (sig, savestring (string));
+      set_signal_handler (sig, trap_handler);
+      UNBLOCK_SIGNAL (oset);
+    }
+  else
+    change_signal (sig, savestring (string));
+}
+
+static void
+free_trap_command (sig)
+     int sig;
+{
+  if ((sigmodes[sig] & SIG_TRAPPED) && trap_list[sig] &&
+      (trap_list[sig] != (char *)IGNORE_SIG) &&
+      (trap_list[sig] != (char *)DEFAULT_SIG) &&
+      (trap_list[sig] != (char *)IMPOSSIBLE_TRAP_HANDLER))
+    free (trap_list[sig]);
+}
+
+/* If SIG has a string assigned to it, get rid of it.  Then give it
+   VALUE. */
+static void
+change_signal (sig, value)
+     int sig;
+     char *value;
+{
+  if ((sigmodes[sig] & SIG_INP<ROGRESS) == 0)
+    free_trap_command (sig);
+  trap_list[sig] = value;
+
+  sigmodes[sig] |= SIG_TRAPPED;
+  if (value == (char *)IGNORE_SIG)
+    sigmodes[sig] |= SIG_IGNORED;
+  else
+    sigmodes[sig] &= ~SIG_IGNORED;
+  if (sigmodes[sig] & SIG_INPROGRESS)
+    sigmodes[sig] |= SIG_CHANGED;
+}
+
+void
+get_original_signal (sig)
+     int sig;
+{
+  /* If we aren't sure the of the original value, then get it. */
+  if (sig > 0 && sig < NSIG && original_signals[sig] == (SigHandler *)IMPOSSIBLE_TRAP_HANDLER)
+    GETORIGSIG (sig);
+}
+
+void
+get_all_original_signals ()
+{
+  register int i;
+
+  for (i = 1; i < NSIG; i++)
+    GET_ORIGINAL_SIGNAL (i);
+}
+
+void
+set_original_signal (sig, handler)
+     int sig;
+     SigHandler *handler;
+{
+  if (sig > 0 && sig < NSIG && original_signals[sig] == (SigHandler *)IMPOSSIBLE_TRAP_HANDLER)
+    SETORIGSIG (sig, handler);
+}
+
+/* Restore the default action for SIG; i.e., the action the shell
+   would have taken before you used the trap command.  This is called
+   from trap_builtin (), which takes care to restore the handlers for
+   the signals the shell treats specially. */
+void
+restore_default_signal (sig)
+     int sig;
+{
+  if (SPECIAL_TRAP (sig))
+    {
+      if ((sig != DEBUG_TRAP && sig != ERROR_TRAP && sig != RETURN_TRAP) ||
+         (sigmodes[sig] & SIG_INPROGRESS) == 0)
+       free_trap_command (sig);
+      trap_list[sig] = (char *)NULL;
+      sigmodes[sig] &= ~SIG_TRAPPED;
+      if (sigmodes[sig] & SIG_INPROGRESS)
+       sigmodes[sig] |= SIG_CHANGED;
+      return;
+    }
+
+  GET_ORIGINAL_SIGNAL (sig);
+
+  /* A signal ignored on entry to the shell cannot be trapped or reset, but
+     no error is reported when attempting to do so.  Thanks Posix.2. */
+  if (sigmodes[sig] & SIG_HARD_IGNORE)
+    return;
+
+  /* If we aren't trapping this signal, don't bother doing anything else. */
+  if ((sigmodes[sig] & SIG_TRAPPED) == 0)
+    return;
+
+  /* Only change the signal handler for SIG if it allows it. */
+  if ((sigmodes[sig] & SIG_NO_TRAP) == 0)
+    set_signal_handler (sig, original_signals[sig]);
+
+  /* Change the trap command in either case. */
+  change_signal (sig, (char *)DEFAULT_SIG);
+
+  /* Mark the signal as no longer trapped. */
+  sigmodes[sig] &= ~SIG_TRAPPED;
+}
+
+/* Make this signal be ignored. */
+void
+ignore_signal (sig)
+     int sig;
+{
+  if (SPECIAL_TRAP (sig) && ((sigmodes[sig] & SIG_IGNORED) == 0))
+    {
+      change_signal (sig, (char *)IGNORE_SIG);
+      return;
+    }
+
+  GET_ORIGINAL_SIGNAL (sig);
+
+  /* A signal ignored on entry to the shell cannot be trapped or reset.
+     No error is reported when the user attempts to do so. */
+  if (sigmodes[sig] & SIG_HARD_IGNORE)
+    return;
+
+  /* If already trapped and ignored, no change necessary. */
+  if (sigmodes[sig] & SIG_IGNORED)
+    return;
+
+  /* Only change the signal handler for SIG if it allows it. */
+  if ((sigmodes[sig] & SIG_NO_TRAP) == 0)
+    set_signal_handler (sig, SIG_IGN);
+
+  /* Change the trap command in either case. */
+  change_signal (sig, (char *)IGNORE_SIG);
+}
+
+/* Handle the calling of "trap 0".  The only sticky situation is when
+   the command to be executed includes an "exit".  This is why we have
+   to provide our own place for top_level to jump to. */
+int
+run_exit_trap ()
+{
+  char *trap_command;
+  int code, function_code, retval;
+#if defined (ARRAY_VARS)
+  ARRAY *ps;
+#endif
+
+  trap_saved_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+  ps = save_pipestatus_array ();
+#endif
+  function_code = 0;
+
+  /* Run the trap only if signal 0 is trapped and not ignored, and we are not
+     currently running in the trap handler (call to exit in the list of
+     commands given to trap 0). */
+  if ((sigmodes[EXIT_TRAP] & SIG_TRAPPED) &&
+      (sigmodes[EXIT_TRAP] & (SIG_IGNORED|SIG_INPROGRESS)) == 0)
+    {
+      trap_command = savestring (trap_list[EXIT_TRAP]);
+      sigmodes[EXIT_TRAP] &= ~SIG_TRAPPED;
+      sigmodes[EXIT_TRAP] |= SIG_INPROGRESS;
+
+      retval = trap_saved_exit_value;
+      running_trap = 1;
+
+      code = setjmp_nosigs (top_level);
+
+      /* If we're in a function, make sure return longjmps come here, too. */
+      if (return_catch_flag)
+       function_code = setjmp_nosigs (return_catch);
+
+      if (code == 0 && function_code == 0)
+       {
+         reset_parser ();
+         parse_and_execute (trap_command, "exit trap", SEVAL_NONINT|SEVAL_NOHIST|SEVAL_RESETLINE);
+       }
+      else if (code == ERREXIT)
+       retval = last_command_exit_value;
+      else if (code == EXITPROG)
+       retval = last_command_exit_value;
+      else if (function_code != 0)
+        retval = return_catch_value;
+      else
+       retval = trap_saved_exit_value;
+
+      running_trap = 0;
+      return retval;
+    }
+
+#if defined (ARRAY_VARS)
+  restore_pipestatus_array (ps);
+#endif
+  return (trap_saved_exit_value);
+}
+
+void
+run_trap_cleanup (sig)
+     int sig;
+{
+  sigmodes[sig] &= ~(SIG_INPROGRESS|SIG_CHANGED);
+}
+
+/* Run a trap command for SIG.  SIG is one of the signals the shell treats
+   specially.  Returns the exit status of the executed trap command list. */
+static int
+_run_trap_internal (sig, tag)
+     int sig;
+     char *tag;
+{
+  char *trap_command, *old_trap;
+  int trap_exit_value, *token_state;
+  volatile int save_return_catch_flag, function_code;
+  int flags;
+  procenv_t save_return_catch;
+  WORD_LIST *save_subst_varlist;
+#if defined (ARRAY_VARS)
+  ARRAY *ps;
+#endif
+
+  trap_exit_value = function_code = 0;
+  /* Run the trap only if SIG is trapped and not ignored, and we are not
+     currently executing in the trap handler. */
+  if ((sigmodes[sig] & SIG_TRAPPED) && ((sigmodes[sig] & SIG_IGNORED) == 0) &&
+      (trap_list[sig] != (char *)IMPOSSIBLE_TRAP_HANDLER) &&
+      ((sigmodes[sig] & SIG_INPROGRESS) == 0))
+    {
+      old_trap = trap_list[sig];
+      sigmodes[sig] |= SIG_INPROGRESS;
+      sigmodes[sig] &= ~SIG_CHANGED;           /* just to be sure */
+      trap_command =  savestring (old_trap);
+
+      running_trap = sig + 1;
+      trap_saved_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+      ps = save_pipestatus_array ();
+#endif
+
+      token_state = save_token_state ();
+      save_subst_varlist = subst_assign_varlist;
+      subst_assign_varlist = 0;
+
+      /* If we're in a function, make sure return longjmps come here, too. */
+      save_return_catch_flag = return_catch_flag;
+      if (return_catch_flag)
+       {
+         COPY_PROCENV (return_catch, save_return_catch);
+         function_code = setjmp_nosigs (return_catch);
+       }
+
+      flags = SEVAL_NONINT|SEVAL_NOHIST;
+      if (sig != DEBUG_TRAP && sig != RETURN_TRAP && sig != ERROR_TRAP)
+       flags |= SEVAL_RESETLINE;
+      if (function_code == 0)
+       parse_and_execute (trap_command, tag, flags);
+
+      restore_token_state (token_state);
+      free (token_state);
+
+      subst_assign_varlist = save_subst_varlist;
+
+      trap_exit_value = last_command_exit_value;
+      last_command_exit_value = trap_saved_exit_value;
+#if defined (ARRAY_VARS)
+      restore_pipestatus_array (ps);
+#endif
+      running_trap = 0;
+
+      sigmodes[sig] &= ~SIG_INPROGRESS;
+
+      if (sigmodes[sig] & SIG_CHANGED)
+       {
+#if 0
+         /* Special traps like EXIT, DEBUG, RETURN are handled explicitly in
+            the places where they can be changed using unwind-protects.  For
+            example, look at execute_cmd.c:execute_function(). */
+         if (SPECIAL_TRAP (sig) == 0)
+#endif
+           free (old_trap);
+         sigmodes[sig] &= ~SIG_CHANGED;
+       }
+
+      if (save_return_catch_flag)
+       {
+         return_catch_flag = save_return_catch_flag;
+         return_catch_value = trap_exit_value;
+         COPY_PROCENV (save_return_catch, return_catch);
+         if (function_code)
+           longjmp (return_catch, 1);
+       }
+    }
+
+  return trap_exit_value;
+}
+
+int
+run_debug_trap ()
+{
+  int trap_exit_value;
+  pid_t save_pgrp;
+  int save_pipe[2];
+
+  /* XXX - question:  should the DEBUG trap inherit the RETURN trap? */
+  trap_exit_value = 0;
+  if ((sigmodes[DEBUG_TRAP] & SIG_TRAPPED) && ((sigmodes[DEBUG_TRAP] & SIG_IGNORED) == 0) && ((sigmodes[DEBUG_TRAP] & SIG_INPROGRESS) == 0))
+    {
+#if defined (JOB_CONTROL)
+      save_pgrp = pipeline_pgrp;
+      pipeline_pgrp = 0;
+      save_pipeline (1);
+#  if defined (PGRP_PIPE)
+      save_pgrp_pipe (save_pipe, 1);
+#  endif
+      stop_making_children ();
+#endif
+
+      trap_exit_value = _run_trap_internal (DEBUG_TRAP, "debug trap");
+
+#if defined (JOB_CONTROL)
+      pipeline_pgrp = save_pgrp;
+      restore_pipeline (1);
+#  if defined (PGRP_PIPE)
+      close_pgrp_pipe ();
+      restore_pgrp_pipe (save_pipe);
+#  endif
+      if (pipeline_pgrp > 0)
+       give_terminal_to (pipeline_pgrp, 1);
+      notify_and_cleanup ();
+#endif
+      
+#if defined (DEBUGGER)
+      /* If we're in the debugger and the DEBUG trap returns 2 while we're in
+        a function or sourced script, we force a `return'. */
+      if (debugging_mode && trap_exit_value == 2 && return_catch_flag)
+       {
+         return_catch_value = trap_exit_value;
+         longjmp (return_catch, 1);
+       }
+#endif
+    }
+  return trap_exit_value;
+}
+
+void
+run_error_trap ()
+{
+  if ((sigmodes[ERROR_TRAP] & SIG_TRAPPED) && ((sigmodes[ERROR_TRAP] & SIG_IGNORED) == 0) && (sigmodes[ERROR_TRAP] & SIG_INPROGRESS) == 0)
+    _run_trap_internal (ERROR_TRAP, "error trap");
+}
+
+void
+run_return_trap ()
+{
+  int old_exit_value;
+
+#if 0
+  if ((sigmodes[DEBUG_TRAP] & SIG_TRAPPED) && (sigmodes[DEBUG_TRAP] & SIG_INPROGRESS))
+    return;
+#endif
+
+  if ((sigmodes[RETURN_TRAP] & SIG_TRAPPED) && ((sigmodes[RETURN_TRAP] & SIG_IGNORED) == 0) && (sigmodes[RETURN_TRAP] & SIG_INPROGRESS) == 0)
+    {
+      old_exit_value = last_command_exit_value;
+      _run_trap_internal (RETURN_TRAP, "return trap");
+      last_command_exit_value = old_exit_value;
+    }
+}
+
+/* Run a trap set on SIGINT.  This is called from throw_to_top_level (), and
+   declared here to localize the trap functions. */
+void
+run_interrupt_trap ()
+{
+  _run_trap_internal (SIGINT, "interrupt trap");
+}
+
+/* Free all the allocated strings in the list of traps and reset the trap
+   values to the default.  Intended to be called from subshells that want
+   to complete work done by reset_signal_handlers upon execution of a
+   subsequent `trap' command that changes a signal's disposition.  We need
+   to make sure that we duplicate the behavior of
+   reset_or_restore_signal_handlers and not change the disposition of signals
+   that are set to be ignored. */
+void
+free_trap_strings ()
+{
+  register int i;
+
+  for (i = 0; i < BASH_NSIG; i++)
+    {
+      if (trap_list[i] != (char *)IGNORE_SIG)
+       free_trap_string (i);
+    }
+  trap_list[DEBUG_TRAP] = trap_list[EXIT_TRAP] = trap_list[ERROR_TRAP] = trap_list[RETURN_TRAP] = (char *)NULL;
+}
+
+/* Free a trap command string associated with SIG without changing signal
+   disposition.  Intended to be called from free_trap_strings()  */
+static void
+free_trap_string (sig)
+     int sig;
+{
+  change_signal (sig, (char *)DEFAULT_SIG);
+  sigmodes[sig] &= ~SIG_TRAPPED;
+}
+
+/* Reset the handler for SIG to the original value but leave the trap string
+   in place. */
+static void
+reset_signal (sig)
+     int sig;
+{
+  set_signal_handler (sig, original_signals[sig]);
+  sigmodes[sig] &= ~SIG_TRAPPED;
+}
+
+/* Set the handler signal SIG to the original and free any trap
+   command associated with it. */
+static void
+restore_signal (sig)
+     int sig;
+{
+  set_signal_handler (sig, original_signals[sig]);
+  change_signal (sig, (char *)DEFAULT_SIG);
+  sigmodes[sig] &= ~SIG_TRAPPED;
+}
+
+static void
+reset_or_restore_signal_handlers (reset)
+     sh_resetsig_func_t *reset;
+{
+  register int i;
+
+  /* Take care of the exit trap first */
+  if (sigmodes[EXIT_TRAP] & SIG_TRAPPED)
+    {
+      sigmodes[EXIT_TRAP] &= ~SIG_TRAPPED;
+      if (reset != reset_signal)
+       {
+         free_trap_command (EXIT_TRAP);
+         trap_list[EXIT_TRAP] = (char *)NULL;
+       }
+    }
+
+  for (i = 1; i < NSIG; i++)
+    {
+      if (sigmodes[i] & SIG_TRAPPED)
+       {
+         if (trap_list[i] == (char *)IGNORE_SIG)
+           set_signal_handler (i, SIG_IGN);
+         else
+           (*reset) (i);
+       }
+      else if (sigmodes[i] & SIG_SPECIAL)
+       (*reset) (i);
+    }
+
+  /* Command substitution and other child processes don't inherit the
+     debug, error, or return traps.  If we're in the debugger, and the
+     `functrace' or `errtrace' options have been set, then let command
+     substitutions inherit them.  Let command substitution inherit the
+     RETURN trap if we're in the debugger and tracing functions. */
+  if (function_trace_mode == 0)
+    {
+      sigmodes[DEBUG_TRAP] &= ~SIG_TRAPPED;
+      sigmodes[RETURN_TRAP] &= ~SIG_TRAPPED;
+    }
+  if (error_trace_mode == 0)
+    sigmodes[ERROR_TRAP] &= ~SIG_TRAPPED;
+}
+
+/* Reset trapped signals to their original values, but don't free the
+   trap strings.  Called by the command substitution code and other places
+   that create a "subshell environment". */
+void
+reset_signal_handlers ()
+{
+  reset_or_restore_signal_handlers (reset_signal);
+}
+
+/* Reset all trapped signals to their original values.  Signals set to be
+   ignored with trap '' SIGNAL should be ignored, so we make sure that they
+   are.  Called by child processes after they are forked. */
+void
+restore_original_signals ()
+{
+  reset_or_restore_signal_handlers (restore_signal);
+}
+
+/* If a trap handler exists for signal SIG, then call it; otherwise just
+   return failure.  Returns 1 if it called the trap handler. */
+int
+maybe_call_trap_handler (sig)
+     int sig;
+{
+  /* Call the trap handler for SIG if the signal is trapped and not ignored. */
+  if ((sigmodes[sig] & SIG_TRAPPED) && ((sigmodes[sig] & SIG_IGNORED) == 0))
+    {
+      switch (sig)
+       {
+       case SIGINT:
+         run_interrupt_trap ();
+         break;
+       case EXIT_TRAP:
+         run_exit_trap ();
+         break;
+       case DEBUG_TRAP:
+         run_debug_trap ();
+         break;
+       case ERROR_TRAP:
+         run_error_trap ();
+         break;
+       default:
+         trap_handler (sig);
+         break;
+       }
+      return (1);
+    }
+  else
+    return (0);
+}
+
+int
+signal_is_trapped (sig)
+     int sig;
+{
+  return (sigmodes[sig] & SIG_TRAPPED);
+}
+
+int
+signal_is_pending (sig)
+     int sig;
+{
+  return (pending_traps[sig]);
+}
+
+int
+signal_is_special (sig)
+     int sig;
+{
+  return (sigmodes[sig] & SIG_SPECIAL);
+}
+
+int
+signal_is_ignored (sig)
+     int sig;
+{
+  return (sigmodes[sig] & SIG_IGNORED);
+}
+
+int
+signal_is_hard_ignored (sig)
+     int sig;
+{
+  return (sigmodes[sig] & SIG_HARD_IGNORE);
+}
+
+void
+set_signal_ignored (sig)
+     int sig;
+{
+  sigmodes[sig] |= SIG_HARD_IGNORE;
+  original_signals[sig] = SIG_IGN;
+}
+
+int
+signal_in_progress (sig)
+     int sig;
+{
+  return (sigmodes[sig] & SIG_INPROGRESS);
+}