--- /dev/null
+%%
+%% 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'.