OSDN Git Service

removed web2c version of PUTeX.
[putex/putex.git] / src / putex / putex / pulatex.ltx
diff --git a/src/putex/putex/pulatex.ltx b/src/putex/putex/pulatex.ltx
new file mode 100644 (file)
index 0000000..68957fb
--- /dev/null
@@ -0,0 +1,7985 @@
+%%
+%% This is file `latex.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltdirchk.dtx  (with options: `initex,2ekernel,dircheck')
+%% ltplain.dtx  (with options: `2ekernel')
+%% ltvers.dtx  (with options: `2ekernel')
+%% ltdefns.dtx  (with options: `2ekernel')
+%% ltalloc.dtx  (with options: `2ekernel')
+%% ltcntrl.dtx  (with options: `2ekernel')
+%% lterror.dtx  (with options: `2ekernel')
+%% ltpar.dtx  (with options: `2ekernel')
+%% ltspace.dtx  (with options: `2ekernel')
+%% ltlogos.dtx  (with options: `2ekernel')
+%% ltfiles.dtx  (with options: `2ekernel')
+%% ltoutenc.dtx  (with options: `2ekernel')
+%% ltcounts.dtx  (with options: `2ekernel')
+%% ltlength.dtx  (with options: `2ekernel')
+%% ltfssbas.dtx  (with options: `2ekernel')
+%% ltfsstrc.dtx  (with options: `2ekernel')
+%% ltfsscmp.dtx  (with options: `compat,2ekernel')
+%% ltfssdcl.dtx  (with options: `compat,2ekernel')
+%% ltfssini.dtx  (with options: `compat')
+%% ltfntcmd.dtx  (with options: `2ekernel')
+%% ltpageno.dtx  (with options: `2ekernel')
+%% ltxref.dtx  (with options: `2ekernel')
+%% ltmiscen.dtx  (with options: `2ekernel')
+%% ltmath.dtx  (with options: `2ekernel')
+%% ltlists.dtx  (with options: `2ekernel')
+%% ltboxes.dtx  (with options: `2ekernel')
+%% lttab.dtx  (with options: `2ekernel')
+%% ltpictur.dtx  (with options: `2ekernel')
+%% ltthm.dtx  (with options: `2ekernel')
+%% ltsect.dtx  (with options: `2ekernel')
+%% ltfloat.dtx  (with options: `2ekernel')
+%% ltidxglo.dtx  (with options: `2ekernel')
+%% ltbibl.dtx  (with options: `2ekernel')
+%% ltpage.dtx  (with options: `2ekernel')
+%% ltoutput.dtx  (with options: `2ekernel')
+%% ltclass.dtx  (with options: `2ekernel')
+%% ltfinal.dtx  (with options: `2ekernel')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%% 
+%% This file was generated from file(s) of the LaTeX base system.
+%% --------------------------------------------------------------
+%% 
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%% 
+%% This file has the LPPL maintenance status "maintained".
+%% 
+%% This file may only be distributed together with a copy of the LaTeX
+%% base system. You may however distribute the LaTeX base system without
+%% such generated files.
+%% 
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.txt'. See also `legal.txt' for additional
+%% information.
+%% 
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%% From File: ltdirchk.dtx
+\ifnum\catcode`\{=1
+  \errmessage
+  {LaTeX must be made using an initex with no format preloaded}
+\fi
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\chardef\active=13
+\catcode`\@=11
+\countdef\count@=255
+\let\bgroup={ \let\egroup=}
+\ifx\@@input\@undefined\let\@@input\input\fi
+\ifx\@@end\@undefined\let\@@end\end\fi
+\chardef\@inputcheck0
+\chardef\sixt@@n=16
+\newlinechar`\^^J
+\def\typeout{\immediate\write17}
+\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\_\do\%\do\~}
+\def\@makeother#1{\catcode`#1=12\relax}
+\def\space{ }
+\def\@tempswafalse{\let\if@tempswa\iffalse}
+\def\@tempswatrue{\let\if@tempswa\iftrue}
+\let\if@tempswa\iffalse
+\def\loop#1\repeat{\def\iterate{#1\relax\expandafter\iterate\fi}%
+  \iterate \let\iterate\relax}
+\let\repeat\fi
+\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
+\long\def\@firstoftwo#1#2{#1}
+\long\def\@secondoftwo#1#2{#2}
+\def\ProvidesFile#1{%
+  \begingroup
+    \catcode`\ 10 %
+    \ifnum \endlinechar<256 %
+      \ifnum \endlinechar>\m@ne
+        \catcode\endlinechar 10 %
+      \fi
+    \fi
+    \@makeother\/%
+    \@ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}}
+\def\@providesfile#1[#2]{%
+    \wlog{File: #1 #2}%
+    \@addtofilelist{ #2}%
+    \endgroup}
+\long\def\@addtofilelist#1{}
+\def\@empty{}
+\catcode`\%=12
+\def\@percentchar{%}
+\catcode`\%=14
+\let\@currdir\@undefined
+\let\input@path\@undefined
+\let\filename@parse\@undefined
+\def\strip@prefix#1>{}
+\input texsys.cfg
+\begingroup
+\count@\time
+\divide\count@ 60
+\count2=-\count@
+\multiply\count2 60
+\advance\count2 \time
+\edef\today{%
+  \the\year/\two@digits{\the\month}/\two@digits{\the\day}:%
+    \two@digits{\the\count@}:\two@digits{\the\count2}}
+\immediate\openout15=texsys.aux
+\immediate\write15{\today^^J}
+\immediate\closeout15 %
+\def\IfFileExists#1#2#3{%
+  \openin\@inputcheck#1 %
+  \ifeof\@inputcheck
+     #3\relax
+  \else
+    \read\@inputcheck to \reserved@a
+    \ifx\reserved@a\today
+      \typeout{#1 found}#2\relax
+    \else
+      \typeout{BAD: old file \reserved@a (should be \today)}%
+      #3\relax
+    \fi
+  \fi
+  \closein\@inputcheck}
+\endlinechar=-1
+\ifx\@currdir\@undefined
+  \IfFileExists{./texsys.aux}{\gdef\@currdir{./}}%
+    {\IfFileExists{[]texsys.aux}{\gdef\@currdir{[]}}%
+      {\IfFileExists{:texsys.aux}{\gdef\@currdir{:}}{}}}
+  \ifx\@currdir\@undefined
+    \global\let\@currdir\@empty
+    \typeout{^^J^^J%
+      !! No syntax for the current directory could be found^^J%
+      }%
+  \fi
+\else
+  \IfFileExists{\@currdir texsys.aux}{}{%
+    \edef\reserved@a{\errhelp{%
+      texsys.cfg specifies the current directory syntax to be^^J%
+      \meaning\@currdir^^J%
+      but this does not work on this system.^^J%
+      Remove texsys.cfg and restart.}}\reserved@a
+    \errmessage{Bad texsys.cfg file: \noexpand\@currdir}\@@end}
+\fi
+\immediate\closeout15 %
+\endgroup
+\typeout{^^J^^J%
+         \noexpand\@currdir set to:
+           \expandafter\strip@prefix\meaning\@currdir.^^J%
+         }
+  \typeout{^^J%
+    Assuming \noexpand\openin and \noexpand\input^^J%
+    \ifx\input@path\@undefined
+      have the same search path.^^J%
+    \else
+      have different  search paths.^^J%
+      LaTeX will use the path specified by \noexpand\input@path:^^J%
+    \fi
+    }
+\ifx\filename@parse\@undefined
+  \def\reserved@a{./}\ifx\@currdir\reserved@a
+    \typeout{^^JDefining UNIX/DOS style filename parser.^^J}
+    \def\filename@parse#1{%
+      \let\filename@area\@empty
+      \expandafter\filename@path#1/\\}
+    \def\filename@path#1/#2\\{%
+      \ifx\\#2\\%
+         \def\reserved@a{\filename@simple#1.\\}%
+      \else
+         \edef\filename@area{\filename@area#1/}%
+         \def\reserved@a{\filename@path#2\\}%
+      \fi
+      \reserved@a}
+  \else\def\reserved@a{[]}\ifx\@currdir\reserved@a
+    \typeout{^^JDefining VMS style filename parser.^^J}
+    \def\filename@parse#1{%
+      \let\filename@area\@empty
+      \expandafter\filename@path#1]\\}
+    \def\filename@path#1]#2\\{%
+      \ifx\\#2\\%
+         \def\reserved@a{\filename@simple#1.\\}%
+      \else
+         \edef\filename@area{\filename@area#1]}%
+         \def\reserved@a{\filename@path#2\\}%
+      \fi
+      \reserved@a}
+  \else\def\reserved@a{:}\ifx\@currdir\reserved@a
+    \typeout{^^JDefining Mac style filename parser.^^J}
+    \def\filename@parse#1{%
+      \let\filename@area\@empty
+      \expandafter\filename@path#1:\\}
+    \def\filename@path#1:#2\\{%
+      \ifx\\#2\\%
+         \def\reserved@a{\filename@simple#1.\\}%
+      \else
+         \edef\filename@area{\filename@area#1:}%
+         \def\reserved@a{\filename@path#2\\}%
+      \fi
+      \reserved@a}
+  \else
+    \typeout{^^JDefining generic filename parser.^^J}
+    \def\filename@parse#1{%
+      \let\filename@area\@empty
+      \expandafter\filename@simple#1.\\}
+  \fi\fi\fi
+  \def\filename@simple#1.#2\\{%
+    \ifx\\#2\\%
+       \let\filename@ext\relax
+    \else
+       \edef\filename@ext{\filename@dot#2\\}%
+    \fi
+    \edef\filename@base{#1}}
+  \def\filename@dot#1.\\{#1}
+\else
+  \typeout{^^J^^J%
+    \noexpand\filename@parse was defined in texsys.cfg:^^J%
+    \expandafter\strip@prefix\meaning\filename@parse.^^J%
+    }
+\fi
+\ifx\@TeXversion\@undefined
+  \ifx\@undefined\inputlineno
+    \def\@TeXversion{2}
+  \else
+   {\catcode`\^^J=\active
+     \def\reserved@a#1#2\@@{\if#1\string^3\fi}
+     \edef\reserved@a{\expandafter\reserved@a\string^^J\@@}
+     \ifx\reserved@a\@empty\else\gdef\@TeXversion{3}\fi}
+  \fi
+\fi
+%%% From File: ltplain.dtx
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%%
+\catcode`\{=1 % left brace is begin-group character
+\catcode`\}=2 % right brace is end-group character
+\catcode`\$=3 % dollar sign is math shift
+\catcode`\&=4 % ampersand is alignment tab
+\catcode`\#=6 % hash mark is macro parameter character
+\catcode`\^=7 % circumflex and uparrow are for superscripts
+\catcode`\_=8 % underline and downarrow are for subscripts
+\catcode`\^^I=10 % ascii tab is a blank space
+\chardef\active=13 \catcode`\~=\active % tilde is active
+\catcode`\^^L=\active \outer\def^^L{\par}% ascii form-feed is \outer\par
+\message{catcodes,}
+\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\_\do\%\do\~}
+\catcode`@=11
+\chardef\@ne=1
+\chardef\tw@=2
+\chardef\thr@@=3
+\chardef\sixt@@n=16
+\chardef\@cclv=255
+\mathchardef\@cclvi=256
+\mathchardef\@m=1000
+\mathchardef\@M=10000
+\mathchardef\@MM=20000
+\message{registers,}
+\count10=22 % allocates \count registers 23, 24, ...
+\count11=9 % allocates \dimen registers 10, 11, ...
+\count12=9 % allocates \skip registers 10, 11, ...
+\count13=9 % allocates \muskip registers 10, 11, ...
+\count14=9 % allocates \box registers 10, 11, ...
+\count15=9 % allocates \toks registers 10, 11, ...
+\count16=-1 % allocates input streams 0, 1, ...
+\count17=-1 % allocates output streams 0, 1, ...
+\count18=3 % allocates math families 4, 5, ...
+\count19=0 % allocates \language codes 1, 2, ...
+\count20=255 % allocates insertions 254, 253, ...
+\countdef\insc@unt=20
+\countdef\allocationnumber=21
+\countdef\m@ne=22 \m@ne=-1
+\def\wlog{\immediate\write\m@ne}
+\countdef\count@=255
+\dimendef\dimen@=0
+\dimendef\dimen@i=1 % global only
+\dimendef\dimen@ii=2
+\skipdef\skip@=0
+\toksdef\toks@=0
+\def\newcount{\alloc@0\count\countdef\insc@unt}
+\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
+\def\newskip{\alloc@2\skip\skipdef\insc@unt}
+\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi}
+\def\newbox{\alloc@4\box\chardef\insc@unt}
+\def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}}
+\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
+\def\newread{\alloc@6\read\chardef\sixt@@n}
+\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+\def\newlanguage{\alloc@9\language\chardef\@cclvi}
+\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
+  \ch@ck#1#4#2% make sure there's still room
+  \allocationnumber\count1#1%
+  \global#3#5\allocationnumber
+  \wlog{\string#5=\string#2\the\allocationnumber}}
+\def\newinsert#1{\global\advance\insc@unt \m@ne
+  \ch@ck0\insc@unt\count
+  \ch@ck1\insc@unt\dimen
+  \ch@ck2\insc@unt\skip
+  \ch@ck4\insc@unt\box
+  \allocationnumber\insc@unt
+  \global\chardef#1\allocationnumber
+  \wlog{\string#1=\string\insert\the\allocationnumber}}
+\gdef\ch@ck#1#2#3{%
+  \ifnum\count1#1<#2\else
+   \errmessage{No room for a new #3}%
+  \fi}
+\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen>
+\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow
+\newdimen\p@ \p@=1pt % this saves macro space and time
+\newdimen\z@ \z@=0pt % can be used both for 0pt and 0
+\newskip\z@skip \z@skip=0pt plus0pt minus0pt
+\newbox\voidb@x % permanently void box register
+\message{compatibility for TeX 2, }
+\ifx\@undefined\inputlineno
+  \newcount\inputlineno
+  \inputlineno-1
+  \ifx\@undefined\language
+    \newcount\language
+  \fi
+  \newcount\lefthyphenmin
+  \newcount\righthyphenmin
+  \newcount\errorcontextlines
+  \newcount\holdinginserts
+  \newdimen\emergencystretch
+  \newcount\badness
+  \let\noboundary\relax
+  \newcount\setlanguage
+\fi
+\message{parameters,}
+\pretolerance=100
+\tolerance=200 % INITEX sets this to 10000
+\hbadness=1000
+\vbadness=1000
+\linepenalty=10
+\hyphenpenalty=50
+\exhyphenpenalty=50
+\binoppenalty=700
+\relpenalty=500
+\clubpenalty=150
+\widowpenalty=150
+\displaywidowpenalty=50
+\brokenpenalty=100
+\predisplaypenalty=10000
+\doublehyphendemerits=10000
+\finalhyphendemerits=5000
+\adjdemerits=10000
+\tracinglostchars=1
+\uchyph=1
+\defaulthyphenchar=`\-
+\defaultskewchar=-1
+\delimiterfactor=901
+\showboxbreadth=-1
+\showboxdepth=-1
+\errorcontextlines=-1
+\hfuzz=0.1pt
+\vfuzz=0.1pt
+\overfullrule=5pt
+\maxdepth=4pt
+\splitmaxdepth=\maxdimen
+\boxmaxdepth=\maxdimen
+\delimitershortfall=5pt
+\nulldelimiterspace=1.2pt
+\scriptspace=0.5pt
+\parindent=20pt
+\parskip=0pt plus 1pt
+\abovedisplayskip=12pt plus 3pt minus 9pt
+\abovedisplayshortskip=0pt plus 3pt
+\belowdisplayskip=12pt plus 3pt minus 9pt
+\belowdisplayshortskip=7pt plus 3pt minus 4pt
+\topskip=10pt
+\splittopskip=10pt
+\parfillskip=0pt plus 1fil
+\newskip\normalbaselineskip \normalbaselineskip=12pt
+\newskip\normallineskip \normallineskip=1pt
+\newdimen\normallineskiplimit \normallineskiplimit=0pt
+\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100
+\def\magstephalf{1095 }
+\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or
+               2074\or 2488\fi\relax}
+\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m
+  \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m}
+\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000%
+  \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 }
+\def\normalbaselines{\lineskip\normallineskip
+  \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit}
+\def\^^M{\ } % control <return> = control <space>
+\let\^^I\^^M % same for <tab>
+\def\lq{`}
+\def\rq{'}
+\def\lbrack{[}
+\def\rbrack{]}
+\def \aa {\r a}
+\def \AA {\r A}
+\let\endgraf=\par
+\let\endline=\cr
+\def\space{ }
+\let\empty\@empty
+\def\null{\hbox{}}
+\let\bgroup={
+\let\egroup=}
+{\catcode`\^^M=\active % these lines must end with %
+  \gdef\obeylines{\catcode`\^^M\active \let^^M\par}%
+  \global\let^^M\par} % this is in case ^^M appears in a \write
+\def\obeyspaces{\catcode`\ \active}
+{\obeyspaces\global\let =\space}
+\long\def \loop #1\repeat{%
+  \def\iterate{#1\relax  % Extra \relax
+               \expandafter\iterate\fi
+               }%
+  \iterate
+  \let\iterate\relax
+}
+\let\repeat=\fi
+\def\nointerlineskip{\prevdepth-\@m\p@}
+\def\offinterlineskip{\baselineskip-\@m\p@
+  \lineskip\z@ \lineskiplimit\maxdimen}
+\def\vglue{\afterassignment\vgl@\skip@=}
+\def\vgl@{\par \dimen@\prevdepth \hrule \@height\z@
+  \nobreak\vskip\skip@ \prevdepth\dimen@}
+\def\hglue{\afterassignment\hgl@\skip@=}
+\def\hgl@{\leavevmode \count@\spacefactor \vrule \@width\z@
+  \nobreak\hskip\skip@ \spacefactor\count@}
+\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-'
+\def\break{\penalty-\@M}
+\def\nobreak{\penalty \@M}
+\def\allowbreak{\penalty \z@}
+\def\filbreak{\par\vfil\penalty-200\vfilneg}
+\def\goodbreak{\par\penalty-500 }
+\def\eject{\par\break}
+\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi}
+\def\smallbreak{\par\ifdim\lastskip<\smallskipamount
+  \removelastskip\penalty-50\smallskip\fi}
+\def\medbreak{\par\ifdim\lastskip<\medskipamount
+  \removelastskip\penalty-100\medskip\fi}
+\def\bigbreak{\par\ifdim\lastskip<\bigskipamount
+  \removelastskip\penalty-200\bigskip\fi}
+\def\m@th{\mathsurround\z@}
+\def\underbar#1{\underline{\sbox\tw@{#1}\dp\tw@\z@\box\tw@}}
+\newbox\strutbox
+\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
+\def\hidewidth{\hskip\hideskip}
+\def\narrower{%
+  \advance\leftskip\parindent
+  \advance\rightskip\parindent}
+\chardef\%=`\%
+\chardef\&=`\&
+\chardef\#=`\#
+\def\leavevmode{\unhbox\voidb@x}
+\def\mathhexbox#1#2#3{\mbox{$\m@th \mathchar"#1#2#3$}}
+\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign
+\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
+  \ialign{##\crcr#1\crcr}}}
+\def\o@lign{\lineskiplimit\z@ \oalign}
+\def\ooalign{\lineskiplimit-\maxdimen \oalign}
+\def\sh@ft#1{\dimen@.00#1ex\multiply\dimen@\fontdimen1\font
+  \kern-.0156\dimen@} % compensate for slant in lowered accents
+\def\hrulefill{\leavevmode\leaders\hrule\hfill\kern\z@}
+\def\dotfill{%
+  \leavevmode
+  \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
+  \kern\z@}
+\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0
+\def\showoverfull{\tracingonline\@ne}
+\gdef\loggingoutput{\tracingoutput\@ne
+    \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode}
+\gdef\showoutput{\loggingoutput\showoverfull}
+\gdef\loggingall{\tracingcommands\tw@\tracingstats\tw@
+  \tracingpages\@ne\tracinglostchars\@ne
+  \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne
+  \errorcontextlines\maxdimen\loggingoutput}
+\gdef\tracingall{\loggingall\showoverfull}
+\nonfrenchspacing
+%%% From File: ltvers.dtx
+\def\fmtname{LaTeX2e}
+\edef\fmtversion{2003/12/01}
+\iftrue
+\def\reserved@a#1/#2/#3\@nil{%
+  \count@\year
+  \advance\count@-#1\relax
+  \multiply\count@ by 12\relax
+  \advance\count@\month
+  \advance\count@-#2\relax}
+\expandafter\reserved@a\fmtversion\@nil
+\ifnum\count@>65
+  \typeout{^^J%
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
+!  You are attempting to make a LaTeX format from a source file^^J%
+!  That is more than five years old.^^J%
+!^^J%
+!  If you enter <return> to scroll past this message then the format^^J%
+!  will be built, but please consider obtaining newer source files^^J%
+!  before continuing to build LaTeX.^^J%
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
+}
+   \errhelp{To avoid this error message, obtain new LaTeX sources.}
+   \errmessage{LaTeX source files more than 5 years old!}
+\fi
+\let\reserved@a\relax
+\fi
+\everyjob{\typeout{\fmtname
+                                     \space<\fmtversion>}}
+\immediate\write16{\fmtname
+                                     \space<\fmtversion>}
+%%% From File: ltdefns.dtx
+\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
+\def\typeout#1{\begingroup\set@display@protect
+    \immediate\write\@unused{#1}\endgroup}
+\newlinechar`\^^J
+\let\@@par=\par
+\let\@@hyph=\-        % Save original primitive definition
+\def\-{\discretionary{-}{}{}}
+\let\@dischyph=\-
+\let\@@italiccorr=\/
+\def\@height{height} \def\@depth{depth} \def\@width{width}
+\def\@minus{minus}
+\def\@plus{plus}
+\def\hb@xt@{\hbox to}
+\message{hacks,}
+\def\typein{%
+  \let\@typein\relax
+  \@testopt\@xtypein\@typein}
+\def\@xtypein[#1]#2{%
+  \typeout{#2}%
+  \advance\endlinechar\@M
+  \read\@inputcheck to#1%
+  \advance\endlinechar-\@M
+  \@typein}
+\def\@namedef#1{\expandafter\def\csname #1\endcsname}
+\def\@nameuse#1{\csname #1\endcsname}
+\def\@cons#1#2{\begingroup\let\@elt\relax\xdef#1{#1\@elt #2}\endgroup}
+\def\@car#1#2\@nil{#1}
+\def\@cdr#1#2\@nil{#2}
+\def\@carcube#1#2#3#4\@nil{#1#2#3}
+\def\@preamblecmds{}
+\def\@onlypreamble#1{%
+  \expandafter\gdef\expandafter\@preamblecmds\expandafter{%
+       \@preamblecmds\do#1}}
+\@onlypreamble\@onlypreamble
+\@onlypreamble\@preamblecmds
+\def\@star@or@long#1{%
+  \@ifstar
+   {\let\l@ngrel@x\relax#1}%
+   {\let\l@ngrel@x\long#1}}
+
+\let\l@ngrel@x\relax
+\def\newcommand{\@star@or@long\new@command}
+\def\new@command#1{%
+  \@testopt{\@newcommand#1}0}
+\def\@newcommand#1[#2]{%
+  \kernel@ifnextchar [{\@xargdef#1[#2]}%
+                {\@argdef#1[#2]}}
+\long\def\@argdef#1[#2]#3{%
+   \@ifdefinable #1{\@yargdef#1\@ne{#2}{#3}}}
+\long\def\@xargdef#1[#2][#3]#4{%
+  \@ifdefinable#1{%
+     \expandafter\def\expandafter#1\expandafter{%
+          \expandafter
+          \@protected@testopt
+          \expandafter
+          #1%
+          \csname\string#1\endcsname
+          {#3}}%
+       \expandafter\@yargdef
+          \csname\string#1\endcsname
+           \tw@
+           {#2}%
+           {#4}}}
+\long\def\@testopt#1#2{%
+  \kernel@ifnextchar[{#1}{#1[{#2}]}}
+\def\@protected@testopt#1{%%
+  \ifx\protect\@typeset@protect
+    \expandafter\@testopt
+  \else
+    \@x@protect#1%
+  \fi}
+\long \def \@yargdef #1#2#3{%
+  \ifx#2\tw@
+    \def\reserved@b##11{[####1]}%
+  \else
+    \let\reserved@b\@gobble
+  \fi
+  \expandafter
+    \@yargd@f \expandafter{\number #3}#1%
+}
+\long \def \@yargd@f#1#2{%
+  \def \reserved@a ##1#1##2##{%
+    \expandafter\def\expandafter#2\reserved@b ##1#1%
+    }%
+  \l@ngrel@x \reserved@a 0##1##2##3##4##5##6##7##8##9###1%
+}
+\long\def\@reargdef#1[#2]{%
+  \@yargdef#1\@ne{#2}}
+\def\renewcommand{\@star@or@long\renew@command}
+\def\renew@command#1{%
+  \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup
+  \expandafter\@ifundefined\@gtempa
+     {\@latex@error{\noexpand#1undefined}\@ehc}%
+     \relax
+  \let\@ifdefinable\@rc@ifdefinable
+  \new@command#1}
+\long\def\@ifdefinable #1#2{%
+      \edef\reserved@a{\expandafter\@gobble\string #1}%
+     \@ifundefined\reserved@a
+         {\edef\reserved@b{\expandafter\@carcube \reserved@a xxx\@nil}%
+          \ifx \reserved@b\@qend \@notdefinable\else
+            \ifx \reserved@a\@qrelax \@notdefinable\else
+              #2%
+            \fi
+          \fi}%
+         \@notdefinable}
+\let\@@ifdefinable\@ifdefinable
+\long\def\@rc@ifdefinable#1#2{%
+  \let\@ifdefinable\@@ifdefinable
+  #2}
+\def\newenvironment{\@star@or@long\new@environment}
+\def\new@environment#1{%
+  \@testopt{\@newenva#1}0}
+\def\@newenva#1[#2]{%
+   \kernel@ifnextchar [{\@newenvb#1[#2]}{\@newenv{#1}{[#2]}}}
+\def\@newenvb#1[#2][#3]{\@newenv{#1}{[#2][{#3}]}}
+\def\renewenvironment{\@star@or@long\renew@environment}
+\def\renew@environment#1{%
+  \@ifundefined{#1}%
+     {\@latex@error{Environment #1 undefined}\@ehc
+     }\relax
+  \expandafter\let\csname#1\endcsname\relax
+  \expandafter\let\csname end#1\endcsname\relax
+  \new@environment{#1}}
+\long\def\@newenv#1#2#3#4{%
+  \@ifundefined{#1}%
+    {\expandafter\let\csname#1\expandafter\endcsname
+                         \csname end#1\endcsname}%
+    \relax
+  \expandafter\new@command
+     \csname #1\endcsname#2{#3}%
+     \l@ngrel@x\expandafter\def\csname end#1\endcsname{#4}}
+\def\newif#1{%
+  \count@\escapechar \escapechar\m@ne
+    \let#1\iffalse
+    \@if#1\iftrue
+    \@if#1\iffalse
+  \escapechar\count@}
+\def\@if#1#2{%
+  \expandafter\def\csname\expandafter\@gobbletwo\string#1%
+                    \expandafter\@gobbletwo\string#2\endcsname
+                       {\let#1#2}}
+\def\providecommand{\@star@or@long\provide@command}
+\def\provide@command#1{%
+  \begingroup
+    \escapechar\m@ne\xdef\@gtempa{{\string#1}}%
+  \endgroup
+  \expandafter\@ifundefined\@gtempa
+    {\def\reserved@a{\new@command#1}}%
+    {\def\reserved@a{\renew@command\reserved@a}}%
+   \reserved@a}%
+\def\CheckCommand{\@star@or@long\check@command}
+\@onlypreamble\CheckCommand
+\def\check@command#1#2#{\@check@c#1{#2}}
+\@onlypreamble\check@command
+\long\def\@check@c#1#2#3{%
+  \expandafter\let\csname\string\reserved@a\endcsname\relax
+  \renew@command\reserved@a#2{#3}%
+  \@ifundefined{\string\reserved@a}%
+   {\@check@eq#1\reserved@a}%
+   {\expandafter\@check@eq
+           \csname\string#1\expandafter\endcsname
+           \csname\string\reserved@a\endcsname}}
+\@onlypreamble\@check@c
+\def\@check@eq#1#2{%
+  \ifx#1#2\else
+     \@latex@warning@no@line
+               {Command \noexpand#1 has
+                changed.\MessageBreak
+                Check if current package is valid}%
+  \fi}
+\@onlypreamble\@check@eq
+\long\def \@gobble #1{}
+\long\def \@gobbletwo #1#2{}
+\long\def \@gobblefour #1#2#3#4{}
+\long\def\@firstofone#1{#1}
+\long\def\@firstoftwo#1#2{#1}
+\long\def\@secondoftwo#1#2{#2}
+\let\@iden\@firstofone
+\long\def\@thirdofthree#1#2#3{#3}
+\def\@expandtwoargs#1#2#3{%
+\edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a}
+\edef\@backslashchar{\expandafter\@gobble\string\\}
+\def\@unexpandable@protect{\noexpand\protect\noexpand}
+\def\DeclareRobustCommand{\@star@or@long\declare@robustcommand}
+\def\declare@robustcommand#1{%
+   \ifx#1\@undefined\else\ifx#1\relax\else
+      \@latex@info{Redefining \string#1}%
+   \fi\fi
+   \edef\reserved@a{\string#1}%
+   \def\reserved@b{#1}%
+   \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
+   \edef#1{%
+      \ifx\reserved@a\reserved@b
+         \noexpand\x@protect
+         \noexpand#1%
+      \fi
+      \noexpand\protect
+      \expandafter\noexpand\csname
+         \expandafter\@gobble\string#1 \endcsname
+   }%
+   \let\@ifdefinable\@rc@ifdefinable
+   \expandafter\new@command\csname
+      \expandafter\@gobble\string#1 \endcsname
+}
+\def\x@protect#1{%
+   \ifx\protect\@typeset@protect\else
+      \@x@protect#1%
+   \fi
+}
+\def\@x@protect#1\fi#2#3{%
+   \fi\protect#1%
+}
+\let\@typeset@protect\relax
+\def\set@display@protect{\let\protect\string}
+\def\set@typeset@protect{\let\protect\@typeset@protect}
+\def\protected@edef{%
+   \let\@@protect\protect
+   \let\protect\@unexpandable@protect
+   \afterassignment\restore@protect
+   \edef
+}
+\def\protected@xdef{%
+   \let\@@protect\protect
+   \let\protect\@unexpandable@protect
+   \afterassignment\restore@protect
+   \xdef
+}
+\def\unrestored@protected@xdef{%
+   \let\protect\@unexpandable@protect
+   \xdef
+}
+\def\restore@protect{\let\protect\@@protect}
+\set@typeset@protect
+\def\@ifundefined#1{%
+  \expandafter\ifx\csname#1\endcsname\relax
+    \expandafter\@firstoftwo
+  \else
+    \expandafter\@secondoftwo
+  \fi}
+\edef\@qend{\expandafter\@cdr\string\end\@nil}
+\edef\@qrelax{\expandafter\@cdr\string\relax\@nil}
+\long\def\@ifnextchar#1#2#3{%
+  \let\reserved@d=#1%
+  \def\reserved@a{#2}%
+  \def\reserved@b{#3}%
+  \futurelet\@let@token\@ifnch}
+\let\kernel@ifnextchar\@ifnextchar
+\def\@ifnch{%
+  \ifx\@let@token\@sptoken
+    \let\reserved@c\@xifnch
+  \else
+    \ifx\@let@token\reserved@d
+      \let\reserved@c\reserved@a
+    \else
+      \let\reserved@c\reserved@b
+    \fi
+  \fi
+  \reserved@c}
+\def\:{\let\@sptoken= } \:  % this makes \@sptoken a space token
+\def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch}
+
+\def\makeatletter{\catcode`\@11\relax}
+\def\makeatother{\catcode`\@12\relax}
+\def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}}
+\long\def\@dblarg#1{\kernel@ifnextchar[{#1}{\@xdblarg{#1}}}
+\long\def\@xdblarg#1#2{#1[{#2}]{#2}}
+\def\@sanitize{\@makeother\ \@makeother\\\@makeother\$\@makeother\&%
+\@makeother\#\@makeother\^\@makeother\_\@makeother\%\@makeother\~}
+\def \@onelevel@sanitize #1{%
+  \edef #1{\expandafter\strip@prefix
+           \meaning #1}%
+}
+%%% From File: ltalloc.dtx
+\chardef\@xxxii=32
+\mathchardef\@Mi=10001
+\mathchardef\@Mii=10002
+\mathchardef\@Miii=10003
+\mathchardef\@Miv=10004
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newif\if@tempswa
+\newdimen\@tempdima
+\newdimen\@tempdimb
+\newdimen\@tempdimc
+\newbox\@tempboxa
+\newskip\@tempskipa
+\newskip\@tempskipb
+\newtoks\@temptokena
+\newskip\@flushglue \@flushglue = 0pt plus 1fil
+%%% From File: ltcntrl.dtx
+\message{control,}
+\long\def\@whilenum#1\do #2{\ifnum #1\relax #2\relax\@iwhilenum{#1\relax
+     #2\relax}\fi}
+\long\def\@iwhilenum#1{\ifnum #1\expandafter\@iwhilenum
+         \else\expandafter\@gobble\fi{#1}}
+\long\def\@whiledim#1\do #2{\ifdim #1\relax#2\@iwhiledim{#1\relax#2}\fi}
+\long\def\@iwhiledim#1{\ifdim #1\expandafter\@iwhiledim
+        \else\expandafter\@gobble\fi{#1}}
+\long\def\@whilesw#1\fi#2{#1#2\@iwhilesw{#1#2}\fi\fi}
+\long\def\@iwhilesw#1\fi{#1\expandafter\@iwhilesw
+         \else\@gobbletwo\fi{#1}\fi}
+\def\@nnil{\@nil}
+\def\@empty{}
+\def\@fornoop#1\@@#2#3{}
+\long\def\@for#1:=#2\do#3{%
+  \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+  \ifx\@fortmp\@empty \else
+    \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+\long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+       #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}
+\long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+       \expandafter\@fornoop \else
+      #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}
+\def\@tfor#1:={\@tf@r#1 }
+\long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else
+    \@tforloop#2\@nil\@nil\@@#1{#3}\fi}
+\long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+       \expandafter\@fornoop \else
+      #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}}
+\long\def\@break@tfor#1\@@#2#3{\fi\fi}
+\def\@removeelement#1#2#3{%
+  \def\reserved@a##1,#1,##2\reserved@a{##1,##2\reserved@b}%
+  \def\reserved@b##1,\reserved@b##2\reserved@b{%
+    \ifx,##1\@empty\else##1\fi}%
+  \edef#3{%
+    \expandafter\reserved@b\reserved@a,#2,\reserved@b,#1,\reserved@a}}
+%%% From File: lterror.dtx
+\expandafter\let\csname ver@autoerr.sty\endcsname\fmtversion
+\let\MessageBreak\relax
+\DeclareRobustCommand{\GenericInfo}[2]{%
+   \begingroup
+      \def\MessageBreak{^^J#1}%
+      \set@display@protect
+      \immediate\write\m@ne{#2\on@line.}%
+   \endgroup
+}
+\DeclareRobustCommand{\GenericWarning}[2]{%
+   \begingroup
+      \def\MessageBreak{^^J#1}%
+      \set@display@protect
+      \immediate\write\@unused{^^J#2\on@line.^^J}%
+   \endgroup
+}
+\bgroup
+\lccode`\@=`\ %
+\lccode`\~=`\ %
+\lccode`\}=`\ %
+\lccode`\{=`\ %
+\lccode`\T=`\T%
+\lccode`\H=`\H%
+\catcode`\ =11\relax%
+\lowercase{%
+\egroup%
+\dimen@\ifx\@TeXversion\@undefined4\else\@TeXversion\fi\p@%
+\ifdim\dimen@>3.14\p@%
+\DeclareRobustCommand{\GenericError}[4]{%
+\begingroup%
+\immediate\write\@unused{}%
+\def\MessageBreak{^^J}%
+\set@display@protect%
+\edef%
+\@err@                                                                 %
+{{#4}}%
+\errhelp
+\@err@                                                                 %
+\let
+\@err@                                                                 %
+\@empty
+\def\MessageBreak{^^J#1}%
+\def~{\errmessage{%
+#2.^^J^^J%
+#3^^J%
+Type  H <return>  for immediate help%
+\@err@                                                                 %
+}}%
+~%
+\endgroup}%
+\else%
+\DeclareRobustCommand{\GenericError}[4]{%
+\begingroup%
+\immediate\write\@unused{}%
+\def\MessageBreak{^^J}%
+\set@display@protect%
+\edef%
+\@err@                                                                 %
+{{#4}}%
+\errhelp
+\@err@                                                                 %
+\let
+\@err@                                                                 %
+\errmessage
+\def\MessageBreak{^^J#1}%
+\def~{\typeout{! %
+#2.^^J^^J%
+#3^^J%
+Type  H <return>  for immediate help.}%
+\@err@                                                                 %
+{}}%
+~%
+\endgroup}%
+\fi}%
+\gdef\PackageError#1#2#3{%
+   \GenericError{%
+      (#1)\@spaces\@spaces\@spaces\@spaces
+   }{%
+      Package #1 Error: #2%
+   }{%
+      See the #1 package documentation for explanation.%
+   }{#3}%
+}
+\def\PackageWarning#1#2{%
+   \GenericWarning{%
+      (#1)\@spaces\@spaces\@spaces\@spaces
+   }{%
+      Package #1 Warning: #2%
+   }%
+}
+\def\PackageWarningNoLine#1#2{%
+   \PackageWarning{#1}{#2\@gobble}%
+}
+\def\PackageInfo#1#2{%
+   \GenericInfo{%
+      (#1) \@spaces\@spaces\@spaces
+   }{%
+      Package #1 Info: #2%
+   }%
+}
+\gdef\ClassError#1#2#3{%
+   \GenericError{%
+      (#1) \space\@spaces\@spaces\@spaces
+   }{%
+      Class #1 Error: #2%
+   }{%
+      See the #1 class documentation for explanation.%
+   }{#3}%
+}
+\def\ClassWarning#1#2{%
+   \GenericWarning{%
+      (#1) \space\@spaces\@spaces\@spaces
+   }{%
+      Class #1 Warning: #2%
+   }%
+}
+\def\ClassWarningNoLine#1#2{%
+   \ClassWarning{#1}{#2\@gobble}%
+}
+\def\ClassInfo#1#2{%
+   \GenericInfo{%
+      (#1) \space\space\@spaces\@spaces
+   }{%
+      Class #1 Info: #2%
+   }%
+}
+\gdef\@latex@error#1#2{%
+   \GenericError{%
+      \space\space\space\@spaces\@spaces\@spaces
+   }{%
+      LaTeX Error: #1%
+   }{%
+      See the LaTeX manual or LaTeX Companion for explanation.%
+   }{#2}%
+}
+\def\@latex@warning#1{%
+   \GenericWarning{%
+      \space\space\space\@spaces\@spaces\@spaces
+   }{%
+      LaTeX Warning: #1%
+   }%
+}
+\def\@latex@warning@no@line#1{%
+   \@latex@warning{#1\@gobble}}
+\def\@latex@info#1{%
+   \GenericInfo{%
+      \@spaces\@spaces\@spaces
+   }{%
+      LaTeX Info: #1%
+   }%
+}
+\def\@latex@info@no@line#1{%
+  \@latex@info{#1\@gobble}}
+\let\c@errorcontextlines\errorcontextlines
+\c@errorcontextlines=-1
+\ifnum\inputlineno=\m@ne
+  \let\on@line\@empty
+\else
+  \def\on@line{ on input line \the\inputlineno}
+\fi
+\let\@warning\@latex@warning
+\let\@@warning\@latex@warning@no@line
+\global\let\@latexerr\@latex@error
+\def\@spaces{\space\space\space\space}
+\gdef\@eha{%
+  Your command was ignored.\MessageBreak
+  Type \space I <command> <return> \space to replace it %
+  with another command,\MessageBreak
+  or \space <return> \space to continue without it.}
+\gdef\@ehb{%
+  You've lost some text. \space \@ehc}
+\gdef\@ehc{%
+  Try typing \space <return> %
+  \space to proceed.\MessageBreak
+  If that doesn't work, type \space X <return> \space to quit.}
+\gdef\@ehd{%
+  You're in trouble here.  \space\@ehc}
+\gdef\@notdefinable{%
+ \@latex@error{%
+   Command \@backslashchar\reserved@a\space
+   already defined.\MessageBreak
+   Or name \@backslashchar\@qend... illegal,
+   see p.192 of the manual}\@eha}
+\gdef\@nolnerr{%
+  \@latex@error{There's no line here to end}\@eha}
+\gdef\@nocounterr#1{%
+  \@latex@error{No counter '#1' defined}\@eha}
+\gdef\@nocnterr{\@nocounterr?}
+\gdef\@ctrerr{%
+  \@latex@error{Counter too large}\@ehb}
+\gdef\@nodocument{%
+  \@latex@error{Missing \protect\begin{document}}\@ehd}
+\gdef\@badend#1{%
+  \@latex@error{\protect\begin{\@currenvir}\@currenvline
+                     \space ended by \protect\end{#1}}\@eha}
+\gdef\@badmath{%
+  \@latex@error{Bad math environment delimiter}\@eha}
+\gdef\@toodeep{%
+  \@latex@error{Too deeply nested}\@ehd}
+\gdef\@badpoptabs{%
+  \@latex@error{\protect\pushtabs\space and \protect\poptabs
+      \space don't match}\@ehd}
+\gdef\@badtab{%
+ \@latex@error{Undefined tab position}\@ehd}
+\gdef\@preamerr#1{%
+  \begingroup
+    \let\protect\relax
+    \@latex@error{\ifcase #1 Illegal character\or
+     Missing @-exp\or Missing p-arg\fi\space
+     in array arg}\@ehd
+  \endgroup}
+\gdef\@badlinearg{%
+  \@latex@error{%
+       Bad \protect\line\space or \protect\vector
+       \space argument}\@ehb}
+\gdef\@parmoderr{%
+  \@latex@error{Not in outer par mode}\@ehb}
+\gdef\@fltovf{%
+  \@latex@error{Too many unprocessed floats}\@ehb}
+\gdef\@latexbug{%
+  \@latex@error{This may be a LaTeX bug}{Call for help}}
+\gdef\@noitemerr{%
+  \@latex@error{Something's wrong--perhaps a missing %
+      \protect\item}\@ehc}
+\gdef\@notprerr{%
+  \@latex@error{Can be used only in preamble}\@eha}
+\gdef\@inmatherr#1{%
+   \relax
+   \ifmmode
+ \@latex@error{Command \protect#1 invalid in math mode}\@ehc
+   \fi}
+%%% From File: ltpar.dtx
+\message{par,}
+\def\@setpar#1{\def\par{#1}\def\@par{#1}}
+\def\@par{\let\par\@@par\par}
+\def\@restorepar{\def\par{\@par}}
+%%% From File: ltspace.dtx
+\message{spacing,}
+\def\pagebreak{\@testopt{\@no@pgbk-}4}
+\def\nopagebreak{\@testopt\@no@pgbk4}
+\def\@no@pgbk #1[#2]{%
+  \ifvmode
+    \penalty #1\@getpen{#2}%
+  \else
+    \@bsphack
+    \vadjust{\penalty #1\@getpen{#2}}%
+    \@esphack
+  \fi}
+\def\linebreak{\@testopt{\@no@lnbk-}4}
+\def\nolinebreak{\@testopt\@no@lnbk4}
+\def\@no@lnbk #1[#2]{%
+  \ifvmode
+    \@nolnerr
+  \else
+    \@tempskipa\lastskip
+    \unskip
+    \penalty #1\@getpen{#2}%
+    \ifdim\@tempskipa>\z@
+      \hskip\@tempskipa
+      \ignorespaces
+    \fi
+  \fi}
+\def\samepage{\interlinepenalty\@M
+   \postdisplaypenalty\@M
+   \interdisplaylinepenalty\@M
+   \@beginparpenalty\@M
+   \@endparpenalty\@M
+   \@itempenalty\@M
+   \@secpenalty\@M
+   \interfootnotelinepenalty\@M}
+\DeclareRobustCommand\\{%
+  \let \reserved@e \relax
+  \let \reserved@f \relax
+  \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak
+             \@xnewline}%
+          \@xnewline}
+\expandafter\let\expandafter\@normalcr
+     \csname\expandafter\@gobble\string\\ \endcsname
+\DeclareRobustCommand\newline{\@normalcr\relax}
+\def\@xnewline{\@ifnextchar[% ] bracket matching
+                  \@newline
+                 {\@gnewline\relax}}
+\def\@newline[#1]{\let \reserved@e \vadjust
+                   \@gnewline {\vskip #1}}
+\def\@gnewline #1{%
+  \ifvmode
+    \@nolnerr
+  \else
+    \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break
+  \fi}
+\def\@getpen#1{\ifcase #1 \z@ \or \@lowpenalty\or
+         \@medpenalty \or \@highpenalty
+         \else \@M \fi}
+\def\@nobreakfalse{\global\let\if@nobreak\iffalse}
+\def\@nobreaktrue {\global\let\if@nobreak\iftrue}
+\@nobreakfalse
+\newdimen\@savsk
+\newcount\@savsf
+\def\@bsphack{%
+  \relax
+  \ifhmode
+    \@savsk\lastskip
+    \@savsf\spacefactor
+  \fi}
+\def\@esphack{%
+  \relax
+  \ifhmode
+    \spacefactor\@savsf
+    \ifdim\@savsk>\z@
+      \ignorespaces
+    \fi
+  \fi}
+\def\@Esphack{%
+  \relax
+  \ifhmode
+    \spacefactor\@savsf
+    \ifdim\@savsk>\z@
+      \@ignoretrue
+      \ignorespaces
+    \fi
+   \fi}
+\def\@xaddvskip{%
+  \ifdim\lastskip<\@tempskipb
+    \vskip-\lastskip
+    \vskip\@tempskipb
+  \else
+    \ifdim\@tempskipb<\z@
+      \ifdim\lastskip<\z@
+      \else
+        \advance\@tempskipb\lastskip
+        \vskip-\lastskip
+        \vskip \@tempskipb
+      \fi
+    \fi
+  \fi}
+\def\addvspace#1{%
+  \ifvmode
+     \if@minipage\else
+       \ifdim \lastskip =\z@
+         \vskip #1\relax
+       \else
+       \@tempskipb#1\relax
+         \@xaddvskip
+       \fi
+     \fi
+  \else
+    \@noitemerr
+  \fi}
+\def\addpenalty#1{%
+  \ifvmode
+    \if@minipage
+    \else
+      \if@nobreak
+      \else
+        \ifdim\lastskip=\z@
+          \penalty#1\relax
+        \else
+          \@tempskipb\lastskip
+          \vskip -\lastskip
+          \penalty#1%
+          \vskip\@tempskipb
+        \fi
+      \fi
+    \fi
+  \else
+    \@noitemerr
+  \fi}
+\DeclareRobustCommand\vspace{\@ifstar\@vspacer\@vspace}
+\def\@vspace #1{%
+  \ifvmode
+    \vskip #1
+    \vskip\z@skip
+   \else
+     \@bsphack
+     \vadjust{\@restorepar
+              \vskip #1
+              \vskip\z@skip
+              }%
+     \@esphack
+   \fi}
+\def\@vspacer#1{%
+  \ifvmode
+    \dimen@\prevdepth
+    \hrule \@height\z@
+    \nobreak
+    \vskip #1
+    \vskip\z@skip
+    \prevdepth\dimen@
+  \else
+    \@bsphack
+    \vadjust{\@restorepar
+             \hrule \@height\z@
+             \nobreak
+             \vskip #1
+             \vskip\z@skip}%
+    \@esphack
+  \fi}
+\def\smallskip{\vspace\smallskipamount}
+\def\medskip{\vspace\medskipamount}
+\def\bigskip{\vspace\bigskipamount}
+\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
+\newskip\medskipamount   \medskipamount  =6pt plus 2pt minus 2pt
+\newskip\bigskipamount   \bigskipamount =12pt plus 4pt minus 4pt
+\DeclareRobustCommand{\nobreakdashes}{%
+  \leavevmode
+  \toks@{}%
+  \def\reserved@a##1{\toks@\expandafter{\the\toks@-}%
+                     \futurelet\@let@token \reserved@b}%
+  \def\reserved@b   {\ifx\@let@token -%
+                        \expandafter\reserved@a
+                     \else
+                       \setbox\z@ \hbox{\the\toks@\nobreak}%
+                       \unhbox\z@
+                       \spacefactor\sfcode`\-
+                     \fi}%
+  \futurelet\@let@token \reserved@b
+}
+\DeclareRobustCommand{\nobreakspace}{%
+   \leavevmode\nobreak\ }
+\catcode `\~=13
+\def~{\nobreakspace{}}
+\expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname
+\DeclareRobustCommand{\,}{%
+   \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi
+}
+\def\@{\spacefactor\@m}
+\DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace}
+\def\@hspace#1{\hskip #1\relax}
+\def\@hspacer#1{\vrule \@width\z@\nobreak
+                \hskip #1\hskip \z@skip}
+\newskip\fill
+\fill = 0pt plus 1fill
+\def\stretch#1{\z@ \@plus #1fill\relax}
+\def\thinspace{\kern .16667em }
+\def\negthinspace{\kern-.16667em }
+\def\enspace{\kern.5em }
+\def\enskip{\hskip.5em\relax}
+\def\quad{\hskip1em\relax}
+\def\qquad{\hskip2em\relax}
+{\catcode`\^^M=13 \gdef\obeycr{\catcode`\^^M13 \def^^M{\\\relax}%
+    \@gobblecr}%
+{\catcode`\^^M=13 \gdef\@gobblecr{\@ifnextchar
+\@gobble\ignorespaces}}
+\gdef\restorecr{\catcode`\^^M5 }}
+%%% From File: ltlogos.dtx
+\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}
+\DeclareRobustCommand{\LaTeX}{L\kern-.36em%
+        {\sbox\z@ T%
+         \vbox to\ht\z@{\hbox{\check@mathfonts
+                              \fontsize\sf@size\z@
+                              \math@fontsfalse\selectfont
+                              A}%
+                        \vss}%
+        }%
+        \kern-.15em%
+        \TeX}
+\DeclareRobustCommand{\LaTeXe}{\mbox{\m@th
+  \if b\expandafter\@car\f@series\@nil\boldmath\fi
+  \LaTeX\kern.15em2$_{\textstyle\varepsilon}$}}
+%%% From File: ltfiles.dtx
+\message{files,}
+\newread\@inputcheck
+\newwrite\@unused
+\newwrite\@mainaux
+\newwrite\@partaux
+\newif\if@filesw \@fileswtrue
+\newif\if@partsw \@partswfalse
+\newcount\@clubpenalty
+\@clubpenalty \clubpenalty
+\def\document{\endgroup
+  \ifx\@unusedoptionlist\@empty\else
+    \@latex@warning@no@line{Unused global option(s):^^J%
+            \@spaces[\@unusedoptionlist]}%
+  \fi
+  \@colht\textheight
+  \@colroom\textheight \vsize\textheight
+  \columnwidth\textwidth
+  \@clubpenalty\clubpenalty
+  \if@twocolumn
+    \advance\columnwidth -\columnsep
+    \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
+  \fi
+  \hsize\columnwidth \linewidth\hsize
+  \begingroup\@floatplacement\@dblfloatplacement
+    \makeatletter\let\@writefile\@gobbletwo
+    \global \let \@multiplelabels \relax
+    \@input{\jobname.aux}%
+  \endgroup
+  \if@filesw
+    \immediate\openout\@mainaux\jobname.aux
+    \immediate\write\@mainaux{\relax}%
+  \fi
+  \process@table
+  \let\glb@currsize\@empty  %% Force math initialization.
+  \normalsize
+  \everypar{}%
+  \ifx\normalsfcodes\@empty
+    \ifnum\sfcode`\.=\@m
+      \let\normalsfcodes\frenchspacing
+    \else
+      \let\normalsfcodes\nonfrenchspacing
+    \fi
+  \fi
+  \@noskipsecfalse
+  \let \@refundefined \relax
+  \let\AtBeginDocument\@firstofone
+  \@begindocumenthook
+  \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
+  \global\@maxdepth\maxdepth
+  \global\let\@begindocumenthook\@undefined
+  \ifx\@listfiles\@undefined
+    \global\let\@filelist\relax
+    \global\let\@addtofilelist\@gobble
+  \fi
+  \gdef\do##1{\global\let ##1\@notprerr}%
+  \@preamblecmds
+  \global\let \@nodocument \relax
+  \global\let\do\noexpand
+  \ignorespaces}
+\@onlypreamble\document
+\let\normalsfcodes\@empty
+\def\nofiles{%
+  \@fileswfalse
+  \typeout{No auxiliary output files.^^J}%
+  \long\def\protected@write##1##2##3%
+    {\write\m@ne{}\if@nobreak\ifvmode\nobreak\fi\fi}%
+  \let\makeindex\relax
+  \let\makeglossary\relax}
+\@onlypreamble\nofiles
+\long\def \protected@write#1#2#3{%
+      \begingroup
+       \let\thepage\relax
+       #2%
+       \let\protect\@unexpandable@protect
+       \edef\reserved@a{\write#1{#3}}%
+       \reserved@a
+      \endgroup
+      \if@nobreak\ifvmode\nobreak\fi\fi
+}
+\let\@auxout=\@mainaux
+\def\includeonly#1{%
+  \@partswtrue
+  \edef\@partlist{\zap@space#1 \@empty}}
+\@onlypreamble\includeonly
+\def\include#1{\relax
+  \ifnum\@auxout=\@partaux
+    \@latex@error{\string\include\space cannot be nested}\@eha
+  \else \@include#1 \fi}
+\def\@include#1 {%
+  \clearpage
+  \if@filesw
+    \immediate\write\@mainaux{\string\@input{#1.aux}}%
+  \fi
+  \@tempswatrue
+  \if@partsw
+    \@tempswafalse
+    \edef\reserved@b{#1}%
+    \@for\reserved@a:=\@partlist\do
+      {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
+  \fi
+  \if@tempswa
+    \let\@auxout\@partaux
+    \if@filesw
+      \immediate\openout\@partaux #1.aux
+      \immediate\write\@partaux{\relax}%
+    \fi
+    \@input@{#1.tex}%
+    \clearpage
+    \@writeckpt{#1}%
+    \if@filesw
+      \immediate\closeout\@partaux
+    \fi
+  \else
+    \deadcycles\z@
+    \@nameuse{cp@#1}%
+  \fi
+  \let\@auxout\@mainaux}
+\def\@writeckpt#1{%
+  \if@filesw
+    \immediate\write\@partaux{\string\@setckpt{#1}\@charlb}%
+    {\let\@elt\@wckptelt \cl@@ckpt}%
+    \immediate\write\@partaux{\@charrb}%
+  \fi}
+\def\@wckptelt#1{%
+  \immediate\write\@partaux{%
+    \string\setcounter{#1}{\the\@nameuse{c@#1}}}}
+\def\@setckpt#1{\global\@namedef{cp@#1}}
+{\catcode`[=1 \catcode`]=2
+\catcode`{=11 \catcode`}=11
+\gdef\@charlb[{]
+\gdef\@charrb[}]
+]% }brace matching
+\long\def \IfFileExists#1#2#3{%
+  \openin\@inputcheck#1 %
+  \ifeof\@inputcheck
+    \ifx\input@path\@undefined
+      \def\reserved@a{#3}%
+    \else
+      \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
+    \fi
+  \else
+    \closein\@inputcheck
+    \edef\@filef@und{#1 }%
+    \def\reserved@a{#2}%
+  \fi
+  \reserved@a}
+\long\def\@iffileonpath#1{%
+  \let\reserved@a\@secondoftwo
+  \expandafter\@tfor\expandafter\reserved@b\expandafter
+             :\expandafter=\input@path\do{%
+    \openin\@inputcheck\reserved@b#1 %
+    \ifeof\@inputcheck\else
+      \edef\@filef@und{\reserved@b#1 }%
+      \let\reserved@a\@firstoftwo%
+      \closein\@inputcheck
+      \@break@tfor
+    \fi}%
+  \reserved@a}
+\long\def \InputIfFileExists#1#2{%
+  \IfFileExists{#1}%
+    {#2\@addtofilelist{#1}\@@input \@filef@und}}
+\def\input{\@ifnextchar\bgroup\@iinput\@@input}
+\def\@iinput#1{%
+  \InputIfFileExists{#1}{}%
+  {\filename@parse{#1}%
+   \edef\reserved@a{\noexpand\@missingfileerror
+     {\filename@area\filename@base}%
+     {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
+   \reserved@a}}
+\def\@input#1{%
+  \IfFileExists{#1}{\@@input\@filef@und}{\typeout{No file #1.}}}
+\def\@input@#1{\InputIfFileExists{#1}{}{\typeout{No file #1.}}}
+\gdef\@missingfileerror#1#2{%
+     \typeout{^^J! LaTeX Error: File `#1.#2' not found.^^J^^J%
+      Type X to quit or <RETURN> to proceed,^^J%
+      or enter new name. (Default extension: #2)^^J}%
+     \message{Enter file name: }%
+      {\endlinechar\m@ne
+       \global\read\m@ne to\@gtempa}%
+    \ifx\@gtempa\@empty
+    \else
+      \def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
+      \def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
+      \filename@parse\@gtempa
+      \edef\filename@ext{%
+        \ifx\filename@ext\relax#2\else\filename@ext\fi}%
+     \edef\reserved@a{%
+       \noexpand\InputIfFileExists
+         {\filename@area\filename@base.\filename@ext}%
+         {}%
+         {\noexpand\@missingfileerror
+            {\filename@area\filename@base}{\filename@ext}}}%
+      \reserved@a
+    \fi}
+\def\@obsoletefile#1#2{%
+   \@latex@warning@no@line{inputting `#1' instead of obsolete `#2'}}
+\@onlypreamble\@obsoletefile
+\let\@filelist\@gobble
+\def\listfiles{%
+  \let\listfiles\relax
+  \def\@listfiles##1##2##3##4##5##6##7##8##9\@@{%
+     \def\reserved@d{\\}%
+     \@tfor\reserved@c:=##1##2##3##4##5##6##7##8\do{%
+       \ifx\reserved@c\reserved@d
+         \edef\filename@area{ \filename@area}%
+       \fi}}%
+  \def\@dofilelist{%
+     \typeout{^^J *File List*}%
+     \@for\@currname:=\@filelist\do{%
+       \filename@parse\@currname
+       \edef\reserved@a{%
+          \filename@base.%
+          \ifx\filename@ext\relax tex\else\filename@ext\fi}%
+       \expandafter\let\expandafter\reserved@b
+                              \csname ver@\reserved@a\endcsname
+       \expandafter\expandafter\expandafter\@listfiles\expandafter
+             \filename@area\filename@base\\\\\\\\\\\\\\\\\\\@@
+       \typeout{%
+         \filename@area\reserved@a
+         \ifx\reserved@b\relax\else\@spaces\reserved@b\fi}}%
+     \typeout{ ***********^^J}}}
+\@onlypreamble\listfiles
+\let\@dofilelist\relax
+%%% From File: ltoutenc.dtx
+\message{font encodings,}
+\def\DeclareTextCommand{%
+   \@dec@text@cmd\newcommand}
+\def\ProvideTextCommand{%
+   \@dec@text@cmd\providecommand}
+\def\@dec@text@cmd#1#2#3{%
+   \expandafter\def\expandafter#2%
+      \expandafter{%
+         \csname#3-cmd\expandafter\endcsname
+         \expandafter#2%
+         \csname#3\string#2\endcsname
+      }%
+   \let\@ifdefinable\@rc@ifdefinable
+   \expandafter#1\csname#3\string#2\endcsname}
+\def\chardef@text@cmd{%
+   \let\@ifdefinable\@@ifdefinable
+   \chardef
+  }
+\def\DeclareTextSymbol#1#2#3{%
+   \@dec@text@cmd\chardef@text@cmd#1{#2}#3\relax
+  }
+\@onlypreamble\DeclareTextCommand
+\@onlypreamble\DeclareTextSymbol
+\def\@current@cmd#1{%
+   \ifx\protect\@typeset@protect
+      \@inmathwarn#1%
+   \else
+      \noexpand#1\expandafter\@gobble
+   \fi}
+\def\@changed@cmd#1#2{%
+   \ifx\protect\@typeset@protect
+      \@inmathwarn#1%
+      \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
+         \expandafter\ifx\csname ?\string#1\endcsname\relax
+            \expandafter\def\csname ?\string#1\endcsname{%
+               \TextSymbolUnavailable#1%
+            }%
+         \fi
+         \global\expandafter\let
+               \csname\cf@encoding \string#1\expandafter\endcsname
+               \csname ?\string#1\endcsname
+      \fi
+      \csname\cf@encoding\string#1%
+         \expandafter\endcsname
+   \else
+      \noexpand#1%
+   \fi}
+\gdef\TextSymbolUnavailable#1{%
+   \@latex@error{%
+      Command \protect#1 unavailable in encoding \cf@encoding%
+   }\@eha}
+\def\@inmathwarn#1{%
+   \ifmmode
+      \@latex@warning{Command \protect#1 invalid in math mode}%
+   \fi}
+\def\DeclareTextCommandDefault#1{%
+   \DeclareTextCommand#1?}
+\def\ProvideTextCommandDefault#1{%
+   \ProvideTextCommand#1?}
+\@onlypreamble\DeclareTextCommandDefault
+\expandafter\let\csname?-cmd\endcsname\@changed@cmd
+\def\DeclareTextAccent#1#2#3{%
+   \DeclareTextCommand#1{#2}{\add@accent{#3}}}
+\@onlypreamble\DeclareTextAccent
+\def\add@accent#1#2{\hmode@bgroup
+   \let\hmode@start@before@group\@firstofone
+   \setbox\@tempboxa\hbox{#2%
+      \global\mathchardef\accent@spacefactor\spacefactor}%
+   \accent#1 #2\egroup\spacefactor\accent@spacefactor}
+\let\accent@spacefactor\relax
+\def\hmode@bgroup{\leavevmode\bgroup}
+\def\DeclareTextCompositeCommand#1#2#3#4{%
+  \expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname
+  \expandafter\expandafter\expandafter\ifx
+  \expandafter\@car\reserved@a\relax\relax\@nil \@text@composite \else
+      \edef\reserved@b##1{%
+         \def\expandafter\noexpand
+            \csname#2\string#1\endcsname####1{%
+            \noexpand\@text@composite
+               \expandafter\noexpand\csname#2\string#1\endcsname
+               ####1\noexpand\@empty\noexpand\@text@composite
+               {##1}}}%
+      \expandafter\reserved@b\expandafter{\reserved@a{##1}}%
+   \fi
+   \expandafter\def\csname\expandafter\string\csname
+      #2\endcsname\string#1-\string#3\endcsname{#4}}
+\@onlypreamble\DeclareTextCompositeCommand
+\def\@text@composite#1#2#3\@text@composite{%
+   \expandafter\@text@composite@x
+      \csname\string#1-\string#2\endcsname}
+\def\@text@composite@x#1{%
+   \ifx#1\relax
+      \expandafter\@secondoftwo
+   \else
+      \expandafter\@firstoftwo
+   \fi
+   #1}
+\catcode\z@=11\relax
+\def\DeclareTextComposite#1#2#3#4{%
+   \def\reserved@a{\DeclareTextCompositeCommand#1{#2}{#3}}%
+   \bgroup
+      \lccode\z@#4%
+      \lowercase{%
+   \egroup
+      \reserved@a ^^@}}
+\catcode\z@=15\relax
+\@onlypreamble\DeclareTextComposite
+\def\UseTextAccent#1#2#3{%
+  \hmode@start@before@group
+   {%
+    \let\hmode@start@before@group\@firstofone
+    \let\@curr@enc\cf@encoding
+    \@use@text@encoding{#1}%
+    #2{\@use@text@encoding\@curr@enc#3}%
+   }}
+\def\UseTextSymbol#1#2{%
+       \hmode@start@before@group
+       {%
+          \def\@wrong@font@char{\MessageBreak
+             for \noexpand\symbol`\string#2'}%
+          \@use@text@encoding{#1}%
+          #2%
+       }%
+    }
+\def\@use@text@encoding#1{%
+   \edef\f@encoding{#1}%
+   \xdef\font@name{%
+      \csname\curr@fontshape/\f@size\endcsname}%
+   \pickup@font
+   \font@name
+   \@@enc@update}
+\let\hmode@start@before@group\leavevmode
+\def\DeclareTextSymbolDefault#1#2{%
+   \DeclareTextCommandDefault#1{\UseTextSymbol{#2}#1}}
+\def\DeclareTextAccentDefault#1#2{%
+   \DeclareTextCommandDefault#1{\UseTextAccent{#2}#1}}
+\@onlypreamble\DeclareTextSymbolDefault
+\@onlypreamble\DeclareTextAccentDefault
+\def\UndeclareTextCommand#1#2{%
+  \expandafter\ifx\csname#2\string#1\endcsname\relax
+  \else
+     \global\expandafter\let\csname#2\string#1\endcsname
+            \@undefined
+     \expandafter\expandafter\expandafter
+     \ifx\expandafter\@thirdofthree#1\@undefined
+       \expandafter\gdef\expandafter#1\expandafter
+          {\csname ?-cmd\expandafter\endcsname\expandafter
+           #1\csname?\string#1\endcsname}%
+     \fi
+ \fi
+}
+\@onlypreamble\UndeclareTextCommand
+\def\@tabacckludge#1{\expandafter\@changed@cmd
+                                 \csname\string#1\endcsname\relax}
+\let\a=\@tabacckludge
+\DeclareTextAccentDefault{\"}{OT1}
+\DeclareTextAccentDefault{\'}{OT1}
+\DeclareTextAccentDefault{\.}{OT1}
+\DeclareTextAccentDefault{\=}{OT1}
+\DeclareTextAccentDefault{\H}{OT1}
+\DeclareTextAccentDefault{\^}{OT1}
+\DeclareTextAccentDefault{\`}{OT1}
+\DeclareTextAccentDefault{\b}{OT1}
+\DeclareTextAccentDefault{\c}{OT1}
+\DeclareTextAccentDefault{\d}{OT1}
+\DeclareTextAccentDefault{\r}{OT1}
+\DeclareTextAccentDefault{\u}{OT1}
+\DeclareTextAccentDefault{\v}{OT1}
+\DeclareTextAccentDefault{\~}{OT1}
+\DeclareTextSymbolDefault{\AE}{OT1}
+\DeclareTextSymbolDefault{\L}{OT1}
+\DeclareTextSymbolDefault{\OE}{OT1}
+\DeclareTextSymbolDefault{\O}{OT1}
+\DeclareTextSymbolDefault{\ae}{OT1}
+\DeclareTextSymbolDefault{\i}{OT1}
+\DeclareTextSymbolDefault{\j}{OT1}
+\DeclareTextSymbolDefault{\l}{OT1}
+\DeclareTextSymbolDefault{\oe}{OT1}
+\DeclareTextSymbolDefault{\o}{OT1}
+\DeclareTextSymbolDefault{\ss}{OT1}
+\DeclareTextSymbolDefault{\textdollar}{OT1}
+\DeclareTextSymbolDefault{\textemdash}{OT1}
+\DeclareTextSymbolDefault{\textendash}{OT1}
+\DeclareTextSymbolDefault{\textexclamdown}{OT1}
+\DeclareTextSymbolDefault{\textquestiondown}{OT1}
+\DeclareTextSymbolDefault{\textquotedblleft}{OT1}
+\DeclareTextSymbolDefault{\textquotedblright}{OT1}
+\DeclareTextSymbolDefault{\textquoteleft}{OT1}
+\DeclareTextSymbolDefault{\textquoteright}{OT1}
+\DeclareTextSymbolDefault{\textsterling}{OT1}
+\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textbackslash}{OMS}
+\DeclareTextSymbolDefault{\textbar}{OMS}
+\DeclareTextSymbolDefault{\textbardbl}{OMS}
+\DeclareTextSymbolDefault{\textbraceleft}{OMS}
+\DeclareTextSymbolDefault{\textbraceright}{OMS}
+\DeclareTextSymbolDefault{\textbullet}{OMS}
+\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textdagger}{OMS}
+\DeclareTextSymbolDefault{\textparagraph}{OMS}
+\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textsection}{OMS}
+\DeclareTextAccentDefault{\textcircled}{OMS}
+\DeclareTextSymbolDefault{\textless}{OML}
+\DeclareTextSymbolDefault{\textgreater}{OML}
+\DeclareTextAccentDefault{\t}{OML}
+\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
+\DeclareTextCommandDefault{\textasciicircum}{\^{}}
+\DeclareTextCommandDefault{\textasciitilde}{\~{}}
+\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
+\DeclareTextCommandDefault{\textunderscore}{%
+  \leavevmode \kern.06em\vbox{\hrule\@width.3em}}
+\DeclareTextCommandDefault{\textvisiblespace}{%
+   \mbox{\kern.06em\vrule \@height.3ex}%
+   \vbox{\hrule \@width.3em}%
+   \hbox{\vrule \@height.3ex}}
+\DeclareTextCommandDefault{\textellipsis}{%
+   .\kern\fontdimen3\font
+   .\kern\fontdimen3\font
+   .\kern\fontdimen3\font}
+\DeclareTextCommandDefault{\textregistered}{\textcircled{%
+      \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}}
+\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+\DeclareTextCommandDefault{\SS}{SS}
+\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+\DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi}
+\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi}
+\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi}
+\DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi}
+\DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi}
+\DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi}
+\DeclareRobustCommand{\ddag}{\ifmmode{\ddagger}\else\textdaggerdbl\fi}
+\DeclareRobustCommand{\_}{%
+   \ifmmode\nfss@text{\textunderscore}\else\textunderscore\fi}
+\DeclareRobustCommand{\copyright}{%
+   \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi}
+\DeclareRobustCommand{\pounds}{%
+   \ifmmode\mathsterling\else\textsterling\fi}
+\DeclareRobustCommand{\dots}{%
+   \ifmmode\mathellipsis\else\textellipsis\fi}
+\let\ldots\dots
+%%% From File: ltcounts.dtx
+\def\setcounter#1#2{%
+  \@ifundefined{c@#1}%
+    {\@nocounterr{#1}}%
+    {\global\csname c@#1\endcsname#2\relax}}
+\def\addtocounter#1#2{%
+  \@ifundefined{c@#1}%
+    {\@nocounterr{#1}}%
+    {\global\advance\csname c@#1\endcsname #2\relax}}
+\def\newcounter#1{%
+  \expandafter\@ifdefinable \csname c@#1\endcsname
+    {\@definecounter{#1}}%
+  \@ifnextchar[{\@newctr{#1}}{}}
+\def\value#1{\csname c@#1\endcsname}
+\def\@newctr#1[#2]{%
+  \@ifundefined{c@#2}{\@nocounterr{#2}}{\@addtoreset{#1}{#2}}}
+\def\stepcounter#1{%
+  \addtocounter{#1}\@ne
+  \begingroup
+    \let\@elt\@stpelt
+    \csname cl@#1\endcsname
+  \endgroup}
+\def\@stpelt#1{\global\csname c@#1\endcsname \z@}
+\def\cl@@ckpt{\@elt{page}}
+\def\@definecounter#1{\expandafter\newcount\csname c@#1\endcsname
+     \setcounter{#1}\z@
+     \global\expandafter\let\csname cl@#1\endcsname\@empty
+     \@addtoreset{#1}{@ckpt}%
+     \global\expandafter\let\csname p@#1\endcsname\@empty
+     \expandafter
+     \gdef\csname the#1\expandafter\endcsname\expandafter
+          {\expandafter\@arabic\csname c@#1\endcsname}}
+\def\@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}}
+\def\arabic#1{\expandafter\@arabic\csname c@#1\endcsname}
+\def\roman#1{\expandafter\@roman\csname c@#1\endcsname}
+\def\Roman#1{\expandafter\@Roman\csname c@#1\endcsname}
+\def\alph#1{\expandafter\@alph\csname c@#1\endcsname}
+\def\Alph#1{\expandafter\@Alph\csname c@#1\endcsname}
+\def\fnsymbol#1{\expandafter\@fnsymbol\csname c@#1\endcsname}
+\def\@arabic#1{\number #1}  %% changed 29 Apr 86
+\def\@roman#1{\romannumeral #1}
+
+\def\@Roman#1{\expandafter\@slowromancap\romannumeral #1@}
+\def\@slowromancap#1{\ifx @#1% then terminate
+     \else
+       \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if
+       c#1C\else\if d#1D\else \if m#1M\else#1\fi\fi\fi\fi\fi\fi\fi
+       \expandafter\@slowromancap
+     \fi
+}
+\def\@alph#1{%
+  \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
+   k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
+    y\or z\else\@ctrerr\fi}
+\def\@Alph#1{%
+  \ifcase#1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
+   K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or
+    Y\or Z\else\@ctrerr\fi}
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
+   \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
+   \or \ddagger\ddagger \else\@ctrerr\fi}}
+%%% From File: ltlength.dtx
+\message{lengths,}
+\def\newlength#1{\@ifdefinable#1{\newskip#1}}
+\def\setlength#1#2{#1#2\relax}
+\def\addtolength#1#2{\advance#1 #2\relax}
+\def\@settodim#1#2#3{\setbox\@tempboxa\hbox{{#3}}#2#1\@tempboxa
+       \setbox\@tempboxa\box\voidb@x}
+\def\settoheight{\@settodim\ht}
+\def\settodepth {\@settodim\dp}
+\def\settowidth {\@settodim\wd}
+\def\@settopoint#1{\divide#1\p@\multiply#1\p@}
+%%% From File: ltfssbas.dtx
+%% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
+\expandafter\let\csname ver@autofss1.sty\endcsname\fmtversion
+\def\@nomath#1{\relax\ifmmode
+   \@font@warning{Command \noexpand#1invalid in math mode}\fi}
+\gdef\no@alphabet@error#1{\relax \ifmmode
+    \@latex@error{Math\space alphabet\space identifier\space
+          \noexpand#1is\space undefined\space in\space math\space
+           version\space `\math@version'}%
+        {Your\space requested\space math\space alphabet\space
+         is\space undefined\space in\space the\space current\space
+          math\space version.^^JCheck\space the\space spelling\space
+          or\space use\space the\space \noexpand\SetMathAlphabet\space
+          command.}
+     \fi}
+\def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n}
+\let\mathgroup\fam
+\let\newfam\new@mathgroup
+\@onlypreamble\new@mathgroup
+\def\DeclareFontShape{\begingroup
+   \nfss@catcodes
+   \expandafter\endgroup
+   \DeclareFontShape@}
+\def\DeclareFontShape@#1#2#3#4#5#6{%
+   \expandafter\ifx\csname #1+#2\endcsname\relax
+     \@latex@error{Font family `#1+#2' unknown}\@eha
+   \else
+     \expandafter
+       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
+                                   \csname #5\endcsname}%
+     \def\reserved@a{#6}%
+     \global
+     \expandafter\let\csname#5\expandafter\endcsname
+        \ifx\reserved@a\@empty
+          \@empty
+        \else
+          \reserved@a
+        \fi
+   \fi
+  }
+\def\DeclareFixedFont#1#2#3#4#5#6{%
+   \begingroup
+      \math@fontsfalse
+      \every@math@size{}%
+      \fontsize{#6}\z@
+      \usefont{#2}{#3}{#4}{#5}%
+      \global\expandafter\let\expandafter#1\the\font
+   \endgroup
+  }
+\def\do@subst@correction{%
+       \xdef\subst@correction{%
+          \font@name
+          \global\expandafter\font
+            \csname \curr@fontshape/\f@size\endcsname
+            \noexpand\fontname\font
+           \relax}%
+       \aftergroup\subst@correction
+}
+\def\DeclareFontFamily#1#2#3{%
+ \@ifundefined{T@#1}%
+    {%
+     \@latex@error{Encoding scheme  `#1' unknown}\@eha
+    }%
+    {%
+     \def\reserved@a{#3}%
+     \global
+     \expandafter\let\csname #1+#2\expandafter\endcsname
+            \ifx \reserved@a\@empty
+              \@empty
+            \else \reserved@a
+            \fi
+    }%
+}
+\let\cdp@list\@empty
+\@onlypreamble\cdp@list
+\let\cdp@elt\relax
+\@onlypreamble\cdp@elt
+\def\DeclareFontEncoding{%
+   \begingroup
+   \nfss@catcodes
+   \expandafter\endgroup
+   \DeclareFontEncoding@}
+\@onlypreamble\DeclareFontEncoding
+\def\DeclareFontEncoding@#1#2#3{%
+  \expandafter
+  \ifx\csname T@#1\endcsname\relax
+     \def\cdp@elt{\noexpand\cdp@elt}%
+     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+                    {\default@family}{\default@series}%
+                    {\default@shape}}%
+     \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
+  \else
+     \@font@info{Redeclaring font encoding #1}%
+  \fi
+  \global\@namedef{T@#1}{#2}%
+  \global\@namedef{M@#1}{\default@M#3}%
+  \xdef\LastDeclaredEncoding{#1}%
+  }
+\@onlypreamble\DeclareFontEncoding@
+\def\LastDeclaredEncoding{}
+\def\DeclareFontSubstitution#1#2#3#4{%
+  \expandafter
+  \ifx\csname T@#1\endcsname\relax
+    \@latex@error{Encoding scheme  `#1' unknown}\@eha
+  \else
+    \begingroup
+       \edef\reserved@a{#1}%
+       \toks@{}%
+       \def\cdp@elt##1##2##3##4{%
+          \def\reserved@b{##1}%
+          \ifx\reserved@a\reserved@b
+             \addto@hook\toks@{\cdp@elt{##1}{#2}{#3}{#4}}%
+          \else
+             \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}%
+          \fi}%
+        \cdp@list
+        \xdef\cdp@list{\the\toks@}%
+    \endgroup
+    \global
+    \@namedef{D@#1}{%
+           \def\default@family{#2}%
+           \def\default@series{#3}%
+           \def\default@shape{#4}%
+           }%
+  \fi
+ }
+\@onlypreamble\DeclareFontSubstitution
+\def\DeclareFontEncodingDefaults#1#2{%
+  \ifx\relax#1\else
+    \ifx\default@T\@empty\else
+      \@font@info{Overwriting encoding scheme text defaults}%
+    \fi
+    \gdef\default@T{#1}%
+  \fi
+  \ifx\relax#2\else
+    \ifx\default@M\@empty\else
+      \@font@info{Overwriting encoding scheme math defaults}%
+    \fi
+    \gdef\default@M{#2}%
+  \fi
+}
+\@onlypreamble\DeclareFontEncodingDefaults
+\let\default@T\@empty
+\let\default@M\@empty
+\def\DeclarePreloadSizes#1#2#3#4#5{%
+ \@ifundefined{T@#1}%
+   {\@latex@error{Encoding scheme  `#1' unknown}\@eha}%
+   {%
+   \begingroup
+    \def\reserved@f##1,{%
+        \if>##1>%
+          \let\reserved@f\relax
+        \else
+          \xdef\font@name{\csname#1/#2/#3/#4/##1\endcsname}%
+          \pickup@font
+          \global\expandafter\let\font@name\relax
+        \fi
+        \reserved@f}%
+     \reserved@f#5,,%
+   \endgroup
+   }%
+}
+\@onlypreamble\DeclarePreloadSizes
+\newif\ifmath@fonts \math@fontstrue
+\def\DeclareMathSizes{%
+  \@ifstar{\@DeclareMathSizes\math@fontsfalse}%
+          {\@DeclareMathSizes{}}}
+\@onlypreamble\DeclareMathSizes
+\def\@DeclareMathSizes#1#2#3#4#5{%
+    \@defaultunits\dimen@#2pt\relax\@nnil
+    \if$#3$%
+      \expandafter \let
+        \csname S@\strip@pt\dimen@\endcsname
+        \math@fontsfalse
+    \else
+      \expandafter \gdef
+      \csname S@\strip@pt\dimen@\endcsname
+            {\gdef\tf@size{#3}\gdef\sf@size{#4}%
+                             \gdef\ssf@size{#5}%
+             #1%
+                             }%
+    \fi}
+\@onlypreamble\@DeclareMathSizes
+\DeclareRobustCommand\fontencoding[1]{%
+    \expandafter\ifx\csname T@#1\endcsname\relax
+      \@latex@error{Encoding scheme `#1' unknown}\@eha
+    \else
+      \edef\f@encoding{#1}%
+      \ifx\cf@encoding\f@encoding
+        \let\enc@update\relax
+      \else
+        \let\enc@update\@@enc@update
+      \fi
+    \fi
+}
+\def\@@enc@update{%
+          \expandafter
+          \let
+            \csname\cf@encoding -cmd\endcsname
+            \@changed@cmd
+          \expandafter
+          \let
+            \csname\f@encoding-cmd\endcsname
+            \@current@cmd
+        \default@T
+        \csname T@\f@encoding\endcsname
+        \csname D@\f@encoding\endcsname
+        \let\enc@update\relax
+        \let\cf@encoding\f@encoding
+}
+\let\enc@update\relax
+\DeclareRobustCommand\fontfamily[1]{\edef\f@family{#1}}
+\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}}
+\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}}
+\def\usefont#1#2#3#4{\fontencoding{#1}\fontfamily{#2}%
+             \fontseries{#3}\fontshape{#4}\selectfont
+             \ignorespaces}
+\DeclareRobustCommand\linespread[1]
+   {\set@fontsize{#1}\f@size\f@baselineskip}
+\DeclareRobustCommand\fontsize[2]
+   {\set@fontsize\baselinestretch{#1}{#2}}
+\let\f@family\@empty
+\let\f@series\@empty
+\let\f@shape\@empty
+\let\f@size\@empty
+\let\f@baselineskip\@empty
+\let\f@linespread\@empty
+\let\f@encoding\@empty
+\let\cf@encoding\@empty
+\def\@defaultunits{\afterassignment\remove@to@nnil}
+\begingroup
+  \catcode`P=12
+  \catcode`T=12
+  \lowercase{
+    \def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}
+  \expandafter\endgroup\x
+\def\strip@pt{\expandafter\rem@pt\the}
+\DeclareRobustCommand\mathversion[1]
+         {\@nomath\mathversion
+          \expandafter\ifx\csname mv@#1\endcsname\relax
+          \@latex@error{Math version `#1' is not defined}\@eha\else
+          \edef\math@version{#1}%
+          \gdef\glb@currsize{}%
+          \aftergroup\glb@settings
+          \fi}
+\let\frozen@everymath\everymath
+\let\frozen@everydisplay\everydisplay
+\newtoks\everymath
+\newtoks\everydisplay
+\frozen@everymath = {\check@mathfonts
+                     \the\everymath}
+\frozen@everydisplay = {\check@mathfonts
+                        \the\everydisplay}
+\let\curr@math@size\@empty
+\def\pickup@font{%
+    \expandafter \ifx \font@name \relax
+       \define@newfont
+    \fi}
+{\catcode`\/=12
+\gdef\split@name#1/#2/#3/#4/#5\@nil{\def\f@encoding{#1}%
+                                    \def\f@family{#2}%
+                                    \def\f@series{#3}%
+                                    \def\f@shape{#4}%
+                                    \def\f@size{#5}}}
+\def\curr@fontshape{\f@encoding/\f@family/\f@series/\f@shape}
+\def\define@newfont{%
+  \begingroup
+    \let\typeout\@font@info
+    \escapechar\m@ne
+    \expandafter\expandafter\expandafter
+       \split@name\expandafter\string\font@name\@nil
+      \try@load@fontshape % try always
+    \expandafter\ifx
+       \csname\curr@fontshape\endcsname \relax
+      \wrong@fontshape\else
+      \extract@font\fi
+  \endgroup}
+\def\try@load@fontshape{%
+   \expandafter
+   \ifx\csname \f@encoding+\f@family\endcsname\relax
+     \@font@info{Try loading font information for
+                   \f@encoding+\f@family}%
+    \global\expandafter\let
+       \csname\f@encoding+\f@family\endcsname\@empty
+     \nfss@catcodes
+     \let\nfss@catcodes\relax
+     \edef\reserved@a{%
+       \lowercase{%
+         \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
+     \reserved@a\relax
+          {\@input@{\f@encoding\f@family.fd}}%
+   \fi}
+\def\nfss@catcodes{%
+     \makeatletter
+     \catcode`\ 9%
+     \catcode`\^^I9%
+     \catcode`\^^M9%
+     \catcode`\\\z@
+     \catcode`\{\@ne
+     \catcode`\}\tw@
+     \catcode`\#6%
+     \catcode`\^7%
+     \catcode`\%14%
+   \@makeother\<%
+   \@makeother\>%
+   \@makeother\*%
+   \@makeother\.%
+   \@makeother\-%
+   \@makeother\/%
+   \@makeother\[%
+   \@makeother\]%
+   \@makeother\`%
+   \@makeother\'%
+   \@makeother\"%
+}
+\def\DeclareErrorFont#1#2#3#4#5{%
+      \xdef\error@fontshape{%
+          \noexpand\expandafter\noexpand\split@name\noexpand\string
+          \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
+          \noexpand\@nil}%
+      \gdef\default@family{#2}%
+      \gdef\default@series{#3}%
+      \gdef\default@shape{#4}%
+      \global\let\f@family\default@family
+      \global\let\f@series\default@series
+      \global\let\f@shape\default@shape
+      \gdef\f@size{#5}%
+      \gdef\f@baselineskip{#5pt}%
+}
+\@onlypreamble\DeclareErrorFont
+\def\wrong@fontshape{%
+    \csname D@\f@encoding\endcsname      % install defaults if in math
+    \edef\reserved@a{\csname\curr@fontshape\endcsname}%
+  \ifx\last@fontshape\reserved@a
+     \errmessage{Corrupted NFSS tables}%
+     \error@fontshape
+  \else
+    \let\f@shape\default@shape
+    \expandafter\ifx\csname\curr@fontshape\endcsname\relax
+       \let\f@series\default@series
+        \expandafter
+          \ifx\csname\curr@fontshape\endcsname\relax
+           \let\f@family\default@family
+        \fi \fi
+  \fi
+     \@font@warning{Font shape `\expandafter\string\reserved@a'
+                     \expandafter\@gobble\string\@undefined\MessageBreak
+                   using `\curr@fontshape' instead\@wrong@font@char}%
+    \global\let\last@fontshape\reserved@a
+    \gdef\@defaultsubs{%
+      \@font@warning{Some font shapes were not available, defaults
+                      substituted.\@gobbletwo}}%
+    \global\expandafter\expandafter\expandafter\let
+       \expandafter\reserved@a
+           \csname\curr@fontshape\endcsname
+    \xdef\font@name{%
+      \csname\curr@fontshape/\f@size\endcsname}%
+    \pickup@font}
+\let\@wrong@font@char\@empty
+\let\@defaultsubs\relax
+\def\strip@prefix#1>{}
+\let\install@mathalphabet\gdef
+\let\math@fonts\@empty
+\def\extract@alph@from@version#1#2#3{%
+     \def\reserved@a##1\install@mathalphabet#3##2##3\@nil{%
+         \def\reserved@b{##2}%
+         \def\reserved@c####1{\gdef#1{##1####1##3}}}%
+     \expandafter\reserved@a#1\@nil
+     \def\reserved@a\select@group#3##1##2\@nil{%
+        \reserved@c{%
+           \getanddefine@fonts{#2}##2%
+           \install@mathalphabet#3{%
+              \relax\ifmmode \else \non@alpherr#3\fi
+              \use@mathgroup##1{#2}}}%
+       \gdef#3{\relax\ifmmode \else \non@alpherr#3\fi
+               \use@mathgroup##1{#2}}}%
+     \expandafter\reserved@a\reserved@b\@nil
+     }
+\let\math@bgroup\bgroup
+\def\math@egroup#1{#1\egroup}
+\gdef\calculate@math@sizes{%
+  \@font@info{Calculating\space math\space sizes\space for\space
+              size\space <\f@size>}%
+  \dimen@\f@size \p@
+  \@tempdimb \defaultscriptratio \dimen@
+  \dimen@ \defaultscriptscriptratio \dimen@
+  \expandafter\xdef\csname S@\f@size\endcsname{%
+    \gdef\noexpand\tf@size{\f@size}%
+    \gdef\noexpand\sf@size{\strip@pt\@tempdimb}%
+    \gdef\noexpand\ssf@size{\strip@pt\dimen@}%
+    \noexpand\math@fontstrue}}
+\def\defaultscriptratio{.7}
+\def\defaultscriptscriptratio{.5}
+\ifx\noaccents@\@undefined
+  \let\noaccents@\@empty
+\fi
+\gdef\showhyphens#1{%
+  \setbox0\vbox{%
+    \color@begingroup
+    \everypar{}%
+    \parfillskip\z@skip\hsize\maxdimen
+    \normalfont
+    \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1%
+    \color@endgroup}}
+\long\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
+ \def\@vpt{5}
+ \def\@vipt{6}
+ \def\@viipt{7}
+ \def\@viiipt{8}
+ \def\@ixpt{9}
+ \def\@xpt{10}
+ \def\@xipt{10.95}
+ \def\@xiipt{12}
+ \def\@xivpt{14.4}
+ \def\@xviipt{17.28}
+ \def\@xxpt{20.74}
+ \def\@xxvpt{24.88}
+%%% From File: ltfsstrc.dtx
+%% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
+%% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
+\def\tracingfonts{%
+  \@font@warning{Command \noexpand\tracingfonts
+           not provided.\MessageBreak
+           Use the `tracefnt' package.\MessageBreak Command found:}%
+       \count@}
+\def\@font@info#1{%
+         \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+                     {LaTeX Font Info: \space\space\space#1}}%
+\def\@font@warning#1{%
+         \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
+                        {LaTeX Font Warning: #1}}%
+\def\extract@font{%
+   \get@external@font
+   \global\expandafter\font\font@name\external@font\relax
+    \font@name \relax
+    \csname \f@encoding+\f@family\endcsname
+    \csname\curr@fontshape\endcsname
+    \relax
+       }
+\def\get@external@font{%
+   \let\external@font\@empty
+   \edef\font@info{\expandafter\expandafter\expandafter\string
+        \csname \curr@fontshape \endcsname}%
+   \try@size@range
+   \ifx\external@font\@empty
+      \try@size@substitution
+      \ifx\external@font\@empty
+         \@latex@error{Font \expandafter \string\font@name\space
+                     not found}\@eha
+         \error@fontshape
+         \get@external@font
+   \fi\fi
+}
+\DeclareRobustCommand\selectfont
+        {%
+    \ifx\f@linespread\baselinestretch \else
+      \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
+    \xdef\font@name{%
+      \csname\curr@fontshape/\f@size\endcsname}%
+    \pickup@font
+    \font@name
+    \size@update
+    \enc@update
+    }
+\def\set@fontsize#1#2#3{%
+    \@defaultunits\@tempdimb#2pt\relax\@nnil
+    \edef\f@size{\strip@pt\@tempdimb}%
+    \@defaultunits\@tempskipa#3pt\relax\@nnil
+    \edef\f@baselineskip{\the\@tempskipa}%
+    \edef\f@linespread{#1}%
+    \let\baselinestretch\f@linespread
+      \def\size@update{%
+        \baselineskip\f@baselineskip\relax
+        \baselineskip\f@linespread\baselineskip
+        \normalbaselineskip\baselineskip
+        \setbox\strutbox\hbox{%
+          \vrule\@height.7\baselineskip
+                \@depth.3\baselineskip
+                \@width\z@}%
+        \let\size@update\relax}%
+  }
+\let\size@update\relax
+\def\glb@settings{%
+     \expandafter\ifx\csname S@\f@size\endcsname\relax
+       \calculate@math@sizes
+     \fi
+     \csname S@\f@size\endcsname
+     \ifmath@fonts
+       \begingroup
+         \escapechar\m@ne
+         \csname mv@\math@version \endcsname
+         \globaldefs\@ne
+         \math@fonts
+         \let \glb@currsize \f@size
+       \endgroup
+        \the\every@math@size
+     \fi
+}
+\def\baselinestretch{1}
+\newtoks\every@math@size
+\every@math@size={}
+\def\check@mathfonts{%
+  \ifx \glb@currsize \f@size
+  \else
+     \glb@settings
+     \init@restore@glb@settings
+  \fi
+  \let\curr@math@size\f@size
+  \def\init@restore@glb@settings{\aftergroup\restglb@settings}%
+}
+\let\init@restore@glb@settings\relax
+\def\restglb@settings{%
+      \begingroup
+        \let\f@size\curr@math@size
+        \ifx\glb@currsize \f@size
+        \else
+          \glb@settings
+        \fi
+      \endgroup
+}
+\def\use@mathgroup#1#2{\relax\ifmmode
+     \math@bgroup
+         \expandafter\ifx\csname M@\f@encoding\endcsname#1\else
+         #1\fi
+         \mathgroup#2\relax
+     \expandafter\math@egroup\fi}%
+\def\getanddefine@fonts#1#2{%
+  \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
+  \pickup@font \let\textfont@name\font@name
+  \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
+  \pickup@font \let\scriptfont@name\font@name
+  \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
+  \pickup@font
+  \edef\math@fonts{\math@fonts
+               \textfont#1\textfont@name
+               \scriptfont#1\scriptfont@name
+               \scriptscriptfont#1\font@name}%
+    }
+\def\ifnot@nil#1{\def\reserved@a{#1}%
+  \ifx\reserved@a\@nnil \expandafter\@gobble
+  \else \expandafter\@firstofone\fi}
+\def\remove@to@nnil#1\@nnil{}
+\def\remove@angles#1>{\set@simple@size@args}
+\def\remove@star#1*{#1}
+\def\extract@sizefn#1*#2\@nil{%
+  \if>#2>\set@size@funct@args#1\@nil
+         \let\sizefn@info\@empty
+  \else\expandafter\set@size@funct@args\remove@star#2\@nil
+       \def\sizefn@info{#1}\fi
+  }
+\def\try@simple@size{%
+    \def\reserved@a{\def\extract@fontinfo####1}%
+    \expandafter\reserved@a\expandafter<\f@size>##2<##3\@nnil{%
+          \ifnot@nil{##2}%
+            {\set@simple@size@args##2<##3\@nnil
+             \execute@size@function\sizefn@info
+            }}%
+    \expandafter\expandafter
+    \expandafter\extract@fontinfo\expandafter\font@info
+    \expandafter<\f@size>\@nil<\@nnil
+}
+\def\set@simple@size@args#1<{%
+          \if<#1<%
+            \expandafter\remove@angles
+          \else
+            \extract@sizefn#1*\@nil
+            \expandafter\remove@to@nnil
+          \fi}
+\def\extract@rangefontinfo#1<#2>{%
+       \is@range#2->\@nil#2>}
+\def\is@range#1-#2\@nil{%
+   \if>#2\expandafter\check@single\else
+      \expandafter\check@range\fi}
+\def\check@range#1-#2>#3<#4\@nnil{%
+  \ifnot@nil{#3}{%
+     \def\reserved@f{\extract@rangefontinfo<#4\@nnil}%
+     \upper@bound0#2\p@
+     \ifdim\upper@bound=\z@ \upper@bound\maxdimen\fi
+     \ifdim \f@size \p@<\upper@bound
+       \lower@bound0#1\p@
+       \ifdim \f@size \p@<\lower@bound
+        \else
+          \set@simple@size@args#3<#4\@nnil
+          \execute@size@function\sizefn@info
+         \ifx\external@font\@empty
+         \else
+           \let\reserved@f\@empty
+         \fi
+       \fi
+     \fi
+     \reserved@f}}
+\newdimen\lower@bound
+\newdimen\upper@bound
+\def\check@single#1>#2<#3\@nnil{%
+     \def\reserved@f{\extract@rangefontinfo<#3\@nnil}%
+     \ifdim \f@size \p@=#1\p@
+        \set@simple@size@args#2<#3\@nnil
+        \execute@size@function\sizefn@info
+        \ifx\external@font\@empty
+        \else
+          \let\reserved@f\@empty
+        \fi
+     \fi
+     \reserved@f}
+\def\set@size@funct@args{\@ifnextchar[%
+  \set@size@funct@args@{\set@size@funct@args@[]}}
+\def\set@size@funct@args@[#1]#2\@nil{%
+  \def\mandatory@arg{#2}%
+  \def\optional@arg{#1}}
+\def\DeclareSizeFunction#1#2{\@namedef{s@fct@#1}{#2}}
+\@onlypreamble\DeclareSizeFunction
+\def\execute@size@function#1{%    %%% could be added to autoload as well
+      \csname s@fct@#1\endcsname
+}
+\def\try@size@range{%
+    \expandafter\extract@rangefontinfo\font@info <-*>\@nil<\@nnil
+}
+\gdef\try@size@substitution{%
+  \@tempdimb \maxdimen
+  \let \best@size \@empty
+  \expandafter \try@simples \font@info <\number\@M>\@nil<\@nnil
+}
+\def\font@submax{0pt}
+\def\fontsubfuzz{.4pt}
+\gdef\try@simples#1<#2>{%
+  \tryif@simple#2->\tryif@simple}
+\gdef\tryif@simple#1-#2\tryif@simple{%
+  \let \reserved@f \try@simples
+  \if>#2%
+    \dimen@ #1\p@
+    \ifdim \dimen@<\@M\p@
+      \ifdim \f@size\p@<\dimen@
+        \@tempdimc \dimen@
+        \advance\@tempdimc -\f@size\p@
+      \else
+        \@tempdimc \f@size\p@
+        \advance\@tempdimc -\dimen@
+      \fi
+      \ifdim \@tempdimc<\@tempdimb
+        \@tempdimb \@tempdimc
+        \def \best@size{#1}%
+      \fi
+    \else
+  \ifx \external@font\@empty
+    \ifx \best@size\@empty
+    \else
+      \ifdim \@tempdimb>\font@submax \relax
+        \xdef \font@submax {\the\@tempdimb}%
+      \fi
+      \let \f@user@size \f@size
+      \let \f@size \best@size
+      \ifdim \@tempdimb>\fontsubfuzz\relax
+        \@font@warning{Font\space shape\space
+            `\curr@fontshape'\space in\space size\space
+             <\f@user@size>\space not\space available\MessageBreak
+             size\space <\f@size>\space substituted}%
+      \fi
+      \try@simple@size
+      \do@subst@correction
+    \fi
+ \fi
+      \let \reserved@f \remove@to@nnil
+    \fi
+  \fi
+  \reserved@f}
+\DeclareSizeFunction{}{\empty@sfcnt\@font@warning}
+\DeclareSizeFunction{s}{\empty@sfcnt\@font@info}
+\def\empty@sfcnt#1{%
+      \@tempdimb \f@size\p@
+      \ifx\optional@arg\@empty
+      \else
+        \@tempdimb \optional@arg\@tempdimb
+        #1{Font\space shape\space `\curr@fontshape'\space
+           will\space be\MessageBreak
+           scaled\space to\space size\space \the\@tempdimb}%
+      \fi
+      \edef\external@font{\mandatory@arg\space at\the\@tempdimb}}
+\DeclareSizeFunction{gen}{\gen@sfcnt\@font@warning}
+\DeclareSizeFunction{sgen}{\gen@sfcnt\@font@info}
+\def\gen@sfcnt{%
+      \edef\mandatory@arg{\mandatory@arg\f@size}%
+      \empty@sfcnt}
+\DeclareSizeFunction{genb}{\genb@sfcnt\@font@warning}
+\DeclareSizeFunction{sgenb}{\genb@sfcnt\@font@info}
+\def\genb@sfcnt{%
+    \edef\mandatory@arg{\mandatory@arg\expandafter\genb@x\f@size..\@@}%
+    \empty@sfcnt}
+\def\genb@x#1.#2.#3\@@{\two@digits{#1}\genb@y#200\@@}
+\def\genb@y#1#2#3\@@{#1#2}
+\DeclareSizeFunction{sub}{\sub@sfcnt\@font@warning}
+\DeclareSizeFunction{ssub}{\sub@sfcnt\@font@info}
+\def\sub@sfcnt#1{%
+    \edef\mandatory@arg{\f@encoding/\mandatory@arg}%
+    \begingroup
+     \expandafter\split@name\mandatory@arg/\@nil
+     \try@load@fontshape
+    \endgroup
+    \let\f@user@size\f@size
+    \expandafter
+    \ifx\csname\mandatory@arg\endcsname\relax
+      \errmessage{No\space declaration\space for\space
+                  shape\space \mandatory@arg}%
+      \error@fontshape
+    \else
+      #1{Font\space shape\space `\curr@fontshape'\space in\space
+         size\space <\f@size>\space not\space available\MessageBreak
+         Font\space shape\space `\mandatory@arg'\space tried\space
+         instead}%
+      \expandafter\split@name\mandatory@arg/\@nil
+    \fi
+    \edef\f@size{\f@user@size}%
+    \get@external@font
+    \do@subst@correction
+}
+\DeclareSizeFunction{subf}{\subf@sfcnt\@font@warning}
+\DeclareSizeFunction{ssubf}{\subf@sfcnt\@font@info}
+\def\subf@sfcnt#1{%
+      #1{Font\space shape\space `\curr@fontshape'\space in\space
+         size\space \f@size\space not\space available\MessageBreak
+        external\space font\space `\mandatory@arg'\space used}%
+      \empty@sfcnt#1%
+      }
+\DeclareSizeFunction{fixed}{\fixed@sfcnt\@font@warning}
+\DeclareSizeFunction{sfixed}{\fixed@sfcnt\@font@info}
+\def\fixed@sfcnt#1{%
+  \ifx\optional@arg\@empty
+    \let\external@font\mandatory@arg
+  \else
+    \edef\external@font{\mandatory@arg\space at\optional@arg pt}%
+  \fi
+  #1{External\space font\space `\external@font'\space loaded\space
+     for\space size\MessageBreak
+     <\f@size>}%
+}
+%%% From File: ltfsscmp.dtx
+%% Copyright (C) 1989-1995 Frank Mittelbach and Rainer Sch\"opf,
+%% all rights reserved.
+\gdef\new@fontshape#1#2#3#4{%
+     \warn@rel@i\new@fontshape\DeclareFontShape
+     \expandafter\scan@fontshape\@gobble#4<\@nil><<%
+     \DeclareFontShape U{#1}{#2}{#3}\reserved@f}
+\@onlypreamble\new@fontshape
+\gdef\warn@rel@i#1#2{%
+ \@font@warning{***  NFSS release 1 command
+               \noexpand#1found\MessageBreak
+   ***  Update by using release 2 command
+        \string#2.\MessageBreak
+   ***  Recovery is probably possible}%
+}
+\@onlypreamble\warn@rel@i
+\gdef\scan@fontshape{%
+  \let\reserved@f\@empty
+  \let\reserved@e\@empty %        holds last info
+  \scan@@fontshape
+}
+\@onlypreamble\scan@fontshape
+\gdef\scan@@fontshape#1>#2#3<{%
+  \ifx\@nil#1%
+    \edef\reserved@f{\reserved@f\reserved@e}%
+  \else
+    \def\reserved@b{#1}%       nick names
+    \def\reserved@c{#3}%
+    \in@{ at}{#3}%
+    \ifin@
+      \in@{pt}{#3}%  not a proof but a good chance
+      \ifin@
+        \def\reserved@a##1 at##2pt##3\@nil{%
+           \def\reserved@b{##2}%
+           \def\reserved@c{##1}%
+           }%
+        \reserved@a#3\@nil
+      \fi
+    \fi
+    \ifnum 0<0#2
+      \edef\reserved@d{subf*\reserved@c}%
+      \ifcase #2\or
+      \or
+      \else
+        \errmessage{*** What's this? NFSS release 0? ***}%
+      \fi
+    \else
+      \edef\reserved@d{#2\reserved@c}%
+    \fi
+    \ifx\reserved@d\reserved@e
+      \edef\reserved@f{\reserved@f<\reserved@b>}%
+    \else
+      \edef\reserved@f{\reserved@f\reserved@e<\reserved@b>}%add old info
+      \let\reserved@e\reserved@d
+    \fi
+    \expandafter\scan@@fontshape
+  \fi
+}
+\@onlypreamble\scan@@fontshape
+\gdef\subst@fontshape#1#2#3#4#5#6{%
+     \warn@rel@i\subst@fontshape\DeclareFontShape
+     \DeclareFontShape{U}{#1}{#2}{#3}{<->sub*#4/#5/#6}{}}
+\@onlypreamble\subst@fontshape
+\gdef\extra@def#1#2#3{%
+     \warn@rel@i\extra@def\DeclareFontFamily
+     \DeclareFontFamily{U}{#1}{}%
+}
+\@onlypreamble\extra@def
+\gdef\default@mextra{%
+  \warn@rel@i\default@mextra\DeclareFontEncodingDefaults
+  \DeclareFontEncodingDefaults\relax
+}
+\@onlypreamble\default@mextra
+\gdef\preload@sizes{%
+     \warn@rel@i\preload@sizes\DeclarePreloadSizes
+     \DeclarePreloadSizes U%
+}
+\@onlypreamble\preload@sizes
+\gdef\err@rel@i#1#2{%
+  \@latex@error{***  NFSS release 1 command \noexpand#1found%
+          ^^J***  Recovery not possible. Use \string#2}%
+       {The new release of NFSS doesn't support the
+        \noexpand#1command^^Jany longer.
+        Please upgrade your file to the syntax of NFSS
+        release 2^^Jusing the \noexpand#2command.}%
+  \batchmode\input.\relax
+}
+\@onlypreamble\err@rel@i
+\gdef\newmathalphabet{%
+  \if@no@font@opt
+    \@latex@error{*** NFSS release 1 command
+                    \noexpand\newmathalphabet found%
+     ^^J \space*** Automatic recovery not possible.%
+     ^^J \space*** TYPE H for Help%
+              }%
+       {Please look at the file usrguide.tex for hints on
+        how to resolve this problem.}%
+  \else
+     \warn@rel@i\newmathalphabet\DeclareMathAlphabet
+  \fi
+  \@ifstar\newmathalphabet@@@
+          \newmathalphabet@@}
+\gdef\newmathalphabet@@#1{\DeclareMathAlphabet#1{U}{}{}{}}
+\gdef\newmathalphabet@@@#1#2#3#4{%
+       \DeclareMathAlphabet{#1}{U}{#2}{#3}{#4}}
+\@onlypreamble\newmathalphabet
+\@onlypreamble\newmathalphabet@@
+\@onlypreamble\newmathalphabet@@@
+\global\let\if@no@font@opt\iftrue
+\gdef\@no@font@optfalse{\let\if@no@font@opt\iffalse}
+\gdef\define@mathalphabet{%
+      \err@rel@i\define@mathalphabet\DeclareMathAlphabet
+}
+\@onlypreamble\define@mathalphabet
+\gdef\define@mathgroup{%
+      \err@rel@i\define@mathgroup\DeclareSymbolFont
+}
+\@onlypreamble\define@mathgroup
+\def\addtoversion#1#2{%
+  \warn@rel@i\addtoversion\SetMathAlphabet
+  \SetMathAlphabet#2{#1}{U}}
+\@onlypreamble\addtoversion
+%%% From File: ltfssdcl.dtx
+%% Copyright (C) 1989-1998 Frank Mittelbach and Rainer Sch\"opf,
+%% all rights reserved.
+\def\in@#1#2{%
+ \def\in@@##1#1##2##3\in@@{%
+  \ifx\in@##2\in@false\else\in@true\fi}%
+ \in@@#2#1\in@\in@@}
+\newif\ifin@
+\let\version@list=\@empty
+\@onlypreamble\version@list
+\let\version@elt\relax
+\@onlypreamble\version@elt
+\let\alpha@list\@empty
+\@onlypreamble\alpha@list
+\let\alpha@elt\relax
+\@onlypreamble\alpha@elt
+\count18=-1
+\def\select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+  \ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
+     \begingroup
+       \escapechar\m@ne
+       \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+       \globaldefs\@ne  \math@fonts
+     \endgroup
+     \init@restore@version
+     \xdef#1{\noexpand\use@mathgroup\noexpand#2%
+             {\number\csname c@mv@\math@version\endcsname}}%
+     \global\advance\csname c@mv@\math@version\endcsname\@ne
+   \else
+     \let#1\relax
+     \@latex@error{Too many math alphabets used in
+                   version \math@version}%
+        \@eha
+   \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\@onlypreamble\restore@mathversion
+\def\init@restore@version{%
+        \global\let\init@restore@version\relax
+        \xdef\restore@mathversion
+             {\expandafter\noexpand\csname mv@\math@version\endcsname
+              \global\csname c@mv@\math@version\endcsname
+              \number\csname c@mv@\math@version\endcsname\relax}%
+        \aftergroup\dorestore@version
+}
+\@onlypreamble\init@restore@version
+\gdef\non@alpherr#1{\@latex@error{%
+    \expandafter\@firstoftwo\string#1 allowed only in math mode}\@ehd}
+\def\dorestore@version
+ {\ifmmode
+    \aftergroup\dorestore@version
+  \else
+    \gdef\init@restore@version{%
+        \global\let\init@restore@version\relax
+        \xdef\restore@mathversion
+             {\expandafter\noexpand\csname mv@\math@version\endcsname
+              \global\csname c@mv@\math@version\endcsname
+              \number\csname c@mv@\math@version\endcsname\relax}%
+        \aftergroup\dorestore@version
+    }%
+    \begingroup
+      \let\getanddefine@fonts\@gobbletwo
+      \restore@mathversion
+    \endgroup
+  \fi}%
+\@onlypreamble\dorestore@version
+\def\document@select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+   \ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
+     \begingroup
+       \escapechar\m@ne
+       \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+       \globaldefs\@ne  \math@fonts
+     \endgroup
+     \expandafter\extract@alph@from@version
+         \csname mv@\math@version\expandafter\endcsname
+         \expandafter{\number\csname
+                       c@mv@\math@version\endcsname}%
+          #1%
+     \global\advance\csname c@mv@\math@version\endcsname\@ne
+   \else
+     \let#1\relax
+     \@latex@error{Too many math alphabets used
+                   in version \math@version}%
+        \@eha
+  \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\def\process@table{%
+    \def\cdp@elt##1##2##3##4{%
+        \@font@info{Checking defaults for
+                  ##1/##2/##3/##4}%
+        \expandafter
+        \ifx\csname##1/##2/##3/##4\endcsname\relax
+          \begingroup
+           \def\f@encoding{##1}\def\f@family{##2}%
+           \try@load@fontshape
+          \endgroup
+        \fi
+        \expandafter
+        \ifx\csname##1/##2/##3/##4\endcsname\relax
+             \@latex@error{This NFSS system isn't set up properly}%
+                       {For encoding scheme ##1 the defaults
+                        ##2/##3/##4 do not form a valid font shape}%
+        \else
+             \@font@info{... okay}%
+        \fi}%
+    \cdp@list
+    \begingroup
+       \escapechar\m@ne
+       \error@fontshape
+       \expandafter\ifx\csname \curr@fontshape\endcsname\relax
+          \begingroup
+            \try@load@fontshape
+           \endgroup
+       \fi
+       \expandafter\ifx\csname \curr@fontshape\endcsname\relax
+         \@latex@error{This NFSS system isn't set up properly}%
+            {The system maintainer forgot to specify a suitable
+             substitution
+             font shape using the \noexpand\DeclareErrorFont
+             command}%
+       \fi
+    \endgroup
+    \let\select@group\document@select@group
+    \fontencoding{\encodingdefault}%
+    \fontfamily{\familydefault}%
+    \fontseries{\seriesdefault}%
+    \fontshape{\shapedefault}%
+ \everyjob{}%
+}
+\@onlypreamble\process@table
+\def\DeclareMathVersion#1{%
+  \expandafter\new@mathversion\csname mv@#1\endcsname}
+\@onlypreamble\DeclareMathVersion
+\def\new@mathversion#1{%
+  \expandafter\in@\expandafter#1\expandafter{\version@list}%
+  \ifin@
+    \@font@info{Redeclaring math version
+               `\expandafter\@gobblefour\string#1'}%
+  \else
+    \global\expandafter\newcount\csname c@\expandafter
+                                \@gobble\string#1\endcsname
+    \def\version@elt{\noexpand\version@elt\noexpand}%
+    \edef\version@list{\version@list\version@elt#1}%
+  \fi
+  \toks@{}%
+  \count@\z@
+  \def\group@elt##1##2{%
+       \advance\count@\@ne
+       \addto@hook\toks@{\getanddefine@fonts##1##2}%
+       }%
+  \group@list
+  \global\csname c@\expandafter\@gobble\string#1\endcsname\count@
+  \def\alpha@elt##1##2##3{%
+       \ifx##2\no@alphabet@error
+         \toks@\expandafter{\the\toks@\install@mathalphabet##1%
+             {\no@alphabet@error##1}}%
+       \else
+         \toks@\expandafter{\the\toks@\install@mathalphabet##1%
+             {\select@group##1##2##3}}%
+       \fi
+          }%
+  \alpha@list
+  \xdef#1{\the\toks@}%
+}
+\@onlypreamble\new@mathversion
+\def\DeclareSymbolFont#1#2#3#4#5{%
+ \@tempswafalse
+ \edef\reserved@b{#2}%
+ \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}%
+      \ifx\reserved@b\reserved@c \@tempswatrue\fi}%
+ \cdp@list
+ \if@tempswa
+   \@ifundefined{sym#1}{%
+      \expandafter\new@mathgroup\csname sym#1\endcsname
+      \expandafter\new@symbolfont\csname sym#1\endcsname
+                        {#2}{#3}{#4}{#5}}%
+     {%
+      \@font@info{Redeclaring symbol font `#1'}%
+      \def\group@elt##1##2{%
+           \noexpand\group@elt\noexpand##1%
+           \expandafter\ifx\csname sym#1\endcsname##1%
+             \expandafter\noexpand\csname#2/#3/#4/#5\endcsname
+           \else
+               \noexpand##2%
+           \fi}%
+      \xdef\group@list{\group@list}%
+      \def\version@elt##1{%
+          \expandafter
+          \SetSymbolFont@\expandafter##1\csname#2/#3/#4/#5\expandafter
+              \endcsname \csname sym#1\endcsname
+          }%
+      \version@list
+     }%
+  \else
+    \@latex@error{Encoding scheme  `#2' unknown}\@eha
+  \fi
+  }
+\@onlypreamble\DeclareSymbolFont
+\let\group@list\@empty
+\@onlypreamble\group@list
+\let\group@elt\relax
+\@onlypreamble\group@elt
+\def\new@symbolfont#1#2#3#4#5{%
+    \toks@\expandafter{\group@list}%
+    \edef\group@list{\the\toks@\noexpand\group@elt\noexpand#1%
+                     \expandafter\noexpand\csname#2/#3/#4/#5\endcsname}%
+    \def\version@elt##1{\toks@\expandafter{##1}%
+                   \edef##1{\the\toks@\noexpand\getanddefine@fonts
+                   #1\expandafter\noexpand\csname#2/#3/#4/#5\endcsname}%
+                  \global\advance\csname c@\expandafter
+                                 \@gobble\string##1\endcsname\@ne
+                 }%
+    \version@list
+}
+\@onlypreamble\new@symbolfont
+\def\SetSymbolFont#1#2#3#4#5#6{%
+ \@tempswafalse
+ \edef\reserved@b{#3}%
+ \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}%
+      \ifx\reserved@b\reserved@c \@tempswatrue\fi}%
+ \cdp@list
+ \if@tempswa
+  \expandafter\SetSymbolFont@
+    \csname mv@#2\expandafter\endcsname\csname#3/#4/#5/#6\expandafter
+    \endcsname \csname sym#1\endcsname
+ \else
+  \@latex@error{Encoding scheme  `#3' unknown}\@eha
+ \fi
+}
+\@onlypreamble\SetSymbolFont
+\def\SetSymbolFont@#1#2#3{%
+  \expandafter\in@\expandafter#1\expandafter{\version@list}%
+  \ifin@
+    \expandafter\in@\expandafter#3\expandafter{\group@list}%
+    \ifin@
+      \begingroup
+        \expandafter\get@cdp\string#2\@nil\reserved@a
+        \toks@{}%
+        \def\install@mathalphabet##1##2{%
+             \addto@hook\toks@{\install@mathalphabet##1{##2}}%
+            }%
+        \def\getanddefine@fonts##1##2{%
+          \ifnum##1=#3%
+             \addto@hook\toks@{\getanddefine@fonts#3#2}%
+             \expandafter\get@cdp\string##2\@nil\reserved@b
+             \ifx\reserved@a\reserved@b\else
+                \@font@warning{Encoding `\reserved@b' has changed
+                    to `\reserved@a' for symbol font\MessageBreak
+                   `\expandafter\@gobblefour\string#3' in the
+                    math version `\expandafter
+                    \@gobblefour\string#1'}%
+             \fi
+             \@font@info{%
+                Overwriting symbol font
+                `\expandafter\@gobblefour\string#3' in
+                 version `\expandafter
+                \@gobblefour\string#1'\MessageBreak
+                \@spaces \expandafter\@gobble\string##2 -->
+                         \expandafter\@gobble\string#2}%
+          \else
+             \addto@hook\toks@{\getanddefine@fonts##1##2}%
+          \fi}%
+         #1%
+         \xdef#1{\the\toks@}%
+      \endgroup
+    \else
+       \@latex@error{Symbol font `\expandafter\@gobblefour\string#3'
+                  not defined}\@eha
+    \fi
+  \else
+    \@latex@error{Math version `\expandafter\@gobblefour\string#1'
+       is not
+       defined}{You probably mispelled the name of the math
+       version.^^JOr you have to specify an additional package.}%
+  \fi
+}
+\@onlypreamble\SetSymbolFont@
+\def\get@cdp#1#2/#3\@nil#4{\def#4{#2}}
+\@onlypreamble\get@cdp
+\def\DeclareMathAlphabet#1#2#3#4#5{%
+ \@tempswafalse
+ \edef\reserved@b{#2}%
+ \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}%
+      \ifx\reserved@b\reserved@c \@tempswatrue\fi}%
+ \cdp@list
+ \if@tempswa
+   \expandafter\ifx
+   \csname\expandafter\@gobble\string#1\endcsname
+   \relax
+      \new@mathalphabet#1{#2}{#3}{#4}{#5}%
+   \else
+     \edef\reserved@a{\noexpand\in@{\string\select@group}%
+         {\expandafter\meaning\csname @\expandafter
+          \@gobble\string#1\endcsname}}%
+     \reserved@a
+     \ifin@
+       \@font@info{Redeclaring math alphabet \string#1}%
+       \def\version@elt##1{%
+         \expandafter\SetMathAlphabet@\expandafter
+            ##1\csname#2/#3/#4/#5\expandafter\endcsname
+            \csname M@#2\expandafter\endcsname
+            \csname @\expandafter\@gobble\string#1\endcsname#1}%
+       \version@list
+     \else
+       \edef\reserved@a{\noexpand\in@{\string\use@mathgroup}%
+         {\expandafter\meaning\csname @\expandafter
+          \@gobble\string#1\endcsname}}%
+       \reserved@a
+       \ifin@
+         \@font@info{Redeclaring math alphabet \string#1}%
+         \new@mathalphabet#1{#2}{#3}{#4}{#5}%
+       \else
+         \@latex@error{Command `\string#1' already defined}\@eha
+       \fi
+     \fi
+  \fi
+ \else
+  \@latex@error{Encoding scheme  `#2' unknown}\@eha
+ \fi
+  }
+\@onlypreamble\DeclareMathAlphabet
+\def\new@mathalphabet#1#2#3#4#5{%
+    \toks@\expandafter{\alpha@list}%
+    \edef#1{\expandafter\noexpand\csname @\expandafter
+            \@gobble\string#1\endcsname
+            \if/#5/%
+               \noexpand\no@alphabet@error
+               \noexpand\no@alphabet@error
+            \else
+               \expandafter\noexpand\csname M@#2\endcsname
+               \expandafter\noexpand\csname#2/#3/#4/#5\endcsname
+            \fi
+           }%
+    \toks2\expandafter{#1}%
+    \edef\alpha@list{\the\toks@\noexpand\alpha@elt\the\toks2}%
+    \def\version@elt##1{\toks@\expandafter{##1}%
+                   \edef##1{\the\toks@\install@mathalphabet
+                            \expandafter\noexpand
+                            \csname @\expandafter\@gobble
+                               \string#1\endcsname
+                           {\if/#5/%
+                             \noexpand\no@alphabet@error
+                             \noexpand#1%
+                            \else
+                             \noexpand\select@group\the\toks2
+                            \fi}}%
+                 }%
+    \version@list
+    \expandafter\edef\csname @\expandafter\@gobble
+                \string#1\endcsname{\if/#5/%
+              \noexpand\no@alphabet@error
+              \noexpand#1%
+            \else
+              \noexpand\select@group\the\toks2
+            \fi}%
+    \edef#1{\noexpand\protect
+            \expandafter\noexpand\csname @\expandafter
+            \@gobble\string#1\endcsname}%
+}
+\@onlypreamble\new@mathalphabet
+\def\SetMathAlphabet#1#2#3#4#5#6{%
+ \@tempswafalse
+ \edef\reserved@b{#3}%
+ \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}%
+      \ifx\reserved@b\reserved@c \@tempswatrue\fi}%
+ \cdp@list
+ \if@tempswa
+  \expandafter\SetMathAlphabet@
+    \csname mv@#2\expandafter\endcsname\csname#3/#4/#5/#6\expandafter
+    \endcsname \csname M@#3\expandafter\endcsname
+    \csname @\expandafter\@gobble\string#1\endcsname#1%
+ \else
+  \@latex@error{Encoding scheme  `#3' unknown}\@eha
+ \fi
+}
+\@onlypreamble\SetMathAlphabet
+\def\SetMathAlphabet@#1#2#3#4#5{%
+  \expandafter\in@\expandafter#1\expandafter{\version@list}%
+  \ifin@
+    \expandafter\in@\expandafter#4\expandafter{\alpha@list}%
+    \ifin@
+      \begingroup
+        \toks@{}%
+        \def\getanddefine@fonts##1##2{%
+             \addto@hook\toks@{\getanddefine@fonts##1##2}%
+            }%
+        \def\reserved@c##1##2##3##4{%                % for message below
+            \expandafter\@gobble\string##4}%
+        \def\install@mathalphabet##1##2{%
+          \ifx##1#4%
+             \addto@hook\toks@
+                {\install@mathalphabet#4{\select@group#4#3#2}}%
+             \@font@info{Overwriting math alphabet
+                `\string#5' in version `\expandafter
+                 \@gobblefour\string#1'\MessageBreak
+                 \@spaces \reserved@c##2 -->
+                        \expandafter\@gobble\string#2}%
+          \else
+             \addto@hook\toks@{\install@mathalphabet##1{##2}}%
+          \fi
+          }%
+        #1%
+        \xdef#1{\the\toks@}%
+      \endgroup
+    \else
+       \edef\reserved@a{%
+         \noexpand\in@{\string\use@mathgroup}{\meaning#4}}%
+       \reserved@a
+       \ifin@
+         \def\reserved@b##1\use@mathgroup##2##3{%
+             \def\reserved@b{##3}\def\reserved@c{##2}}%
+         \expandafter\reserved@b#4%
+         \begingroup
+           \def\install@mathalphabet##1##2{%
+               \addto@hook\toks@{\install@mathalphabet##1{##2}}%
+               }%
+            \def\getanddefine@fonts##1##2{%
+              \addto@hook\toks@{\getanddefine@fonts##1##2}%
+              \ifnum##1=\reserved@b
+                 \expandafter
+                 \addto@hook\expandafter\toks@
+                 \expandafter{\expandafter\install@mathalphabet
+                 \expandafter#4\expandafter
+                       {\expandafter\select@group\expandafter
+                         #4\reserved@c##2}}%
+              \fi
+                      }%
+           \def\version@elt##1{%
+               \toks@{}%
+               ##1%
+               \xdef##1{\the\toks@}%
+              }%
+           \version@list
+         \endgroup
+         \expandafter\gdef\expandafter\alpha@list\expandafter
+             {\alpha@list
+              \alpha@elt #4\no@alphabet@error \no@alphabet@error}%
+         \gdef#4{\no@alphabet@error #5}% fake things :-)
+         \SetMathAlphabet@{#1}{#2}{#3}#4#5%
+       \else
+         \@latex@error{Command `\string#5' not defined as a
+                       math alphabet}%
+            {Use \noexpand\DeclareMathAlphabet to define it.}%
+       \fi
+    \fi
+  \else
+    \@latex@error{Math version `\expandafter\@gobblefour\string#1'
+       is not
+       defined}{You probably mispelled the name of the math
+       version.^^JOr you have to specify an additional package.}%
+  \fi
+}
+\@onlypreamble\SetMathAlphabet@
+\def\DeclareMathAccent#1#2#3#4{%
+  \expandafter\in@\csname sym#3\expandafter\endcsname
+     \expandafter{\group@list}%
+  \ifin@
+    \begingroup
+      \count\z@=#4\relax
+      \count\tw@\count\z@
+      \divide\count\z@\sixt@@n
+      \count@\count\z@
+      \multiply\count@\sixt@@n
+      \advance\count\tw@-\count@
+      \if\relax\noexpand#1% is command?
+        \edef\reserved@a{\noexpand\in@{\string\mathaccent}{\meaning#1}}%
+        \reserved@a
+        \ifin@
+          \expandafter\set@mathaccent
+             \csname sym#3\endcsname#1#2%
+             {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \@font@info{Redeclaring math accent \string#1}%
+        \else
+          \expandafter\ifx
+          \csname\expandafter\@gobble\string#1\endcsname
+          \relax
+            \expandafter\set@mathaccent
+               \csname sym#3\endcsname#1#2%
+               {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \else
+            \@latex@error{Command `\string#1' already defined}\@eha
+          \fi
+        \fi
+      \else
+       \@latex@error{Not a command name: `\noexpand#1'}\@eha
+      \fi
+    \endgroup
+  \else
+    \@latex@error{Symbol font `#3' is not defined}\@eha
+  \fi
+}
+\@onlypreamble\DeclareMathAccent
+\def\set@mathaccent#1#2#3#4{%
+  \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
+\@onlypreamble\set@mathaccent
+\def\DeclareMathSymbol#1#2#3#4{%
+  \expandafter\in@\csname sym#3\expandafter\endcsname
+     \expandafter{\group@list}%
+  \ifin@
+    \begingroup
+      \count\z@=#4\relax
+      \count\tw@\count\z@
+      \divide\count\z@\sixt@@n
+      \count@\count\z@
+      \multiply\count@\sixt@@n
+      \advance\count\tw@-\count@
+      \if\relax\noexpand#1% is command?
+        \edef\reserved@a{\noexpand\in@{\string\mathchar}{\meaning#1}}%
+        \reserved@a
+        \ifin@
+          \expandafter\set@mathsymbol
+             \csname sym#3\endcsname#1#2%
+             {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \@font@info{Redeclaring math symbol \string#1}%
+        \else
+            \expandafter\ifx
+            \csname\expandafter\@gobble\string#1\endcsname
+            \relax
+            \expandafter\set@mathsymbol
+               \csname sym#3\endcsname#1#2%
+               {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \else
+            \@latex@error{Command `\string#1' already defined}\@eha
+          \fi
+        \fi
+      \else
+        \expandafter\set@mathchar
+          \csname sym#3\endcsname#1#2
+          {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+      \fi
+    \endgroup
+  \else
+    \@latex@error{Symbol font `#3' is not defined}\@eha
+  \fi
+}
+\@onlypreamble\DeclareMathSymbol
+\def\set@mathchar#1#2#3#4{%
+  \global\mathcode`#2="\mathchar@type#3\hexnumber@#1#4\relax}
+\@onlypreamble\set@mathchar
+\def\set@mathsymbol#1#2#3#4{%
+  \global\mathchardef#2"\mathchar@type#3\hexnumber@#1#4\relax}
+\@onlypreamble\set@mathsymbol
+\def\DeclareMathDelimiter#1{%
+  \if\relax\noexpand#1%
+    \expandafter\@DeclareMathDelimiter
+  \else
+    \expandafter\@xxDeclareMathDelimiter
+  \fi
+  #1}
+\@onlypreamble\DeclareMathDelimiter
+\def\@xxDeclareMathDelimiter#1#2#3#4{%
+   \begingroup
+    \let\mathalpha\mathord
+    \ifnum7=\mathchar@type{#2}%
+      \endgroup
+      \expandafter\@firstofone
+    \else
+      \endgroup
+      \DeclareMathSymbol#1{#2}{#3}{#4}%
+      \expandafter\@firstoftwo
+    \fi
+    {\@xDeclareMathDelimiter#1}{#2}{#3}{#4}}
+\@onlypreamble\@xxDeclareMathDelimiter
+\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
+  \expandafter\in@\csname sym#3\expandafter\endcsname
+     \expandafter{\group@list}%
+  \ifin@
+    \expandafter\in@\csname sym#5\expandafter\endcsname
+       \expandafter{\group@list}%
+    \ifin@
+      \begingroup
+        \count\z@=#4\relax
+        \count\tw@\count\z@
+        \divide\count\z@\sixt@@n
+        \count@\count\z@
+        \multiply\count@\sixt@@n
+        \advance\count\tw@-\count@
+        \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+      %
+        \count\z@=#6\relax
+        \count\tw@\count\z@
+        \divide\count\z@\sixt@@n
+        \count@\count\z@
+        \multiply\count@\sixt@@n
+        \advance\count\tw@-\count@
+        \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+      %
+        \edef\reserved@a{\noexpand\in@{\string\delimiter}{\meaning#1}}%
+        \reserved@a
+        \ifin@
+          \expandafter\set@mathdelimiter
+             \csname sym#3\expandafter\endcsname
+             \csname sym#5\endcsname#1#2%
+             \reserved@c\reserved@d
+          \@font@info{Redeclaring math delimiter \string#1}%
+        \else
+            \expandafter\ifx
+            \csname\expandafter\@gobble\string#1\endcsname
+            \relax
+            \expandafter\set@mathdelimiter
+              \csname sym#3\expandafter\endcsname
+              \csname sym#5\endcsname#1#2%
+              \reserved@c\reserved@d
+          \else
+            \@latex@error{Command `\string#1' already defined}\@eha
+          \fi
+        \fi
+      \endgroup
+    \else
+      \@latex@error{Symbol font `#5' is not defined}\@eha
+    \fi
+  \else
+    \@latex@error{Symbol font `#3' is not defined}\@eha
+  \fi
+}
+\@onlypreamble\@DeclareMathDelimiter
+\def\@xDeclareMathDelimiter#1#2#3#4#5{%
+  \expandafter\in@\csname sym#2\expandafter\endcsname
+     \expandafter{\group@list}%
+  \ifin@
+    \expandafter\in@\csname sym#4\expandafter\endcsname
+       \expandafter{\group@list}%
+    \ifin@
+      \begingroup
+        \count\z@=#3\relax
+        \count\tw@\count\z@
+        \divide\count\z@\sixt@@n
+        \count@\count\z@
+        \multiply\count@\sixt@@n
+        \advance\count\tw@-\count@
+        \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+      %
+        \count\z@=#5\relax
+        \count\tw@\count\z@
+        \divide\count\z@\sixt@@n
+        \count@\count\z@
+        \multiply\count@\sixt@@n
+        \advance\count\tw@-\count@
+        \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+        \expandafter\set@@mathdelimiter
+           \csname sym#2\expandafter\endcsname\csname sym#4\endcsname#1%
+           \reserved@c\reserved@d
+      \endgroup
+    \else
+      \@latex@error{Symbol font `#4' is not defined}\@eha
+    \fi
+  \else
+    \@latex@error{Symbol font `#2' is not defined}\@eha
+  \fi
+}
+\@onlypreamble\@xDeclareMathDelimiter
+\def\set@mathdelimiter#1#2#3#4#5#6{%
+  \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
+                                     \hexnumber@#2#6 }}
+\@onlypreamble\set@mathdelimiter
+\def\set@@mathdelimiter#1#2#3#4#5{%
+  \global\delcode`#3="\hexnumber@#1#4\hexnumber@#2#5\relax}
+\@onlypreamble\set@@mathdelimiter
+\def\DeclareMathRadical#1#2#3#4#5{%
+  \expandafter\ifx
+       \csname\expandafter\@gobble\string#1\endcsname
+       \relax
+     \let#1\radical
+  \fi
+  \edef\reserved@a{\noexpand\in@{\string\radical}{\meaning#1}}%
+  \reserved@a
+  \ifin@
+    \expandafter\in@\csname sym#2\expandafter\endcsname
+       \expandafter{\group@list}%
+    \ifin@
+      \expandafter\in@\csname sym#4\expandafter\endcsname
+         \expandafter{\group@list}%
+      \ifin@
+        \begingroup
+          \count\z@=#3\relax
+          \count\tw@\count\z@
+          \divide\count\z@\sixt@@n
+          \count@\count\z@
+          \multiply\count@\sixt@@n
+          \advance\count\tw@-\count@
+          \edef\reserved@c{%
+            \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \count\z@=#5\relax
+          \count\tw@\count\z@
+          \divide\count\z@\sixt@@n
+          \count@\count\z@
+          \multiply\count@\sixt@@n
+          \advance\count\tw@-\count@
+          \edef\reserved@d{%
+            \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+          \xdef#1{\radical"\expandafter\hexnumber@
+                                \csname sym#2\endcsname\reserved@c
+                             \expandafter\hexnumber@
+                                \csname sym#4\endcsname\reserved@d
+                  \relax}%
+        \endgroup
+      \else
+        \@latex@error{Symbol font `#4' is not defined}\@eha
+      \fi
+    \else
+      \@latex@error{Symbol font `#2' is not defined}\@eha
+    \fi
+  \else
+    \@latex@error{Command `\string#1' already defined}\@eha
+  \fi
+}
+\@onlypreamble\DeclareMathRadical
+\let\mathalpha\relax
+\def\mathchar@type#1{%
+  \ifodd 2#11 #1\else             % is this non-negative number?
+    \ifx#1\mathord 0\else
+     \ifx#1\mathop   1\else
+       \ifx#1\mathbin 2\else
+         \ifx#1\mathrel 3\else
+           \ifx#1\mathopen 4\else
+             \ifx#1\mathclose 5\else
+               \ifx#1\mathpunct 6\else
+                   7%             % anything else is variable ord
+               \fi
+             \fi
+           \fi
+         \fi
+       \fi
+     \fi
+    \fi
+  \fi}
+\@onlypreamble\mathchar@type
+\def\DeclareSymbolFontAlphabet#1#2{%
+   \expandafter\DeclareSymbolFontAlphabet@
+     \csname @\expandafter\@gobble\string#1\endcsname{#2}#1}
+\@onlypreamble\DeclareSymbolFontAlphabet
+\def\DeclareSymbolFontAlphabet@#1#2#3{%
+    \@tempswatrue
+  \expandafter\in@\csname sym#2\expandafter\endcsname
+     \expandafter{\group@list}%
+  \ifin@
+    \expandafter\in@\expandafter#1\expandafter{\alpha@list}%
+    \ifin@
+      \@font@info{Redeclaring math alphabet \string#3}%
+      \toks@{}%
+      \def\alpha@elt##1##2##3{%
+          \ifx##1#1\else\addto@hook\toks@{\alpha@elt##1##2##3}\fi}%
+      \alpha@list
+      \xdef\alpha@list{\the\toks@}%
+      \def\version@elt##1{%
+          \begingroup
+            \toks@{}%
+            \def\getanddefine@fonts####1####2{%
+               \addto@hook\toks@{\getanddefine@fonts####1####2}}%
+            \def\install@mathalphabet####1####2{%
+               \ifx####1#1\else
+                 \addto@hook\toks@{\install@mathalphabet
+                                    ####1{####2}}\fi}%
+            ##1%
+            \xdef##1{\the\toks@}%
+          \endgroup
+          }%
+      \version@list
+    \else
+      \expandafter\ifx
+      \csname\expandafter\@gobble\string#1\endcsname
+      \relax
+      \else
+        \edef\reserved@a{%
+          \noexpand\in@{\string\use@mathgroup}{\meaning#1}}%
+        \reserved@a
+        \ifin@
+          \@font@info{Redeclaring math alphabet \string#3}%
+        \else
+          \@tempswafalse
+          \@latex@error{Command `\string#3' already defined}\@eha
+        \fi
+      \fi
+    \fi
+   \else
+     \@tempswafalse
+     \@latex@error{Unknown symbol font `#2'}\@eha
+   \fi
+   \if@tempswa
+     \def\group@elt##1##2{%
+        \expandafter\ifx\csname sym#2\endcsname##1%
+        \expandafter\reserved@a\string##2\@nil
+        \fi}%
+     \def\reserved@a##1##2/##3\@nil{%
+        \def\reserved@a{##2}}%
+     \group@list
+     \toks@{\relax\ifmmode \else \non@alpherr#1\fi}%
+     \edef#1{\the\toks@
+             \noexpand\use@mathgroup
+             \expandafter\noexpand\csname M@\reserved@a\endcsname
+             \csname sym#2\endcsname}%
+     \def#3{\protect#1}%
+   \fi
+}
+\@onlypreamble\DeclareSymbolFontAlphabet@
+%%% From File: ltfssini.dtx
+%% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf,
+%% all rights reserved.
+\DeclareMathVersion{normal}
+\DeclareMathVersion{bold}
+\DeclareRobustCommand\rmfamily
+        {\not@math@alphabet\rmfamily\mathrm
+         \fontfamily\rmdefault\selectfont}
+\DeclareRobustCommand\sffamily
+        {\not@math@alphabet\sffamily\mathsf
+         \fontfamily\sfdefault\selectfont}
+\DeclareRobustCommand\ttfamily
+        {\not@math@alphabet\ttfamily\mathtt
+         \fontfamily\ttdefault\selectfont}
+\DeclareRobustCommand\bfseries
+        {\not@math@alphabet\bfseries\mathbf
+         \fontseries\bfdefault\selectfont}
+\DeclareRobustCommand\mdseries
+        {\not@math@alphabet\mdseries\relax
+         \fontseries\mddefault\selectfont}
+\DeclareRobustCommand\upshape
+        {\not@math@alphabet\upshape\relax
+         \fontshape\updefault\selectfont}
+\DeclareRobustCommand\slshape
+        {\not@math@alphabet\slshape\relax
+         \fontshape\sldefault\selectfont}
+\DeclareRobustCommand\scshape
+        {\not@math@alphabet\scshape\relax
+         \fontshape\scdefault\selectfont}
+\DeclareRobustCommand\itshape
+        {\not@math@alphabet\itshape\mathit
+         \fontshape\itdefault\selectfont}
+\DeclareRobustCommand\em
+        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+                       \upshape \else \itshape \fi}
+\def\not@math@alphabet#1#2{%
+   \relax
+   \ifmmode
+     \@latex@error{Command \noexpand#1invalid in math mode}%
+        {%
+         Please
+         \ifx#2\relax
+            define a new math alphabet^^J%
+            if you want to use a special font in math mode%
+          \else
+            use the math alphabet \noexpand#2instead of
+            the #1command%
+         \fi
+         .
+        }%
+   \fi}
+\def\boldmath{\@nomath\boldmath
+              \mathversion{bold}}
+\def\unboldmath{\@nomath\unboldmath
+              \mathversion{normal}}
+\def\math@version{normal}
+\def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}}
+\def\symbol#1{\char #1\relax}
+\def\@setfontsize#1#2#3{\@nomath#1%
+    \ifx\protect\@typeset@protect
+      \let\@currsize#1%
+    \fi
+    \fontsize{#2}{#3}\selectfont}
+\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}}
+\def\oldstylenums#1{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f@series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\def\hexnumber@#1{\ifcase\number#1
+ 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
+ 9\or A\or B\or C\or D\or E\or F\fi}
+\def\nfss@text#1{{\mbox{#1}}}
+\DeclareRobustCommand\normalfont
+                 {\usefont\encodingdefault
+                          \familydefault
+                          \seriesdefault
+                          \shapedefault
+                  \relax}
+\let\reset@font\normalfont
+\def\not@base#1{\@latex@error
+  {Command \noexpand#1not provided in base LaTeX2e}%
+  {Load the latexsym or the amsfonts package to
+   define this symbol}}
+\def\mho{\not@base\mho}
+\def\Join{\not@base\Join}
+\def\Box{\not@base\Box}
+\def\Diamond{\not@base\Diamond}
+\def\leadsto{\not@base\leadsto}
+\def\sqsubset{\not@base\sqsubset}
+\def\sqsupset{\not@base\sqsupset}
+\def\lhd{\not@base\lhd}
+\def\unlhd{\not@base\unlhd}
+\def\rhd{\not@base\rhd}
+\def\unrhd{\not@base\unrhd}
+\DeclareErrorFont{OT1}{cmr}{m}{n}{10}  %% don't modify this setting
+                                       %% overwrite it in fontdef.cfg
+                                       %% if necessary
+\ifnum\inputlineno=\m@ne
+\InputIfFileExists{fonttext.cfg}
+           {\typeout{====================================^^J%
+                     ^^J%
+                      Local config file fonttext.cfg used^^J%
+                     ^^J%
+                     ====================================}%
+             \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}%
+            }
+           {\typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
+                     !^^J%
+                     ! You MUST use a fonttext.cfg file!^^J%
+                     ! As you are still using TeX2!!!!!^^J%
+                     !^^J%
+                     ! See the documentation file tex2.txt^^J%
+                     !^^J%
+                     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}%
+                    \batchmode \@@end}
+\else
+\InputIfFileExists{fonttext.cfg}
+           {\typeout{====================================^^J%
+                     ^^J%
+                      Local config file fonttext.cfg used^^J%
+                     ^^J%
+                     ====================================}%
+             \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}%
+            }
+           {\input{fonttext.ltx}}
+\fi
+\let\@addtofilelist\@gobble
+\InputIfFileExists{fontmath.cfg}
+           {\typeout{====================================^^J%
+                     ^^J%
+                      Local config file fontmath.cfg used^^J%
+                     ^^J%
+                     ====================================}%
+             \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}%
+            }
+           {\input{fontmath.ltx}}
+\let\@addtofilelist\@gobble
+\InputIfFileExists{preload.cfg}
+           {\typeout{====================================^^J%
+                     ^^J%
+                      Local config file preload.cfg used^^J%
+                     ^^J%
+                     =====================================}%
+             \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}%
+            }
+           {\input{preload.ltx}}
+\let\@addtofilelist\@gobble
+\let\@acci\' \let\@accii\` \let\@acciii\=
+%%% From File: ltfntcmd.dtx
+%%
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\def \DeclareTextFontCommand #1#2{%
+  \DeclareRobustCommand#1[1]{%
+    \ifmmode
+      \nfss@text{#2##1}%
+    \else
+      \hmode@bgroup
+       \text@command{##1}%
+       #2\check@icl ##1\check@icr
+       \expandafter
+      \egroup
+    \fi
+                       }%
+}
+\DeclareTextFontCommand{\textrm}{\rmfamily}
+\DeclareTextFontCommand{\textsf}{\sffamily}
+\DeclareTextFontCommand{\texttt}{\ttfamily}
+\DeclareTextFontCommand{\textnormal}{\normalfont}
+\DeclareTextFontCommand{\textbf}{\bfseries}
+\DeclareTextFontCommand{\textmd}{\mdseries}
+\DeclareTextFontCommand{\textit}{\itshape}
+\DeclareTextFontCommand{\textsl}{\slshape}
+\DeclareTextFontCommand{\textsc}{\scshape}
+\DeclareTextFontCommand{\textup}{\upshape}
+\DeclareTextFontCommand{\emph}{\em}
+\let \nocorr \relax
+\let \check@icl \@empty
+\let \check@icr \@empty
+\def \text@command #1{%
+  \def \reserved@a {#1}%
+  \ifx \reserved@a \@empty
+    \let \check@icl \@empty
+    \let \check@icr \@empty
+  \else
+    \ifx \reserved@a \space
+      \let \check@icl \@empty
+      \let \check@icr \@empty
+    \else
+      \check@nocorr@ #1\nocorr\@nil
+    \fi
+  \fi
+}
+\def \check@nocorr@ #1#2\nocorr#3\@nil {%
+  \let \check@icl \maybe@ic
+  \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%
+  \def \reserved@a {\nocorr}%
+  \def \reserved@b {#1}%
+  \def \reserved@c {#3}%
+  \ifx \reserved@a \reserved@b
+    \ifx \reserved@c \@empty
+      \let \check@icl \@empty
+    \else
+      \let \check@icl \@empty
+      \let \check@icr \@empty
+    \fi
+  \else
+    \ifx \reserved@c \@empty
+    \else
+      \let \check@icr \@empty
+    \fi
+  \fi
+}
+\def \maybe@ic {\futurelet\@let@token\maybe@ic@}
+\def \maybe@ic@ {%
+  \ifdim  \fontdimen\@ne\font>\z@
+  \else
+    \@tempswatrue
+    \expandafter\@tfor\expandafter\reserved@a\expandafter:\expandafter=%
+        \nocorrlist
+    \do \t@st@ic
+    \if@tempswa \sw@slant \fi
+  \fi
+}
+\def \t@st@ic {%
+  \expandafter\let\expandafter\reserved@b\expandafter=\reserved@a\relax
+  \ifx\reserved@b\@let@token
+    \@tempswafalse
+    \@break@tfor
+  \fi
+}
+\def \sw@slant {%
+  \ifdim \lastskip=\z@
+    \fix@penalty
+  \else
+    \skip@ \lastskip
+    \unskip
+    \fix@penalty
+    \hskip \skip@
+  \fi
+}
+\def \fix@penalty {%
+  \ifnum \lastpenalty=\z@
+    \@@italiccorr
+  \else
+    \count@ \lastpenalty
+    \unpenalty
+    \@@italiccorr
+    \penalty \count@
+  \fi
+}
+\def \nocorrlist {,.}
+\ifx \nfss@text\@undefined
+  \def \nfss@text {\leavevmode\hbox}
+\fi
+\def \DeclareOldFontCommand #1#2#3{%
+  \DeclareRobustCommand #1{\@fontswitch {#2}{#3}}%
+}
+\def \@fontswitch #1#2{%
+  \ifmmode
+     \let \math@bgroup \relax
+     \def \math@egroup {\let \math@bgroup \@@math@bgroup
+                        \let \math@egroup \@@math@egroup}%
+     #2\relax
+  \else
+     #1%
+  \fi
+}
+\let \@@math@bgroup \math@bgroup
+\let \@@math@egroup \math@egroup
+\@onlypreamble \DeclareTextFontCommand
+\@onlypreamble \DeclareOldFontCommand
+\def\normalsize{%
+  \@latex@error {The font size command \protect\normalsize\space
+              is not defined:\MessageBreak
+              there is probably something wrong with
+              the class file}\@eha
+}
+%%% From File: ltpageno.dtx
+\message{page nos.,}
+\countdef\c@page=0 \c@page=1
+\def\cl@page{}
+\def\pagenumbering#1{%
+  \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname
+   \c@page}}
+%%% From File: ltxref.dtx
+\message{x-ref,}
+\def\G@refundefinedtrue{%
+  \gdef\@refundefined{%
+    \@latex@warning@no@line{There were undefined references}}}
+\let\@refundefined\relax
+\def\@setref#1#2#3{%
+  \ifx#1\relax
+   \protect\G@refundefinedtrue
+   \nfss@text{\reset@font\bfseries ??}%
+   \@latex@warning{Reference `#3' on page \thepage \space
+             undefined}%
+  \else
+   \expandafter#2#1\null
+  \fi}
+\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
+                                   \@secondoftwo{#1}}
+\def\@newl@bel#1#2#3{{%
+  \@ifundefined{#1@#2}%
+    \relax
+    {\gdef \@multiplelabels {%
+       \@latex@warning@no@line{There were multiply-defined labels}}%
+     \@latex@warning@no@line{Label `#2' multiply defined}}%
+  \global\@namedef{#1@#2}{#3}}}
+\def\newlabel{\@newl@bel r}
+\@onlypreamble\@newl@bel
+\let \@multiplelabels \relax
+\def\label#1{\@bsphack
+  \protected@write\@auxout{}%
+         {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
+  \@esphack}
+\def\refstepcounter#1{\stepcounter{#1}%
+    \protected@edef\@currentlabel
+       {\csname p@#1\endcsname\csname the#1\endcsname}%
+}
+\def\@currentlabel{}
+%%% From File: ltmiscen.dtx
+\message{environments,}
+\def\@currenvir{document}
+\def\@ignorefalse{\global\let\if@ignore\iffalse}
+\def\@ignoretrue {\global\let\if@ignore\iftrue}
+\@ignorefalse
+\let\ignorespacesafterend\@ignoretrue
+\def\enddocument{%
+   \let\AtEndDocument\@firstofone
+   \@enddocumenthook
+   \@checkend{document}%
+   \clearpage
+   \begingroup
+     \if@filesw
+       \immediate\closeout\@mainaux
+       \let\@setckpt\@gobbletwo
+       \let\@newl@bel\@testdef
+       \@tempswafalse
+       \makeatletter \input\jobname.aux
+     \fi
+     \@dofilelist
+     \ifdim \font@submax >\fontsubfuzz\relax
+       \@font@warning{Size substitutions with differences\MessageBreak
+                  up to \font@submax\space have occurred.\@gobbletwo}%
+     \fi
+     \@defaultsubs
+     \@refundefined
+     \if@filesw
+       \ifx \@multiplelabels \relax
+         \if@tempswa
+           \@latex@warning@no@line{Label(s) may have changed.
+               Rerun to get cross-references right}%
+         \fi
+       \else
+         \@multiplelabels
+       \fi
+     \fi
+   \endgroup
+   \deadcycles\z@\@@end}
+\def\@testdef #1#2#3{%
+  \def\reserved@a{#3}\expandafter \ifx \csname #1@#2\endcsname
+ \reserved@a  \else \@tempswatrue \fi}
+\long\def\@writefile#1#2{%
+  \@ifundefined{tf@#1}\relax
+    {\@temptokena{#2}%
+     \immediate\write\csname tf@#1\endcsname{\the\@temptokena}%
+    }%
+}
+\def\stop{\clearpage\deadcycles\z@\let\par\@@par\@@end}
+\everypar{\@nodocument} %% To get an error if text appears before the
+\nullfont               %% \begin{document}
+\def\begin#1{%
+  \@ifundefined{#1}%
+    {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+    {\def\reserved@a{\def\@currenvir{#1}%
+     \edef\@currenvline{\on@line}%
+     \csname #1\endcsname}}%
+  \@ignorefalse
+  \begingroup\@endpefalse\reserved@a}
+\def\end#1{%
+  \csname end#1\endcsname\@checkend{#1}%
+  \expandafter\endgroup\if@endpe\@doendpe\fi
+  \if@ignore\@ignorefalse\ignorespaces\fi}
+\def\@checkend#1{\def\reserved@a{#1}\ifx
+      \reserved@a\@currenvir \else\@badend{#1}\fi}
+\let\@currenvline\@empty
+\message{center,}
+\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+       \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+\def\@xcentercr{\addvspace{-\parskip}\@ifnextchar
+    [\@icentercr\ignorespaces}
+\def\@icentercr[#1]{\vskip #1\ignorespaces}
+\def\center{\trivlist \centering\item\relax}
+\def\endcenter{\endtrivlist}
+\def\centering{%
+  \let\\\@centercr
+  \rightskip\@flushglue\leftskip\@flushglue
+  \parindent\z@\parfillskip\z@skip}
+\newskip\@rightskip \@rightskip \z@skip
+\def\flushleft{\trivlist \raggedright\item\relax}
+\def\endflushleft{\endtrivlist}
+\def\raggedright{%
+  \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
+  \leftskip\z@skip
+  \parindent\z@}
+\def\flushright{\trivlist \raggedleft\item\relax}
+\def\endflushright{\endtrivlist}
+\def\raggedleft{%
+  \let\\\@centercr
+  \rightskip\z@skip\leftskip\@flushglue
+  \parindent\z@\parfillskip\z@skip}
+\message{verbatim,}
+{\catcode`\ =\active%
+\gdef\@vobeyspaces{\catcode`\ \active\let \@xobeysp}}
+\begingroup \catcode `|=0 \catcode `[= 1
+\catcode`]=2 \catcode `\{=12 \catcode `\}=12
+\catcode`\\=12 |gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]]
+|gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]]
+|endgroup
+\def\@verbatim{\trivlist \item\relax
+  \if@minipage\else\vskip\parskip\fi
+  \leftskip\@totalleftmargin\rightskip\z@skip
+  \parindent\z@\parfillskip\@flushglue\parskip\z@skip
+  \@@par
+  \@tempswafalse \puxXspace1 %%PULATEX
+  \def\par{%
+    \if@tempswa
+      \leavevmode \null \@@par\penalty\interlinepenalty
+    \else
+      \@tempswatrue
+      \ifhmode\@@par\penalty\interlinepenalty\fi
+    \fi}%
+  \let\do\@makeother \dospecials
+  \obeylines \verbatim@font \@noligs
+  \hyphenchar\font\m@ne
+  \everypar \expandafter{\the\everypar \unpenalty}%
+}
+\def\verbatim{\@verbatim \frenchspacing\@vobeyspaces \@xverbatim}
+\def\endverbatim{\if@newlist \leavevmode\fi\endtrivlist}
+\def\verbatim@font{\normalfont\ttfamily}
+\@namedef{verbatim*}{\@verbatim\@sxverbatim}
+\expandafter\let\csname endverbatim*\endcsname =\endverbatim
+\def\@makeother#1{\catcode`#112\relax}
+\let\verb@balance@group\@empty
+\def\verb@egroup{\global\let\verb@balance@group\@empty\egroup}
+\begingroup
+  \obeylines%
+  \gdef\verb@eol@error{\obeylines%
+    \def^^M{\verb@egroup\@latex@error{%
+            \noexpand\verb ended by end of line}\@ehc}}%
+\endgroup
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+  \bgroup \puxXspace1 %%PULATEX
+    \verb@eol@error \let\do\@makeother \dospecials
+    \verbatim@font\@noligs
+    \@ifstar\@sverb\@verb}
+\def\@sverb#1{%
+  \catcode`#1\active
+  \lccode`\~`#1%
+  \gdef\verb@balance@group{\verb@egroup
+     \@latex@error{\noexpand\verb illegal in command argument}\@ehc}%
+  \aftergroup\verb@balance@group
+  \lowercase{\let~\verb@egroup}}%
+\def\@verb{\@vobeyspaces \frenchspacing \@sverb}
+\def\verbatim@nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
+\def\do@noligs#1{%
+  \catcode`#1\active
+  \begingroup
+     \lccode`\~`#1\relax
+     \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
+\def\@noligs{\let\do\do@noligs \verbatim@nolig@list}
+%%% From File: ltmath.dtx
+\message{math definitions,}
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%%
+\def\log{\mathop{\operator@font log}\nolimits}
+\def\lg{\mathop{\operator@font lg}\nolimits}
+\def\ln{\mathop{\operator@font ln}\nolimits}
+\def\lim{\mathop{\operator@font lim}}
+\def\limsup{\mathop{\operator@font lim\,sup}}
+\def\liminf{\mathop{\operator@font lim\,inf}}
+\def\sin{\mathop{\operator@font sin}\nolimits}
+\def\arcsin{\mathop{\operator@font arcsin}\nolimits}
+\def\sinh{\mathop{\operator@font sinh}\nolimits}
+\def\cos{\mathop{\operator@font cos}\nolimits}
+\def\arccos{\mathop{\operator@font arccos}\nolimits}
+\def\cosh{\mathop{\operator@font cosh}\nolimits}
+\def\tan{\mathop{\operator@font tan}\nolimits}
+\def\arctan{\mathop{\operator@font arctan}\nolimits}
+\def\tanh{\mathop{\operator@font tanh}\nolimits}
+\def\cot{\mathop{\operator@font cot}\nolimits}
+\def\coth{\mathop{\operator@font coth}\nolimits}
+\def\sec{\mathop{\operator@font sec}\nolimits}
+\def\csc{\mathop{\operator@font csc}\nolimits}
+\def\max{\mathop{\operator@font max}}
+\def\min{\mathop{\operator@font min}}
+\def\sup{\mathop{\operator@font sup}}
+\def\inf{\mathop{\operator@font inf}}
+\def\arg{\mathop{\operator@font arg}\nolimits}
+\def\ker{\mathop{\operator@font ker}\nolimits}
+\def\dim{\mathop{\operator@font dim}\nolimits}
+\def\hom{\mathop{\operator@font hom}\nolimits}
+\def\det{\mathop{\operator@font det}}
+\def\exp{\mathop{\operator@font exp}\nolimits}
+\def\Pr{\mathop{\operator@font Pr}}
+\def\gcd{\mathop{\operator@font gcd}}
+\def\deg{\mathop{\operator@font deg}\nolimits}
+\def\bmod{%
+  \nonscript\mskip-\medmuskip\mkern5mu%
+  \mathbin{\operator@font mod}\penalty900\mkern5mu%
+  \nonscript\mskip-\medmuskip}
+\def\pmod#1{%
+  \allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
+\def\bigl{\mathopen\big}
+\def\bigm{\mathrel\big}
+\def\bigr{\mathclose\big}
+\def\Bigl{\mathopen\Big}
+\def\Bigm{\mathrel\Big}
+\def\Bigr{\mathclose\Big}
+\def\biggl{\mathopen\bigg}
+\def\biggm{\mathrel\bigg}
+\def\biggr{\mathclose\bigg}
+\def\Biggl{\mathopen\Bigg}
+\def\Biggm{\mathrel\Bigg}
+\def\Biggr{\mathclose\Bigg}
+\newdimen\jot
+\jot=3pt
+\newcount\interdisplaylinepenalty
+\interdisplaylinepenalty=100
+\def\choose{\atopwithdelims()}
+\def\brack{\atopwithdelims[]}
+\def\brace{\atopwithdelims\{\}}
+\def\mathpalette#1#2{%
+  \mathchoice
+    {#1\displaystyle{#2}}%
+    {#1\textstyle{#2}}%
+    {#1\scriptstyle{#2}}%
+    {#1\scriptscriptstyle{#2}}}
+\newbox\rootbox
+\def\root#1\of{%
+  \setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}%
+  \mathpalette\r@@t}
+\def\r@@t#1#2{%
+  \setbox\z@\hbox{$\m@th#1\sqrtsign{#2}$}%
+  \dimen@\ht\z@ \advance\dimen@-\dp\z@
+  \mkern5mu\raise.6\dimen@\copy\rootbox
+  \mkern-10mu\box\z@}
+\newif\ifv@
+\newif\ifh@
+\def\vphantom{\v@true\h@false\ph@nt}
+\def\hphantom{\v@false\h@true\ph@nt}
+\def\phantom{\v@true\h@true\ph@nt}
+\def\ph@nt{%
+  \ifmmode
+    \expandafter\mathpalette\expandafter\mathph@nt
+  \else
+    \expandafter\makeph@nt
+  \fi}
+\def\makeph@nt#1{%
+  \setbox\z@\hbox{\color@begingroup#1\color@endgroup}\finph@nt}
+\def\mathph@nt#1#2{%
+  \setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt}
+\def\finph@nt{%
+  \setbox\tw@\null
+  \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
+  \ifh@ \wd\tw@\wd\z@\fi \box\tw@}
+\def\mathstrut{\vphantom(}
+\def\smash{%
+  \relax % \relax, in case this comes first in \halign
+  \ifmmode
+    \expandafter\mathpalette\expandafter\mathsm@sh
+  \else
+    \expandafter\makesm@sh
+  \fi}
+\def\makesm@sh#1{%
+  \setbox\z@\hbox{\color@begingroup#1\color@endgroup}\finsm@sh}
+\def\mathsm@sh#1#2{%
+  \setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh}
+\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@}
+\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}}
+\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th
+    \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.}
+\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th
+    \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+      \mathstrut\crcr\noalign{\kern-\baselineskip}
+      #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
+\def\pmatrix#1{\left(\matrix{#1}\right)}
+\def\bordermatrix#1{\begingroup \m@th
+  \@tempdima 8.75\p@
+  \setbox\z@\vbox{%
+    \def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}%
+    \ialign{$##$\hfil\kern2\p@\kern\@tempdima&\thinspace\hfil$##$\hfil
+      &&\quad\hfil$##$\hfil\crcr
+      \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
+      #1\crcr\omit\strut\cr}}%
+  \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
+  \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
+  \setbox\tw@\hbox{$\kern\wd\@ne\kern-\@tempdima\left(\kern-\wd\@ne
+    \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
+    \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
+  \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
+\def\openup{\afterassignment\@penup\dimen@}
+\def\@penup{\advance\lineskip\dimen@
+  \advance\baselineskip\dimen@
+  \advance\lineskiplimit\dimen@}
+\newif\ifdt@p
+\def\displ@y{\global\dt@ptrue\openup\jot\m@th
+  \everycr{\noalign{\ifdt@p \global\dt@pfalse \ifdim\prevdepth>-1000\p@
+      \vskip-\lineskiplimit \vskip\normallineskiplimit \fi
+      \else \penalty\interdisplaylinepenalty \fi}}}
+\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y
+\def\displaylines#1{\displ@y \tabskip\z@skip
+  \halign{\hb@xt@\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr
+    #1\crcr}}
+\let\sp=^
+\let\sb=_
+\def\>{\mskip\medmuskip}
+\def\;{\mskip\thickmuskip}
+\def\!{\mskip-\thinmuskip}
+\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}
+\let\:=\>
+\def\active@math@prime{^\bgroup\prim@s}
+{\catcode`\'=\active \global\let'\active@math@prime}
+\def\prim@s{%
+  \prime\futurelet\@let@token\pr@m@s}
+\def\pr@m@s{%
+  \ifx'\@let@token
+    \expandafter\pr@@@s
+  \else
+    \ifx^\@let@token
+      \expandafter\expandafter\expandafter\pr@@@t
+    \else
+      \egroup
+    \fi
+  \fi}
+\def\pr@@@s#1{\prim@s}
+\def\pr@@@t#1#2{#2\egroup}
+{\catcode`\_=\active \gdef_{\_}} % _ in math is
+                                 % either subscript or \_
+\def\({\relax\ifmmode\@badmath\else$\fi}
+\def\){\relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}
+\def\[{%
+   \relax\ifmmode
+      \@badmath
+   \else
+      \ifvmode
+         \nointerlineskip
+         \makebox[.6\linewidth]%
+      \fi
+      $$%%$$ BRACE MATCH HACK
+   \fi
+}
+\def\]{%
+   \relax\ifmmode
+      \ifinner
+         \@badmath
+      \else
+         $$%%$$ BRACE MATCH HACK
+      \fi
+   \else
+      \@badmath
+   \fi
+   \ignorespaces
+}
+\let\math=\(
+\let\endmath=\)
+\def\displaymath{\[}
+\def\enddisplaymath{\]\@ignoretrue}
+\@definecounter{equation}
+\def\equation{$$\refstepcounter{equation}}
+\def\endequation{\eqno \hbox{\@eqnnum}$$\@ignoretrue}
+\def\@eqnnum{{\normalfont \normalcolor (\theequation)}}
+\def\stackrel#1#2{\mathrel{\mathop{#2}\limits^{#1}}}
+\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
+\DeclareRobustCommand\sqrt{\@ifnextchar[\@sqrt\sqrtsign}
+\def\@sqrt[#1]{\root #1\of}
+\newcount\@eqcnt
+\newcount\@eqpen
+\newif\if@eqnsw\@eqnswtrue
+\newskip\@centering
+\@centering = 0pt plus 1000pt
+\def\eqnarray{%
+   \stepcounter{equation}%
+   \def\@currentlabel{\p@equation\theequation}%
+   \global\@eqnswtrue
+   \m@th
+   \global\@eqcnt\z@
+   \tabskip\@centering
+   \let\\\@eqncr
+   $$\everycr{}\halign to\displaywidth\bgroup
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
+      &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil
+      &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
+         $\displaystyle{##}$\hfil\tabskip\@centering
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
+         \tabskip\z@skip
+      \cr
+}
+\def\endeqnarray{%
+      \@@eqncr
+      \egroup
+      \global\advance\c@equation\m@ne
+   $$\@ignoretrue
+}
+\let\@eqnsel=\relax
+\def\nonumber{\global\@eqnswfalse}
+\def\@eqncr{%
+   {\ifnum0=`}\fi
+   \@ifstar{%
+      \global\@eqpen\@M\@yeqncr
+   }{%
+      \global\@eqpen\interdisplaylinepenalty \@yeqncr
+   }%
+}
+\def\@yeqncr{\@testopt\@xeqncr\z@skip}
+\def\@xeqncr[#1]{%
+   \ifnum0=`{\fi}%
+   \@@eqncr
+   \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}%
+}
+\def\@@eqncr{\let\reserved@a\relax
+    \ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}%
+     \or \def\reserved@a{&}\else
+       \let\reserved@a\@empty
+       \@latex@error{Too many columns in eqnarray environment}\@ehc\fi
+     \reserved@a \if@eqnsw\@eqnnum\stepcounter{equation}\fi
+     \global\@eqnswtrue\global\@eqcnt\z@\cr}
+\let\@seqncr=\@eqncr
+\@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}\eqnarray}
+\@namedef{endeqnarray*}{\nonumber\endeqnarray}
+\def\lefteqn#1{\rlap{$\displaystyle #1$}}
+\DeclareRobustCommand{\ensuremath}{%
+  \ifmmode
+    \expandafter\@firstofone
+  \else
+    \expandafter\@ensuredmath
+  \fi}
+\long\def\@ensuredmath#1{$\relax#1$}
+%%% From File: ltlists.dtx
+\newskip\topsep
+\newskip\partopsep
+\newskip\itemsep
+\newskip\parsep
+\newskip\@topsep
+\newskip\@topsepadd
+\newskip\@outerparskip
+\newdimen\leftmargin
+\newdimen\rightmargin
+\newdimen\listparindent
+\newdimen\itemindent
+\newdimen\labelwidth
+\newdimen\labelsep
+\newdimen\linewidth
+\newdimen\@totalleftmargin \@totalleftmargin=\z@
+\newdimen\leftmargini
+\newdimen\leftmarginii
+\newdimen\leftmarginiii
+\newdimen\leftmarginiv
+\newdimen\leftmarginv
+\newdimen\leftmarginvi
+\newcount\@listdepth \@listdepth=0
+\newcount\@itempenalty
+\newcount\@beginparpenalty
+\newcount\@endparpenalty
+\newbox\@labels
+\newif\if@inlabel \@inlabelfalse
+\newif\if@newlist   \@newlistfalse
+\newif\if@noparitem \@noparitemfalse
+\newif\if@noparlist \@noparlistfalse
+\newif\if@noitemarg \@noitemargfalse
+\newif\if@nmbrlist  \@nmbrlistfalse
+\def\list#1#2{%
+  \ifnum \@listdepth >5\relax
+    \@toodeep
+  \else
+    \global\advance\@listdepth\@ne
+  \fi
+  \rightmargin\z@
+  \listparindent\z@
+  \itemindent\z@
+  \csname @list\romannumeral\the\@listdepth\endcsname
+  \def\@itemlabel{#1}%
+  \let\makelabel\@mklab
+  \@nmbrlistfalse
+  #2\relax
+  \@trivlist
+  \parskip\parsep
+  \parindent\listparindent
+  \advance\linewidth -\rightmargin
+  \advance\linewidth -\leftmargin
+  \advance\@totalleftmargin \leftmargin
+  \parshape \@ne \@totalleftmargin \linewidth
+  \ignorespaces}
+\newcount\par@deathcycles
+\def\@trivlist{%
+  \if@noskipsec \leavevmode \fi
+  \@topsepadd \topsep
+  \ifvmode
+    \advance\@topsepadd \partopsep
+  \else
+    \unskip \par
+  \fi
+  \if@inlabel
+    \@noparitemtrue
+    \@noparlisttrue
+  \else
+    \if@newlist \@noitemerr \fi
+    \@noparlistfalse
+    \@topsep \@topsepadd
+  \fi
+  \advance\@topsep \parskip
+  \leftskip \z@skip
+  \rightskip \@rightskip
+  \parfillskip \@flushglue
+  \par@deathcycles \z@
+  \@setpar{\if@newlist
+             \advance\par@deathcycles \@ne
+             \ifnum \par@deathcycles >\@m
+               \@noitemerr
+               {\@@par}%
+             \fi
+           \else
+             {\@@par}%
+           \fi}%
+  \global \@newlisttrue
+  \@outerparskip \parskip}
+\def\trivlist{%
+  \parsep\parskip
+  \@nmbrlistfalse
+  \@trivlist
+  \labelwidth\z@
+  \leftmargin\z@
+  \itemindent\z@
+  \let\@itemlabel\@empty
+  \def\makelabel##1{##1}}
+\def\endlist{%
+  \global\advance\@listdepth\m@ne
+  \endtrivlist}
+\def\endtrivlist{%
+  \if@inlabel
+    \leavevmode
+    \global \@inlabelfalse
+  \fi
+  \if@newlist
+    \@noitemerr
+    \global \@newlistfalse
+  \fi
+  \ifhmode\unskip \par
+  \else
+    \@inmatherr{\end{\@currenvir}}%
+  \fi
+  \if@noparlist \else
+    \ifdim\lastskip >\z@
+      \@tempskipa\lastskip \vskip -\lastskip
+      \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+      \vskip\@tempskipa
+    \fi
+    \@endparenv
+  \fi
+}
+\def\@endparenv{%
+  \addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue}
+\def\@doendpe{\@endpetrue
+     \def\par{\@restorepar\everypar{}\par\@endpefalse}\everypar
+               {{\setbox\z@\lastbox}\everypar{}\@endpefalse}}
+\newif\if@endpe
+\@endpefalse
+\def\@mklab#1{\hfil #1}
+\def\item{%
+  \@inmatherr\item
+  \@ifnextchar [\@item{\@noitemargtrue \@item[\@itemlabel]}}
+\def\@donoparitem{%
+  \@noparitemfalse
+  \global\setbox\@labels\hbox{\hskip -\leftmargin
+                               \unhbox\@labels
+                                \hskip \leftmargin}%
+  \if@minipage\else
+    \@tempskipa\lastskip
+    \vskip -\lastskip
+    \advance\@tempskipa\@outerparskip
+    \advance\@tempskipa -\parskip
+    \vskip\@tempskipa
+  \fi}
+\def\@item[#1]{%
+  \if@noparitem
+    \@donoparitem
+  \else
+    \if@inlabel
+      \indent \par
+    \fi
+    \ifhmode
+      \unskip\unskip \par
+    \fi
+    \if@newlist
+      \if@nobreak
+        \@nbitem
+      \else
+        \addpenalty\@beginparpenalty
+        \addvspace\@topsep
+        \addvspace{-\parskip}%
+      \fi
+    \else
+      \addpenalty\@itempenalty
+      \addvspace\itemsep
+    \fi
+    \global\@inlabeltrue
+  \fi
+  \everypar{%
+    \@minipagefalse
+    \global\@newlistfalse
+    \if@inlabel
+      \global\@inlabelfalse
+      {\setbox\z@\lastbox
+       \ifvoid\z@
+         \kern-\itemindent
+       \fi}%
+      \box\@labels
+      \penalty\z@
+    \fi
+    \if@nobreak
+      \@nobreakfalse
+      \clubpenalty \@M
+    \else
+      \clubpenalty \@clubpenalty
+      \everypar{}%
+    \fi}%
+  \if@noitemarg
+    \@noitemargfalse
+    \if@nmbrlist
+      \refstepcounter\@listctr
+    \fi
+  \fi
+  \sbox\@tempboxa{\makelabel{#1}}%
+  \global\setbox\@labels\hbox{%
+    \unhbox\@labels
+    \hskip \itemindent
+    \hskip -\labelwidth
+    \hskip -\labelsep
+    \ifdim \wd\@tempboxa >\labelwidth
+      \box\@tempboxa
+    \else
+      \hbox to\labelwidth {\unhbox\@tempboxa}%
+    \fi
+    \hskip \labelsep}%
+  \ignorespaces}
+\def\makelabel#1{%
+  \@latex@error{Lonely \string\item--perhaps a missing
+        list environment}\@ehc}
+\def\@nbitem{%
+  \@tempskipa\@outerparskip
+  \advance\@tempskipa -\parskip
+  \addvspace\@tempskipa}
+\def\usecounter#1{\@nmbrlisttrue\def\@listctr{#1}\setcounter{#1}\z@}
+\newcount\@enumdepth \@enumdepth = 0
+\@definecounter{enumi}
+\@definecounter{enumii}
+\@definecounter{enumiii}
+\@definecounter{enumiv}
+\def\enumerate{%
+  \ifnum \@enumdepth >\thr@@\@toodeep\else
+    \advance\@enumdepth\@ne
+    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+      \expandafter
+      \list
+        \csname label\@enumctr\endcsname
+        {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
+  \fi}
+\let\endenumerate =\endlist
+\newcount\@itemdepth \@itemdepth = 0
+\def\itemize{%
+  \ifnum \@itemdepth >\thr@@\@toodeep\else
+    \advance\@itemdepth\@ne
+    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+    \expandafter
+    \list
+      \csname\@itemitem\endcsname
+      {\def\makelabel##1{\hss\llap{##1}}}%
+  \fi}
+\let\enditemize =\endlist
+%%% From File: ltboxes.dtx
+\message{boxes,}
+\def\makebox{%
+  \leavevmode
+  \@ifnextchar(%)
+    \@makepicbox
+    {\@ifnextchar[\@makebox\mbox}}
+\long\def\mbox#1{\leavevmode\hbox{#1}}
+\def\@makebox[#1]{%
+  \@ifnextchar [{\@imakebox[#1]}{\@imakebox[#1][c]}}
+\long\def\@begin@tempboxa#1#2{%
+   \begingroup
+     \setbox\@tempboxa#1{\color@begingroup#2\color@endgroup}%
+     \def\width{\wd\@tempboxa}%
+     \def\height{\ht\@tempboxa}%
+     \def\depth{\dp\@tempboxa}%
+     \let\totalheight\@ovri
+     \totalheight\height
+     \advance\totalheight\depth}
+\let\@end@tempboxa\endgroup
+\def\bm@c{\hss\unhbox\@tempboxa\hss}
+\def\bm@l{\unhbox\@tempboxa\hss}\let\bm@t\bm@l
+\def\bm@r{\hss\unhbox\@tempboxa}\let\bm@b\bm@r
+\def\bm@s{\unhbox\@tempboxa}
+\long\def\@imakebox[#1][#2]#3{%
+  \@begin@tempboxa\hbox{#3}%
+    \setlength\@tempdima{#1}%       support calc
+    \hb@xt@\@tempdima{\csname bm@#2\endcsname}%
+  \@end@tempboxa}
+\def\@makepicbox(#1,#2){%
+  \@ifnextchar[{\@imakepicbox(#1,#2)}{\@imakepicbox(#1,#2)[]}}
+\long\def\@imakepicbox(#1,#2)[#3]#4{%
+  \vbox to#2\unitlength
+   {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss
+    \let\mb@t\vss
+    \@tfor\reserved@a :=#3\do{%
+      \if s\reserved@a
+        \let\mb@l\relax\let\mb@r\relax
+      \else
+        \expandafter\let\csname mb@\reserved@a\endcsname\relax
+      \fi}%
+    \mb@t
+    \hb@xt@ #1\unitlength{\mb@l #4\mb@r}%
+    \mb@b
+    \kern\z@}}
+\let\set@color\relax
+\let\color@begingroup\relax
+\let\color@endgroup\relax
+\let\color@setgroup\relax
+\let\normalcolor\relax
+\let\color@hbox\relax
+\let\color@vbox\relax
+\let\color@endbox\relax
+\def\newsavebox#1{\@ifdefinable{#1}{\newbox#1}}
+\def\savebox#1{%
+  \@ifnextchar(%)
+    {\@savepicbox#1}{\@ifnextchar[{\@savebox#1}{\sbox#1}}}
+\long\def\sbox#1#2{\setbox#1\hbox{%
+  \color@setgroup#2\color@endgroup}}
+\def\@savebox#1[#2]{%
+  \@ifnextchar [{\@isavebox#1[#2]}{\@isavebox#1[#2][c]}}
+\long\def\@isavebox#1[#2][#3]#4{%
+  \sbox#1{\@imakebox[#2][#3]{#4}}}
+\def\@savepicbox#1(#2,#3){%
+  \@ifnextchar[%]
+    {\@isavepicbox#1(#2,#3)}{\@isavepicbox#1(#2,#3)[]}}
+\long\def\@isavepicbox#1(#2,#3)[#4]#5{%
+  \sbox#1{\@imakepicbox(#2,#3)[#4]{#5}}}
+\def\lrbox#1{%
+  \edef\reserved@a{%
+    \endgroup
+    \setbox#1\hbox{%
+      \begingroup\aftergroup}%
+        \def\noexpand\@currenvir{\@currenvir}%
+        \def\noexpand\@currenvline{\on@line}}%
+  \reserved@a
+    \@endpefalse
+    \color@setgroup
+      \ignorespaces}
+\def\endlrbox{\unskip\color@endgroup}
+\def\usebox#1{\leavevmode\copy #1\relax}
+\long\def\frame#1{%
+  \leavevmode
+  \hbox{%
+    \hskip-\@wholewidth
+    \vbox{%
+      \vskip-\@wholewidth
+      \hrule \@height\@wholewidth
+      \hbox{%
+        \vrule\@width\@wholewidth
+        #1%
+        \vrule\@width\@wholewidth}%
+      \hrule\@height\@wholewidth
+      \vskip-\@wholewidth}%
+    \hskip-\@wholewidth}}
+\newdimen\fboxrule
+\newdimen\fboxsep
+\long\def\fbox#1{%
+  \leavevmode
+  \setbox\@tempboxa\hbox{%
+    \color@begingroup
+      \kern\fboxsep{#1}\kern\fboxsep
+    \color@endgroup}%
+  \@frameb@x\relax}
+\def\framebox{%
+  \@ifnextchar(%)
+    \@framepicbox{\@ifnextchar[\@framebox\fbox}}
+\def\@framebox[#1]{%
+  \@ifnextchar[%]
+    {\@iframebox[#1]}%
+    {\@iframebox[#1][c]}}
+\long\def\@iframebox[#1][#2]#3{%
+  \leavevmode
+  \@begin@tempboxa\hbox{#3}%
+    \setlength\@tempdima{#1}%
+    \setbox\@tempboxa\hb@xt@\@tempdima
+         {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}%
+    \@frameb@x{\kern-\fboxrule}%
+  \@end@tempboxa}
+\def\@frameb@x#1{%
+  \@tempdima\fboxrule
+  \advance\@tempdima\fboxsep
+  \advance\@tempdima\dp\@tempboxa
+  \hbox{%
+    \lower\@tempdima\hbox{%
+      \vbox{%
+        \hrule\@height\fboxrule
+        \hbox{%
+          \vrule\@width\fboxrule
+          #1%
+          \vbox{%
+            \vskip\fboxsep
+            \box\@tempboxa
+            \vskip\fboxsep}%
+          #1%
+          \vrule\@width\fboxrule}%
+        \hrule\@height\fboxrule}%
+                          }%
+        }%
+}
+\def\@framepicbox(#1,#2){%
+  \@ifnextchar[{\@iframepicbox(#1,#2)}{\@iframepicbox(#1,#2)[]}}
+\long\def\@iframepicbox(#1,#2)[#3]#4{%
+  \frame{\@imakepicbox(#1,#2)[#3]{#4}}}
+\def\parbox{%
+  \@ifnextchar[%]
+    \@iparbox
+    {\@iiiparbox c\relax[s]}}
+\def\@iparbox[#1]{%
+  \@ifnextchar[%]
+    {\@iiparbox{#1}}%
+    {\@iiiparbox{#1}\relax[s]}}
+\def\@iiparbox#1[#2]{%
+  \@ifnextchar[%]
+    {\@iiiparbox{#1}{#2}}%
+    {\@iiiparbox{#1}{#2}[#1]}}
+\let\@parboxto\@empty
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+  \leavevmode
+  \@pboxswfalse
+  \setlength\@tempdima{#4}%
+  \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+    \ifx\relax#2\else
+      \setlength\@tempdimb{#2}%
+      \def\@parboxto{to\@tempdimb}%
+    \fi
+    \if#1b\vbox
+    \else\if #1t\vtop
+    \else\ifmmode\vcenter
+    \else\@pboxswtrue $\vcenter
+    \fi\fi\fi
+    \@parboxto{\let\hss\vss\let\unhbox\unvbox
+       \csname bm@#3\endcsname}%
+    \if@pboxsw \m@th$\fi
+  \@end@tempboxa}
+\def\@arrayparboxrestore{%
+  \let\if@nobreak\iffalse
+  \let\if@noskipsec\iffalse
+  \let\par\@@par
+  \let\-\@dischyph
+  \let\'\@acci\let\`\@accii\let\=\@acciii
+  \parindent\z@ \parskip\z@skip
+  \everypar{}%
+  \linewidth\hsize
+  \@totalleftmargin\z@
+  \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
+  \parfillskip\@flushglue \lineskip\normallineskip
+  \baselineskip\normalbaselineskip
+  \sloppy}
+\def\@parboxrestore{\@arrayparboxrestore\let\\\@normalcr}
+\def\@minipagefalse{\global\let\if@minipage\iffalse}
+\def\@minipagetrue {\global\let\if@minipage\iftrue}
+\@minipagefalse
+\def\minipage{%
+  \@ifnextchar[%]
+    \@iminipage
+    {\@iiiminipage c\relax[s]}}
+\def\@iminipage[#1]{%
+  \@ifnextchar[%]
+    {\@iiminipage{#1}}%
+    {\@iiiminipage{#1}\relax[s]}}
+\def\@iiminipage#1[#2]{%
+  \@ifnextchar[%]
+    {\@iiiminipage{#1}{#2}}%
+    {\@iiiminipage{#1}{#2}[#1]}}
+\def\@iiiminipage#1#2[#3]#4{%
+  \leavevmode
+  \@pboxswfalse
+  \setlength\@tempdima{#4}%
+  \def\@mpargs{{#1}{#2}[#3]{#4}}%
+  \setbox\@tempboxa\vbox\bgroup
+    \color@begingroup
+      \hsize\@tempdima
+      \textwidth\hsize \columnwidth\hsize
+      \@parboxrestore
+      \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
+      \let\@footnotetext\@mpfootnotetext
+      \let\@listdepth\@mplistdepth \@mplistdepth\z@
+      \@minipagerestore
+      \@setminipage}
+ \let\@minipagerestore=\relax
+\def\endminipage{%
+    \par
+    \unskip
+    \ifvoid\@mpfootins\else
+      \vskip\skip\@mpfootins
+      \normalcolor
+      \footnoterule
+      \unvbox\@mpfootins
+    \fi
+    \@minipagefalse   %% added 24 May 89
+  \color@endgroup
+  \egroup
+  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
+\newcount\@mplistdepth
+\newinsert\@mpfootins
+\long\def\@mpfootnotetext#1{%
+  \global\setbox\@mpfootins\vbox{%
+    \unvbox\@mpfootins
+    \reset@font\footnotesize
+    \hsize\columnwidth
+    \@parboxrestore
+    \protected@edef\@currentlabel
+         {\csname p@mpfootnote\endcsname\@thefnmark}%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}
+\newif\if@pboxsw
+\def\rule{\@ifnextchar[\@rule{\@rule[\z@]}}
+ \def\@rule[#1]#2#3{%
+   \leavevmode
+   \hbox{%
+     \setlength\@tempdima{#1}%
+     \setlength\@tempdimb{#2}%
+     \setlength\@tempdimc{#3}%
+     \advance\@tempdimc\@tempdima
+     \vrule\@width\@tempdimb\@height\@tempdimc\@depth-\@tempdima}}
+\let\@@underline\underline
+\def\underline#1{%
+  \relax
+  \ifmmode\@@underline{#1}%
+  \else $\@@underline{\hbox{#1}}\m@th$\relax\fi}
+\def\raisebox#1{%
+  \leavevmode
+  \@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
+\def\@rsbox#1[#2]{%
+  \@ifnextchar[{\@iirsbox{#1}[#2]}{\@irsbox{#1}[#2]}}
+\long\def\@irsbox#1[#2]#3{%
+  \@begin@tempboxa\hbox{#3}%
+    \setlength\@tempdima{#1}%
+    \ifx\\#2\\\else\setlength\@tempdimb{#2}\fi
+    \setbox\@tempboxa\hbox{\raise\@tempdima\box\@tempboxa}%
+    \ifx\\#2\\\else\ht\@tempboxa\@tempdimb\fi
+    \box\@tempboxa
+  \@end@tempboxa}
+\long\def\@iirsbox#1[#2][#3]#4{%
+  \@begin@tempboxa\hbox{#4}%
+    \setlength\@tempdima{#1}%
+    \setlength\@tempdimb{#2}%
+    \setlength\dimen@{#3}%
+    \setbox\@tempboxa\hbox{\raise\@tempdima\box\@tempboxa}%
+    \ht\@tempboxa\@tempdimb
+    \dp\@tempboxa\dimen@
+    \box\@tempboxa
+  \@end@tempboxa}
+\def\@finalstrut#1{%
+  \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+\def\@@line{\hb@xt@\hsize}
+\def\leftline#1{\@@line{#1\hss}}
+\def\rightline#1{\@@line{\hss#1}}
+\def\centerline#1{\@@line{\hss#1\hss}}
+\def\rlap#1{\hb@xt@\z@{#1\hss}}
+\def\llap#1{\hb@xt@\z@{\hss#1}}
+%%% From File: lttab.dtx
+\expandafter\let\csname ver@autotabg.sty\endcsname\fmtversion
+\newdimen\@gtempa
+\chardef\@firsttab=\the\allocationnumber
+\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa
+\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa
+\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa
+\newdimen\@gtempa
+\chardef\@maxtab=\the\allocationnumber
+\dimen\@firsttab=0pt
+\newcount\@nxttabmar
+\newcount\@curtabmar
+\newcount\@curtab
+\newcount\@hightab
+\newcount\@tabpush
+\newbox\@curline
+\newbox\@curfield
+\newbox\@tabfbox
+\newif\if@rjfield
+\gdef\@startline{%
+     \ifnum \@nxttabmar >\@hightab
+       \@badtab
+       \global\@nxttabmar \@hightab
+     \fi
+     \global\@curtabmar \@nxttabmar
+     \global\@curtab \@curtabmar
+     \global\setbox\@curline \hbox {}%
+     \@startfield
+     \strut}
+\gdef\@stopline{%
+  \unskip
+  \@stopfield
+  \if@rjfield
+    \global\@rjfieldfalse
+    \@tempdima\@totalleftmargin
+    \advance\@tempdima\linewidth
+    \hb@xt@\@tempdima{%
+      \@itemfudge\hskip\dimen\@curtabmar
+      \box\@curline
+      \hfil
+      \box\@curfield}%
+  \else
+    \@addfield
+    \hbox{\@itemfudge\hskip\dimen\@curtabmar\box\@curline}%
+  \fi}
+\gdef\@startfield{%
+  \global\setbox\@curfield\hbox\bgroup\color@begingroup}
+\gdef\@stopfield{%
+  \color@endgroup\egroup}
+\gdef\@contfield{%
+  \global\setbox\@curfield\hbox\bgroup\color@begingroup
+  \unhbox\@curfield}
+\gdef\@addfield{\global\setbox\@curline\hbox{\unhbox
+     \@curline\unhbox\@curfield}}
+\gdef\@ifatmargin{\ifdim \wd\@curline =\z@}
+\gdef\@tabcr{\@stopline \@ifstar{\penalty \@M \@xtabcr}\@xtabcr}
+\gdef\@xtabcr{\@ifnextchar[\@itabcr{\@startline\ignorespaces}}
+\gdef\@itabcr[#1]{\vskip #1\@startline\ignorespaces}
+\gdef\kill{\@stopfield\@startline\ignorespaces}
+\gdef\tabbing{\lineskip \z@skip\let\>\@rtab\let\<\@ltab\let\=\@settab
+     \let\+\@tabplus\let\-\@tabminus\let\`\@tabrj\let\'\@tablab
+     \let\\=\@tabcr
+     \@hightab\@firsttab
+     \global\@nxttabmar\@firsttab
+     \dimen\@firsttab\@totalleftmargin
+     \global\@tabpush\z@ \global\@rjfieldfalse
+     \trivlist \item\relax
+     \if@minipage\else\vskip\parskip\fi
+     \setbox\@tabfbox\hbox{%
+       \rlap{\hskip\@totalleftmargin\indent\the\everypar}}%
+     \def\@itemfudge{\box\@tabfbox}%
+     \@startline\ignorespaces}
+\gdef\endtabbing{%
+  \@stopline\ifnum\@tabpush >\z@ \@badpoptabs \fi\endtrivlist}
+\gdef\@rtab{\@stopfield\@addfield\ifnum \@curtab<\@hightab
+      \global\advance\@curtab \@ne \else\@badtab\fi
+      \@tempdima\dimen\@curtab
+      \advance\@tempdima -\dimen\@curtabmar
+      \advance\@tempdima -\wd\@curline
+      \global\setbox\@curline\hbox{\unhbox\@curline\hskip\@tempdima}%
+      \@startfield\ignorespaces}
+\gdef\@settab{\@stopfield\@addfield
+  \ifnum \@curtab <\@maxtab
+    \ifnum\@curtab =\@hightab
+      \advance\@hightab \@ne
+    \fi
+    \global\advance\@curtab \@ne
+  \else
+    \@latex@error{Tab overflow}\@ehd
+  \fi
+  \dimen\@curtab \dimen\@curtabmar
+  \advance\dimen\@curtab \wd\@curline
+  \@startfield
+  \ignorespaces}
+\gdef\@ltab{\@ifatmargin\ifnum\@curtabmar >\@firsttab
+      \global\advance\@curtab \m@ne \global\advance\@curtabmar\m@ne\else
+      \@badtab\fi\else
+      \@latex@error{\string\<\space in mid line}\@ehd\fi\ignorespaces}
+\gdef\@tabplus{%
+  \ifnum\@nxttabmar<\@hightab
+    \global\advance\@nxttabmar\@ne
+  \else
+    \@badtab
+  \fi
+  \ignorespaces}
+\gdef\@tabminus{%
+  \ifnum\@nxttabmar>\@firsttab
+    \global\advance\@nxttabmar\m@ne
+  \else
+    \@badtab
+  \fi
+  \ignorespaces}
+\gdef\@tabrj{%
+  \@stopfield\@addfield\global\@rjfieldtrue\@startfield\ignorespaces}
+\gdef\@tablab{%
+  \@stopfield
+  \global\setbox\@curline\hbox{%
+    \box\@curline
+    \hskip-\wd\@curfield \hskip-\tabbingsep
+    \box\@curfield
+    \hskip\tabbingsep}%
+  \@startfield
+  \ignorespaces}
+\gdef\pushtabs{%
+  \@stopfield\@addfield\global\advance\@tabpush \@ne \begingroup
+       \@contfield}
+\gdef\poptabs{\@stopfield\@addfield
+  \ifnum \@tabpush >\z@
+    \endgroup
+    \global\advance\@tabpush \m@ne
+    \ifnum \@curtab >\@hightab
+      \global \@curtab \@hightab
+      \@badtab
+    \fi
+  \else
+    \@badpoptabs
+  \fi
+  \@contfield}
+\newdimen\tabbingsep
+\def\extracolsep#1{\tabskip #1\relax}
+\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr\let\@halignto\@empty\@tabarray}
+\def\endarray{\crcr\egroup\egroup}
+\def\endtabular{\crcr\egroup\egroup $\egroup}
+\expandafter \let \csname endtabular*\endcsname = \endtabular
+\def\tabular{\let\@halignto\@empty\@tabular}
+\@namedef{tabular*}#1{%
+ \setlength\dimen@{#1}%
+   \edef\@halignto{to\the\dimen@}\@tabular}
+\def\@tabular{\leavevmode \hbox \bgroup $\let\@acol\@tabacol
+   \let\@classz\@tabclassz
+   \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
+\def\@tabarray{\m@th\@ifnextchar[\@array{\@array[c]}}
+\def\@array[#1]#2{%
+  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
+  \bgroup
+  \setbox\@arstrutbox\hbox{%
+    \vrule \@height\arraystretch\ht\strutbox
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@}%
+  \@mkpream{#2}%
+  \edef\@preamble{%
+    \ialign \noexpand\@halignto
+      \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}%
+  \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
+  \let\tabularnewline\\%
+    \let\par\@empty
+    \let\@sharp##%
+    \set@typeset@protect
+    \lineskip\z@skip\baselineskip\z@skip
+    \ifhmode \@preamerr\z@ \@@par\fi
+    \@preamble}
+\def\@arraycr{%
+  ${\ifnum0=`}\fi\@ifstar\@xarraycr\@xarraycr}
+\def\@xarraycr{\@ifnextchar[\@argarraycr{\ifnum0=`{\fi}${}\cr}}
+\def\@argarraycr[#1]{%
+  \ifnum0=`{\fi}${}\ifdim #1>\z@ \@xargarraycr{#1}\else
+   \@yargarraycr{#1}\fi}
+\let\tabularnewline\relax
+\def\@tabularcr{%
+  {\ifnum0=`}\fi\@ifstar\@xtabularcr\@xtabularcr}
+\def\@xtabularcr{\@ifnextchar[\@argtabularcr{\ifnum0=`{\fi}\cr}}
+\def\@argtabularcr[#1]{%
+  \ifnum0=`{\fi}%
+    \ifdim #1>\z@
+      \unskip\@xargarraycr{#1}%
+    \else
+      \@yargarraycr{#1}%
+    \fi}
+\def\@xargarraycr#1{\@tempdima #1\advance\@tempdima \dp \@arstrutbox
+   \vrule \@height\z@ \@depth\@tempdima \@width\z@ \cr}
+\def\@yargarraycr#1{\cr\noalign{\vskip #1}}
+\long\def\multicolumn#1#2#3{\multispan{#1}\begingroup
+  \@mkpream{#2}%
+  \def\@sharp{#3}\set@typeset@protect
+  \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+  \@arstrut \@preamble\hbox{}\endgroup\ignorespaces}
+\def\@xexnoop #1\@@{}
+\def\@expast#1{\@xexpast #1*0x\@@}
+\def\@xexpast#1*#2#3#4\@@{%
+  \edef\reserved@a{#1}%
+  \@tempcnta#2\relax
+  \ifnum\@tempcnta>\z@
+    \@whilenum\@tempcnta>\z@\do
+       {\edef\reserved@a{\reserved@a#3}\advance\@tempcnta \m@ne}%
+    \let\reserved@b\@xexpast
+  \else
+    \let\reserved@b\@xexnoop
+  \fi
+  \expandafter\reserved@b\reserved@a #4\@@}
+\newif\if@firstamp
+\def\@addamp{%
+  \if@firstamp
+    \@firstampfalse
+  \else
+    \edef\@preamble{\@preamble &}%
+  \fi}
+\def\@arrayacol{\edef\@preamble{\@preamble \hskip \arraycolsep}}
+\def\@tabacol{\edef\@preamble{\@preamble \hskip \tabcolsep}}
+\def\@ampacol{\@addamp \@acol}
+\def\@acolampacol{\@acol\@addamp\@acol}
+\def\@mkpream#1{\@firstamptrue\@lastchclass6
+  \let\@preamble\@empty
+  \let\protect\@unexpandable@protect
+  \let\@sharp\relax
+  \let\@startpbox\relax\let\@endpbox\relax
+  \@expast{#1}%
+  \expandafter\@tfor \expandafter
+    \@nextchar \expandafter:\expandafter=\reserved@a\do
+       {\@testpach\@nextchar
+    \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii
+      \or \@classiv \or\@classv \fi\@lastchclass\@chclass}%
+  \ifcase \@lastchclass \@acol
+      \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi}
+\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+   \or \or \@addamp \or
+   \@acolampacol \or \@firstampfalse \@acol \fi
+\edef\@preamble{\@preamble
+  \ifcase \@chnum
+     \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil
+    \or \hfil$\relax\@sharp$\fi}}
+\def\@tabclassz{%
+  \ifcase\@lastchclass
+    \@acolampacol
+  \or
+    \@ampacol
+  \or
+  \or
+  \or
+    \@addamp
+  \or
+    \@acolampacol
+  \or
+    \@firstampfalse\@acol
+  \fi
+  \edef\@preamble{%
+    \@preamble{%
+      \ifcase\@chnum
+        \hfil\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hskip1sp\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hfil\hskip1sp\ignorespaces\@sharp\unskip
+      \fi}}}
+\def\@classi{%
+  \ifcase\@lastchclass
+    \@acol\@arrayrule
+  \or
+    \@addtopreamble{\hskip \doublerulesep}\@arrayrule
+  \or
+  \or
+  \or
+    \@arrayrule
+  \or
+    \@acol\@arrayrule
+  \or
+    \@arrayrule
+  \fi}
+\def\@classii{%
+  \ifcase\@lastchclass
+  \or
+    \@addtopreamble{\hskip .5\arrayrulewidth}%
+  \fi}
+\def\@classiii{\ifcase \@lastchclass \@acolampacol \or
+   \@addamp\@acol \or
+   \or \or \@addamp \or
+   \@acolampacol \or \@ampacol \fi}
+\def\@tabclassiv{\@addtopreamble\@nextchar}
+\def\@arrayclassiv{\@addtopreamble{$\@nextchar$}}
+\def\@classv{\@addtopreamble{\@startpbox{\@nextchar}\ignorespaces
+\@sharp\@endpbox}}
+\def\@addtopreamble#1{\edef\@preamble{\@preamble #1}}
+\newcount\@chclass
+\newcount\@lastchclass
+\newcount\@chnum
+\newdimen\arraycolsep
+\newdimen\tabcolsep
+\newdimen\arrayrulewidth
+\newdimen\doublerulesep
+\def\arraystretch{1}    % Default value.
+\newbox\@arstrutbox
+\def\@arstrut{%
+  \relax\ifmmode\copy\@arstrutbox\else\unhcopy\@arstrutbox\fi}
+\def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth
+   \vrule \@width \arrayrulewidth\hskip -.5\arrayrulewidth}}
+\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
+    \ifnum \@lastchclass=3 5 \else
+     \z@ \if #1c\@chnum \z@ \else
+                              \if #1l\@chnum \@ne \else
+                              \if #1r\@chnum \tw@ \else
+          \@chclass \if #1|\@ne \else
+                    \if #1@\tw@ \else
+                    \if #1p3 \else \z@ \@preamerr 0\fi
+  \fi  \fi  \fi  \fi  \fi  \fi
+\fi}
+\def\hline{%
+  \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
+   \reserved@a\@xhline}
+\def\@xhline{\ifx\reserved@a\hline
+               \vskip\doublerulesep
+               \vskip-\arrayrulewidth
+             \fi
+      \ifnum0=`{\fi}}
+\def\vline{\vrule \@width \arrayrulewidth}
+\def\cline#1{\@cline#1\@nil}
+\def\@cline#1-#2\@nil{%
+  \omit
+  \@multicnt#1%
+  \advance\@multispan\m@ne
+  \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+  \@multicnt#2%
+  \advance\@multicnt-#1%
+  \advance\@multispan\@ne
+  \leaders\hrule\@height\arrayrulewidth\hfill
+  \cr
+  \noalign{\vskip-\arrayrulewidth}}
+\def\multispan{\omit\@multispan}
+\def\@multispan#1{%
+  \@multicnt#1\relax
+  \loop\ifnum\@multicnt>\@ne \sp@n\repeat}
+\def\sp@n{\span\omit\advance\@multicnt\m@ne}
+
+\def\@startpbox#1{\vtop\bgroup \setlength\hsize{#1}\@arrayparboxrestore}
+\def\@endpbox{\@finalstrut\@arstrutbox\par\egroup\hfil}
+\let\@@startpbox=\@startpbox
+\let\@@endpbox=\@endpbox
+%%% From File: ltpictur.dtx
+\expandafter\let\csname ver@autopict.sty\endcsname\fmtversion
+\newdimen\@wholewidth
+\newdimen\@halfwidth
+\newdimen\unitlength \unitlength =1pt
+\newbox\@picbox
+\newdimen\@picht
+\long\gdef\picture#1{\pictur@#1}
+\gdef\pictur@(#1){%
+  \@ifnextchar({\@picture(#1)}{\@picture(#1)(0,0)}}
+\gdef\@picture(#1,#2)(#3,#4){%
+  \@picht#2\unitlength
+  \setbox\@picbox\hb@xt@#1\unitlength\bgroup
+    \hskip -#3\unitlength
+    \lower #4\unitlength\hbox\bgroup
+      \ignorespaces}
+\gdef\endpicture{%
+  \egroup\hss\egroup
+    \ht\@picbox\@picht\dp\@picbox\z@
+    \mbox{\box\@picbox}}
+\long\gdef\put(#1,#2)#3{%
+  \@killglue\raise#2\unitlength
+  \hb@xt@\z@{\kern#1\unitlength #3\hss}%
+  \ignorespaces}
+\gdef\multiput(#1,#2)#3{%
+  \@xdim #1\unitlength
+  \@ydim #2\unitlength
+   \@multiput(}
+\long\gdef\@multiput(#1,#2)#3#4{%
+  \@killglue\@multicnt #3\relax
+  \@whilenum \@multicnt >\z@\do
+    {\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}%
+     \advance\@multicnt\m@ne
+     \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}%
+  \ignorespaces}
+\gdef\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}}
+\gdef\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc
+  \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth}
+\gdef\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw
+  \@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth}
+\gdef\linethickness#1{\@wholewidth #1\relax \@halfwidth .5\@wholewidth}
+\gdef\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}}
+\gdef\@shortstack[#1]{%
+  \leavevmode
+  \vbox\bgroup
+    \baselineskip-\p@\lineskip 3\p@
+    \let\mb@l\hss\let\mb@r\hss
+    \expandafter\let\csname mb@#1\endcsname\relax
+    \let\\\@stackcr
+    \@ishortstack}
+\gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}
+\gdef\@stackcr{\@ifstar\@ixstackcr\@ixstackcr}
+\gdef\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}}
+\gdef\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
+\newif\if@negarg
+\gdef\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+  \@linelen #3\unitlength
+  \ifdim\@linelen<\z@\@badlinearg\else
+    \ifnum\@xarg =\z@ \@vline
+      \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
+    \fi
+  \fi}
+\gdef\@sline{%
+  \ifnum\@xarg<\z@ \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg
+  \else \@negargfalse \@yyarg \@yarg \fi
+\ifnum \@yyarg >\z@ \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi
+\ifnum\@tempcnta>6 \@badlinearg\@tempcnta\z@ \fi
+\ifnum\@xarg>6 \@badlinearg\@xarg \@ne \fi
+\setbox\@linechar\hbox{\@linefnt\@getlinechar(\@xarg,\@yyarg)}%
+\ifdim\wd\@linechar=\z@
+   \setbox\@linechar\hbox{.}%
+   \@badlinearg
+\fi
+\ifnum \@yarg >\z@ \let\@upordown\raise \@clnht\z@
+   \else\let\@upordown\lower \@clnht \ht\@linechar\fi
+\@clnwd \wd\@linechar
+\if@negarg
+  \hskip -\wd\@linechar \def\reserved@a{\hskip -2\wd\@linechar}%
+\else
+     \let\reserved@a\relax
+\fi
+\@whiledim \@clnwd <\@linelen \do
+  {\@upordown\@clnht\copy\@linechar
+   \reserved@a
+   \advance\@clnht \ht\@linechar
+   \advance\@clnwd \wd\@linechar}%
+\advance\@clnht -\ht\@linechar
+\advance\@clnwd -\wd\@linechar
+\@tempdima\@linelen\advance\@tempdima -\@clnwd
+\@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar
+\if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi
+\multiply\@tempdima \@m
+\@tempcnta \@tempdima
+\@tempdima \wd\@linechar \divide\@tempcnta \@tempdima
+\@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta
+\divide\@tempdima \@m
+\advance\@clnht \@tempdima
+\ifdim \@linelen <\wd\@linechar
+   \hskip \wd\@linechar
+   \ifdim \@linelen = \z@
+   \else
+     \@picture@warn
+   \fi
+   \else\@upordown\@clnht\copy\@linechar\fi}
+\gdef\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi
+\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen
+\ifnum \@xarg <\z@ \hskip -\@linelen \fi}
+\gdef\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8%
+  \advance\@tempcnta -9\ifnum #2>\z@ \advance\@tempcnta #2\relax\else
+  \advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi
+  \char\@tempcnta}
+\gdef\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+  \@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
+  \ifnum\@tempcnta<5\relax
+  \@linelen #3\unitlength
+  \ifdim\@linelen<\z@\@badlinearg\else
+    \ifnum\@xarg =\z@ \@vvector
+      \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
+    \fi
+  \fi
+  \else\@badlinearg\fi}
+\gdef\@hvector{\@hline\hb@xt@\z@{\@linefnt
+ \ifnum \@xarg <\z@ \@getlarrow(1,0)\hss\else
+    \hss\@getrarrow(1,0)\fi}}
+\gdef\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi}
+\gdef\@svector{\@sline
+  \@tempcnta\@yarg \ifnum\@tempcnta <\z@ \@tempcnta -\@tempcnta\fi
+  \ifnum\@tempcnta <5%
+    \hskip -\wd\@linechar
+    \@upordown\@clnht \hbox{\@linefnt  \if@negarg
+    \@getlarrow(\@xarg,\@yyarg)\else \@getrarrow(\@xarg,\@yyarg)\fi}%
+  \else\@badlinearg\fi}
+\gdef\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta 27 % '33
+  \else
+  \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n
+  \advance\@tempcnta -9 \@tempcntb #2\relax\multiply\@tempcntb \tw@
+  \ifnum \@tempcntb >\z@ \advance\@tempcnta \@tempcntb
+  \else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64
+  \fi\fi\char\@tempcnta}
+\gdef\@getrarrow(#1,#2){\@tempcntb #2\relax
+\ifnum\@tempcntb <\z@ \@tempcntb -\@tempcntb\relax\fi
+\ifcase \@tempcntb\relax \@tempcnta 45  % '55
+\or
+\ifnum #1<\thr@@ \@tempcnta #1\relax\multiply\@tempcnta
+24\advance\@tempcnta -6 \else \ifnum #1=\thr@@ \@tempcnta 49
+\else\@tempcnta 58 \fi\fi\or
+\ifnum #1<\thr@@ \@tempcnta=#1\relax\multiply\@tempcnta
+24\advance\@tempcnta -\thr@@ \else \@tempcnta 51 \fi\or
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta -\tw@ \else
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<\z@ \advance\@tempcnta 64 \fi
+\char\@tempcnta}
+\gdef\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi}
+\gdef\@upline{%
+  \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+   \@height \@linelen \@depth \z@\hss}}
+\gdef\@downline{%
+  \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+   \@height \z@ \@depth \@linelen \hss}}
+\gdef\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char 54}%  % '66
+  \raise \@linelen \hb@xt@\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}}
+\gdef\@downvector{\@downline\lower \@linelen
+      \hb@xt@\z@{\@linefnt\char 63  % '77
+      \hss}}
+\gdef\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
+\lineskip \z@skip
+\@dashdim #2\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt\@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(0,#3){\copy\@dashbox}%
+\put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
+\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
+\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
+\@dashdim #3\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt \@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else
+\divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox\hbox{\hskip -\@halfwidth
+\vrule \@width \@wholewidth
+\@height \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(#2,0){\copy\@dashbox}%
+\put(0,#3){\lower\@dashdim\copy\@dashbox}%
+\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
+\@height #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}\@tempcnta\z@
+\put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta<\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}}\@makepicbox(#2,#3)}
+\newif\if@ovt
+\newif\if@ovb
+\newif\if@ovl
+\newif\if@ovr
+\newdimen\@ovxx
+\newdimen\@ovyy
+\newdimen\@ovdx
+\newdimen\@ovdy
+\newdimen\@ovro
+\newdimen\@ovri
+\gdef\@getcirc#1{\@tempdima #1\relax \advance\@tempdima 2\p@
+  \@tempcnta\@tempdima
+  \@tempdima 4\p@ \divide\@tempcnta\@tempdima
+  \ifnum \@tempcnta >10\relax
+      \@picture@warn
+      \@tempcnta 10\relax
+  \fi
+  \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne
+    \else \@picture@warn \fi
+  \multiply\@tempcnta 4\relax
+  \setbox \@tempboxa \hbox{\@circlefnt
+  \char \@tempcnta}\@tempdima \wd \@tempboxa}
+\def\@picture@warn{\@latex@warning{%
+     \string\oval, \string\circle, or \string\line\space
+     size unavailable}}
+\gdef\@put#1#2#3{\raise #2\hb@xt@\z@{\hskip #1#3\hss}}
+\gdef\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}}
+\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+  \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+  \@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
+  \@ovxx
+  #1\unitlength \@ovyy #2\unitlength
+  \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+  \advance \@tempdimb -2\p@
+  \@getcirc \@tempdimb
+  \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+  \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+  \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+  \@circlefnt \setbox\@tempboxa
+  \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+  \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
+  \if@ovt \@ovhorz \kern -\@ovxx \fi
+  \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+  \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+  \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+  \endgroup}
+\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+    \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
+      \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+    \else \kern \@ovri \kern \@ovdy \fi
+    \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+    \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
+      \hbox{\char \@tempcntb}%
+    \else \kern \@ovdy \kern \@ovro \fi}}
+\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+    \if@ovr \else \kern \@ovdx \fi
+    \leaders \hrule \@height \@wholewidth \hfil
+    \if@ovl \else \kern \@ovdx \fi
+    \kern \@ovri}}
+\gdef\circle{\@inmatherr\circle\@ifstar\@dot\@circle}
+\gdef\@circle#1{%
+  \begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
+   \ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb
+      \@ovro\ht\@tempboxa
+     \setbox\@tempboxa\hbox{\@circlefnt
+      \advance\@tempcnta\tw@ \char \@tempcnta
+      \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
+      \advance\@tempcnta\tw@
+      \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
+        \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
+      \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
+   \else  \@circ\@tempdimb{96}\fi\endgroup}
+\gdef\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+\gdef\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5\p@
+   \@tempcnta\@tempdima \@tempdima \p@
+   \divide\@tempcnta\@tempdima
+   \ifnum\@tempcnta >15\relax \@tempcnta 15\relax \fi
+   \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne\fi
+   \advance\@tempcnta #2\relax
+   \@circlefnt \char\@tempcnta}
+\newcount\@xarg
+\newcount\@yarg
+\newcount\@yyarg
+\newcount\@multicnt
+\newdimen\@xdim
+\newdimen\@ydim
+\newbox\@linechar
+\newdimen\@linelen
+\newdimen\@clnwd
+\newdimen\@clnht
+\newdimen\@dashdim
+\newbox\@dashbox
+\newcount\@dashcnt
+\let\@linefnt\tenln
+\let\@circlefnt\tencirc
+\@wholewidth\fontdimen8\tenln
+\@halfwidth .5\@wholewidth
+\gdef\qbeziermax{500}
+\newcommand\qbezier[2][0]{\bezier{#1}#2}
+\gdef\bezier#1)#2(#3)#4({\@bezier#1)(#3)(}
+\gdef\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
+  \ifnum #1=\z@
+      \@ovxx #4\unitlength
+        \advance\@ovxx -#2\unitlength
+        \ifdim \@ovxx<\z@ \@ovxx -\@ovxx \fi
+      \@ovdx #6\unitlength
+        \advance\@ovdx -#4\unitlength
+        \ifdim \@ovdx<\z@ \@ovdx -\@ovdx \fi
+        \ifdim \@ovxx<\@ovdx \@ovxx \@ovdx \fi
+      \@ovyy #5\unitlength
+        \advance\@ovyy -#3\unitlength
+        \ifdim \@ovyy<\z@ \@ovyy -\@ovyy \fi
+      \@ovdy #7\unitlength
+        \advance\@ovdy -#5\unitlength
+        \ifdim \@ovdy<\z@  \@ovdy -\@ovdy \fi
+        \ifdim \@ovyy<\@ovdy \@ovyy  \@ovdy \fi
+      \@multicnt
+         \ifdim \@ovxx>\@ovyy \@ovxx \else \@ovyy \fi
+      \@ovxx .5\@halfwidth \divide\@multicnt\@ovxx
+      \ifnum \qbeziermax<\@multicnt \@multicnt\qbeziermax\relax \fi
+  \else \@multicnt#1\relax \fi
+  \@tempcnta\@multicnt \advance\@tempcnta\@ne
+  \@ovdx #4\unitlength \advance\@ovdx -#2\unitlength
+      \multiply\@ovdx \tw@
+  \@ovxx #6\unitlength \advance\@ovxx -#2\unitlength
+      \advance\@ovxx -\@ovdx \divide\@ovxx\@multicnt
+  \@ovdy #5\unitlength \advance\@ovdy -#3\unitlength
+       \multiply\@ovdy \tw@
+  \@ovyy #7\unitlength \advance\@ovyy -#3\unitlength
+      \advance\@ovyy -\@ovdy \divide\@ovyy\@multicnt
+  \setbox\@tempboxa\hbox{%
+            \hskip -\@halfwidth
+            \vrule \@height\@halfwidth
+                   \@depth \@halfwidth
+                   \@width \@wholewidth}%
+   \put(#2,#3){%
+     \count@\z@
+     \@whilenum{\count@<\@tempcnta}\do
+        {\@xdim\count@\@ovxx
+           \advance\@xdim\@ovdx
+           \divide\@xdim\@multicnt
+           \multiply\@xdim\count@
+         \@ydim\count@\@ovyy
+            \advance\@ydim\@ovdy
+            \divide\@ydim\@multicnt
+            \multiply\@ydim\count@
+         \raise \@ydim
+            \hb@xt@\z@{\kern\@xdim
+                        \unhcopy\@tempboxa\hss}%
+         \advance\count@\@ne}}}
+%%% From File: ltthm.dtx
+\def\newtheorem#1{%
+  \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}
+\def\@nthm#1#2{%
+  \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
+\def\@xnthm#1#2[#3]{%
+  \expandafter\@ifdefinable\csname #1\endcsname
+    {\@definecounter{#1}\@newctr{#1}[#3]%
+     \expandafter\xdef\csname the#1\endcsname{%
+       \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+          \@thmcounter{#1}}%
+     \global\@namedef{#1}{\@thm{#1}{#2}}%
+     \global\@namedef{end#1}{\@endtheorem}}}
+\def\@ynthm#1#2{%
+  \expandafter\@ifdefinable\csname #1\endcsname
+    {\@definecounter{#1}%
+     \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+     \global\@namedef{#1}{\@thm{#1}{#2}}%
+     \global\@namedef{end#1}{\@endtheorem}}}
+\def\@othm#1[#2]#3{%
+  \@ifundefined{c@#2}{\@nocounterr{#2}}%
+    {\expandafter\@ifdefinable\csname #1\endcsname
+    {\global\@namedef{the#1}{\@nameuse{the#2}}%
+  \global\@namedef{#1}{\@thm{#2}{#3}}%
+  \global\@namedef{end#1}{\@endtheorem}}}}
+\def\@thm#1#2{%
+  \refstepcounter{#1}%
+  \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}}
+\def\@xthm#1#2{%
+  \@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@ythm#1#2[#3]{%
+  \@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
+\def\@thmcounter#1{\noexpand\arabic{#1}}
+\def\@thmcountersep{.}
+\def\@begintheorem#1#2{\trivlist
+   \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape}
+\def\@opargbegintheorem#1#2#3{\trivlist
+      \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
+\def\@endtheorem{\endtrivlist}
+%%% From File: ltsect.dtx
+\message{title,}
+\def\title#1{\gdef\@title{#1}}
+\def\@title{\@latex@error{No \noexpand\title given}\@ehc}
+\def\author#1{\gdef\@author{#1}}
+\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+\def\date#1{\gdef\@date{#1}}
+\gdef\@date{\today}
+\def\thanks#1{\footnotemark
+    \protected@xdef\@thanks{\@thanks
+        \protect\footnotetext[\the\c@footnote]{#1}}%
+}
+\let\@thanks\@empty
+\def\and{%                  % \begin{tabular}
+  \end{tabular}%
+  \hskip 1em \@plus.17fil%
+  \begin{tabular}[t]{c}}%   % \end{tabular}
+\message{sectioning,}
+\newcount\@secpenalty
+\@secpenalty = -300
+\newif\if@noskipsec \@noskipsectrue
+\def\@startsection#1#2#3#4#5#6{%
+  \if@noskipsec \leavevmode \fi
+  \par
+  \@tempskipa #4\relax
+  \@afterindenttrue
+  \ifdim \@tempskipa <\z@
+    \@tempskipa -\@tempskipa \@afterindentfalse
+  \fi
+  \if@nobreak
+    \everypar{}%
+  \else
+    \addpenalty\@secpenalty\addvspace\@tempskipa
+  \fi
+  \@ifstar
+    {\@ssect{#3}{#4}{#5}{#6}}%
+    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \let\@svsec\@empty
+  \else
+    \refstepcounter{#1}%
+    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+  \fi
+  \@tempskipa #5\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+      #6{%
+        \@hangfrom{\hskip #3\relax\@svsec}%
+          \interlinepenalty \@M #8\@@par}%
+    \endgroup
+    \csname #1mark\endcsname{#7}%
+    \addcontentsline{toc}{#1}{%
+      \ifnum #2>\c@secnumdepth \else
+        \protect\numberline{\csname the#1\endcsname}%
+      \fi
+      #7}%
+  \else
+    \def\@svsechd{%
+      #6{\hskip #3\relax
+      \@svsec #8}%
+      \csname #1mark\endcsname{#7}%
+      \addcontentsline{toc}{#1}{%
+        \ifnum #2>\c@secnumdepth \else
+          \protect\numberline{\csname the#1\endcsname}%
+        \fi
+        #7}}%
+  \fi
+  \@xsect{#5}}
+\def\@xsect#1{%
+  \@tempskipa #1\relax
+  \ifdim \@tempskipa>\z@
+    \par \nobreak
+    \vskip \@tempskipa
+    \@afterheading
+  \else
+    \@nobreakfalse
+    \global\@noskipsectrue
+    \everypar{%
+      \if@noskipsec
+        \global\@noskipsecfalse
+       {\setbox\z@\lastbox}%
+        \clubpenalty\@M
+        \begingroup \@svsechd \endgroup
+        \unskip
+        \@tempskipa #1\relax
+        \hskip -\@tempskipa
+      \else
+        \clubpenalty \@clubpenalty
+        \everypar{}%
+      \fi}%
+  \fi
+  \ignorespaces}
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
+\def\@ssect#1#2#3#4#5{%
+  \@tempskipa #3\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+      #4{%
+        \@hangfrom{\hskip #1}%
+          \interlinepenalty \@M #5\@@par}%
+    \endgroup
+  \else
+    \def\@svsechd{#4{\hskip #1\relax #5}}%
+  \fi
+  \@xsect{#3}}
+\newif\if@afterindent \@afterindenttrue
+\def\@afterheading{%
+  \@nobreaktrue
+  \everypar{%
+    \if@nobreak
+      \@nobreakfalse
+      \clubpenalty \@M
+      \if@afterindent \else
+        {\setbox\z@\lastbox}%
+      \fi
+    \else
+      \clubpenalty \@clubpenalty
+      \everypar{}%
+    \fi}}
+\def\@hangfrom#1{\setbox\@tempboxa\hbox{{#1}}%
+      \hangindent \wd\@tempboxa\noindent\box\@tempboxa}
+\newcount\c@secnumdepth
+\newcount\c@tocdepth
+\def\secdef#1#2{\@ifstar{#2}{\@dblarg{#1}}}
+\let\sectionmark\@gobble
+\let\subsectionmark\@gobble
+\let\subsubsectionmark\@gobble
+\let\paragraphmark\@gobble
+\let\subparagraphmark\@gobble
+\message{contents,}
+\def\@starttoc#1{%
+  \begingroup
+    \makeatletter
+    \@input{\jobname.#1}%
+    \if@filesw
+      \expandafter\newwrite\csname tf@#1\endcsname
+      \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+    \fi
+    \@nobreakfalse
+  \endgroup}
+\def\addcontentsline#1#2#3{%
+  \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}
+\long\def\addtocontents#1#2{%
+  \protected@write\@auxout
+      {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
+      {\string\@writefile{#1}{#2}}}
+\def\contentsline#1{\csname l@#1\endcsname}
+\def\@dottedtocline#1#2#3#4#5{%
+  \ifnum #1>\c@tocdepth \else
+    \vskip \z@ \@plus.2\p@
+    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+     \parindent #2\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima #3\relax
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {#4}\nobreak
+     \leaders\hbox{$\m@th
+        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+        mu$}\hfill
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
+     \par}%
+  \fi}
+\def\numberline#1{\hb@xt@\@tempdima{#1\hfil}}
+%%% From File: ltfloat.dtx
+\message{floats,}
+\newcount\@floatpenalty
+\def\caption{%
+   \ifx\@captype\@undefined
+     \@latex@error{\noexpand\caption outside float}\@ehd
+     \expandafter\@gobble
+   \else
+     \refstepcounter\@captype
+     \expandafter\@firstofone
+   \fi
+   {\@dblarg{\@caption\@captype}}%
+}
+\long\def\@caption#1[#2]#3{%
+  \par
+  \addcontentsline{\csname ext@#1\endcsname}{#1}%
+    {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
+  \begingroup
+    \@parboxrestore
+    \if@minipage
+      \@setminipage
+    \fi
+    \normalsize
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+  \endgroup}
+\def\@float#1{%
+  \@ifnextchar[%
+    {\@xfloat{#1}}%
+    {\edef\reserved@a{\noexpand\@xfloat{#1}[\csname fps@#1\endcsname]}%
+     \reserved@a}}
+\def\@dblfloat{%
+  \if@twocolumn\let\reserved@a\@dbflt\else\let\reserved@a\@float\fi
+  \reserved@a}
+\def\@xfloat #1[#2]{%
+  \@nodocument
+  \def \@captype {#1}%
+   \def \@fps {#2}%
+   \@onelevel@sanitize \@fps
+   \def \reserved@b {!}%
+   \ifx \reserved@b \@fps
+     \@fpsadddefault
+   \else
+     \ifx \@fps \@empty
+       \@fpsadddefault
+     \fi
+   \fi
+   \ifhmode
+     \@bsphack
+     \@floatpenalty -\@Mii
+   \else
+     \@floatpenalty-\@Miii
+   \fi
+  \ifinner
+     \@parmoderr\@floatpenalty\z@
+  \else
+    \@next\@currbox\@freelist
+      {%
+       \@tempcnta \sixt@@n
+       \expandafter \@tfor \expandafter \reserved@a
+         \expandafter :\expandafter =\@fps
+         \do
+          {%
+           \if \reserved@a h%
+             \ifodd \@tempcnta
+             \else
+               \advance \@tempcnta \@ne
+             \fi
+           \fi
+           \if \reserved@a t%
+             \@setfpsbit \tw@
+           \fi
+           \if \reserved@a b%
+             \@setfpsbit 4%
+           \fi
+           \if \reserved@a p%
+             \@setfpsbit 8%
+           \fi
+           \if \reserved@a !%
+             \ifnum \@tempcnta>15
+               \advance\@tempcnta -\sixt@@n\relax
+             \fi
+           \fi
+           }%
+       \@tempcntb \csname ftype@\@captype \endcsname
+       \multiply \@tempcntb \@xxxii
+       \advance \@tempcnta \@tempcntb
+       \global \count\@currbox \@tempcnta
+       }%
+    \@fltovf
+  \fi
+  \global \setbox\@currbox
+    \color@vbox
+      \normalcolor
+      \vbox \bgroup
+        \hsize\columnwidth
+        \@parboxrestore
+        \@floatboxreset
+}
+\def \@floatboxreset {%
+        \reset@font
+        \normalsize
+        \@setminipage
+}
+\def \@setnobreak{%
+  \if@nobreak
+    \let\outer@nobreak\@nobreaktrue
+    \@nobreakfalse
+  \fi
+}
+\def \@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{}}%
+}
+\def\end@float{%
+  \@endfloatbox
+  \ifnum\@floatpenalty <\z@
+    \@largefloatcheck
+    \@cons\@currlist\@currbox
+    \ifnum\@floatpenalty <-\@Mii
+      \penalty -\@Miv
+      \@tempdima\prevdepth
+      \vbox{}%
+      \prevdepth\@tempdima
+      \penalty\@floatpenalty
+    \else
+      \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
+    \fi
+  \fi
+}
+\def\end@dblfloat{%
+\if@twocolumn
+  \@endfloatbox
+  \ifnum\@floatpenalty <\z@
+    \@largefloatcheck
+    \@cons\@dbldeferlist\@currbox
+  \fi
+    \ifnum \@floatpenalty =-\@Mii \@Esphack\fi
+\else
+  \end@float
+\fi
+}
+\def \@endfloatbox{%
+      \par\vskip\z@skip      %% \par\vskip\z@ added 15 Dec 87
+      \@minipagefalse
+      \outer@nobreak
+    \egroup                  %% end of vbox
+  \color@endbox
+}
+\let\outer@nobreak\@empty
+\def \@largefloatcheck{%
+  \ifdim \ht\@currbox>\textheight
+    \@tempdima -\textheight
+    \advance \@tempdima \ht\@currbox
+    \@latex@warning {Float too large for page by \the\@tempdima}%
+    \ht\@currbox \textheight
+  \fi
+}
+\def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tp]}}
+\def\@xdblfloat#1[#2]{%
+  \@xfloat{#1}[#2]\hsize\textwidth\linewidth\textwidth}
+\def\@floatplacement{\global\@topnum\c@topnumber
+    % Textpage bit, global:
+   \global\@toproom \topfraction\@colht
+   \global\@botnum  \c@bottomnumber
+   \global\@botroom \bottomfraction\@colht
+   \global\@colnum  \c@totalnumber
+    % Floatpage bit, local:
+   \@fpmin   \floatpagefraction\@colht}
+\def \@dblfloatplacement {%
+  \global \@dbltopnum \c@dbltopnumber
+  \global \@dbltoproom \dbltopfraction\@colht
+  \@textmin \@colht
+  \advance \@textmin -\@dbltoproom
+  \@fpmin \dblfloatpagefraction\textheight
+  \@fptop \@dblfptop
+  \@fpsep \@dblfpsep
+  \@fpbot \@dblfpbot
+}
+\def\marginpar{%
+  \ifhmode
+    \@bsphack
+    \@floatpenalty -\@Mii
+  \else
+    \@floatpenalty-\@Miii
+  \fi
+  \ifinner
+    \@parmoderr
+    \@floatpenalty\z@
+  \else
+    \@next\@currbox\@freelist{}{}%
+    \@next\@marbox\@freelist{\global\count\@marbox\m@ne}%
+       {\@floatpenalty\z@
+        \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}%
+  \fi
+  \@ifnextchar [\@xmpar\@ympar}
+\long\def\@xmpar[#1]#2{%
+  \@savemarbox\@marbox{#1}%
+  \@savemarbox\@currbox{#2}%
+  \@xympar}
+\long\def\@ympar#1{%
+  \@savemarbox\@marbox{#1}%
+  \global\setbox\@currbox\copy\@marbox
+  \@xympar}
+\long\def \@savemarbox #1#2{%
+  \global\setbox #1%
+    \color@vbox
+      \vtop{%
+        \hsize\marginparwidth
+        \@parboxrestore
+        \@marginparreset
+        #2%
+        \@minipagefalse
+        \outer@nobreak
+        }%
+    \color@endbox
+}
+\def \@marginparreset {%
+        \reset@font
+        \normalsize
+        \@setminipage
+}
+\def \@xympar{%
+  \ifnum\@floatpenalty <\z@\@cons\@currlist\@marbox\fi
+  \setbox\@tempboxa
+    \color@vbox
+      \vbox \bgroup
+  \end@float
+  \@ignorefalse
+  \@esphack
+}
+\def\reversemarginpar{\global\@mparbottom\z@ \@reversemargintrue}
+\def\normalmarginpar{\global\@mparbottom\z@ \@reversemarginfalse}
+\message{footnotes,}
+\newinsert\footins
+\skip\footins=\bigskipamount % space added when footnote is present
+\count\footins=1000 % footnote magnification factor (1 to 1)
+\dimen\footins=8in % maximum footnotes per page
+\def\footnoterule{\kern-3\p@
+  \hrule \@width 2in \kern 2.6\p@} % the \hrule is .4pt high
+\@definecounter{footnote}
+\def\thefootnote{\@arabic\c@footnote}
+\@definecounter{mpfootnote}
+\def\thempfootnote{{\itshape\@alph\c@mpfootnote}}
+\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
+\DeclareRobustCommand*\textsuperscript[1]{%
+  \@textsuperscript{\selectfont#1}}
+\def\@textsuperscript#1{%
+  {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}
+\newdimen\footnotesep
+\def\footnote{\@ifnextchar[\@xfootnote{\stepcounter\@mpfn
+     \protected@xdef\@thefnmark{\thempfn}%
+     \@footnotemark\@footnotetext}}
+\def\@xfootnote[#1]{%
+   \begingroup
+     \csname c@\@mpfn\endcsname #1\relax
+     \unrestored@protected@xdef\@thefnmark{\thempfn}%
+   \endgroup
+   \@footnotemark\@footnotetext}
+\long\def\@footnotetext#1{\insert\footins{%
+    \reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore
+    \protected@edef\@currentlabel{%
+       \csname p@footnote\endcsname\@thefnmark
+    }%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}%
+\def\footnotemark{%
+   \@ifnextchar[\@xfootnotemark
+     {\stepcounter{footnote}%
+      \protected@xdef\@thefnmark{\thefootnote}%
+      \@footnotemark}}
+\def\@xfootnotemark[#1]{%
+   \begingroup
+      \c@footnote #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thefootnote}%
+   \endgroup
+   \@footnotemark}
+\def\@footnotemark{%
+  \leavevmode
+  \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+  \@makefnmark
+  \ifhmode\spacefactor\@x@sf\fi
+  \relax}
+\def\footnotetext{%
+     \@ifnextchar [\@xfootnotenext
+       {\protected@xdef\@thefnmark{\thempfn}%
+    \@footnotetext}}
+\def\@xfootnotenext[#1]{%
+  \begingroup
+     \csname c@\@mpfn\endcsname #1\relax
+     \unrestored@protected@xdef\@thefnmark{\thempfn}%
+  \endgroup
+  \@footnotetext}
+\def\@mpfn{footnote}
+\def\thempfn{\thefootnote}
+%%% From File: ltidxglo.dtx
+\message{index,}
+\def\makeindex{%
+  \newwrite\@indexfile
+  \immediate\openout\@indexfile=\jobname.idx
+  \def\index{\@bsphack\begingroup
+             \@sanitize
+             \@wrindex}\typeout
+    {Writing index file \jobname.idx}%
+  \let\makeindex\@empty
+}
+\@onlypreamble\makeindex
+\def\@wrindex#1{%
+   \protected@write\@indexfile{}%
+      {\string\indexentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack}
+\def\index{\@bsphack\begingroup \@sanitize\@index}
+\def\@index#1{\endgroup\@esphack}
+\def\makeglossary{%
+  \newwrite\@glossaryfile
+  \immediate\openout\@glossaryfile=\jobname.glo
+  \def\glossary{\@bsphack\begingroup
+                \@sanitize
+                \@wrglossary}\typeout
+    {Writing glossary file \jobname.glo }%
+  \let\makeglossary\@empty
+}
+\@onlypreamble\makeglossary
+\def\@wrglossary#1{%
+   \protected@write\@glossaryfile{}%
+      {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack}
+\def\glossary{\@bsphack\begingroup\@sanitize\@index}
+%%% From File: ltbibl.dtx
+\message{bibliography,}
+\def\bibitem{\@ifnextchar[\@lbibitem\@bibitem}
+\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
+      {\let\protect\noexpand
+       \immediate
+       \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
+       {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+\def\bibcite{\@newl@bel b}
+\let\citation\@gobble
+\DeclareRobustCommand\cite{%
+  \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+\def\@citex[#1]#2{\leavevmode
+  \let\@citea\@empty
+  \@cite{\@for\@citeb:=#2\do
+    {\@citea\def\@citea{,\penalty\@m\ }%
+     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+     \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
+       \G@refundefinedtrue
+       \@latex@warning
+         {Citation `\@citeb' on page \thepage \space undefined}}%
+       {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
+\let\bibdata=\@gobble
+\let\bibstyle=\@gobble
+\def\bibliography#1{%
+  \if@filesw
+    \immediate\write\@auxout{\string\bibdata{#1}}%
+  \fi
+  \@input@{\jobname.bbl}}
+\def\bibliographystyle#1{%
+  \ifx\@begindocumenthook\@undefined\else
+    \expandafter\AtBeginDocument
+  \fi
+    {\if@filesw
+       \immediate\write\@auxout{\string\bibstyle{#1}}%
+     \fi}}
+\def\nocite#1{\@bsphack
+  \ifx\@onlypreamble\document
+    \@for\@citeb:=#1\do{%
+      \edef\@citeb{\expandafter\@firstofone\@citeb}%
+      \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+      \@ifundefined{b@\@citeb}{\G@refundefinedtrue
+          \@latex@warning{Citation `\@citeb' undefined}}{}}%
+  \else
+    \@latex@error{Cannot be used in preamble}\@eha
+    % \AtBeginDocument{\nocite{#1}}
+  \fi
+  \@esphack}
+\expandafter\let\csname b@*\endcsname\@empty
+\def\@cite#1#2{[{#1\if@tempswa , #2\fi}]}
+\let\@cite@ofmt\hbox
+\def\@biblabel#1{[#1]}
+%%% From File: ltpage.dtx
+\def\pagestyle#1{%
+  \@ifundefined{ps@#1}%
+    \undefinedpagestyle
+    {\@nameuse{ps@#1}}}
+\def\thispagestyle#1{%
+  \@ifundefined{ps@#1}%
+    \undefinedpagestyle
+    {\global\@specialpagetrue\gdef\@specialstyle{#1}}}
+\def\ps@empty{%
+  \let\@mkboth\@gobbletwo\let\@oddhead\@empty\let\@oddfoot\@empty
+  \let\@evenhead\@empty\let\@evenfoot\@empty}
+\def\ps@plain{\let\@mkboth\@gobbletwo
+     \let\@oddhead\@empty\def\@oddfoot{\reset@font\hfil\thepage
+     \hfil}\let\@evenhead\@empty\let\@evenfoot\@oddfoot}
+\let\@leftmark\@firstoftwo
+\let\@rightmark\@secondoftwo
+\def\markboth#1#2{%
+  \begingroup
+    \let\label\relax \let\index\relax \let\glossary\relax
+    \unrestored@protected@xdef\@themark {{#1}{#2}}%
+    \@temptokena \expandafter{\@themark}%
+    \mark{\the\@temptokena}%
+  \endgroup
+  \if@nobreak\ifvmode\nobreak\fi\fi}
+\def\markright#1{%
+  \begingroup
+    \let\label\relax \let\index\relax \let\glossary\relax
+    \expandafter\@markright\@themark {#1}%
+    \@temptokena \expandafter{\@themark}%
+    \mark{\the\@temptokena}%
+  \endgroup
+  \if@nobreak\ifvmode\nobreak\fi\fi}
+\def\@markright#1#2#3{\@temptokena {#1}%
+  \unrestored@protected@xdef\@themark{{\the\@temptokena}{#3}}}
+\def\leftmark{\expandafter\@leftmark\botmark\@empty\@empty}
+\def\rightmark{\expandafter\@rightmark\firstmark\@empty\@empty}
+\def\@themark{{}{}}
+\def\raggedbottom{%
+  \def\@textbottom{\vskip \z@ \@plus.0001fil}\let\@texttop\relax}
+\def\flushbottom{%
+  \let\@textbottom\relax \let\@texttop\relax}
+\def\sloppy{%
+  \tolerance 9999%
+  \emergencystretch 3em%
+  \hfuzz .5\p@
+  \vfuzz\hfuzz}
+\def\sloppypar{\par\sloppy}
+\def\endsloppypar{\par}
+\def\fussy{%
+  \emergencystretch\z@
+  \tolerance 200%
+  \hfuzz .1\p@
+  \vfuzz\hfuzz}
+\overfullrule 0pt
+%%% From File: ltoutput.dtx
+\expandafter\let\csname ver@autoout1.sty\endcsname\fmtversion
+\message{output,}
+\maxdeadcycles = 100
+\let\@elt\relax
+\def\@next#1#2#3#4{\ifx#2\@empty #4\else
+   \expandafter\@xnext #2\@@#1#2#3\fi}
+\def\@xnext \@elt #1#2\@@#3#4{\def#3{#1}\gdef#4{#2}}
+\def\@testfalse{\global\let\if@test\iffalse}
+\def\@testtrue {\global\let\if@test\iftrue}
+\@testfalse
+\def\@bitor#1#2{\@testfalse {\let\@elt\@xbitor
+   \@tempcnta #1\relax #2}}
+\def\@xbitor #1{\@tempcntb \count#1
+   \ifnum \@tempcnta =\z@
+   \else
+     \divide\@tempcntb\@tempcnta
+     \ifodd\@tempcntb \@testtrue\fi
+   \fi}
+\newinsert\bx@A
+\newinsert\bx@B
+\newinsert\bx@C
+\newinsert\bx@D
+\newinsert\bx@E
+\newinsert\bx@F
+\newinsert\bx@G
+\newinsert\bx@H
+\newinsert\bx@I
+\newinsert\bx@J
+\newinsert\bx@K
+\newinsert\bx@L
+\newinsert\bx@M
+\newinsert\bx@N
+\newinsert\bx@O
+\newinsert\bx@P
+\newinsert\bx@Q
+\newinsert\bx@R
+\gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E
+               \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J
+                \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N
+                \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R}
+\gdef\@toplist{}
+\gdef\@botlist{}
+\gdef\@midlist{}
+\gdef\@currlist{}
+\gdef\@deferlist{}
+\gdef\@dbltoplist{}
+\gdef\@dbldeferlist{}
+\newdimen\topmargin
+\newdimen\oddsidemargin
+\newdimen\evensidemargin
+\let\@themargin=\oddsidemargin
+\newdimen\headheight
+\newdimen\headsep
+\newdimen\footskip
+\newdimen\textheight
+\newdimen\textwidth
+\newdimen\columnwidth
+\newdimen\columnsep
+\newdimen\columnseprule
+\newdimen\marginparwidth
+\newdimen\marginparsep
+\newdimen\marginparpush
+\newbox\@begindvibox
+\def \AtBeginDvi #1{%
+  \global \setbox \@begindvibox
+    \vbox{\unvbox \@begindvibox #1}%
+}
+\newdimen\@maxdepth
+\@maxdepth = \maxdepth
+\newdimen\paperheight
+\newdimen\paperwidth
+\newif \if@insert
+\newif \if@fcolmade
+\newif \if@specialpage \@specialpagefalse
+\newif \if@firstcolumn \@firstcolumntrue
+\newif \if@twocolumn   \@twocolumnfalse
+\newif \if@twoside     \@twosidefalse
+\newif \if@reversemargin \@reversemarginfalse
+\newif \if@mparswitch  \@mparswitchfalse
+\newcount \col@number
+\col@number \@ne
+\newcount\@topnum
+\newdimen\@toproom
+\newcount\@dbltopnum
+\newdimen\@dbltoproom
+\newcount\@botnum
+\newdimen\@botroom
+\newcount\@colnum
+\newdimen\@textmin
+\newdimen\@fpmin
+\newdimen\@colht
+\newdimen\@colroom
+\newdimen\@pageht
+\newdimen\@pagedp
+\newdimen\@mparbottom \@mparbottom\z@
+\newcount\@currtype
+\newbox\@outputbox
+\newbox\@leftcolumn
+\newbox\@holdpg
+\def\@thehead{\@oddhead} % initialization
+\def\@thefoot{\@oddfoot}
+\def\clearpage{%
+  \ifvmode
+    \ifnum \@dbltopnum =\m@ne
+      \ifdim \pagetotal <\topskip
+        \hbox{}%
+      \fi
+    \fi
+  \fi
+  \newpage
+  \write\m@ne{}%
+  \vbox{}%
+  \penalty -\@Mi
+}
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
+    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
+\def\onecolumn{%
+  \clearpage
+  \global\columnwidth\textwidth
+  \global\hsize\columnwidth
+  \global\linewidth\columnwidth
+  \global\@twocolumnfalse
+  \col@number \@ne
+  \@floatplacement}
+\def \newpage {%
+  \if@noskipsec
+    \ifx \@nodocument\relax
+      \leavevmode
+      \global \@noskipsecfalse
+    \fi
+  \fi
+  \if@inlabel
+    \leavevmode
+    \global \@inlabelfalse
+  \fi
+  \if@nobreak \@nobreakfalse \everypar{}\fi
+  \par
+  \vfil
+  \penalty -\@M}
+\def \@emptycol {\vbox{}\penalty -\@M}
+\def \twocolumn {%
+  \clearpage
+  \global\columnwidth\textwidth
+  \global\advance\columnwidth-\columnsep
+  \global\divide\columnwidth\tw@
+  \global\hsize\columnwidth
+  \global\linewidth\columnwidth
+  \global\@twocolumntrue
+  \global\@firstcolumntrue
+  \col@number \tw@
+  \@ifnextchar [\@topnewpage\@floatplacement
+}
+\long\def \@topnewpage [#1]{%
+  \@nodocument
+  \@next\@currbox\@freelist{}{}%
+  \global \setbox\@currbox
+    \color@vbox
+      \normalcolor
+      \vbox {%
+        \hsize\textwidth
+        \@parboxrestore
+        \col@number \@ne
+        #1%
+        \vskip -\dbltextfloatsep
+             }%
+    \color@endbox
+  \ifdim \ht\@currbox>\textheight
+    \ht\@currbox \textheight
+  \fi
+  \global \count\@currbox \tw@
+  \@tempdima -\ht\@currbox
+  \advance \@tempdima -\dbltextfloatsep
+  \global \advance \@colht \@tempdima
+  \ifx \@dbltoplist \@empty
+  \else
+    \@latexerr{Float(s) lost}\@ehb
+    \let \@dbltoplist \@empty
+  \fi
+  \@cons \@dbltoplist \@currbox
+  \global \@dbltopnum \m@ne
+  \ifdim \@colht<2.5\baselineskip
+    \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
+                too tall on page \thepage}%
+    \@emptycol
+    \if@firstcolumn
+    \else
+      \@emptycol
+    \fi
+  \else
+    \global \vsize \@colht
+    \global \@colroom \@colht
+    \@floatplacement
+  \fi
+}
+\output {%
+  \let \par \@@par
+  \ifnum \outputpenalty<-\@M
+    \@specialoutput
+  \else
+    \@makecol
+    \@opcol
+    \@startcolumn
+    \@whilesw \if@fcolmade \fi
+      {%
+       \@opcol\@startcolumn}%
+  \fi
+  \ifnum \outputpenalty>-\@Miv
+    \ifdim \@colroom<1.5\baselineskip
+      \ifdim \@colroom<\textheight
+        \@latex@warning@no@line {Text page \thepage\space
+                               contains only floats}%
+        \@emptycol
+      \else
+        \global \vsize \@colroom
+      \fi
+    \else
+      \global \vsize \@colroom
+    \fi
+  \else
+    \global \vsize \maxdimen
+  \fi
+}
+\gdef\@specialoutput{%
+   \ifnum \outputpenalty>-\@Mii
+     \@doclearpage
+   \else
+     \ifnum \outputpenalty<-\@Miii
+       \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi
+       \global \setbox\@holdpg \vbox {\unvbox\@cclv}%
+     \else
+       \global \setbox\@holdpg \vbox{%
+                      \unvbox\@holdpg
+                      \unvbox\@cclv
+                      \setbox\@tempboxa \lastbox
+                      \unskip
+                                     }%
+       \@pagedp \dp\@holdpg
+       \@pageht \ht\@holdpg
+       \unvbox \@holdpg
+       \@next\@currbox\@currlist{%
+         \ifnum \count\@currbox>\z@
+           \advance \@pageht \@pagedp
+           \ifvoid\footins \else
+             \advance \@pageht \ht\footins
+             \advance \@pageht \skip\footins
+             \advance \@pageht \dp\footins
+           \fi
+           \ifvbox \@kludgeins
+             \ifdim \wd\@kludgeins=\z@
+               \advance \@pageht \ht\@kludgeins
+             \fi
+           \fi
+           \@reinserts
+           \@addtocurcol
+         \else
+           \@reinserts
+           \@addmarginpar
+         \fi
+         }\@latexbug
+       \ifnum \outputpenalty<\z@
+         \if@nobreak
+           \nobreak
+         \else
+           \addpenalty \interlinepenalty
+         \fi
+       \fi
+     \fi
+   \fi
+}
+\def \@doclearpage {%
+     \ifvoid\footins
+       \ifvbox\@kludgeins
+         {\setbox \@tempboxa \box \@kludgeins}%
+       \fi
+       \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
+       \setbox\@tempboxa\box\@cclv
+       \xdef\@deferlist{\@toplist\@botlist\@deferlist}%
+       \global \let \@toplist \@empty
+       \global \let \@botlist \@empty
+       \global \@colroom \@colht
+       \ifx \@currlist\@empty
+       \else
+          \@latexerr{Float(s) lost}\@ehb
+          \global \let \@currlist \@empty
+       \fi
+       \@makefcolumn\@deferlist
+       \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
+       \if@twocolumn
+         \if@firstcolumn
+           \xdef\@dbldeferlist{\@dbltoplist\@dbldeferlist}%
+           \global \let \@dbltoplist \@empty
+           \global \@colht \textheight
+           \begingroup
+              \@dblfloatplacement
+              \@makefcolumn\@dbldeferlist
+              \@whilesw\if@fcolmade \fi{\@outputpage
+                                        \@makefcolumn\@dbldeferlist}%
+           \endgroup
+         \else
+           \vbox{}\clearpage
+         \fi
+       \fi
+     \else
+       \setbox\@cclv\vbox{\box\@cclv\vfil}%
+       \@makecol\@opcol
+       \clearpage
+     \fi
+}
+\def \@opcol {%
+  \if@twocolumn
+    \@outputdblcol
+  \else
+    \@outputpage
+  \fi
+  \global \@mparbottom \z@ \global \@textfloatsheight \z@
+  \@floatplacement
+}
+\gdef \@makecol {%
+   \ifvoid\footins
+     \setbox\@outputbox \box\@cclv
+   \else
+     \setbox\@outputbox \vbox {%
+       \boxmaxdepth \@maxdepth
+       \@tempdima\dp\@cclv
+       \unvbox \@cclv
+       \vskip \skip\footins
+       \color@begingroup
+         \normalcolor
+         \footnoterule
+         \unvbox \footins
+       \color@endgroup
+       }%
+   \fi
+   \let\@elt\relax
+   \xdef\@freelist{\@freelist\@midlist}%
+   \global \let \@midlist \@empty
+   \@combinefloats
+   \ifvbox\@kludgeins
+     \@makespecialcolbox
+   \else
+     \setbox\@outputbox \vbox to\@colht {%
+       \@texttop
+       \dimen@ \dp\@outputbox
+       \unvbox \@outputbox
+       \vskip -\dimen@
+       \@textbottom
+       }%
+   \fi
+   \global \maxdepth \@maxdepth
+}
+\gdef \@reinserts{%
+  \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi
+  \ifvbox\@kludgeins\insert\@kludgeins
+                      {\unvbox\@kludgeins}\fi
+}
+\gdef \@makespecialcolbox {%
+   \setbox\@outputbox \vbox {%
+     \@texttop
+     \dimen@ \dp\@outputbox
+     \unvbox\@outputbox
+     \vskip-\dimen@
+     }%
+   \@tempdima \@colht
+   \ifdim \wd\@kludgeins>\z@
+     \advance \@tempdima -\ht\@outputbox
+     \advance \@tempdima \pageshrink
+     \setbox\@outputbox \vbox to \@colht {%
+       \unvbox\@outputbox
+       \vskip \@tempdima
+       \@textbottom
+       }%
+   \else
+     \advance \@tempdima -\ht\@kludgeins
+     \setbox \@outputbox \vbox to \@colht {%
+       \vbox to \@tempdima {%
+         \unvbox\@outputbox
+         \@textbottom}%
+       \vss}%
+   \fi
+   {\setbox \@tempboxa \box \@kludgeins}%
+}
+\let \@texttop \relax
+\let \@textbottom \relax
+\def\@activechar@info #1{%
+      \@latex@info@no@line {Active #1 character found while
+                            output routine is active
+                            \MessageBreak
+                            This may be a bug in a package file
+                            you are using}%
+}
+\begingroup
+\obeylines\obeyspaces%
+\catcode`\'\active%
+\gdef\@resetactivechars{%
+\def^^M{\@activechar@info{EOL}\space}%
+\def {\@activechar@info{space}\space}%
+\let'\active@math@prime}%
+\endgroup
+\def\@outputpage{%
+\begingroup           % the \endgroup is put in by \aftergroup
+  \let \protect \noexpand
+  \@resetactivechars
+  \global\let\@@if@newlist\if@newlist
+  \global\@newlistfalse
+  \@parboxrestore
+  \shipout \vbox{%
+    \set@typeset@protect
+    \aftergroup \endgroup
+    \aftergroup \set@typeset@protect
+                                % correct? or just restore by ending
+                                % the group?
+  \if@specialpage
+    \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
+  \fi
+  \if@twoside
+    \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
+         \let\@themargin\oddsidemargin
+    \else \let\@thehead\@evenhead
+       \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
+    \fi
+  \fi
+  \reset@font
+  \normalsize
+  \normalsfcodes
+  \let\label\@gobble
+  \let\index\@gobble
+  \let\glossary\@gobble
+  \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
+    \@begindvi
+    \vskip \topmargin
+    \moveright\@themargin \vbox {%
+      \setbox\@tempboxa \vbox to\headheight{%
+        \vfil
+        \color@hbox
+          \normalcolor
+          \hb@xt@\textwidth{\@thehead}%
+        \color@endbox
+        }%                        %% 22 Feb 87
+      \dp\@tempboxa \z@
+      \box\@tempboxa
+      \vskip \headsep
+      \box\@outputbox
+      \baselineskip \footskip
+      \color@hbox
+        \normalcolor
+        \hb@xt@\textwidth{\@thefoot}%
+      \color@endbox
+      }%
+    }%
+  \global\let\if@newlist\@@if@newlist
+  \global \@colht \textheight
+  \stepcounter{page}%
+  \let\firstmark\botmark
+}
+\def \@begindvi{%
+  \unvbox \@begindvibox
+  \global\let \@begindvi \@empty
+}
+\def \@combinefloats {%
+    \ifx \@toplist\@empty \else \@cflt \fi
+    \ifx \@botlist\@empty \else \@cflb \fi
+}
+\def \@cflt{%
+    \let \@elt \@comflelt
+    \setbox\@tempboxa \vbox{}%
+    \@toplist
+    \setbox\@outputbox \vbox{%
+                             \boxmaxdepth \maxdepth
+                             \unvbox\@tempboxa
+                             \vskip -\floatsep
+                             \topfigrule
+                             \vskip \textfloatsep
+                             \unvbox\@outputbox
+                             }%
+    \let\@elt\relax
+    \xdef\@freelist{\@freelist\@toplist}%
+    \global\let\@toplist\@empty
+}
+\def \@cflb {%
+    \let\@elt\@comflelt
+    \setbox\@tempboxa \vbox{}%
+    \@botlist
+    \setbox\@outputbox \vbox{%
+                             \unvbox\@outputbox
+                             \vskip \textfloatsep
+                             \botfigrule
+                             \unvbox\@tempboxa
+                             \vskip -\floatsep
+                             }%
+    \let\@elt\relax
+    \xdef\@freelist{\@freelist\@botlist}%
+    \global \let \@botlist\@empty
+}
+\def\@comflelt#1{\setbox\@tempboxa
+      \vbox{\unvbox\@tempboxa\box #1\vskip\floatsep}}
+\def\@comdblflelt#1{\setbox\@tempboxa
+      \vbox{\unvbox\@tempboxa\box #1\vskip\dblfloatsep}}
+\def \@combinedblfloats{%
+  \ifx \@dbltoplist \@empty
+  \else
+    \setbox\@tempboxa \vbox{}%
+    \let \@elt \@comdblflelt
+    \@dbltoplist
+    \let \@elt \relax
+    \xdef \@freelist {\@freelist\@dbltoplist}%
+    \global\let \@dbltoplist \@empty
+    \setbox\@outputbox \vbox to\textheight
+      {%\boxmaxdepth\maxdepth   %% probably not needed, CAR
+       \unvbox\@tempboxa\vskip-\dblfloatsep
+       \ifnum \@dbltopnum>\m@ne
+         \dblfigrule
+       \fi
+       \vskip \dbltextfloatsep
+       \box\@outputbox
+       }%
+  \fi
+}
+\def \@startcolumn {%
+  \global \@colroom \@colht
+  \@tryfcolumn \@deferlist
+  \if@fcolmade
+  \else
+    \begingroup
+      \let \reserved@b \@deferlist
+      \global \let \@deferlist \@empty
+      \let \@elt \@scolelt
+      \reserved@b
+    \endgroup
+  \fi
+}
+\def \@startdblcolumn {%
+  \@tryfcolumn \@dbldeferlist
+  \if@fcolmade
+  \else
+    \begingroup
+      \let \reserved@b \@dbldeferlist
+      \global \let \@dbldeferlist \@empty
+      \let \@elt \@sdblcolelt
+      \reserved@b
+    \endgroup
+  \fi
+}
+\def \@tryfcolumn #1{%
+  \global \@fcolmadefalse
+  \ifx #1\@empty
+  \else
+    \xdef\@trylist{#1}%
+    \global \let \@failedlist \@empty
+    \begingroup
+      \let \@elt \@xtryfc \@trylist
+    \endgroup
+    \if@fcolmade
+      \@vtryfc #1%
+    \fi
+  \fi
+}
+\def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}
+\def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}
+\def\@vtryfc #1{%
+  \global\setbox\@outputbox\vbox{}%
+  \let\@elt\@wtryfc
+  \@flsucceed
+  \global\setbox\@outputbox \vbox to\@colht{%
+    \vskip \@fptop
+    \vskip -\@fpsep
+    \unvbox \@outputbox
+    \vskip \@fpbot}%
+  \let\@elt\relax
+  \xdef #1{\@failedlist\@flfail}%
+  \xdef\@freelist{\@freelist\@flsucceed}}
+\def\@wtryfc #1{%
+  \global\setbox\@outputbox\vbox{%
+    \unvbox\@outputbox
+    \vskip\@fpsep
+    \box #1}}
+\def\@xtryfc #1{%
+  \@next\reserved@a\@trylist{}{}%
+  \@currtype \count #1%
+  \divide\@currtype\@xxxii
+  \multiply\@currtype\@xxxii
+  \@bitor \@currtype \@failedlist
+  \@testfp #1%
+  \ifdim \ht #1>\@colht
+    \@testtrue
+  \fi
+  \if@test
+    \@cons\@failedlist #1%
+  \else
+    \@ytryfc #1%
+  \fi}
+\def\@ytryfc #1{%
+  \begingroup
+    \gdef\@flsucceed{\@elt #1}%
+    \global\let\@flfail\@empty
+    \@tempdima\ht #1%
+    \let\@elt\@ztryfc
+    \@trylist
+    \ifdim \@tempdima >\@fpmin
+      \global\@fcolmadetrue
+    \else
+      \@cons\@failedlist #1%
+    \fi
+  \endgroup
+  \if@fcolmade
+    \let\@elt\@gobble
+  \fi}
+\def\@ztryfc #1{%
+  \@tempcnta \count#1%
+  \divide\@tempcnta\@xxxii
+  \multiply\@tempcnta\@xxxii
+  \@bitor \@tempcnta {\@failedlist \@flfail}%
+  \@testfp #1%
+  \@tempdimb\@tempdima
+  \advance\@tempdimb \ht#1%
+  \advance\@tempdimb\@fpsep
+  \ifdim \@tempdimb >\@colht
+    \@testtrue
+  \fi
+  \if@test
+    \@cons\@flfail #1%
+  \else
+    \@cons\@flsucceed #1%
+    \@tempdima\@tempdimb
+  \fi}
+\def \@addtobot {%
+   \@getfpsbit 4\relax
+   \ifodd \@tempcnta
+     \@flsetnum \@botnum
+     \ifnum \@botnum>\z@
+       \@tempswafalse
+       \@flcheckspace \@botroom \@botlist
+       \if@tempswa
+         \global \maxdepth \z@
+         \@flupdates \@botnum \@botroom \@botlist
+         \@inserttrue
+       \fi
+     \fi
+   \fi
+}
+\def \@addtotoporbot {%
+   \@getfpsbit \tw@
+   \ifodd \@tempcnta
+     \@flsetnum \@topnum
+     \ifnum \@topnum>\z@
+       \@tempswafalse
+       \@flcheckspace \@toproom \@toplist
+       \if@tempswa
+         \@bitor\@currtype{\@midlist\@botlist}%
+         \if@test
+         \else
+          \@flupdates \@topnum \@toproom \@toplist
+          \@inserttrue
+         \fi
+       \fi
+     \fi
+   \fi
+   \if@insert
+   \else
+     \@addtobot
+   \fi
+}
+\def \@addtocurcol {%
+   \@insertfalse
+   \@setfloattypecounts
+   \ifnum \@fpstype=8
+   \else
+     \ifnum \@fpstype=24
+     \else
+       \@flsettextmin
+       \advance \@textmin \@textfloatsheight
+       \@reqcolroom \@pageht
+       \ifdim \@textmin>\@reqcolroom
+         \@reqcolroom \@textmin
+       \fi
+       \advance \@reqcolroom \ht\@currbox
+       \ifdim \@colroom>\@reqcolroom
+         \@flsetnum \@colnum
+         \ifnum \@colnum>\z@
+           \@bitor\@currtype\@deferlist
+           \if@test
+           \else
+             \@bitor\@currtype\@botlist
+             \if@test
+               \@addtobot
+             \else
+               \ifodd \count\@currbox
+                 \advance \@reqcolroom \intextsep
+                 \ifdim \@colroom>\@reqcolroom
+                   \global \advance \@colnum \m@ne
+                   \global \advance \@textfloatsheight \ht\@currbox
+                   \global \advance \@textfloatsheight 2\intextsep
+                   \@cons \@midlist \@currbox
+                   \if@nobreak
+                     \nobreak
+                     \@nobreakfalse
+                     \everypar{}%
+                   \else
+                     \addpenalty \interlinepenalty
+                   \fi
+                   \vskip \intextsep
+                   \box\@currbox
+                   \penalty\interlinepenalty
+                   \vskip\intextsep
+                   \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
+                   \outputpenalty \z@
+                   \@inserttrue
+                 \fi
+               \fi
+               \if@insert
+               \else
+                 \@addtotoporbot
+               \fi
+             \fi
+           \fi
+         \fi
+       \fi
+     \fi
+   \fi
+   \if@insert
+   \else
+     \@resethfps
+     \@cons\@deferlist\@currbox
+   \fi
+}
+\def\@addtonextcol{%
+  \begingroup
+   \@insertfalse
+   \@setfloattypecounts
+   \ifnum \@fpstype=8
+   \else
+     \ifnum \@fpstype=24
+     \else
+       \@flsettextmin
+       \@reqcolroom \ht\@currbox
+       \advance \@reqcolroom \@textmin
+       \ifdim \@colroom>\@reqcolroom
+         \@flsetnum \@colnum
+         \ifnum\@colnum>\z@
+            \@bitor\@currtype\@deferlist
+            \if@test
+            \else
+              \@addtotoporbot
+            \fi
+         \fi
+       \fi
+     \fi
+   \fi
+   \if@insert
+   \else
+     \@cons\@deferlist\@currbox
+   \fi
+  \endgroup
+}
+\def\@addtodblcol{%
+  \begingroup
+   \@insertfalse
+   \@setfloattypecounts
+   \@getfpsbit \tw@
+   \ifodd\@tempcnta
+     \@flsetnum \@dbltopnum
+     \ifnum \@dbltopnum>\z@
+       \@tempswafalse
+       \ifdim \@dbltoproom>\ht\@currbox
+         \@tempswatrue
+       \else
+         \ifnum \@fpstype<\sixt@@n
+           \advance \@dbltoproom \@textmin
+           \ifdim \@dbltoproom>\ht\@currbox
+             \@tempswatrue
+           \fi
+           \advance \@dbltoproom -\@textmin
+         \fi
+       \fi
+       \if@tempswa
+           \@bitor \@currtype \@dbldeferlist
+           \if@test
+           \else
+              \@tempdima -\ht\@currbox
+              \advance\@tempdima
+                -\ifx \@dbltoplist\@empty \dbltextfloatsep \else
+                                          \dblfloatsep \fi
+              \global \advance \@dbltoproom \@tempdima
+              \global \advance \@colht \@tempdima
+              \global \advance \@dbltopnum \m@ne
+              \@cons \@dbltoplist \@currbox
+              \@inserttrue
+           \fi
+       \fi
+     \fi
+   \fi
+   \if@insert
+   \else
+     \@cons\@dbldeferlist\@currbox
+   \fi
+  \endgroup
+}
+\def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox
+    \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne
+    \if@twocolumn
+        \if@firstcolumn \@tempcnta\m@ne \fi
+    \else
+      \if@mparswitch
+         \ifodd\c@page \else\@tempcnta\m@ne \fi
+      \fi
+      \if@reversemargin \@tempcnta -\@tempcnta \fi
+    \fi
+    \ifnum\@tempcnta <\z@  \global\setbox\@marbox\box\@currbox \fi
+    \@tempdima\@mparbottom
+    \advance\@tempdima -\@pageht
+    \advance\@tempdima\ht\@marbox
+    \ifdim\@tempdima >\z@
+      \@latex@warning@no@line {Marginpar on page \thepage\space moved}%
+    \else
+      \@tempdima\z@
+    \fi
+    \global\@mparbottom\@pageht
+    \global\advance\@mparbottom\@tempdima
+    \global\advance\@mparbottom\dp\@marbox
+    \global\advance\@mparbottom\marginparpush
+    \advance\@tempdima -\ht\@marbox
+    \global\setbox \@marbox
+                   \vbox {\vskip \@tempdima
+                          \box \@marbox}%
+    \global \ht\@marbox \z@
+    \global \dp\@marbox \z@
+    \kern -\@pagedp
+    \nointerlineskip
+    \hb@xt@\columnwidth
+      {\ifnum \@tempcnta >\z@
+          \hskip\columnwidth \hskip\marginparsep
+       \else
+          \hskip -\marginparsep \hskip -\marginparwidth
+       \fi
+       \box\@marbox \hss}%
+    \nointerlineskip
+    \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}}
+\newinsert \@kludgeins
+\global\dimen\@kludgeins \maxdimen
+\global\count\@kludgeins 1000
+\gdef \enlargethispage {%
+   \@ifstar
+     {%
+      \@enlargepage{\hbox{\kern\p@}}}%
+     {%
+      \@enlargepage\@empty}%
+}
+\gdef\@enlargepage#1#2{%
+   \@tempskipa#2\relax
+   \ifdim \@tempskipa>.5\maxdimen
+     \@latexerr{Suggested\space extra\space height\space
+                (\the\@tempskipa)\space dangerously\space
+                large}\@eha
+   \else
+     \ifdim \vsize<.5\maxdimen
+       \@bsphack
+         \insert\@kludgeins{#1\vskip-\@tempskipa}%
+       \@esphack
+     \else
+       \@latexerr{Page\space height\space already\space
+                  too\space large}\@eha
+     \fi
+   \fi
+}
+\def \suppressfloats {%
+   \@ifnextchar [%
+     \@flstop
+    {\global \@colnum \z@}%
+}
+\def \@flstop [#1]{%
+   \if t#1%
+     \global \@topnum \z@
+   \fi
+   \if b#1%
+     \global \@botnum \z@
+   \fi
+}
+\newcount \@fpstype
+\newdimen \@reqcolroom
+\newdimen \@textfloatsheight
+\def \@fpsadddefault {%
+   \edef \@fps {\@fps\csname fps@\@captype \endcsname}%
+   \@latex@warning {%
+     No positions in optional float specifier.\MessageBreak
+     Default added (so using `\@fps')}%
+}
+\def \@setfloattypecounts {%
+  \@currtype \count\@currbox
+  \@fpstype \count\@currbox
+  \divide\@currtype\@xxxii \multiply\@currtype\@xxxii
+  \advance \@fpstype -\@currtype
+}
+\def \@getfpsbit {%
+   \@boxfpsbit \@currbox
+}
+\def \@boxfpsbit #1#2{%
+   \@tempcnta \count#1%
+   \divide \@tempcnta #2\relax
+}
+\def \@testfp #1{%
+   \@boxfpsbit #18\relax % Really `#1 8' for human readers!
+   \ifodd \@tempcnta
+   \else
+     \@testtrue
+   \fi
+}
+\def \@setfpsbit #1{%
+   \@tempcntb \@tempcnta
+   \divide \@tempcntb #1\relax
+   \ifodd \@tempcntb
+   \else
+     \advance \@tempcnta #1\relax
+   \fi
+}
+\def \@resethfps {%
+   \let\reserved@a\@empty
+   \ifnum \@fpstype=\@ne
+      \def \reserved@a {!}%
+      \@fpstype 17
+   \fi
+   \ifnum \@fpstype=17
+     \global \advance \count\@currbox \tw@
+     \@latex@warning@no@line {%
+       `\reserved@a h' float specifier changed to `\reserved@a ht'}%
+   \fi
+}
+\def \@flsetnum #1{%
+   \ifnum \@fpstype<\sixt@@n
+     \ifnum #1=\z@
+       #1\@ne
+     \fi
+   \fi
+}
+\def \@flsettextmin {%
+   \ifnum \@fpstype<\sixt@@n
+     \@textmin \z@
+   \else
+     \@textmin \textfraction\@colht
+   \fi
+}
+\def \@flcheckspace #1#2{%
+   \advance \@reqcolroom
+     \ifx #2\@empty \textfloatsep \else \floatsep \fi
+   \ifdim \@colroom>\@reqcolroom
+     \ifdim #1>\ht\@currbox
+       \@tempswatrue
+     \else
+       \ifnum \@fpstype<\sixt@@n
+         \@tempswatrue
+       \fi
+     \fi
+   \fi
+}
+\def \@flupdates #1#2#3{%
+   \global \advance #1\m@ne
+   \global \advance \@colnum \m@ne
+   \@tempdima -\ht\@currbox
+   \advance \@tempdima
+     -\ifx #3\@empty \textfloatsep \else \floatsep \fi
+   \global \advance #2\@tempdima
+   \global \advance \@colroom \@tempdima
+   \@cons #3\@currbox
+}
+\def\@makefcolumn #1{%
+  \begingroup
+    \@fpmin \z@
+    \let \@testfp \@gobble
+    \@tryfcolumn #1%
+  \endgroup
+}
+\def\@outputdblcol{%
+  \if@firstcolumn
+    \global \@firstcolumnfalse
+    \global \setbox\@leftcolumn \box\@outputbox
+  \else
+    \global \@firstcolumntrue
+    \setbox\@outputbox \vbox {%
+                         \hb@xt@\textwidth {%
+                           \hb@xt@\columnwidth {%
+                             \box\@leftcolumn \hss}%
+                           \hfil
+                           {\normalcolor\vrule \@width\columnseprule}%
+                           \hfil
+                           \hb@xt@\columnwidth {%
+                             \box\@outputbox \hss}%
+                                             }%
+                              }%
+    \@combinedblfloats
+    \@outputpage
+    \begingroup
+      \@dblfloatplacement
+      \@startdblcolumn
+      \@whilesw\if@fcolmade \fi
+        {\@outputpage
+         \@startdblcolumn}%
+    \endgroup
+  \fi
+}
+\newcount\c@topnumber
+\setcounter{topnumber}{2}
+\newcommand\topfraction{.7}
+\newcount\c@bottomnumber
+\setcounter{bottomnumber}{1}
+\newcommand\bottomfraction{.3}
+\newcount\c@totalnumber
+\setcounter{totalnumber}{3}
+\newcommand\textfraction{.2}
+\newcommand\floatpagefraction{.5}
+\newcount\c@dbltopnumber
+\setcounter{dbltopnumber}{2}
+\newcommand\dbltopfraction{.7}
+\newcommand\dblfloatpagefraction{.5}
+\newskip\floatsep
+\newskip\textfloatsep
+\newskip\intextsep
+\setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}
+\newskip\dblfloatsep
+\newskip\dbltextfloatsep
+\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\newskip\@fptop
+\newskip\@fpsep
+\newskip\@fpbot
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\newskip\@dblfptop
+\newskip\@dblfpsep
+\newskip\@dblfpbot
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\let\topfigrule=\relax
+\let\botfigrule=\relax
+\let\dblfigrule=\relax
+%%% From File: ltclass.dtx
+\newif\if@compatibility
+\def\@documentclasshook{%
+   \ifx\@normalsize\@undefined
+      \let\@normalsize\normalsize
+   \fi
+}
+\let\@declaredoptions\@empty
+\let\@classoptionslist\relax
+\@onlypreamble\@classoptionslist
+\let\@unusedoptionlist\@empty
+\@onlypreamble\@unusedoptionlist
+\let\CurrentOption\@empty
+\let\@currname\@empty
+\global\let\@currext=\@empty
+\def\@clsextension{cls}
+\def\@pkgextension{sty}
+\@onlypreamble\@clsextension
+\@onlypreamble\@pkgextension
+\def\@pushfilename{%
+  \xdef\@currnamestack{%
+    {\@currname}%
+    {\@currext}%
+    {\the\catcode`\@}%
+    \@currnamestack}}
+\@onlypreamble\@pushfilename
+\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil}
+\@onlypreamble\@popfilename
+\def\@p@pfilename#1#2#3#4\@nil{%
+  \gdef\@currname{#1}%
+  \gdef\@currext{#2}%
+  \catcode`\@#3\relax
+  \gdef\@currnamestack{#4}}
+\@onlypreamble\@p@pfilename
+\gdef\@currnamestack{}
+\@onlypreamble\@currnamestack
+\def\@ptionlist#1{%
+  \@ifundefined{opt@#1}\@empty{\csname opt@#1\endcsname}}
+\@onlypreamble\@ptionlist
+\def\@ifpackageloaded{\@ifl@aded\@pkgextension}
+\def\@ifclassloaded{\@ifl@aded\@clsextension}
+\@onlypreamble\@ifpackageloaded
+\@onlypreamble\@ifclassloaded
+\def\@ifl@aded#1#2{%
+  \expandafter\ifx\csname ver@#2.#1\endcsname\relax
+    \expandafter\@secondoftwo
+  \else
+    \expandafter\@firstoftwo
+  \fi}
+\@onlypreamble\@ifl@aded
+\def\@ifpackagelater{\@ifl@ter\@pkgextension}
+\def\@ifclasslater{\@ifl@ter\@clsextension}
+\@onlypreamble\@ifpackagelater
+\@onlypreamble\@ifclasslater
+\def\@ifl@ter#1#2{%
+  \expandafter\@ifl@t@r
+    \csname ver@#2.#1\endcsname}
+\@onlypreamble\@ifl@ter
+\def\@ifl@t@r#1#2{%
+  \ifnum\expandafter\@parse@version#1//00\@nil<%
+        \expandafter\@parse@version#2//00\@nil
+    \expandafter\@secondoftwo
+  \else
+    \expandafter\@firstoftwo
+  \fi}
+\@onlypreamble\@ifl@t@r
+\def\@parse@version#1/#2/#3#4#5\@nil{#1#2#3#4 }
+\@onlypreamble\@parse@version
+\def\@ifpackagewith{\@if@ptions\@pkgextension}
+\def\@ifclasswith{\@if@ptions\@clsextension}
+\@onlypreamble\@ifpackagewith
+\@onlypreamble\@ifclasswith
+\def\@if@ptions#1#2{%
+  \@expandtwoargs\@if@pti@ns{\@ptionlist{#2.#1}}}
+\@onlypreamble\@if@ptions
+\def\@if@pti@ns#1#2{%
+  \let\reserved@a\@firstoftwo
+  \@for\reserved@b:=#2\do{%
+    \expandafter\in@\expandafter{\expandafter,\reserved@b,}{,#1,}%
+    \ifin@\else\let\reserved@a\@secondoftwo\fi}%
+  \reserved@a}
+\@onlypreamble\@if@pti@ns
+\def\ProvidesPackage#1{%
+  \xdef\@gtempa{#1}%
+  \ifx\@gtempa\@currname\else
+    \@latex@warning@no@line{You have requested
+      \@cls@pkg\space`\@currname',\MessageBreak
+       but the \@cls@pkg\space provides `#1'}%
+  \fi
+  \@ifnextchar[\@pr@videpackage{\@pr@videpackage[]}}%]
+\@onlypreamble\ProvidesPackage
+\def\@pr@videpackage[#1]{%
+  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \wlog{Package: \@gtempa\space#1}%
+  \fi}
+\@onlypreamble\@pr@videpackage
+\let\ProvidesClass\ProvidesPackage
+\@onlypreamble\ProvidesClass
+\def\ProvidesFile#1{%
+  \begingroup
+    \catcode`\ 10 %
+    \ifnum \endlinechar<256 %
+      \ifnum \endlinechar>\m@ne
+        \catcode\endlinechar 10 %
+      \fi
+    \fi
+    \@makeother\/%
+    \@makeother\&%
+    \kernel@ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}}
+\def\@pass@ptions#1#2#3{%
+  \expandafter\xdef\csname opt@#3.#1\endcsname{%
+    \@ifundefined{opt@#3.#1}\@empty
+      {\csname opt@#3.#1\endcsname,}%
+    \zap@space#2 \@empty}}
+\@onlypreamble\@pass@ptions
+\def\PassOptionsToPackage{\@pass@ptions\@pkgextension}
+\def\PassOptionsToClass{\@pass@ptions\@clsextension}
+\@onlypreamble\PassOptionsToPackage
+\@onlypreamble\PassOptionsToClass
+\def\DeclareOption{%
+  \let\@fileswith@pti@ns\@badrequireerror
+  \@ifstar\@defdefault@ds\@declareoption}
+\long\def\@declareoption#1#2{%
+   \xdef\@declaredoptions{\@declaredoptions,#1}%
+   \toks@{#2}%
+   \expandafter\edef\csname ds@#1\endcsname{\the\toks@}}
+\long\def\@defdefault@ds#1{%
+  \toks@{#1}%
+  \edef\default@ds{\the\toks@}}
+\@onlypreamble\DeclareOption
+\@onlypreamble\@declareoption
+\@onlypreamble\@defdefault@ds
+\def\OptionNotUsed{%
+  \ifx\@currext\@clsextension
+    \xdef\@unusedoptionlist{%
+      \ifx\@unusedoptionlist\@empty\else\@unusedoptionlist,\fi
+      \CurrentOption}%
+  \fi}
+\@onlypreamble\OptionNotUsed
+\def\ProcessOptions{%
+  \let\ds@\@empty
+  \edef\@curroptions{\@ptionlist{\@currname.\@currext}}%
+  \@ifstar\@xprocess@ptions\@process@ptions}
+\@onlypreamble\ProcessOptions
+\def\@process@ptions{%
+  \@for\CurrentOption:=\@declaredoptions\do{%
+    \ifx\CurrentOption\@empty\else
+      \@expandtwoargs\in@{,\CurrentOption,}{%
+         ,\ifx\@currext\@clsextension\else\@classoptionslist,\fi
+         \@curroptions,}%
+      \ifin@
+        \@use@ption
+        \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+      \fi
+    \fi}%
+  \@process@pti@ns}
+\@onlypreamble\@process@ptions
+\def\@xprocess@ptions{%
+  \ifx\@currext\@clsextension\else
+    \@for\CurrentOption:=\@classoptionslist\do{%
+      \ifx\CurrentOption\@empty\else
+        \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}%
+        \ifin@
+          \@use@ption
+          \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+        \fi
+      \fi}%
+  \fi
+  \@process@pti@ns}
+\@onlypreamble\@xprocess@ptions
+\def\@process@pti@ns{%
+  \@for\CurrentOption:=\@curroptions\do{%
+    \@ifundefined{ds@\CurrentOption}%
+      {\@use@ption
+       \default@ds}%
+      \@use@ption}%
+  \@for\CurrentOption:=\@declaredoptions\do{%
+    \expandafter\let\csname ds@\CurrentOption\endcsname\relax}%
+  \let\CurrentOption\@empty
+  \let\@fileswith@pti@ns\@@fileswith@pti@ns
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+\@onlypreamble\@process@pti@ns
+\def\@options{\ProcessOptions*}
+\@onlypreamble\@options
+\def\@use@ption{%
+  \@expandtwoargs\@removeelement\CurrentOption
+  \@unusedoptionlist\@unusedoptionlist
+  \csname ds@\CurrentOption\endcsname}
+\@onlypreamble\@use@ption
+\def\ExecuteOptions#1{%
+  \def\reserved@a##1\@nil{%
+    \@for\CurrentOption:=#1\do{\csname ds@\CurrentOption\endcsname}%
+    \edef\CurrentOption{##1}}%
+  \expandafter\reserved@a\CurrentOption\@nil}
+\@onlypreamble\ExecuteOptions
+\def\documentclass{%
+  \let\documentclass\@twoclasseserror
+  \if@compatibility\else\let\usepackage\RequirePackage\fi
+  \@fileswithoptions\@clsextension}
+\@onlypreamble\documentclass
+\def\documentstyle{%
+  \makeatletter\input{latex209.def}\makeatother
+  \documentclass}
+\@onlypreamble\documentstyle
+\def\RequirePackage{%
+  \@fileswithoptions\@pkgextension}
+\@onlypreamble\RequirePackage
+\def\LoadClass{%
+  \ifx\@currext\@pkgextension
+     \@latex@error
+      {\noexpand\LoadClass in package file}%
+      {You may only use \noexpand\LoadClass in a class file.}%
+  \fi
+  \@fileswithoptions\@clsextension}
+\@onlypreamble\LoadClass
+\def\@loadwithoptions#1#2#3{%
+  \expandafter\let\csname opt@#3.#1\expandafter\endcsname
+       \csname opt@\@currname.\@currext\endcsname
+   #2{#3}}
+\@onlypreamble\@loadwithoptions
+\def\LoadClassWithOptions{%
+  \@loadwithoptions\@clsextension\LoadClass}
+\@onlypreamble\LoadClassWithOptions
+\def\RequirePackageWithOptions{%
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}%
+  \@loadwithoptions\@pkgextension\RequirePackage}
+\@onlypreamble\RequirePackageWithOptions
+\def\usepackage#1#{%
+  \@latex@error
+    {\noexpand \usepackage before \string\documentclass}%
+    {\noexpand \usepackage may only appear in the document
+      preamble, i.e.,\MessageBreak
+      between \noexpand\documentclass and
+      \string\begin{document}.}%
+  \@gobble}
+\@onlypreamble\usepackage
+\def\NeedsTeXFormat#1{%
+  \def\reserved@a{#1}%
+  \ifx\reserved@a\fmtname
+    \expandafter\@needsformat
+  \else
+     \@latex@error{This file needs format `\reserved@a'%
+       \MessageBreak but this is `\fmtname'}{%
+       The current input file will not be processed
+       further,\MessageBreak
+       because it was written for some other flavor of
+       TeX.\MessageBreak\@ehd}%
+     \endinput \fi}
+\@onlypreamble\NeedsTeXFormat
+\def\@needsformat{%
+  \@ifnextchar[%]
+    \@needsf@rmat
+    {}}
+\@onlypreamble\@needsformat
+\def\@needsf@rmat[#1]{%
+    \@ifl@t@r\fmtversion{#1}{}%
+    {\@latex@warning@no@line
+        {You have requested release `#1' of LaTeX,\MessageBreak
+         but only release `\fmtversion' is available}}}
+\@onlypreamble\@needsf@rmat
+\def\zap@space#1 #2{%
+  #1%
+  \ifx#2\@empty\else\expandafter\zap@space\fi
+  #2}
+\def\@fileswithoptions#1{%
+  \@ifnextchar[%]
+    {\@fileswith@ptions#1}%
+    {\@fileswith@ptions#1[]}}
+\@onlypreamble\@fileswithoptions
+\def\@fileswith@ptions#1[#2]#3{%
+  \@ifnextchar[%]
+  {\@fileswith@pti@ns#1[#2]#3}%
+  {\@fileswith@pti@ns#1[#2]#3[]}}
+\@onlypreamble\@fileswith@ptions
+\def\@fileswith@pti@ns#1[#2]#3[#4]{%
+  \ifx#1\@clsextension
+    \ifx\@classoptionslist\relax
+      \xdef\@classoptionslist{\zap@space#2 \@empty}%
+      \def\reserved@a{%
+        \@onefilewithoptions#3[#2][#4]#1%
+        \@documentclasshook}%
+    \else
+      \def\reserved@a{%
+        \@onefilewithoptions#3[#2][#4]#1}%
+    \fi
+  \else
+    \def\reserved@b##1,{%
+      \ifx\@nil##1\relax\else
+        \ifx\relax##1\relax\else
+         \noexpand\@onefilewithoptions##1[#2][#4]\noexpand\@pkgextension
+        \fi
+        \expandafter\reserved@b
+      \fi}%
+      \edef\reserved@a{\zap@space#3 \@empty}%
+      \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nil,}%
+  \fi
+  \reserved@a}
+\@onlypreamble\@fileswith@pti@ns
+\def\@onefilewithoptions#1[#2][#3]#4{%
+  \@pushfilename
+  \xdef\@currname{#1}%
+  \global\let\@currext#4%
+  \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
+  \let\CurrentOption\@empty
+  \@reset@ptions
+  \makeatletter
+  \def\reserved@a{%
+    \@ifl@aded\@currext{#1}%
+      {\@if@ptions\@currext{#1}{#2}{}%
+        {\@latex@error
+            {Option clash for \@cls@pkg\space #1}%
+            {The package #1 has already been loaded
+             with options:\MessageBreak
+             \space\space[\@ptionlist{#1.\@currext}]\MessageBreak
+             There has now been an attempt to load it
+              with options\MessageBreak
+             \space\space[#2]\MessageBreak
+             Adding the global options:\MessageBreak
+             \space\space
+                  \@ptionlist{#1.\@currext},#2\MessageBreak
+             to your \noexpand\documentclass declaration may fix this.%
+             \MessageBreak
+             Try typing \space <return> \space to proceed.}}}%
+      {\@pass@ptions\@currext{#2}{#1}%
+       \global\expandafter
+       \let\csname ver@\@currname.\@currext\endcsname\@empty
+       \InputIfFileExists
+         {\@currname.\@currext}%
+         {}%
+         {\@missingfileerror\@currname\@currext}%
+    \let\@unprocessedoptions\@@unprocessedoptions
+    \csname\@currname.\@currext-h@@k\endcsname
+    \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
+              \@undefined
+    \@unprocessedoptions}
+    \@ifl@ter\@currext{#1}{#3}{}%
+      {\@latex@warning@no@line
+         {You have requested,\on@line,
+          version\MessageBreak
+            `#3' of \@cls@pkg\space #1,\MessageBreak
+          but only version\MessageBreak
+           `\csname ver@#1.\@currext\endcsname'\MessageBreak
+          is available}}%
+    \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
+    \@popfilename
+    \@reset@ptions}%
+  \reserved@a}
+\@onlypreamble\@onefilewithoptions
+\let\@@fileswith@pti@ns\@fileswith@pti@ns
+\@onlypreamble\@@fileswith@pti@ns
+\def\@reset@ptions{%
+  \global\ifx\@currext\@clsextension
+    \let\default@ds\OptionNotUsed
+   \else
+    \let\default@ds\@unknownoptionerror
+  \fi
+  \global\let\ds@\@empty
+  \global\let\@declaredoptions\@empty}
+\@onlypreamble\@reset@ptions
+\ifx\@begindocumenthook\@undefined
+  \let\@begindocumenthook\@empty
+\fi
+\let\@enddocumenthook\@empty
+\long\def\g@addto@macro#1#2{%
+  \begingroup
+    \toks@\expandafter{#1#2}%
+    \xdef#1{\the\toks@}%
+  \endgroup}
+\def\AtEndOfPackage{%
+  \expandafter\g@addto@macro\csname\@currname.\@currext-h@@k\endcsname}
+\let\AtEndOfClass\AtEndOfPackage
+\@onlypreamble\AtEndOfPackage
+\@onlypreamble\AtEndOfClass
+\def\AtBeginDocument{\g@addto@macro\@begindocumenthook}
+\def\AtEndDocument{\g@addto@macro\@enddocumenthook}
+\@onlypreamble\AtBeginDocument
+\def\@cls@pkg{%
+  \ifx\@currext\@clsextension
+    document class%
+  \else
+    package%
+  \fi}
+\@onlypreamble\@cls@pkg
+\def\@unknownoptionerror{%
+  \@latex@error
+    {Unknown option `\CurrentOption' for \@cls@pkg\space`\@currname'}%
+    {The option `\CurrentOption' was not declared in
+     \@cls@pkg\space`\@currname', perhaps you\MessageBreak
+      misspelled its name.
+     Try typing \space <return>
+     \space to proceed.}}
+\@onlypreamble\@unknownoptionerror
+\def\@@unprocessedoptions{%
+  \ifx\@currext\@pkgextension
+    \edef\@curroptions{\@ptionlist{\@currname.\@currext}}%
+    \@for\CurrentOption:=\@curroptions\do{%
+        \ifx\CurrentOption\@empty\else\@unknownoptionerror\fi}%
+  \fi}
+\@onlypreamble\@unprocessedoptions
+\@onlypreamble\@@unprocessedoptions
+\def\@badrequireerror#1[#2]#3[#4]{%
+  \@latex@error
+    {\noexpand\RequirePackage or \noexpand\LoadClass
+         in Options Section}%
+    {The \@cls@pkg\space `\@currname' is defective.\MessageBreak
+     It attempts to load `#3' in the options section, i.e.,\MessageBreak
+     between \noexpand\DeclareOption and \string\ProcessOptions.}}
+\@onlypreamble\@badrequireerror
+\def\@twoloadclasserror{%
+  \@latex@error
+    {Two \noexpand\LoadClass commands}%
+    {You may only use one \noexpand\LoadClass in a class file}}
+\@onlypreamble\@twoloadclasserror
+\def\@twoclasseserror#1#{%
+  \@latex@error
+    {Two \noexpand\documentclass or \noexpand\documentstyle commands}%
+    {The document may only declare one class.}\@gobble}
+\@onlypreamble\@twoclasseserror
+\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
+\begingroup%
+\catcode`\*=11 %
+\catcode`\^^M\active%
+\catcode`\^^L\active\let^^L\relax%
+\catcode`\^^I\active%
+\gdef\filecontents{\@tempswatrue\filec@ntents}%
+\gdef\filecontents*{\@tempswafalse\filec@ntents}%
+\gdef\filec@ntents#1{%
+  \openin\@inputcheck#1 %
+  \ifeof\@inputcheck%
+    \@latex@warning@no@line%
+        {Writing file `\@currdir#1'}%
+    \chardef\reserved@c15 %
+    \ch@ck7\reserved@c\write%
+    \immediate\openout\reserved@c#1\relax%
+  \else%
+    \closein\@inputcheck%
+    \@latex@warning@no@line%
+            {File `#1' already exists on the system.\MessageBreak%
+             Not generating it from this source}%
+    \let\write\@gobbletwo%
+    \let\closeout\@gobble%
+  \fi%
+  \if@tempswa%
+    \immediate\write\reserved@c{%
+      \@percentchar\@percentchar\space%
+          \expandafter\@gobble\string\LaTeX2e file `#1'^^J%
+      \@percentchar\@percentchar\space  generated by the %
+        `\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
+      \@percentchar\@percentchar\space from source `\jobname' on %
+         \number\year/\two@digits\month/\two@digits\day.^^J%
+      \@percentchar\@percentchar}%
+  \fi%
+  \let\do\@makeother\dospecials%
+  \edef\E{\@backslashchar end\string{\@currenvir\string}}%
+  \edef\reserved@b{%
+    \def\noexpand\reserved@b%
+         ####1\E####2\E####3\relax}%
+  \reserved@b{%
+    \ifx\relax##3\relax%
+      \immediate\write\reserved@c{##1}%
+    \else%
+      \edef^^M{\noexpand\end{\@currenvir}}%
+      \ifx\relax##1\relax%
+      \else%
+          \@latex@warning{Writing text `##1' before %
+             \string\end{\@currenvir}\MessageBreak as last line of #1}%
+        \immediate\write\reserved@c{##1}%
+      \fi%
+      \ifx\relax##2\relax%
+      \else%
+         \@latex@warning{%
+           Ignoring text `##2' after \string\end{\@currenvir}}%
+      \fi%
+    \fi%
+    ^^M}%
+  \catcode`\^^L\active%
+  \let\L\@undefined%
+  \def^^L{\@ifundefined L^^J^^J^^J}%
+  \catcode`\^^I\active%
+  \let\I\@undefined%
+  \def^^I{\@ifundefined I\space\space}%
+  \catcode`\^^M\active%
+  \edef^^M##1^^M{%
+    \noexpand\reserved@b##1\E\E\relax}}%
+\endgroup%
+\begingroup
+\catcode`|=\catcode`\%
+\catcode`\%=12
+\catcode`\*=11
+\gdef\@percentchar{%}
+\gdef\endfilecontents{|
+  \immediate\closeout\reserved@c
+  \def\T##1##2##3{|
+  \ifx##1\@undefined\else
+    \@latex@warning@no@line{##2 has been converted to Blank ##3e}|
+  \fi}|
+  \T\L{Form Feed}{Lin}|
+  \T\I{Tab}{Spac}|
+  \immediate\write\@unused{}}
+\global\let\endfilecontents*\endfilecontents
+\@onlypreamble\filecontents
+\@onlypreamble\endfilecontents
+\@onlypreamble\filecontents*
+\@onlypreamble\endfilecontents*
+\endgroup
+\@onlypreamble\filec@ntents
+%%% From File: ltfinal.dtx
+\tracingstats1
+\newcount\@lowpenalty
+\newcount\@medpenalty
+\newcount\@highpenalty
+\unitlength = 1pt
+\fboxsep = 3pt
+\fboxrule = .4pt
+\@maxdepth       = \maxdepth
+\vsize = 1000pt
+\@colroom = \vsize
+\@colht = \vsize
+\textheight=.5\maxdimen
+\textwidth=\textheight
+\ps@empty
+\def\reserved@a#1#2{%
+   \@tempcnta#1\relax
+   \@tempcntb#2\relax
+   \reserved@b
+}
+\def\reserved@b{%
+   \ifnum\@tempcnta>\@tempcntb\else
+      \reserved@c\@tempcnta
+      \advance\@tempcnta\@ne
+      \expandafter\reserved@b
+   \fi
+}
+\def\reserved@c#1{%
+   \count@=#1\advance\count@ by -"20
+   \uccode#1=\count@
+   \lccode#1=#1
+}
+\reserved@a{`\a}{`\z}
+\ifnum\inputlineno=\m@ne\else
+  \reserved@a{"A0}{"BC}
+  \reserved@a{"E0}{"FF}
+\fi
+\def\reserved@c#1{%
+   \count@=#1\advance\count@ by "20
+   \uccode#1=#1
+   \lccode#1=\count@
+   \sfcode#1=999
+}
+\reserved@a{`\A}{`\Z}
+\ifnum\inputlineno=\m@ne\else
+  \reserved@a{"80}{"9C}
+  \reserved@a{"C0}{"DF}
+\fi
+\uccode`\^^Y=`\I     % dotless i
+\lccode`\^^Y=`\^^Y   % dotless i
+\uccode`\^^Z=`\J     % dotless j, ae in OT1
+\lccode`\^^Z=`\^^Z   % dotless j, ae in OT1
+\ifnum\inputlineno=\m@ne\else
+  \lccode`\^^9d=`\i    % dotted I
+  \uccode`\^^9d=`\^^9d % dotted I
+  \lccode`\^^9e=`\^^9e % d-bar
+  \uccode`\^^9e=`\^^d0 % d-bar
+\fi
+\lccode`\^^[=`\^^[   % oe in OT1
+\lccode`\- =`\-   % default hyphen char
+\lccode 127=127   % alternate hyphen char
+\lccode 23 =23    % textcompwordmark in T1
+\InputIfFileExists{hyphen.cfg}
+           {\typeout{===========================================^^J%
+                      Local configuration file hyphen.cfg used^^J%
+                     ===========================================}%
+             \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}%
+           }
+           {\input{hyphen.ltx}}
+\let\@addtofilelist\@gobble
+\ifdim \font@submax >\z@
+   \@font@warning{Size substitutions with differences\MessageBreak
+                 up to \font@submax\space have occurred.\MessageBreak
+                \MessageBreak
+                Please check the transcript file
+                carefully\MessageBreak
+                and redo the format generation if necessary!
+                \@gobbletwo}%
+   \errhelp{Only stopped, to give you time to
+            read the above message.}
+   \errmessage{}
+\def\font@submax{0pt}
+\fi
+\def\reserved@a#1#2{%
+   \@tempcnta#1\relax
+   \@tempcntb#2\relax
+   \reserved@b
+}
+\def\reserved@b{%
+   \ifnum\@tempcnta>\@tempcntb\else
+      \reserved@c\@tempcnta
+      \advance\@tempcnta\@ne
+      \expandafter\reserved@b
+   \fi
+}
+\catcode`\ =10
+\catcode`\#=6
+\catcode`\$=3
+\catcode`\%=14
+\catcode`\&=4
+\catcode`\\=0
+\catcode`\^=7
+\catcode`\_=8
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\~=13
+\catcode`\@=11
+\catcode`\^^I=10
+\catcode`\^^J=12
+\catcode`\^^L=13
+\catcode`\^^M=5
+\def\reserved@c#1{\catcode#1=12\relax}
+\reserved@c{`\!}
+\reserved@c{`\"}
+\reserved@a{`\'}{`\?}
+\reserved@c{`\[}
+\reserved@c{`\]}
+\reserved@c{`\`}
+\reserved@c{`\|}
+\def\reserved@c#1{\catcode#1=11\relax}
+\reserved@a{`\A}{`\Z}
+\reserved@a{`\a}{`\z}
+\def\reserved@c#1{\catcode#1=15\relax}
+\reserved@a{0}{`\^^H}
+\reserved@c{`\^^K}
+\reserved@a{`\^^N}{31}
+  \catcode"7F=15
+\def\reserved@c#1{%
+   \count@=#1\advance\count@ by -"20
+   \uccode#1=\count@
+   \lccode#1=#1
+}
+\reserved@a{`\a}{`\z}
+\ifnum\inputlineno=\m@ne\else
+  \reserved@a{"A0}{"BC}
+  \reserved@a{"E0}{"FF}
+\fi
+\def\reserved@c#1{%
+   \count@=#1\advance\count@ by "20
+   \uccode#1=#1
+   \lccode#1=\count@
+   \sfcode#1=999
+}
+\reserved@a{`\A}{`\Z}
+\ifnum\inputlineno=\m@ne\else
+  \reserved@a{"80}{"9C}
+  \reserved@a{"C0}{"DF}
+\fi
+\uccode`\^^Y=`\I     % dotless i
+\lccode`\^^Y=`\^^Y   % dotless i
+\uccode`\^^Z=`\J     % dotless j, ae in OT1
+\lccode`\^^Z=`\^^Z   % dotless j, ae in OT1
+\ifnum\inputlineno=\m@ne\else
+  \lccode`\^^9d=`\i    % dotted I
+  \uccode`\^^9d=`\^^9d % dotted I
+  \lccode`\^^9e=`\^^9e % d-bar
+  \uccode`\^^9e=`\^^d0 % d-bar
+\fi
+\lccode`\^^[=`\^^[   % oe in OT1
+\DeclareRobustCommand{\MakeUppercase}[1]{{%
+      \def\i{I}\def\j{J}%
+      \def\reserved@a##1##2{\let##1##2\reserved@a}%
+      \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+      \protected@edef\reserved@a{\uppercase{#1}}%
+      \reserved@a
+   }}
+\DeclareRobustCommand{\MakeLowercase}[1]{{%
+      \def\reserved@a##1##2{\let##2##1\reserved@a}%
+      \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+      \protected@edef\reserved@a{\lowercase{#1}}%
+      \reserved@a
+   }}
+\def\@uclclist{\oe\OE\o\O\ae\AE
+      \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH}
+\protected@edef\MakeUppercase#1{\MakeUppercase{#1}}
+\protected@edef\MakeLowercase#1{\MakeLowercase{#1}}
+\IfFileExists{ltpatch.ltx}
+  {\typeout{=================================^^J%
+             Applying patch file ltpatch.ltx^^J%
+            =================================}
+   \def\fmtversion@topatch{unknown}
+   \input{ltpatch.ltx}
+   \ifx\fmtversion\fmtversion@topatch
+      \ifx\patch@level\@undefined
+        \typeout{^^J^^J^^J%
+         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
+         !! Patch file `ltpatch.ltx' not suitable for this^^J%
+         !! version of LaTeX.^^J^^J%
+         !! Please check if initex found an old patch file:^^J%
+         !! --- if so, rename it or delete it, and redo the^^J%
+         !! initex run.^^J%
+         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}%
+        \batchmode \@@end
+      \else
+        \def\fmtversion@topatch{0}%
+        \ifx\fmtversion@topatch\patch@level\else
+          \def\reserved@a\typeout##1##2\reserved@a{%
+                 \typeout{##1 patch level \patch@level}##2}
+          \everyjob\expandafter\expandafter\expandafter{%
+             \expandafter\reserved@a\the\everyjob\reserved@a}
+          \let\reserved@a\relax
+          \the\everyjob
+        \fi
+      \fi
+   \else
+      \typeout{^^J^^J^^J%
+     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
+     !! Patch file `ltpatch.ltx' (for version <\fmtversion@topatch>)^^J%
+     !! is not suitable for version <\fmtversion> of LaTeX.^^J^^J%
+     !! Please check if initex found an old patch file:^^J%
+     !! --- if so, rename it or delete it, and redo the^^J%
+     !!     initex run.^^J%
+     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}%
+       \batchmode \@@end
+   \fi
+   \let\fmtversion@topatch\relax
+  }{}
+\let\reserved@a\@filelist
+\let\reserved@b=\@undefined
+\let\reserved@c=\@undefined
+\let\reserved@d=\@undefined
+\let\reserved@e=\@undefined
+\let\reserved@f=\@undefined
+\toks0{}
+\toks2{}
+\toks4{}
+\toks6{}
+\toks8{}
+\errhelp{}
+\def\@providesfile#1[#2]{%
+    \wlog{File: #1 #2}%
+    \expandafter\xdef\csname ver@#1\endcsname{#2}%
+  \endgroup}
+\let\@filelist\@gobble
+\def\@addtofilelist#1{\xdef\@filelist{\@filelist,#1}}%
+\makeatother
+\errorstopmode
+\dump
+\endinput
+%%
+%% End of file `latex.ltx'.