% LAMSTEX.TEX   VERSION 2.01
% COPYRIGHT (C) 1989, 1990, 1991 BY THE TEXPLORATORS CORPORATION
%  3701 W. ALABAMA, SUITE 450-273, HOUSTON, TX 77027
% ALL RIGHTS RESERVED

% ABSOLUTELY NO CHANGES SHOULD BE MADE TO THIS FILE;
% CHANGES SHOULD BE MADE ONLY IN STYLE FILES.

\catcode`\@=11
\ifx\amstexloaded@\relax\else
 \errmessage{AmS-TeX must be loaded before LamS-TeX}\fi
\ifx\laxread@\undefined\else\catcode`\@=\active\endinput\fi
\def\err@#1{\errmessage{LamS-TeX error: #1}}
\def^^L{\par}
\let\+\tabalign
\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}
\let\newtoks\relax
\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\newfam{\alloc@8\fam\chardef\sixt@@n}
\def\newlanguage{\alloc@9\language\chardef\@cclvi}
\def\newinsert#1{\global\advance\insc@unt by\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}}
\def\newif#1{\count@\escapechar \escapechar\m@ne
  \expandafter\expandafter\expandafter
   \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}%
  \expandafter\expandafter\expandafter
   \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}%
  \@if#1{false}\escapechar\count@}
\def\bye{\par\vfill\supereject\end}
\let\beginsection\undefined
\def\Err@#1{\errhelp\defaulthelp@\err@{#1}}
{\catcode`\@=\active
 \edef\next{\gdef\noexpand@{\futurelet\noexpand\next
  \csname at\string@\endcsname}}
 \next
}
\def\at@{\ifcat\noexpand\next a\let\next@\at@@\else
 \ifcat\noexpand\next0\let\next@\at@@\else
 \ifcat\noexpand\next\relax\let\next@\at@@\else
 \let\next@\at@@@\fi\fi\fi\next@}
\def\at@@@{\errhelp\athelp@\err@{Invalid use of @}}
\def\at@@#1{\expandafter
 \ifx\csname\string#1@at\endcsname\relax\let\next@\at@@@\else
 \DN@{\csname\string#1@at\endcsname}\fi\next@}
\def\atdef@#1{\expandafter\def\csname\string#1@at\endcsname}
\newif\iftest@
\def\tagin@#1{\tagin@false
 \DN@##1\tag##2##3\next@{\test@true\ifx\tagin@##2\test@false\fi}%
 \next@#1\tag\tagin@\next@\tagin@false\iftest@\tagin@true\fi}
\let\lkerns@\relax
\def\nolinebreak{\RIfM@\mathmodeerr@\nolinebreak\else
 \ifhmode\saveskip@\lastskip\unskip
 \nobreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi\lkerns@
 \else\vmodeerr@\nolinebreak\fi\fi}
\def\allowlinebreak{\RIfM@\mathmodeerr@\allowlinebreak\else
 \ifhmode\saveskip@\lastskip\unskip
 \allowbreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi\lkerns@
 \else\vmodeerr@\allowlinebreak\fi\fi}
\def\linebreak{\RIfM@\mathmodeerr@\linebreak\else
 \ifhmode\unskip\unkern\break\lkerns@
 \else\vmodeerr@\linebreak\fi\fi}
\let\nkerns@\relax
\def\newline{\RIfM@\mathmodeerr@\newline\else
 \ifhmode\unskip\unkern\null\hfill\break\nkerns@
 \else\vmodeerr@\newline\fi\fi}%
\def\newbox@{\alloc@@4\box\chardef\insc@unt}
\def\newcount@{\alloc@@0\count\countdef\insc@unt}
\def\accentedsymbol#1#2{\expandafter\newbox@\csname\exstring@#1@box\endcsname
 \setbox\csname\exstring@#1@box\endcsname\hbox{$\m@th#2$}%
 \define#1{\copy\csname\exstring@#1@box\endcsname{}}}
\def\rightadd@#1\to#2{\toks@{\\#1}\toks@@\expandafter{#2}\xdef#2{\the\toks@@
 \the\toks@}\toks@{}\toks@@{}}
\def\fontlist@{\\\tenrm\\\sevenrm\\\fiverm\\\teni\\\seveni\\\fivei
 \\\tensy\\\sevensy\\\fivesy\\\tenex\\\tenbf\\\sevenbf\\\fivebf
 \\\tensl\\\tenit}
\def\font@#1=#2 {\rightadd@#1\to\fontlist@\font#1=#2 }
\def\ismember@#1#2{\global\let\Next@ F\let\next@= #2%
 {\def\\##1{\let\nextii@##1\ifx\nextii@\next@\global\let\Next@ T\fi}#1}%
 \test@false\ifx\Next@ T\test@true\fi\let\next@\relax}
\def\FNSS@#1{\let\FNSS@@#1\FN@\FNSS@@@}
\def\FNSS@@@{\ifx\next\space@\def\FNSS@@@@. {\FN@\FNSS@@@}\else
 \def\FNSS@@@@.{\FNSS@@}\fi\FNSS@@@@.}
\atdef@"{\unskip
 \DN@{\ifx\next`\DN@`{\FN@\nextii@}%
  \else\ifx\next\lq\DN@\lq{\FN@\nextii@}%
  \else\DN@####1{\FN@\nextiii@}\fi\fi
  \next@}%
 \DNii@{\ifx\next`\DN@`{\sldl@``}%
  \else\ifx\next\lq\DN@\lq{\sldl@``}%
  \else\DN@{\dlsl@`}\fi\fi\next@}%
 \def\nextiii@{\ifx\next'\DN@'{\srdr@''}%
  \else\ifx\next\rq\DN@\rq{\srdr@''}%
  \else\DN@{\drsr@'}\fi\fi\next@}%
 \FNSS@\next@}
\def\root{%
  \DN@{\ifx\next\uproot\let\next@\nextii@\else
   \ifx\next\leftroot\let\next@\nextiii@\else
   \let\next@\plainroot@\fi\fi\next@}%
  \DNii@\uproot##1{\uproot@##1\relax\FNSS@\nextiv@}%
  \def\nextiv@{\ifx\next\leftroot\let\next@\nextv@\else
   \let\next@\plainroot@\fi\next@}%
  \def\nextv@\leftroot##1{\leftroot@##1\relax\plainroot@}%
  \def\nextiii@\leftroot##1{\leftroot@##1\relax\FNSS@\nextvi@}%
  \def\nextvi@{\ifx\next\uproot\let\next@\nextvii@\else
   \let\next@\plainroot@\fi\next@}%
  \def\nextvii@\uproot##1{\uproot@##1\relax\plainroot@}%
  \bgroup\uproot@\z@\leftroot@\z@
 \FNSS@\next@}
\def\loop#1\repeat{\def\iterate{#1\relax\expandafter\iterate\fi}%
 \iterate\let\iterate\relax}
\def\gloop@#1\repeat{\gdef\iterate@{#1\relax\expandafter\iterate@\fi}%
 \iterate@\global\let\iterate@\relax}
\def\printoptions{\W@{Do you want S(yntax check),
  G(alleys) or P(ages)?^^JType S, G or P, follow by <return>: }\loop
 \read\m@ne to\ans@
 \edef\next@{\def\noexpand\Ans@{\ans@}}\uppercase\expandafter{\next@}%
 \ifx\Ans@\S@\test@true\syntax\else
 \ifx\Ans@\G@\test@true\galleys\else
 \ifx\Ans@\P@\test@true\else
 \test@false\fi\fi\fi
 \iftest@\else\W@{Type S, G or P, follow by <return>: }%
 \repeat}
\expandafter\let\csname A@;\endcsname;
\expandafter\let\csname A@:\endcsname:
\expandafter\let\csname A@?\endcsname?
\expandafter\let\csname A@!\endcsname!
\def\APdef#1{\def\next@{\expandafter\let\csname A@\string#1\endcsname#1}%
 \afterassignment\next@\def#1}
\let\fextra@\,
\def\tdots@{\unskip
 \DN@{$\m@th\mathinner{\ldotp\ldotp\ldotp}\,
   \ifx\next,\,$\else\ifx\next.\,$\else
   \ifx\next;\,$\else
   \expandafter\ifx\csname A@\string;\endcsname\next\fextra@$\else
   \ifx\next:\,$\else
   \expandafter\ifx\csname A@\string:\endcsname\next\fextra@$\else
   \ifx\next?\,$\else
   \expandafter\ifx\csname A@\string?\endcsname\next\fextra@$\else
   \ifx\next!\,$\else
   \expandafter\ifx\csname A@\string!\endcsname\next\fextra@$\else
   $ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
 \ \FN@\next@}
\def\extrap@#1{%
 \ifx\next,\DN@{#1\,}\else
 \ifx\next;\DN@{#1\,}\else
 \expandafter\ifx\csname A@\string;\endcsname\next\DN@{#1\fextra@}\else
 \ifx\next.\DN@{#1\,}\else\extra@
 \ifextra@\DN@{#1\,}\else
 \let\next@#1\fi\fi\fi\fi\fi\next@}
\def\dotsc{\DN@{\ifx\next;\plainldots@\,\else
 \expandafter\ifx\csname A@\string;\endcsname\next\plainldots@\fextra@\else
 \ifx\next.\plainldots@\,\else\extra@\plainldots@
 \ifextra@\,\fi\fi\fi\fi}%
 \FN@\next@}
\def\keybin@{\keybin@true
 \ifx\next+\else\ifx\next=\else\ifx\next<\else\ifx\next>\else\ifx\next-\else
 \ifx\next*\else\ifx\next:\else
 \expandafter\ifx\csname A@\string;\endcsname\next\else
 \keybin@false\fi\fi\fi\fi\fi\fi\fi\fi}
\def\boldkey#1{\ifcat\noexpand#1A%
  \ifcmmibloaded@{\fam\cmmibfam#1}\else
   \Err@{First bold symbol font not loaded}\fi
 \else
 \let\next=#1%
 \ifx#1!\mathchar"5\bffam@21 \else
 \expandafter\ifx\csname A@\string!\endcsname\next\mathchar"5\bffam@21 \else
 \ifx#1(\mathchar"4\bffam@28 \else\ifx#1)\mathchar"5\bffam@29 \else
 \ifx#1+\mathchar"2\bffam@2B \else\ifx#1:\mathchar"3\bffam@3A \else
 \expandafter\ifx\csname A@\string:\endcsname\next\mathchar"3\bffam@3A \else
 \ifx#1;\mathchar"6\bffam@3B \else
 \expandafter\ifx\csname A@\string;\endcsname\next\mathchar"6\bffam@3B \else
 \ifx#1=\mathchar"3\bffam@3D \else
 \ifx#1?\mathchar"5\bffam@3F \else
 \expandafter\ifx\csname A@\string?\endcsname\next\mathchar"5\bffam@3F \else
 \ifx#1[\mathchar"4\bffam@5B \else
 \ifx#1]\mathchar"5\bffam@5D \else
 \ifx#1,\mathchari@63B \else
 \ifx#1-\mathcharii@200 \else
 \ifx#1.\mathchari@03A \else
 \ifx#1/\mathchari@03D \else
 \ifx#1<\mathchari@33C \else
 \ifx#1>\mathchari@33E \else
 \ifx#1*\mathcharii@203 \else
 \ifx#1|\mathcharii@06A \else
 \ifx#10\bold0\else\ifx#11\bold1\else\ifx#12\bold2\else\ifx#13\bold3\else
 \ifx#14\bold4\else\ifx#15\bold5\else\ifx#16\bold6\else\ifx#17\bold7\else
 \ifx#18\bold8\else\ifx#19\bold9\else
  \Err@{\noexpand\boldkey can't be used with #1}%
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\arabic#1{#1}
\def\alph#1{\count@#1\relax\advance\count@96 \ifnum\count@>122
 \Err@{\noexpand\alph invalid for numbers > 26}\else\char\count@\fi}
\def\Alph#1{\count@#1\relax\advance\count@64 \ifnum\count@>90
 \Err@{\noexpand\Alph invalid for numbers > 26}\else\char\count@\fi}
\def\roman#1{\romannumeral#1\relax}
\def\Roman#1{\uppercase\expandafter{\romannumeral#1}}
\def\fnsymbol#1{\count@#1\relax
 \count@@\count@
 \advance\count@\m@ne\divide\count@7
 \count@@@\count@\advance\count@@@\@ne
 \multiply\count@7 \advance\count@@-\count@
 \count@\count@@@
 {\loop
  \ifcase\count@@\or*\or\dag\or\ddag\or\P\or\S\or\text{$\|$}\or\#\fi
  \advance\count@\m@ne\ifnum\count@>\z@\repeat}}
\def\cardnine@#1{\ifcase#1\or one\or two\or three\or four\or five\or
 six\or seven\or eight\or nine\fi}
\let\alloc@\alloc@@
\newcount\ten@
\ten@10
\def\cardinal#1{\count@#1\relax
 \ifnum\count@>99 \number\count@
 \else
  \ifnum\count@=\z@ zero%
  \else
   \ifnum\count@<\ten@\cardnine@\count@
   \else
    \ifnum\count@<20
     \advance\count@-\ten@
     \ifcase\count@ ten\or eleven\or twelve\or thirteen\or fourteen\or
      fifteen\or sixteen\or seventeen\or eighteen\or nineteen\fi
    \else
     \count@@\count@\count@@@\count@@
     \divide\count@\ten@\multiply\count@\ten@
     \advance\count@@@-\count@\divide\count@\ten@
     \ifcase\count@\or\or twenty\or thirty\or forty\or fifty\or sixty\or
      seventy\or eighty\or ninety\fi
     \ifnum\count@@@=\z@\else-\cardnine@\count@@@\fi
    \fi
   \fi
  \fi
 \fi}
\def\ordnine@#1{\ifcase#1\or first\or second\or third\or fourth\or fifth\or
 sixth\or seventh\or eighth\or ninth\fi}
\newcount\count@@@@
\def\ordsuffix@{\count@@@@\count@
 \divide\count@\ten@
 \count@@@\count@\count@@\count@
 \divide\count@@\ten@\multiply\count@@\ten@
 \advance\count@@@-\count@@
 \ifnum\count@@@=\@ne th%
 \else
  \count@@@\count@@@@
  \count@@\count@@@@
  \divide\count@@\ten@\multiply\count@@\ten@
  \advance\count@@@-\count@@
  \ifcase\count@@@ th\or st\or nd\or rd\else th\fi
 \fi}
\def\nordinal#1{\count@#1\relax\number\count@\ordsuffix@}
\def\spordinal#1{\count@#1\relax\number\count@$^{\text{\ordsuffix@}}$}
\def\ordinal#1{\count@#1\relax
 \ifnum\count@>99 \number\count@\ordsuffix@
 \else
   \ifnum\count@=\z@ zeroth%
  \else
    \ifnum\count@<\ten@\ordnine@\count@
    \else
     \ifnum\count@<20 \advance\count@-\ten@
      \ifcase\count@ tenth\or eleventh\or twelfth\or thirteenth\or
       fourteenth\or fifteenth\or sixteenth\or seventeenth\or eighteenth\or
       nineteenth\fi
     \else
      \count@@\count@
      \divide\count@\ten@\multiply\count@\ten@
      \count@@@\count@@\advance\count@@@-\count@
      \divide\count@\ten@
      \ifcase\count@\or\or twent\or thirt\or fort\or fift\or sixt\or sevent\or
       eight\or ninet\fi
      \ifnum\count@@@=\z@ ieth\else y-\ordnine@\count@@@\fi
     \fi
    \fi
  \fi
 \fi}
\font@\tensmc=cmcsc10
\textonlyfont@\smc\tensmc
\newtoks\noexpandtoks@
\noexpandtoks@{\let\arabic\relax\let\alph\relax\let\Alph\relax
 \let\roman\relax\let\Roman\relax\let\fnsymbol\relax\let\rm\relax
 \let\it\relax\let\bf\relax\let\sl\relax\let\smc\relax
 \let\/\relax\let\null\relax}
\def\noexpands@{\the\noexpandtoks@}
\def\Nonexpanding#1{\global\noexpandtoks@
 \expandafter{\the\noexpandtoks@\let#1\relax}}
\def\prevanish@{\saveskip@\z@\ifhmode\saveskip@\lastskip\unskip\fi}
\def\postvanish@{\ifdim\saveskip@>\z@\hskip\saveskip@\fi\FN@\postvanish@@}
\def\postvanish@@{\DN@.{}%
 \ifx\next\space@\ifdim\saveskip@>\z@\DN@. {}\fi\fi\next@.}
\def\invisible#1{\prevanish@\ignorespaces#1\unskip\postvanish@}
\def\vanishlist@{\\\invisible}
\let\noindent@\noindent
\def\noindent{\par\noindent@\FN@\pretendspace@}
\def\pretendspace@{\ismember@\vanishlist@\next
 \iftest@\nobreak\hskip-\p@\hskip\p@\fi}
\let\flushpar\noindent
\newtoks\everypartoks@
\def\noindent@@{\par\everypartoks@\expandafter{\the\everypar}\everypar{}%
 \noindent@\everypar\expandafter{\the\everypartoks@}}
\def\page{\Err@{\noexpand\page has no meaning by itself}}
\let\page@C\pageno
\let\page@P\empty
\let\page@Q\empty
\def\page@S#1{#1\/}
\def\page@F{\rm}
\def\page@N{\arabic}   % cannot be \let
\newif\ifindexing@
\def\indexfile{\ifindexing@\else
 \alloc@@7\write\chardef\sixt@@n\ndx@
 \immediate\openout\ndx@=\jobname.ndx
 \global\indexing@true\fi}
\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\margin@\allocationnumber
\dimen\margin@\maxdimen
\count\margin@\z@
\skip\margin@\z@
\newif\ifindexproofing@
\def\indexproofing{\indexproofing@true}
\def\noindexproofing{\indexproofing@false}
\def\unmacro@#1:#2->#3\unmacro@{\def\macpar@{#2}\def\macdef@{#3}}
\def\starparts@#1{\def\stari@{#1}\def\starii@{#1}\let\stariii@\empty
 \test@false
 \DN@##1*##2##3\next@{\ifx\starparts@##2\test@false\else\test@true\fi}%
 \next@#1*\starparts@\next@
 \iftest@\DN@{\starparts@@#1\starparts@@}\else\let\next@\relax\fi\next@}
\def\starparts@@#1*#2\starparts@@{\def\starii@{#1}\def\stariii@{*#2}}
\def\windex@{\ifindexing@
 \expandafter\unmacro@\meaning\stari@\unmacro@
 \edef\macdef@{\string"\macdef@\string"}%
 \edef\next@{\write\ndx@{\macdef@}}\next@
 \write\ndx@{{\number\pageno}{\page@N}{\page@P}{\page@Q}}%
 \fi
 \ifindexproofing@
  \ifx\stariii@\empty\else
   \expandafter\unmacro@\meaning\stariii@\unmacro@\fi
  \insert\margin@{\hbox{\rm\vrule\height9\p@\depth2\p@\width\z@\starii@
  \ifx\stariii@\empty\else\tt\macdef@\fi}}\fi}
\catcode`\"=\active
\def"{\FN@\quote@}
\def\quote@{\ifx\next"\expandafter\quote@@\else\expandafter\quote@@@\fi}
\def\quote@@@#1"{\starparts@{#1}\starii@\windex@}
\def\quote@@"#1"{\prevanish@\starparts@{#1}\windex@\FN@\quote@@@@}
\def\quote@@@@{\ifx\next"\DN@"{\postvanish@}\else
 \let\next@\postvanish@\fi\next@}
\rightadd@"\to\vanishlist@
\def\idefine#1{\DN@{#1}\DNii@{\noexpand#1}%
 \afterassignment\idefine@\def\nextiii@}
\def\idefine@{\ifindexing@
 \expandafter\let\next@\nextiii@
 \expandafter\unmacro@\meaning\nextiii@\unmacro@
 \immediate\write\ndx@{\noexpand\define\nextii@\macpar@{\macdef@}}\fi}
\def\iabbrev*#1#2{\ifindexing@\toks@{#2}%
 \immediate\write\ndx@{\noexpand\abbrev*\noexpand#1{\the\toks@}}\fi}
\newread\laxread@
\newwrite\laxwrite@
\let\fnpages@\empty
\def\Finit@#1#2\Finit@{\let\nextii@#1\def\nextiii@{#2}}
\catcode`\~=11
\def\getparts@ @#1~#2~#3~#4~#5~#6{\def\nextiv@{#1}%
 \def\nextiii@{#2~#3~#4~#5~}\count@#6\relax}
\newif\ifdocument@
\def\document{\ifdocument@\else\global\document@true
 \let\fontlist@\empty
 \immediate\openin\laxread@=\jobname.lax\relax
 {\endlinechar\m@ne\noexpands@\catcode`\@=11 \catcode`\~=11
  \loop\ifeof\laxread@\else
   \read\laxread@ to\next@
   \ifx\next@\empty
   \else
    \expandafter\Finit@\next@\Finit@
    \if\nextii@ F%
     \expandafter\rightadd@\nextiii@\to\fnpages@
    \else
     \expandafter\getparts@\next@
     \edef\next@{\gdef\csname\nextiv@ @L\endcsname{\nextiii@\number\count@}}%
     \next@
    \fi
   \fi
  \repeat}%
 \immediate\closein\laxread@
 \immediate\openout\laxwrite@=\jobname.lax\relax\fi}
\let\thelabel@\relax
\def\thelabels@{\thelabel@ ~\thelabel@@ ~\thelabel@@@ ~\thelabel@@@@ ~}
\def\label#1{\prevanish@
 \ifx\thelabel@\relax
  \Err@{There's nothing here to be labelled}%
 \else
  {\noexpands@
  \expandafter\ifx\csname#1@L\endcsname\relax
   \expandafter\xdef\csname#1@L\endcsname{\thelabels@0}%
   \immediate\write\laxwrite@{@#1~\thelabels@1}%
  \else
   \edef\next@{@~\csname#1@L\endcsname}%
    \expandafter\getparts@\next@
    \ifodd\count@
    \expandafter\xdef\csname#1@L\endcsname{\thelabels@0}%
    \immediate\write\laxwrite@{@#1~\thelabels@1}%
   \else
    \Err@{Label #1 already used}%
   \fi
  \fi
  }%
 \fi
 \postvanish@}
\rightadd@\label\to\vanishlist@
\def\thepages@{\page@N{\number\page@C}~%
 \page@S{\page@P\page@N{\number\page@C}\page@Q}~%
 \number\page@C ~\page@P\page@N{\number\page@C}\page@Q ~}
\def\pagelabel#1{\prevanish@
 \expandafter\ifx\csname#1@L\endcsname\relax
  {\noexpands@
  \expandafter\xdef\csname#1@L\endcsname{\thepages@2}}%
  \write\laxwrite@{@#1~\thepages@3}%
 \else
  {\noexpands@
  \edef\next@{@~\csname#1@L\endcsname}%
  \expandafter\getparts@\next@
  \ifodd\count@
   \ifnum\count@=\@ne
    \expandafter\xdef\csname#1@L\endcsname{\thelabels@2}%
   \fi
   \write\laxwrite@{@#1~\thepages@3}%
  \else
   \Err@{Label #1 already used}%
  \fi
  }%
 \fi
 \postvanish@}
\rightadd@\pagelabel\to\vanishlist@
\newif\ifreferr@
\referr@true
\def\RefErrors{\global\referr@true}
\def\RefWarnings{\global\referr@false}
\setbox\z@\hbox{\global\count@=`^^30}
\ifnum\count@=48 \let\versionthree@\relax\fi
\def\nolabel@#1#2#3{\expandafter\ifx\csname#2@L\endcsname\relax
 \ifreferr@\Err@{No \noexpand\label found for #2}\else
 \W@{Warning: No \noexpand\label found for #2.}%
 \ifx\versionthree@\relax\W@{l.\number\inputlineno\space ... \string#1{#2}}\fi
 \fi#3\else}
\def\csL@#1{{\noexpands@\xdef\Next@{\csname#1@L\endcsname}}}
\def\ref#1{\nolabel@\ref{#1}\relax
 \DNii@##1~##2\nextii@{##1}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@\fi}
\def\Ref#1{\nolabel@\Ref{#1}\relax
 \DNii@##1~##2~##3\nextii@{##2}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@\fi}
\def\nref#1{\nolabel@\nref{#1}\relax
 \DNii@##1~##2~##3~##4\nextii@{##3}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@\fi}
\def\pref#1{\nolabel@\pref{#1}\relax
 \DNii@##1~##2~##3~##4~##5\nextii@{##4}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@\fi}
\let\pref@\pref
\def\Evaluatenref#1{\nolabel@\Evaluatenref{#1}{\gdef\Nref{-10000 }}%
 \DNii@##1~##2~##3~##4\nextii@{\DNii@{##3}}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@
 \xdef\Nref{\nextii@}\fi}
\def\Evaluatepref#1{\nolabel@\Evaluatepref{#1}{\global\let\Pref\empty}%
 \DNii@##1~##2~##3~##4~##5\nextii@{\DNii@{##4}}%
 \csL@{#1}\expandafter\nextii@\Next@\nextii@
 \xdef\Pref{\nextii@}\fi}
\def\readlax#1{\immediate\openin\laxread@=#1.lax\relax
 \ifeof\laxread@\W@{}\W@{File #1.lax not found.}\W@{}\fi
 {\endlinechar\m@ne\noexpands@\catcode`\@=11 \catcode`\~=11
  \loop\ifeof\laxread@\else
   \read\laxread@ to\nextv@
   \ifx\nextv@\empty
   \else
    \expandafter\Finit@\nextv@\Finit@
    \ifx\nextii@ F%
    \else
     \expandafter\getparts@\nextv@
     \expandafter\ifx\csname\nextiv@ @L\endcsname\relax
      \edef\next@{\gdef\csname\nextiv@ @L\endcsname
       {\nextiii@\ifnum\count@=\@ne0\else2\fi}}%
      \next@
     \else
      \Err@{Label \nextiv@\space in #1.lax already used}%
     \fi
    \fi
   \fi
  \repeat}%
 \immediate\closein\laxread@}
\catcode`\~=\active
\def\docstyle#1{\input #1.st\relax}
\def\predocstyle#1{\input #1.stf\relax}
\def\postdocstyle#1{\input #1.stb\relax}
\def\FNSSP@{\FNSS@\pretendspace@}
\everydisplay{\csname displaymath \endcsname}
\expandafter\def\csname displaymath \endcsname#1$${#1$$\FNSSP@}
\def\locallabel@{\let\thelabel@\Thelabel@\let\thelabel@@\Thelabel@@
 \let\thelabel@@@\Thelabel@@@\let\thelabel@@@@\Thelabel@@@@}
\newcount\tag@C
\tag@C\z@
\let\tag@P\empty
\let\tag@Q\empty
\def\tag@S#1{{\rm(}{#1\/}{\rm)}}
\let\tag@N\arabic
\def\tag@F{\rm}
\def\maketag@{\FN@\maketag@@}
\def\maketag@@{\ifx\next\relax\DN@\relax{\FN@\maketag@@}\else
 \ifx\next"\let\next@\maketag@@@\else
 \let\next@\maketag@@@@\fi\fi\next@}
\def\xdefThelabel@#1{\xdef\Thelabel@{#1{\Thelabel@@@}}}
\def\xdefThelabel@@#1{\xdef\Thelabel@@{#1{\Thelabel@@@@}}}
\def\maketag@@@@#1\maketag@{\global\advance\tag@C\@ne
 {\noexpands@
  \xdef\Thelabel@@@{\number\tag@C}%
  \xdefThelabel@\tag@N
  \xdef\Thelabel@@@@{\ifmathtags@$\tag@P\Thelabel@\tag@Q$\else
   \tag@P\Thelabel@\tag@Q\fi}%
  \xdefThelabel@@\tag@S
  }%
 \locallabel@
 \hbox{\tag@F\thelabel@@}%
 #1}
\def\Qlabel@#1{{\noexpands@\xdef\Thelabel@@{#1}%
 \let\style\empty\xdef\Thelabel@@@@{#1}%
 \let\pre\empty\let\post\empty\xdef\Thelabel@{#1}%
 \let\numstyle\empty\xdef\Thelabel@@@{#1}}}
\def\maketag@@@"#1"#2\maketag@{%
 {\let\pre\tag@P\let\post\tag@Q\let\style\tag@S\let\numstyle\tag@N
  \hbox{\tag@F#1}%
  \noexpands@
  \Qlabel@{#1}%
  }%
 \locallabel@
 #2}
\def\align@{\inalign@true\inany@true
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \def\tag{\global\tag@true\ifnum\and@=\z@
  \DN@{&\omit\global\rwidth@\z@&\relax}\else
  \DN@{&\relax}\fi\next@}%
 \iftagsleft@\DN@{\csname align \endcsname}\else
  \DN@{\csname align \space\endcsname}\fi\next@}
\def\noset@{\def\Offset##1##2{\prevanish@\postvanish@}%
 \def\Reset##1##2{\prevanish@\postvanish@}}
\def\measure@#1\endalign{\global\lwidth@\z@\global\rwidth@\z@
 \global\maxlwidth@\z@\global\maxrwidth@\z@
 \global\and@\z@
 \setbox\z@\vbox
  {\noset@\everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@
  \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}%
   \global\lwidth@\wdz@
   \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi
   \global\advance\and@\@ne
   &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}\global\rwidth@\wdz@
   \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi
   \global\advance\and@\@ne
   &\Tag@\eat@{##}\crcr#1\crcr}}%
 \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@}
\def\prepost@{\global\let\tag@P@\tag@P\global\let\tag@Q@\tag@Q}
\def\reprepost@{\let\tag@P\tag@P@\let\tag@Q\tag@Q@}
\expandafter\def\csname align \space\endcsname#1\endalign
 {\measure@#1\endalign\global\and@\z@
 \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi
 \Let@\tabskip\centering@
 \halign to\displaywidth
  {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##\prepost@}$}%
  \boxz@\global\advance\and@\@ne
  \tabskip\z@skip
  &\setboxz@h{$\m@th\displaystyle{{}\@lign##\prepost@}$}%
  \global\rwidth@\wdz@\boxz@\hfil\global\advance\and@\@ne
  \tabskip\centering@
  &\setboxz@h{\@lign\strut@\reprepost@\maketag@##\maketag@}%
  \dimen@\displaywidth\advance\dimen@-\totwidth@
  \divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@
  \ifdim\dimen@<\tw@\wdz@\llap{\vtop{\normalbaselines\null\boxz@}}%
  \else\llap{\boxz@}\fi
  \tabskip\z@skip
  \crcr#1\crcr
  \black@\totwidth@}}
\expandafter\def\csname align \endcsname#1\endalign{\measure@#1\endalign
 \global\and@\z@
 \ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else
  \let\displaywidth@\displaywidth\fi
 \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi
 \Let@\tabskip\centering@\halign to\displaywidth
  {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##\prepost@}$}%
  \global\lwidth@\wdz@\global\lineht@\ht\z@
  \boxz@\global\advance\and@\@ne
  \tabskip\z@skip&\setboxz@h{$\m@th\displaystyle{{}\@lign##\prepost@}$}%
  \ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi
  \boxz@\hfil\global\advance\and@\@ne
  \tabskip\centering@&\kern-\displaywidth@
  \setboxz@h{\@lign\strut@\reprepost@\maketag@##\maketag@}%
  \dimen@\displaywidth\advance\dimen@-\totwidth@
  \divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@
  \ifdim\dimen@<\tw@\wdz@
   \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}\else
   \rlap{\boxz@}\fi
  \tabskip\displaywidth@\crcr#1\crcr\black@\totwidth@}}
\def\attag@#1{\let\Maketag@\maketag@\let\TAG@\Tag@
 \let\Prepost@\prepost@\let\Reprepost@\reprepost@
 \let\Tag@\relax\let\maketag@\relax
 \let\prepost@\relax\let\reprepost@\relax
 \ifmeasuring@
  \def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
  \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
 \else\let\llap@\llap\let\rlap@\rlap\fi
 \toks@{\hfil\strut@
  $\m@th\displaystyle{\@lign\the\hashtoks@\prepost@}$%
  \tabskip\z@skip\global\advance\and@\@ne&
  $\m@th\displaystyle{{}\@lign\the\hashtoks@\prepost@}$\hfil
  \ifxat@\tabskip\centering@\fi\global\advance\and@\@ne}%
 \iftagsleft@
  \toks@@{\tabskip\centering@&\Tag@\kern-\displaywidth
   \rlap@{\@lign\reprepost@\maketag@\the\hashtoks@\maketag@}%
   \global\advance\and@\@ne\tabskip\displaywidth}\else
  \toks@@{\tabskip\centering@&\Tag@\llap@{\@lign\reprepost@\maketag@
   \the\hashtoks@\maketag@}\global\advance\and@\@ne\tabskip\z@skip}\fi
 \atcount@#1\relax\advance\atcount@\m@ne
 \loop\ifnum\atcount@>\z@
  \toks@\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign
  \the\hashtoks@\prepost@}$\global\advance\and@\@ne
  \tabskip\z@skip
  &$\m@th\displaystyle{{}\@lign\the\hashtoks@\prepost@}$\hfil\ifxat@
  \tabskip\centering@\fi\global\advance\and@\@ne}\advance\atcount@\m@ne
 \repeat
 \edef\preamble@{\the\toks@\the\toks@@}%
 \edef\preamble@@{\preamble@}%
 \let\maketag@\Maketag@\let\Tag@\TAG@
 \let\prepost@\Prepost@\let\reprepost@\Reprepost@}
\def\unlabel@{\def\label##1{\prevanish@\postvanish@}%
 \def\pagelabel##1{\prevanish@\postvanish@}}
\newcount\tag@CC
\expandafter\def\csname alignat \endcsname#1#2\endalignat
 {\inany@true\xat@false
 \def\tag{\global\tag@true
  \count@#1\relax\multiply\count@\tw@\advance\count@\m@ne
  \gdef\tag@{&}%
  \loop\ifnum\count@>\and@\xdef\tag@{&\omit\tag@}%
  \advance\count@\m@ne\repeat
  \tag@\relax}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y@\measuring@true\tag@CC\tag@C
 \setbox\savealignat@\hbox{\noset@\unlabel@$\m@th\displaystyle\Let@
  \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
 \measuring@false
 \Let@\attag@{#1}\tag@C\tag@CC
 \tabskip\centering@\halign to\displaywidth
  {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
\expandafter\def\csname xalignat \endcsname#1#2\endxalignat
 {\inany@true\xat@true
 \def\tag{\global\tag@true
  \count@#1\relax\multiply\count@\tw@\advance\count@\m@ne
  \gdef\tag@{&}%
  \loop\ifnum\count@>\and@\xdef\tag@{&\omit\tag@}%
  \advance\count@\m@ne\repeat
  \tag@\relax}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y@\measuring@true\tag@CC\tag@C
 \setbox\savealignat@\hbox{\noset@\unlabel@$\m@th\displaystyle\Let@
  \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
 \measuring@false\Let@\attag@{#1}\tag@C\tag@CC
 \tabskip\centering@\halign to\displaywidth
 {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
\def\gather{\RIfMIfI@\DN@{\onlydmatherr@\gather}\else
 \ingather@true\inany@true\def\tag{&\relax}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y\Let@
 \iftagsleft@\DN@{\csname gather \endcsname}\else
  \DN@{\csname gather \space\endcsname}\fi\fi
 \else\DN@{\onlydmatherr@\gather}\fi\next@}
\def\exstring@{\expandafter\eat@\string}
\def\newcounter#1{\define#1{}%
 \edef\next@{\def\noexpand#1{\futurelet\noexpand\next
  \csname\exstring@#1@Z\endcsname}}\next@
 \edef\next@{\def\csname\exstring@#1@Z\endcsname
  {\global\advance\csname\exstring@#1@C\endcsname\@ne
  {\csname\exstring@#1@F\endcsname\csname\exstring@#1@S\endcsname
   {\csname\exstring@#1@P\endcsname\csname\exstring@#1@N\endcsname
   {\noexpand\number\csname\exstring@#1@C\endcsname}%
   \csname\exstring@#1@Q\endcsname}}%
  \noexpand\ifx\noexpand\next\noexpand\label
   \def\noexpand\next@\noexpand\label########1{{\noexpand\noexpands@
    \xdef\noexpand\Thelabel@{\csname\exstring@#1@N\endcsname
     {\noexpand\number\csname\exstring@#1@C\endcsname}}%
    \xdef\noexpand\Thelabel@@@{\noexpand\number
     \csname\exstring@#1@C\endcsname}%
    \xdef\noexpand\Thelabel@@{\csname\exstring@#1@S\endcsname
     {\csname\exstring@#1@P\endcsname
     \csname\exstring@#1@N\endcsname
     {\noexpand\number\csname\exstring@#1@C\endcsname}%
     \csname\exstring@#1@Q\endcsname}}%
    \xdef\noexpand\Thelabel@@@@{\csname\exstring@#1@P\endcsname
     \csname\exstring@#1@N\endcsname
     {\noexpand\number\csname\exstring@#1@C\endcsname}%
     \csname\exstring@#1@Q\endcsname}}%
    {\noexpand\locallabel@\noexpand\label{########1}}}%
   \noexpand\else\let\noexpand\next@\relax\noexpand\fi\noexpand\next@}}\next@
 \expandafter\newcount@\csname\exstring@#1@C\endcsname
 \expandafter\let\csname\exstring@#1@N\endcsname\arabic
 \expandafter\def\csname\exstring@#1@S\endcsname##1{##1\/}%
 \expandafter\let\csname\exstring@#1@P\endcsname\empty
 \expandafter\let\csname\exstring@#1@Q\endcsname\empty
 \expandafter\def\csname\exstring@#1@F\endcsname{\rm}%
 }
\def\HASH@#1#2{\ifnum#2=\z@\else
 \edef\next@{\toks@{\the\toks@\the\hashtoks@#2}%
 \toks@@{\the\toks@@{\the\hashtoks@#2}}}\next@\expandafter\HASH@\fi}
\def\HASH@@{\toks@{}\toks@@{}\expandafter\HASH@\macpar@00}
\def\usecounter#1#2{\expandafter\ifx\csname\exstring@#1@Z\endcsname
 \relax\Err@{\noexpand#1not created with \string\newcounter}\fi
 \expandafter\let\csname\exstring@#1@@Z\endcsname\relax
 \expandafter\let\csname\exstring@#1@@Z@\endcsname\relax
 \expandafter\let\csname\exstring@#1@@Z@@\endcsname\relax
 \edef\next@{\def\noexpand#2{\futurelet\noexpand\next
  \csname\exstring@#1@@Z\endcsname}}\next@
 \edef\next@{\def\csname\exstring@#1@@Z\endcsname{\noexpand\ifx
  \noexpand\next\noexpand\label\def\noexpand\next@\noexpand\label
   ########1{\csname\exstring@#1@@Z@\endcsname
   {\noexpand#1\noexpand\label{########1}}}%
   \noexpand\else\noexpand\ifx\noexpand\next
   \noexpand"\def\noexpand\next@\noexpand"########1\noexpand"%
   {\csname\exstring@#1@@Z@\endcsname{{\expandafter\noexpand
   \csname\exstring@#1@F\endcsname
   \let\noexpand\pre\expandafter\noexpand\csname\exstring@#1@P\endcsname
   \let\noexpand\post\expandafter\noexpand\csname\exstring@#1@Q\endcsname
   \let\noexpand\style\expandafter\noexpand\csname\exstring@#1@S\endcsname
   \let\noexpand\numstyle\expandafter\noexpand\csname\exstring@#1@N\endcsname
   ########1}}}\noexpand\else
   \def\noexpand\next@{\csname\exstring@#1@@Z@\endcsname{\noexpand#1}}%
   \noexpand\fi\noexpand\fi\noexpand\next@}}\next@
 \def\next@{\expandafter\expandafter\expandafter\unmacro@\expandafter
  \meaning\csname\exstring@#1@@Z@@\endcsname\unmacro@
  \HASH@@
  \edef\next@{\def\csname\exstring@#1@@Z@\endcsname\the\toks@{%
   \expandafter\noexpand\csname\exstring@#1@@Z@@\endcsname\the\toks@@
   \noexpand\FNSSP@}}\next@}%
 \afterassignment\next@
 \expandafter\def\csname\exstring@#1@@Z@@\endcsname}
\def\listbi@{\penalty50 \medskip}
\def\listbii@{\penalty100 \smallskip}
\let\listbiii@\relax
\let\listbiv@\relax
\let\listbv@\relax
\def\listmi@{\advance\leftskip30\p@\relax}
\let\listmii@\listmi@
\let\listmiii@\listmi@
\let\listmiv@\listmi@
\let\listmv@\listmi@
\def\itemi@#1{\noindent@@\llap{#1\hskip5\p@}}
\let\itemii@\itemi@
\let\itemiii@\itemi@
\let\itemiv@\itemi@
\let\itemv@\itemi@
\def\liste@{\penalty-50 \medskip}
\def\listei@{\penalty-100 \smallskip}
\let\listeii@\relax
\let\listeiii@\relax
\let\listeiv@\relax
\expandafter\newcount\csname list@C1\endcsname
\csname list@C1\endcsname\z@
\expandafter\newcount\csname list@C2\endcsname
\csname list@C2\endcsname\z@
\expandafter\newcount\csname list@C3\endcsname
\csname list@C3\endcsname\z@
\expandafter\newcount\csname list@C4\endcsname
\csname list@C4\endcsname\z@
\expandafter\newcount\csname list@C5\endcsname
\csname list@C5\endcsname\z@
\expandafter\let\csname list@P1\endcsname\empty
\expandafter\let\csname list@P2\endcsname\empty
\expandafter\let\csname list@P3\endcsname\empty
\expandafter\let\csname list@P4\endcsname\empty
\expandafter\let\csname list@P5\endcsname\empty
\expandafter\let\csname list@Q1\endcsname\empty
\expandafter\let\csname list@Q2\endcsname\empty
\expandafter\let\csname list@Q3\endcsname\empty
\expandafter\let\csname list@Q4\endcsname\empty
\expandafter\let\csname list@Q5\endcsname\empty
\expandafter\def\csname list@S1\endcsname#1{{\rm(}{#1\/}{\rm)}}
\expandafter\def\csname list@S2\endcsname#1{{\rm(}{#1\/}{\rm)}}
\expandafter\def\csname list@S3\endcsname#1{{\rm(}{#1\/}{\rm)}}
\expandafter\def\csname list@S4\endcsname#1{{\rm(}{#1\/}{\rm)}}
\expandafter\def\csname list@S5\endcsname#1{{\rm(}{#1\/}{\rm)}}
\expandafter\let\csname list@N1\endcsname\arabic
\expandafter\let\csname list@N2\endcsname\arabic
\expandafter\let\csname list@N3\endcsname\arabic
\expandafter\let\csname list@N4\endcsname\arabic
\expandafter\let\csname list@N5\endcsname\arabic
\expandafter\def\csname list@F1\endcsname{\rm}
\expandafter\def\csname list@F2\endcsname{\rm}
\expandafter\def\csname list@F3\endcsname{\rm}
\expandafter\def\csname list@F4\endcsname{\rm}
\expandafter\def\csname list@F5\endcsname{\rm}
\newcount\listlevel@
\listlevel@\z@
\def\list@@C{\csname list@C\number\listlevel@\endcsname}
\def\list@@P{\csname list@P\number\listlevel@\endcsname}
\def\list@@Q{\csname list@Q\number\listlevel@\endcsname}
\def\list@@S{\csname list@S\number\listlevel@\endcsname}
\def\list@@N{\csname list@N\number\listlevel@\endcsname}
\def\list@@F{\csname list@F\number\listlevel@\endcsname}
\newif\iffirstitemi@
\newif\iffirstitemii@
\newif\iffirstitemiii@
\newif\iffirstitemiv@
\newif\iffirstitemv@
\def\Firstitem@true{\csname firstitem\romannumeral\listlevel@
 @true\endcsname}
\def\Firstitem@false{\csname firstitem\romannumeral\listlevel@
 @false\endcsname}
\def\Listm@{\csname listm\romannumeral\listlevel@ @\endcsname}
\def\Item@{\csname item\romannumeral\listlevel@ @\endcsname}
\def\Liste@{\csname liste\romannumeral\listlevel@ @\endcsname}
\newif\iflistcontinue@
\def\keepitem{\listcontinue@true}
\newcount\list@C@
\def\list{%
 \iflistcontinue@\csname list@C1\endcsname\csname list@C@\endcsname\fi
 \global\csname list@C2\endcsname\z@
 \global\csname list@C3\endcsname\z@
 \global\csname list@C4\endcsname\z@
 \global\csname list@C5\endcsname\z@
 \begingroup
 \firstitemi@true
 \listlevel@\@ne
 \def\item{\FN@\item@}%
 \FN@\list@}
\Invalid@\runinitem
\def\list@{\ifx\next\par
 \DN@\par{\FN@\list@}\else
 \ifx\next\runinitem
  \DN@\runinitem{\FN@\runinitem@}\else
  \DN@{\par\dimen@\parskip\parskip\dimen@}\fi\fi\next@}
\newif\ifoutlevel@
\newif\ifrunin@
\def\item@{%
 \ifoutlevel@\Liste@\outlevel@false\fi
 \ifrunin@\runin@false\par
  \dimen@\parskip\parskip\dimen@
  \Listm@\fi
 \iffirstitemi@\listbi@\listmi@\firstitemi@false\else\par\fi
 \iffirstitemii@\listbii@\listmii@\firstitemii@false\else\par\fi
 \iffirstitemiii@\listbiii@\listmiii@\firstitemiii@false\else\par\fi
 \iffirstitemiv@\listbiv@\listmiv@\firstitemiv@false\else\par\fi
 \iffirstitemv@\listbv@\listmv@\firstitemv@false\else\par\fi
 \DN@"##1"{{\let\pre\list@@P\let\post\list@@Q
  \let\style\list@@S\let\numstyle\list@@N
  \vskip-\parskip
  \Item@{\list@@F##1}%
  \noexpands@
  \Qlabel@{##1}}%
  \locallabel@
  \FNSSP@}%
 \DNii@{\global\advance\list@@C\@ne
  {\noexpands@
   \xdef\Thelabel@@@{\number\list@@C}%
   \xdefThelabel@\list@@N
   \xdef\Thelabel@@@@{\list@@P\Thelabel@\list@@Q}%
   \xdefThelabel@@\list@@S
  }%
  \locallabel@
  \vskip-\parskip
  \Item@{\list@@F\thelabel@@}%
  \FN@\pretendspace@}%
 \ifx\next"\expandafter\next@\else\expandafter\nextii@\fi}
\def\runinitem@{%
  \runin@true
  \Firstitem@false
  \DN@"##1"{{\let\pre\list@@P\let\post\list@@Q
   \let\style\list@@S\let\numstyle\list@@N
   \unskip\space{\list@@F##1} %
   \noexpands@
   \Qlabel@{##1}}%
   \locallabel@
   \ignorespaces}%
  \DNii@{\global\advance\list@@C\@ne
   {\noexpands@
    \xdef\Thelabel@@@{\number\list@@C}%
    \xdefThelabel@\list@@N
    \xdef\Thelabel@@@@{\list@@P\Thelabel@\list@@Q}%
    \xdefThelabel@@\list@@S
   }%
   \locallabel@
   \unskip\space{\list@@F\thelabel@@} }%
  \ifx\next"\expandafter\next@\else\expandafter\nextii@\fi}
\def\inlevel{\ifnum\listlevel@=5
 \DN@{\Err@{Already 5 levels down}}\else
 \DN@{\begingroup\advance\listlevel@\@ne
 \Firstitem@true\FN@\inlevel@}\fi\next@}
\def\inlevel@{\ifx\next\par
 \DN@\par{\FN@\inlevel@}\else
 \ifx\next\runinitem
  \DN@\runinitem{\FN@\runinitem@}\else
  \let\next@\relax\fi\fi\next@}
\def\outlevel{\ifnum\listlevel@=\@ne
 \Err@{At top level}\else
 \par\global\list@@C\z@\endgroup\outlevel@true\fi}
\def\endlist{%
 \expandafter\global\csname list@C@\endcsname\csname list@C1\endcsname
 \par
 \global\toks\@ne{}\count@\listlevel@
 {\loop
  \ifnum\count@>\z@\global\toks\@ne\expandafter{\the\toks\@ne\endgroup}%
  \advance\count@\m@ne
  \repeat}%
 \the\toks\@ne
 \liste@
 \listcontinue@false\global\csname list@C1\endcsname\z@
 \vskip-\parskip
 \noindent@@
 \FN@\pretendspace@}
\newif\iffirstdescribe@
\def\describe{\par
 \begingroup\firstdescribe@true
 \def\item##1{%
  \iffirstdescribe@\penalty50 \medskip\vskip-\parskip
  \firstdescribe@false\else\par\fi
  \noindent@@\hangindent2pc\hangafter\@ne
  {\bf##1}\hskip.5em}}
\def\enddescribe{\par\penalty-50 \medskip\vskip-\parskip\endgroup}
\Invalid@\pullin
\Invalid@\pullinmore
\newif\iffirstpull@
\def\margins{\par\begingroup\firstpull@true
 \def\pullin##1##2{\par
  \iffirstpull@\firstpull@false\else\endgroup\fi
  \begingroup\DN@{##1}%
  \ifx\next@\empty\leftskip\z@\else\ifx\next@\space\leftskip\z@
  \else\leftskip##1\fi\fi
  \DN@{##2}\ifx\next@\empty\rightskip\z@\else\ifx\next@\space
  \rightskip\z@\else\rightskip##2\fi\fi\ignorespaces}%
 \def\pullinmore##1##2{\par
  \xdef\Next@{\leftskip\the\leftskip\relax\rightskip\the\rightskip\relax}%
  \iffirstpull@\firstpull@false\else\endgroup\fi
  \begingroup\Next@
  \DN@{##1}%
  \ifx\next@\empty\else\ifx\next@\space\else\advance\leftskip##1\fi\fi
  \DN@{##2}\ifx\next@\empty\else\ifx\next@\space\else
  \advance\rightskip##2\fi\fi\ignorespaces}}
\def\endmargins{\par\endgroup\endgroup}
\newif\ifnopunct@
\newif\ifnospace@
\newif\ifoverlong@
\let\nofrillslist@\empty
\let\overlonglist@\empty
\def\nopunct{\nopunct@true\FN@\nopunct@}
\def\nospace{\nospace@true\FN@\nospace@}
\def\overlong{\overlong@true\FN@\overlong@}
\def\nopunct@{\ifx\next\nospace
 \DN@\nospace{\nospace@true\FN@\nopnos@}\else\ifx\next\overlong
 \DN@\overlong{\overlong@true\FN@\nopol@}\else
 \let\next@\nopunct@@\fi\fi\next@}
\def\nopunct@@#1{\ismember@\nofrillslist@#1%
 \iftest@\let\next@#1\else
 \DN@{\nopunct@false\Err@{\noexpand\nopunct can't be used with
 \string#1}#1}\fi\next@}
\def\nospace@{\ifx\next\nopunct
 \DN@\nopunct{\nopunct@true\FN@\nopnos@}\else\ifx\next\overlong
 \DN@\overlong{\overlong@true\FN@\nosol@}\else
 \let\next@\nospace@@\fi\fi\next@}
\def\nospace@@#1{\ismember@\nofrillslist@#1%
 \iftest@\let\next@#1\else
 \DN@{\nospace@false\Err@{\noexpand\nospace can't be used with
 \string#1}#1}\fi\next@}
\def\overlong@{\ifx\next\nopunct
 \DN@\nopunct{\nopunct@true\FN@\nopol@}\else\ifx\next\nospace
 \DN@\nospace{\nospace@true\FN@\nosol@}\else
 \let\next@\overlong@@\fi\fi\next@}
\def\overlong@@#1{\ismember@\overlonglist@#1%
 \iftest@\let\next@#1\else
 \DN@{\overlong@false\Err@{\noexpand\overlong can't be used with
 \string#1}#1}\fi\next@}
\def\nopnos@{\ifx\next\overlong
 \DN@\overlong{\overlong@true\nopnosol@}\else
 \let\next@\nopnos@@\fi\next@}
\def\nopol@{\ifx\next\nospace
 \DN@\nospace{\nospace@true\nopnosol@}\else
 \let\next@\nopol@@\fi\next@}
\def\nosol@{\ifx\next\nopunct
 \DN@\nopunct{\nopunct@true\nopnosol@}\else
 \let\next@\nosol@@\fi\next@}
\def\nopnos@@#1{\ismember@\nofrillslist@#1%
 \iftest@\let\next@#1\else
 \DN@{\nopunct@false\nospace@false
  \Err@{\noexpand\nopunct\noexpand\nospace
   can't be used with \string#1}#1}\fi\next@}
\def\testii@#1{\ismember@\nofrillslist@#1%
 \iftest@\let\nextiii@ T\else\let\nextiii@ F\fi
 \ismember@\overlonglist@#1%
 \iftest@\let\nextiv@ T\else\let\nextiv@ F\fi
 \test@false\if\nextiii@ T\if\nextiv@ T\test@true\fi\fi}
\def\nopol@@#1{\testii@{#1}%
 \iftest@\let\next@#1%
 \else\DN@{\if\nextiii@ T\else\nopunct@false\fi
  \if\nextiv@ T\else\overlong@false\fi
  \Err@{\if\nextiii@ T\else\noexpand\nopunct\fi
  \if\nextiv@ T\else\noexpand\overlong\fi can't be used
  with \string#1}#1}\fi\next@}
\def\nosol@@#1{\testii@{#1}%
 \iftest@\let\next@#1%
 \else\DN@{\if\nextiii@ T\else\nospace@false\fi
  \if\nextiv@ T\else\overlong@false\fi
  \Err@{\if\nextiii@ T\else\noexpand\nospace\fi
  \if\nextiv@ T\else\noexpand\overlong\fi can't be used
  with \string#1}#1}\fi\next@}
\def\nopnosol@#1{\testii@{#1}%
 \iftest@\let\next@#1%
 \else\DN@{\if\nextiii@ T\else\nopunct@false\nospace@false\fi
  \if\nextiv@ T\else\overlong@false\fi
  \Err@{\if\nextiii@ T\else\noexpand\nopunct\noexpand\nospace\fi
  \if\nextiv@ T\else\noexpand\overlong\fi can't be used
  with \string#1}#1}\fi\next@}
\def\punct@#1{\ifnopunct@\else#1\fi}
\def\addspace@#1{\ifnospace@\else#1\fi}
\def\hss@{\ifoverlong@\z@ plus\@m\p@ minus\@m\p@
 \else \z@ plus\@m\p@\fi}
\rightadd@\demo\to\nofrillslist@
\newif\ifclaim@
\def\exxx@{\expandafter\expandafter\expandafter\eat@\expandafter\string}
\let\colon@:
\def\demo#1{\ifclaim@
 \Err@{Previous \expandafter\noexpand\claimtype@ has
  no matching \string\end\exxx@\claimtype@}%
 \let\next@\relax
 \else
  \par
  \ifdim\lastskip<\smallskipamount\removelastskip\smallskip\fi
  \begingroup
  \noindent@@{\smc\ignorespaces#1\unskip
   \punct@{\null\colon@}\addspace@\enspace}%
  \nopunct@false\nospace@false
  \rm
  \DN@{\FNSSP@}%
 \fi
 \next@}
\def\enddemo{\par\endgroup\nopunct@false\nospace@false\smallskip}
\rightadd@\claim\to\nofrillslist@
\def\claim@F{\smc}
\def\claim@@@F{\csname\exxx@\claimtype@ @F\endcsname}
\def\claimformat@#1#2#3{%
 \medbreak\noindent@@{\smc#1 {\claim@@@F#2} #3%
 \punct@{\null.}\addspace@\enspace}\sl}
\def\claimformat@@#1#2{\claimformat@{\ignorespaces#1\unskip}%
 {\ifx\thelabel@@\empty\unskip\else\thelabel@@\fi}%
 {\ignorespaces#2\unskip}%
 \let\Claimformat@@\claimformat@@\FNSSP@}
\let\Claimformat@@\claimformat@@
\def\claim@@@P{\csname\exxx@\claimtype@ @P\endcsname}
\def\claim@@@Q{\csname\exxx@\claimtype@ @Q\endcsname}
\def\claim@@@S{\csname\exxx@\claimtype@ @S\endcsname}
\def\claim@@@N{\csname\exxx@\claimtype@ @N\endcsname}
\def\claim@@@C{\csname claim@C\claimclass@\endcsname}
\newcount\claim@C
\claim@C\z@
\let\claim@P\empty
\let\claim@Q\empty
\def\claim@S#1{#1\/}
\let\claim@N\arabic
\def\claim{\claim@true\let\claimclass@\empty
 \def\claimtype@{\claim}\FN@\claim@}
\def\claim@{%
 \ifx\next\c
  \let\next@\claim@c
 \else
  \ifx\next"%
   \let\next@\claim@q
  \else
   \begingroup\global\advance\claim@C\@ne
   {\noexpands@
    \xdef\Thelabel@@@{\number\claim@C}%
    \xdefThelabel@\claim@N
    \xdef\Thelabel@@@@{\claim@P\Thelabel@\claim@Q}%
    \xdefThelabel@@\claim@S
   }%
   \locallabel@
   \let\next@\Claimformat@@
  \fi
 \fi
 \next@}
\def\claim@c\c#1{\claim@true\begingroup
 \expandafter
 \ifx\csname claim@C#1\endcsname\relax
  \expandafter\newcount@\csname claim@C#1\endcsname
  \global\csname claim@C#1\endcsname\@ne
 \else
  \global\advance\csname claim@C#1\endcsname\@ne
 \fi
 \def\claimclass@{#1}%
 {\noexpands@
  \xdef\Thelabel@@@{\number\claim@@@C}%
  \xdefThelabel@\claim@@@N
  \xdef\Thelabel@@@@{\claim@@@P\Thelabel@\claim@@@Q}%
  \xdefThelabel@@\claim@@@S
 }%
 \locallabel@
 \FNSS@\claim@c@}
\def\claim@q"#1"{\begingroup
 {\let\pre\claim@@@P\let\post\claim@@@Q
  \let\style\claim@@@S\let\numstyle\claim@@@N
  \noexpands@
  \Qlabel@{#1}}%
 \locallabel@
 \FNSS@\claim@q@}
\def\claim@c@{\ifx\next"%
 \global\advance\claim@@@C\m@ne\let\next@\claim@cq
 \else\let\next@\Claimformat@@\fi\next@}
\def\claim@cq"#1"{{\let\pre\claim@@@P\let\post\claim@@@Q
 \let\style\claim@@@S\let\numstyle\claim@@@N
 \noexpands@
 \Qlabel@{#1}}%
 \locallabel@
 \FNSS@\Claimformat@@}
\def\claim@q@{\ifx\next\c\expandafter\claim@qc
 \else\expandafter\Claimformat@@\fi}
\def\claim@qc\c#1{\expandafter\ifx\csname claim@C#1\endcsname\relax
 \expandafter\newcount@\csname claim@C#1\endcsname
 \global\csname claim@C#1\endcsname\z@\fi
 \FNSS@\Claimformat@@}
\def\endclaim{\endgroup\claim@false\nopunct@false\nospace@false
 \let\Claimformat@@\claimformat@@\medbreak}
\Invalid@\claimclause
\def\newclaim{\FN@\newclaim@}
\def\newclaim@{\ifx\next\claimclause
 \DN@\claimclause##1{\newclaim@@{##1}}\else
 \DN@{\newclaim@@\relax}\fi\next@}
\def\claimlist@{\\\claim}
\newtoks\claim@i
\newtoks\claim@v
\let\noclaimclause@=F
\def\newclaim@@#1#2#3\c#4#5{\define#2{}%
 \rightadd@#2\to\claimlist@\rightadd@#2\to\nofrillslist@%
 \expandafter\def\csname\exstring@#2@P\endcsname{\claim@P}%
 \expandafter\def\csname\exstring@#2@Q\endcsname{\claim@Q}%
 \expandafter\def\csname\exstring@#2@S\endcsname{\claim@S}%
 \expandafter\def\csname\exstring@#2@N\endcsname{\claim@N}%
 \expandafter\def\csname\exstring@#2@F\endcsname{\claim@F}%
 \expandafter\def\csname end\exstring@#2\endcsname{\endclaim}%
 \expandafter\ifx\csname claim@C#4\endcsname\relax
  \expandafter\newcount@\csname claim@C#4\endcsname
  \global\csname claim@C#4\endcsname\z@\fi
 \edef\next@{\let\csname\exstring@#2@C\endcsname
   \csname claim@C#4\endcsname}\next@
 \def#2{\ifx\noclaimclause@ T\else#1\fi
  \global\claim@i{#1}\gdef\claim@iv{#4}\global\claim@v{#5}%
  \def\claimtype@{#2}\def\Claimformat@@{\claimformat@@{#5}}\claim@c\c{#4}}}
\def\shortenclaim#1#2{\define#2{}%
 \ismember@\claimlist@#1%
 \iftest@
  \rightadd@#2\to\nofrillslist@%
  \expandafter\def\csname\exstring@#2@P\endcsname
   {\csname\exstring@#1@P\endcsname}%
  \expandafter\def\csname\exstring@#2@Q\endcsname
   {\csname\exstring@#1@Q\endcsname}%
  \expandafter\def\csname\exstring@#2@S\endcsname
   {\csname\exstring@#1@S\endcsname}%
  \expandafter\def\csname\exstring@#2@N\endcsname
   {\csname\exstring@#1@N\endcsname}%
  \expandafter\def\csname\exstring@#2@F\endcsname
   {\csname\exstring@#1@F\endcsname}%
  \expandafter\def\csname end\exstring@#2\endcsname{\endclaim}%
  \edef\next@{\let\csname\exstring@#2@C\endcsname
    \csname claim\exstring@#1C\endcsname}\next@
  \setbox\z@\vbox{\let\noclaimclause@ T#1""\relax\endgroup}%
  \edef#2{\the\claim@i
   \def\noexpand\claimtype@{\noexpand#2}%
   \def\noexpand\Claimformat@@{\noexpand\claimformat@@{\the\claim@v}\relax}%
   \noexpand\claim@c\noexpand\c{\claim@iv}}%
 \else
  \Err@{\noexpand#1not yet created by \string\newclaim}%
 \fi}
\def\classtest@#1{\DN@{#1}\ifx\next@\claimclass@
 \test@true\else\test@false\fi}
\def\typetest@#1{\DN@{#1}\ifx\next@\claimtype@\test@true\else
  \test@false\fi}
\newif\iftoc@
\def\tocfile{\iftoc@\else\alloc@@7\write\chardef\sixt@@n\toc@
 \immediate\openout\toc@=\jobname.toc
 \alloc@@7\write\chardef\sixt@@n\tic@
 \immediate\openout\tic@=\jobname.tic
 \global\toc@true\fi}
\rightadd@\hl\to\nofrillslist@
\rightadd@\HL\to\overlonglist@
\def\HL@@C{\csname HL@C\HLlevel@\endcsname}
\def\HL@@P{\csname HL@P\HLlevel@\endcsname}
\def\HL@@Q{\csname HL@Q\HLlevel@\endcsname}
\def\HL@@S{\csname HL@S\HLlevel@\endcsname}
\def\HL@@N{\csname HL@N\HLlevel@\endcsname}
\def\HL@@F{\csname HL@F\HLlevel@\endcsname}
\def\HL@@@C{\csname\exxx@\HLtype@ @C\endcsname}
\def\HL@@@P{\csname\exxx@\HLtype@ @P\endcsname}
\def\HL@@@Q{\csname\exxx@\HLtype@ @Q\endcsname}
\def\HL@@@S{\csname\exxx@\HLtype@ @S\endcsname}
\def\HL@@@N{\csname\exxx@\HLtype@ @N\endcsname}
\def\HL#1{\expandafter
 \ifx\csname HL@C#1\endcsname\relax
  \DN@{\Err@{\string\HL#1 not defined in this style}}%
 \else
  \DN@{\gdef\HLlevel@{#1}\def\HLname@{\HL{#1}}\let\HLtype@\relax\FNSS@\HL@}%
 \fi
 \next@}%
\newif\ifquoted@
\let\aftertoc@\relax
\def\HL@{%
 \DN@"##1"##2\endHL{\def\entry@{##2}\quoted@true
  {\noexpands@
  \ifx\HLtype@\relax
   \let\pre\HL@@P\let\post\HL@@Q\let\style\HL@@S\let\numstyle\HL@@N
  \else
   \let\pre\HL@@@P\let\post\HL@@@Q\let\style\HL@@@S\let\numstyle\HL@@@N
  \fi
  \Qlabel@{##1}\let\style\relax\xdef\Qlabel@@@@{##1}%
  \xdef\Thepref@{\Thelabel@@@@}}%
  \csname HL@\HLlevel@\endcsname##2\endHL
  \let\pref\Thepref@
  \csname HL@I\HLlevel@\endcsname
  \csname HL@J\HLlevel@\endcsname
  \let\pref\pref@
  \HLtoc@	
  \aftertoc@
  \let\aftertoc@\relax\overlong@false}%
 \DNii@##1\endHL{\def\entry@{##1}\quoted@false
  {\noexpands@
  \ifx\HLtype@\relax
   \global\advance\HL@@C\@ne
   \xdef\Thelabel@@@{\number\HL@@C}%
   \xdefThelabel@{\HL@@N}%
   \xdef\Thelabel@@@@{\HL@@P\Thelabel@\HL@@Q}%
   \xdefThelabel@@{\HL@@S}%
  \else
   \global\advance\HL@@@C\@ne
   \xdef\Thelabel@@@{\number\HL@@@C}%
   \xdefThelabel@{\HL@@@N}%
   \xdef\Thelabel@@@@{\HL@@@P\Thelabel@\HL@@@Q}%
   \xdefThelabel@@{\HL@@@S}%
  \fi
  \xdef\Thepref@{\Thelabel@@@@}}%
  \csname HL@\HLlevel@\endcsname##1\endHL
  \let\pref\Thepref@
  \csname HL@I\HLlevel@\endcsname
  \csname HL@J\HLlevel@\endcsname
  \let\pref\pref@
  \HLtoc@
  \aftertoc@
  \let\aftertoc@\relax\overlong@false}%
 \ifx\next"\expandafter\next@\else\expandafter\nextii@\fi}%
\Invalid@\endHL
\def\hl@@C{\csname hl@C\hllevel@\endcsname}
\def\hl@@P{\csname hl@P\hllevel@\endcsname}
\def\hl@@Q{\csname hl@Q\hllevel@\endcsname}
\def\hl@@S{\csname hl@S\hllevel@\endcsname}
\def\hl@@N{\csname hl@N\hllevel@\endcsname}
\def\hl@@F{\csname hl@F\hllevel@\endcsname}
\def\hl@@@C{\csname\exxx@\hltype@ @C\endcsname}
\def\hl@@@P{\csname\exxx@\hltype@ @P\endcsname}
\def\hl@@@Q{\csname\exxx@\hltype@ @Q\endcsname}
\def\hl@@@S{\csname\exxx@\hltype@ @S\endcsname}
\def\hl@@@N{\csname\exxx@\hltype@ @N\endcsname}
\def\hl#1{\expandafter
 \ifx\csname hl@C#1\endcsname\relax
  \DN@{\Err@{\string\hl#1 not defined in this style}}%
 \else
  \DN@{\gdef\hllevel@{#1}\def\hlname@{\hl{#1}}\let\hltype@\relax\FNSS@\hl@}%
 \fi
 \next@}
\def\hl@{%
 \DN@"##1"##2{\def\entry@{##2}\quoted@true
  {\noexpands@
  \ifx\hltype@\relax
   \let\pre\hl@@P\let\post\hl@@Q\let\style\hl@@S\let\numstyle\hl@@N
  \else
   \let\pre\hl@@@P\let\post\hl@@@Q\let\style\hl@@@S\let\numstyle\hl@@@N
  \fi
  \Qlabel@{##1}\let\style\relax\xdef\Qlabel@@@@{##1}%
  \xdef\Thepref@{\Thelabel@@@@}}%
  \csname hl@\hllevel@\endcsname{##2}%
  \let\pref\Thepref@
  \csname hl@I\hllevel@\endcsname
  \csname hl@J\hllevel@\endcsname
  \let\pref\pref@
  \hltoc@
  \aftertoc@
  \let\aftertoc@\relax\nopunct@false\nospace@false\FNSSP@}%
 \DNii@##1{\def\entry@{##1}\quoted@false
  {\noexpands@
  \ifx\hltype@\relax
   \global\advance\hl@@C\@ne
   \xdef\Thelabel@@@{\number\hl@@C}%
   \xdefThelabel@{\hl@@N}%
   \xdef\Thelabel@@@@{\hl@@P\Thelabel@\hl@@Q}%
   \xdefThelabel@@{\hl@@S}%
  \else
   \global\advance\hl@@@C\@ne
   \xdef\Thelabel@@@{\number\hl@@@C}%
   \xdefThelabel@{\hl@@@N}%
   \xdef\Thelabel@@@@{\hl@@@P\Thelabel@\hl@@@Q}%
   \xdefThelabel@@{\hl@@@S}%
  \fi
  \xdef\Thepref@{\Thelabel@@@@}}%
  \csname hl@\hllevel@\endcsname{##1}%
  \let\pref\Thepref@
  \csname hl@I\hllevel@\endcsname
  \csname hl@J\hllevel@\endcsname
  \let\pref\pref@
  \hltoc@
  \aftertoc@
  \let\aftertoc@\relax\nopunct@false\nospace@false\FNSSP@}%
 \ifx\next"\expandafter\next@\else\expandafter\nextii@\fi}%
\def\six@#1#2 #3 #4 #5 #6 #7 {\DN@{#2}\ifx\next@\empty
 \DN@##1\six@{}\else
 \write#1{ #2 #3 #4 #5 #6 #7}\DN@{\six@#1}\fi
 \next@}
\def\Sixtoc@{\ifx\macdef@\empty\else
 \DN@##1##2\next@{\def\macdef@{##1##2}}%
 \expandafter\next@\macdef@\next@
 \edef\next@
  {\noexpand\six@\toc@\macdef@
  \space\space\space\space\space\space\space\space\space\space\space\space
  \noexpand\six@}%
 \next@\let\macdef@\relax\fi}
\def\QorThelabel@@@@{\ifquoted@
 \noexpand\noexpand\noexpand"\Qlabel@@@@\noexpand\noexpand\noexpand"\else
 \Thelabel@@@@\fi}
\def\HLtoc@{%
 \iftoc@
 \expandafter\expandafter\expandafter\unmacro@
  \expandafter\meaning\csname HL@W\HLlevel@\endcsname\unmacro@
  {\noexpands@\let\style\relax
   \edef\next@{\write\toc@{\noexpand\noexpand\expandafter\noexpand\HLname@
   {\macdef@}{\QorThelabel@@@@}}}%
  \next@}%
  \expandafter\unmacro@\meaning\entry@\unmacro@
  \Sixtoc@
  \write\toc@{\noexpand\Page{\number\pageno}{\page@N}%
   {\page@P}{\page@Q}^^J}%
 \fi}
\def\hltoc@{%
 \iftoc@
 \expandafter\expandafter\expandafter\unmacro@
  \expandafter\meaning\csname hl@W\hllevel@\endcsname\unmacro@
  {\noexpands@\let\style\relax
  \edef\next@{\write\toc@{%
   \ifnopunct@\noexpand\noexpand\noexpand\nopunct\fi
   \ifnospace@\noexpand\noexpand\noexpand\nospace\fi
   \noexpand\noexpand\expandafter\noexpand\hlname@
   {\macdef@}{\QorThelabel@@@@}}}%
  \next@}%
  \expandafter\unmacro@\meaning\entry@\unmacro@
  \Sixtoc@
  \write\toc@{\noexpand\Page{\number\pageno}{\page@N}%
   {\page@P}{\page@Q}^^J}%
 \fi}
\def\mainfile#1{\def\mainfile@{#1}}
\def\checkmainfile@{\ifx\mainfile@\undefined
 \Err@{No \noexpand\mainfile specified}\fi}
\expandafter\newcount@\csname HL@C1\endcsname
\csname HL@C1\endcsname\z@
\expandafter\def\csname HL@S1\endcsname#1{#1\null.}
\expandafter\let\csname HL@N1\endcsname\arabic
\expandafter\let\csname HL@P1\endcsname\empty
\expandafter\let\csname HL@Q1\endcsname\empty
\expandafter\def\csname HL@F1\endcsname{\bf}
\expandafter\let\csname HL@W1\endcsname\empty
\expandafter\newcount@\csname hl@C1\endcsname
\csname hl@C1\endcsname\z@
\expandafter\def\csname hl@S1\endcsname#1{#1\/}
\expandafter\let\csname hl@N1\endcsname\arabic
\expandafter\let\csname hl@P1\endcsname\empty
\expandafter\let\csname hl@Q1\endcsname\empty
\expandafter\def\csname hl@F1\endcsname{\bf}
\expandafter\let\csname hl@W1\endcsname\empty
\expandafter\def\csname HL@1\endcsname#1\endHL{\bigbreak
 {\locallabel@
  \global\setbox\@ne\vbox{\Let@\tabskip\hss@
  \halign to\hsize{\bf\hfil\ignorespaces##\unskip\hfil\cr
  \expandafter\ifx\csname HL@W1\endcsname\empty\else
   \csname HL@W1\endcsname\space\fi
  {\HL@@F\ifx\thelabel@@\empty\else\thelabel@@\space\fi}%
  \ignorespaces#1\crcr}}%
  }%
 \unvbox\@ne\nobreak\medskip}
\expandafter\def\csname hl@1\endcsname#1{\medbreak\noindent@@
 {\locallabel@
 \bf{\hl@@F\ifx\thelabel@@\empty\else\thelabel@@\space\fi}%
 \ignorespaces#1\unskip\punct@{\null.}\addspace@\enspace}}
\expandafter\def\csname HL@I1\endcsname{\Reset\hl1{1}%
 \ifx\pref\empty\newpre\hl1{}\else\newpre\hl1{\pref.}\fi}
\def\NameHL#1#2{\define#2{}%
 \expandafter\ifx\csname HL@R#1\endcsname\relax
 \else
  \def\nextiv@{\let\nextiii@}%
  \expandafter\nextiv@\csname HL@R#1\endcsname
  \expandafter\let\nextiii@\undefined
  \expandafter\let\csname\exxx@\nextiii@ @C\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @P\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @Q\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @S\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @N\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @F\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @W\endcsname\relax
  \expandafter\let\csname end\exxx@\nextiii@\endcsname\undefined
 \fi
 \expandafter\gdef\csname HL@R#1\endcsname{#2}%
 \expandafter\gdef\csname\exstring@#2@R\endcsname{{HL}{#1}}%
 \iftoc@\write\toc@{\noexpand\NameHL#1\noexpand#2^^J}\fi
 \rightadd@#2\to\overlonglist@
 \edef\next@{\let\csname\exstring@#2@C\endcsname\expandafter\noexpand
  \csname HL@C#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@P\endcsname\expandafter\noexpand
  \csname HL@P#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@Q\endcsname\expandafter\noexpand
  \csname HL@Q#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@S\endcsname\expandafter\noexpand
  \csname HL@S#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@N\endcsname\expandafter\noexpand
  \csname HL@N#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@F\endcsname\expandafter\noexpand
  \csname HL@F#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@W\endcsname\expandafter\noexpand
  \csname HL@W#1\endcsname}\next@
 \edef\next@{\def\noexpand#2####1\expandafter\noexpand
  \csname end\exstring@#2\endcsname
  {\def\noexpand\HLtype@{\noexpand#2}%
   \def\noexpand\HLname@{\noexpand#2}%
   \gdef\noexpand\HLlevel@{#1}%
   \noexpand\FNSS@\noexpand\HL@####1\noexpand\endHL}}%
  \next@
 \edef\next@{\noexpand\Invalid@\expandafter\noexpand
  \csname end\exstring@#2\endcsname}%
 \next@}
\def\Namehl#1#2{\define#2{}%
 \expandafter\ifx\csname hl@R#1\endcsname\relax
 \else
  \def\nextiv@{\let\nextiii@}%
  \expandafter\nextiv@\csname hl@R#1\endcsname
  \expandafter\let\nextiii@\undefined
  \expandafter\let\csname\exxx@\nextiii@ @C\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @P\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @Q\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @S\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @N\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @F\endcsname\relax
  \expandafter\let\csname\exxx@\nextiii@ @W\endcsname\relax
 \fi
 \expandafter\gdef\csname hl@R#1\endcsname{#2}%
 \expandafter\gdef\csname\exstring@#2@R\endcsname{{hl}{#1}}%
 \iftoc@\write\toc@{\noexpand\Namehl#1\noexpand#2^^J}\fi
 \rightadd@#2\to\nofrillslist@%
 \edef\next@{\let\csname\exstring@#2@C\endcsname\expandafter\noexpand
  \csname hl@C#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@P\endcsname\expandafter\noexpand
  \csname hl@P#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@Q\endcsname\expandafter\noexpand
  \csname hl@Q#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@S\endcsname\expandafter\noexpand
  \csname hl@S#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@N\endcsname\expandafter\noexpand
  \csname hl@N#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@F\endcsname\expandafter\noexpand
  \csname hl@F#1\endcsname}\next@
 \edef\next@{\let\csname\exstring@#2@W\endcsname\expandafter\noexpand
  \csname hl@W#1\endcsname}\next@
 \edef\next@{\def\noexpand#2{%
  \def\noexpand\hltype@{\noexpand#2}%
  \def\noexpand\hlname@{\noexpand#2}%
  \gdef\noexpand\hllevel@{#1}%
  \noexpand\FNSS@\noexpand\hl@}}%
 \next@}%
\def\Initialize{\FN@\Init@}
\def\Init@{\ifx\next\HL\let\next@\InitH@\else\ifx\next\hl\let\next@\InitH@
  \else\let\next@\InitS@\fi\fi\next@}
\def\InitH@#1#2{\expandafter\ifx\csname\exstring@#1@C#2\endcsname\relax
 \DN@{\Err@{\noexpand#1level #2 not defined in this style}}\else
 \DN@{\expandafter\gdef\csname\exstring@#1@J#2\endcsname}\fi\next@}
\def\InitC@#1#2{\edef\nextii@{\expandafter\noexpand\csname#1\endcsname{#2}}}
\def\InitS@#1{\expandafter\ifx\csname\exstring@#1@R\endcsname\relax
 \Err@{\noexpand#1not defined in this style}\let\next@\relax\else
 \DN@{\let\next@}\expandafter\next@\csname\exstring@#1@R\endcsname
 \expandafter\InitC@\next@
 \DN@{\expandafter\InitH@\nextii@}\fi\next@}
\def\value#1{\expandafter
 \ifx\csname\exstring@#1@C\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@C1\endcsname\relax
   \DN@{\Err@{\noexpand\value can't be used with \string#1}}%
  \else
   \DN@{\value@#1}%
  \fi
 \else
  \DN@{\number\csname\exstring@#1@C\endcsname\relax}%
 \fi
 \next@}
\def\value@#1#2{\expandafter
 \ifx\csname\exstring@#1@C#2\endcsname\relax
  \DN@{\Err@{\string\value\string#1 can't be followed by \string#2}}%
 \else
  \DN@{\number\csname\exstring@#1@C#2\endcsname\relax}%
 \fi
 \next@}
\newcount\Value
\def\Evaluate#1{\expandafter
 \ifx\csname\exstring@#1@C\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@C1\endcsname\relax
   \DN@{\Err@{\noexpand\Evaluate can't be used with \string#1}}%
  \else
   \DN@{\Evaluate@#1}%
  \fi
 \else
  \DN@{\global\Value\csname\exstring@#1@C\endcsname}%
 \fi
 \next@}
\def\Evaluate@#1#2{\expandafter
 \ifx\csname\exstring@#1@C#2\endcsname\relax
  \DN@{\Err@{\string\Evaluate\string#1 can't be followed by \string#2}}%
 \else
  \DN@{\global\Value\csname\exstring@#1@C#2\endcsname}%
 \fi\next@}
\def\pre#1{\expandafter
 \ifx\csname\exstring@#1@P\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@P1\endcsname\relax
   \DN@{\Err@{\noexpand\pre can't be used with \string#1}}%
  \else
   \DN@{\pre@#1}%
  \fi
 \else
  \DN@{{\csname\exstring@#1@P\endcsname}}%
 \fi
 \next@}
\def\pre@#1#2{\expandafter
 \ifx\csname\exstring@#1@P#2\endcsname\relax
  \DN@{\Err@{\string\pre\string#1 can't be followed by \string#2}}%
 \else
  \DN@{{\csname\exstring@#1@P#2\endcsname}}%
 \fi
 \next@}
\def\post#1{\expandafter
 \ifx\csname\exstring@#1@Q\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@Q1\endcsname\relax
   \DN@{\Err@{\noexpand\post can't be used with \string#1}}%
  \else
   \DN@{\post@#1}%
  \fi
 \else
  \DN@{{\csname\exstring@#1@Q\endcsname}}%
 \fi
 \next@}
\def\post@#1#2{\expandafter
 \ifx\csname\exstring@#1@Q#2\endcsname\relax
  \DN@{\Err@{\string\post\string#1 can't be followed by \string#2}}%
 \else
  \DN@{{\csname\exstring@#1@Q#2\endcsname}}%
 \fi
 \next@}
\def\style#1{\expandafter
 \ifx\csname\exstring@#1@S\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@S1\endcsname\relax
   \DN@{\Err@{\noexpand\style can't be used with \string#1}}%
  \else
   \DN@{\style@#1}%
  \fi
 \else
  \DN@{\csname\exstring@#1@S\endcsname}%
 \fi
 \next@}
\def\style@#1#2{\expandafter
 \ifx\csname\exstring@#1@S#2\endcsname\relax
  \DN@{\Err@{\string\style\string#1 can't be followed by \string#2}}%
 \else
  \DN@{\csname\exstring@#1@S#2\endcsname}%
 \fi
 \next@}
\def\fontstyle#1{\expandafter
 \ifx\csname\exstring@#1@F\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@F1\endcsname\relax
   \DN@{\Err@{\noexpand\fontstyle can't be used with \string#1}}%
  \else
   \DN@{\fontstyle@#1}%
  \fi
 \else
  \DN@##1{{\csname\exstring@#1@F\endcsname##1}}%
 \fi
 \next@}
\def\fontstyle@#1#2{\expandafter
 \ifx\csname\exstring@#1@F#2\endcsname\relax
  \DN@{\Err@{\string\fontstyle\string#1 can't be followed by \string#2}}%
 \else
  \DN@##1{{\csname\exstring@#1@F#2\endcsname##1}}%
 \fi
 \next@}
\def\Reset#1{\expandafter
 \ifx\csname\exstring@#1@C\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@C1\endcsname\relax
   \DN@{\Err@{\noexpand\Reset can't be used with \string#1}}%
  \else
   \DN@{\Reset@#1}%
  \fi
 \else
  \DN@##1{\count@##1\relax\ifx#1\page\else\advance\count@\m@ne\fi
   \global\csname\exstring@#1@C\endcsname\count@}%
 \fi
 \next@}
\def\Reset@#1#2{\expandafter
 \ifx\csname\exstring@#1@C#2\endcsname\relax
  \DN@{\Err@{\string\Reset\string#1 can't be followed by \string#2}}%
 \else
  \DN@##1{\count@##1\relax\advance\count@\m@ne
   \global\csname\exstring@#1@C#2\endcsname\count@}%
 \fi
 \next@}
\def\Offset#1{\expandafter
 \ifx\csname\exstring@#1@C\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@C1\endcsname\relax
   \DN@{\Err@{\noexpand\Offset can't be used with \string#1}}%
  \else
   \DN@{\Offset@#1}%
  \fi
 \else
  \DN@##1{\count@##1\relax\advance\count@\m@ne\global\advance
   \csname\exstring@#1@C\endcsname\count@}%
 \fi
 \next@}
\def\Offset@#1#2{\expandafter
 \ifx\csname\exstring@#1@C#2\endcsname\relax
  \DN@{\Err@{\string\Offset\string#1 can't be followed by \string#2}}%
 \else
  \DN@##1{\count@##1\relax\advance\count@\m@ne
   \global\advance\csname\exstring@#1@C#2\endcsname\count@}%
 \fi
 \next@}
\def\getR@#1#2{\def\nextiv@{\let\nextiii@}\expandafter\nextiv@
 \csname\exstring@#1@R#2\endcsname}
\def\letR@#1#2#3{\expandafter\let\csname#1@#3#2\endcsname\Next@}
\def\letR@@#1#2{\expandafter\let\csname\exstring@#1@#2\endcsname\Next@}
\def\newpre#1{\expandafter
 \ifx\csname\exstring@#1@P\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@P1\endcsname\relax
   \DN@{\Err@{\noexpand\newpre can't be used with \string#1}}%
  \else
   \DN@{\newpre@#1}%
  \fi
 \else
  \DN@{%
   \DNii@{%
    \endgroup
    \expandafter\let\csname\exstring@#1@P\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
    \getR@#1{}\expandafter\letR@\nextiii@ P\fi
    }%
   \begingroup\noexpands@\afterassignment\nextii@\xdef\Next@}%
 \fi
 \next@}
\def\newpre@#1#2{\expandafter
 \ifx\csname\exstring@#1@P#2\endcsname\relax
  \DN@{\Err@{\string\newpre\string#1 can't be followed by \string#2}}%
 \else
  \DN@{%
   \DNii@{%
    \endgroup
    \expandafter\let\csname\exstring@#1@P#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
    \getR@#1{#2}\expandafter\letR@@\nextiii@ P\fi
    }%
   \begingroup\noexpands@\afterassignment\nextii@\xdef\Next@}%
 \fi
 \next@}
\def\newpost#1{\expandafter
 \ifx\csname\exstring@#1@Q\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@Q1\endcsname\relax
   \DN@{\Err@{\noexpand\newpost can't be used with \string#1}}%
  \else
   \DN@{\newpost@#1}%
  \fi
 \else
  \DN@{%
   \DNii@{%
    \endgroup
    \expandafter\let\csname\exstring@#1@Q\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
    \getR@#1{}\expandafter\letR@\nextiii@ Q\fi
    }%
   \begingroup\noexpands@\afterassignment\nextii@\xdef\Next@}%
 \fi
 \next@}
\def\newpost@#1#2{\expandafter
 \ifx\csname\exstring@#1@Q#2\endcsname\relax
  \DN@{\Err@{\string\newpost\string#1 can't be followed by \string#2}}%
 \else
  \DN@{%
   \DNii@{%
    \endgroup
    \expandafter\let\csname\exstring@#1@Q#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
    \getR@#1{#2}\expandafter\letR@@\nextiii@ Q\fi
    }%
   \begingroup\noexpands@\afterassignment\nextii@\xdef\Next@}%
 \fi
 \next@}
\def\newstyle#1{\expandafter
 \ifx\csname\exstring@#1@S\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@S1\endcsname\relax
   \DN@{\Err@{\noexpand\newstyle can't be used
    with \string#1}}%
  \else
   \DN@{\newstyle@#1}%
  \fi
 \else
  \DN@{%
   \DNii@{%
    \expandafter\let\csname\exstring@#1@S\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
    \getR@#1{}\expandafter\letR@\nextiii@ S\fi
    }%
   \afterassignment\nextii@\gdef\Next@}%
 \fi
 \next@}
\def\newstyle@#1#2{\expandafter
 \ifx\csname\exstring@#1@S#2\endcsname\relax
  \DN@{\Err@{\string\newstyle\string#1 can't be followed by
   \string#2}}%
 \else
  \DN@{%
   \DNii@{%
    \expandafter\let\csname\exstring@#1@S#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
    \getR@#1{#2}\expandafter\letR@@\nextiii@ S\fi
    }%
   \afterassignment\nextii@\gdef\Next@}%
 \fi
 \next@}
\def\newnumstyle#1{\expandafter
 \ifx\csname\exstring@#1@N\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@N1\endcsname\relax
   \DN@{\Err@{\noexpand\newnumstyle can't be used with
    \string#1}}%
  \else
   \DN@{\newnumstyle@#1}%
  \fi
 \else
  \DN@##1{%
   \gdef\Next@{##1}%
    \expandafter\let\csname\exstring@#1@N\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
    \getR@#1{}\expandafter\letR@\nextiii@ N\fi
    }%
 \fi
 \next@}
\def\newnumstyle@#1#2{\expandafter
 \ifx\csname\exstring@#1@N#2\endcsname\relax
  \DN@{\Err@{\string\newnumstyle\string#1 can't be followed by
   \string#2}}%
 \else
  \DN@##1{%
   \gdef\Next@{##1}%
    \expandafter\let\csname\exstring@#1@N#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
    \getR@#1{#2}\expandafter\letR@@\nextiii@ N\fi
    }%
  \fi
 \next@}
\def\newfontstyle#1{\expandafter
 \ifx\csname\exstring@#1@F\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@F1\endcsname\relax
   \DN@{\Err@{\noexpand\newfontstyle can't be used with
    \string#1}}%
  \else
   \DN@{\newfontstyle@#1}%
  \fi
 \else
  \DN@##1{%
   \gdef\Next@{##1}%
    \expandafter\let\csname\exstring@#1@F\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
    \getR@#1{}\expandafter\letR@\nextiii@ F\fi
    }%
 \fi
 \next@}
\def\newfontstyle@#1#2{\expandafter
 \ifx\csname\exstring@#1@F#2\endcsname\relax
  \DN@{\Err@{\string\newfontstyle\string#1 can't be followed by
   \string#2}}%
 \else
  \DN@##1{%
   \gdef\Next@{##1}%
    \expandafter\let\csname\exstring@#1@F#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
    \getR@#1{#2}\expandafter\letR@@\nextiii@ F\fi
    }%
 \fi
 \next@}
\def\word#1{\expandafter
 \ifx\csname\exstring@#1@W\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@W1\endcsname\relax
   \DN@{\Err@{\noexpand\word can't be used with \string#1}}%
  \else
   \DN@{\word@#1}%
  \fi
 \else
  \DN@{{\csname\exstring@#1@W\endcsname}}%
 \fi
 \next@}
\def\word@#1#2{\expandafter
 \ifx\csname\exstring@#1@W#2\endcsname\relax
  \DN@{\Err@{\string\word\noexpand#1can't be followed by \string#2}}%
 \else
  \DN@{{\csname\exstring@#1@W#2\endcsname}}%
 \fi
 \next@}
\def\newword#1{\expandafter
 \ifx\csname\exstring@#1@W\endcsname\relax
  \expandafter\ifx\csname\exstring@#1@W1\endcsname\relax
   \DN@{\Err@{\noexpand\newword can't be used  with \string#1}}%
  \else
   \DN@{\newword@#1}%
  \fi
 \else
  \DN@{%
   \DNii@{%
    \expandafter\let\csname\exstring@#1@W\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R\endcsname\relax\else
     \getR@#1{}\expandafter\letR@\nextiii@ W\fi
    }%
   \afterassignment\nextii@\gdef\Next@}%
 \fi
 \next@}
\def\newword@#1#2{\expandafter
 \ifx\csname\exstring@#1@W#2\endcsname\relax
  \DN@{\Err@{\string\newword\noexpand#1can't be followed by \string#2}}%
 \else
  \DN@{%
   \DNii@{%
    \expandafter\let\csname\exstring@#1@W#2\endcsname\Next@
    \expandafter\ifx\csname\exstring@#1@R#2\endcsname\relax\else
     \getR@#1{#2}\expandafter\letR@@\nextiii@ W\fi
    }%
   \afterassignment\nextii@\gdef\Next@}%
 \fi
 \next@}
\newif\iffn@
\newcount\footmark@C
\footmark@C\z@
\def\footmark@S#1{$^{#1}$}
\let\footmark@N\arabic
\def\footmark@F{\rm}
\def\foottext@S#1{$^{#1}$}
\def\foottext@F{\rm}
\let\modifyfootnote@\relax
\def\modifyfootnote#1{\def\modifyfootnote@{#1}}
\def\vfootnote@#1{\insert\footins
 \bgroup
 \floatingpenalty\@MM\interlinepenalty\interfootnotelinepenalty
 \leftskip\z@\rightskip\z@\spaceskip\z@\xspaceskip\z@
 \rm\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
 \locallabel@\noindent@@{\foottext@F#1}\modifyfootnote@
 \footstrut\FN@\fo@t}
\def\fo@t{\ifcat\bgroup\noexpand\next\expandafter\f@@t\else
 \expandafter\f@t\fi}
\def\f@t#1{#1\@foot}
\def\f@@t{\bgroup\aftergroup\@foot\afterassignment\FNSSP@\let\next@}
\def\@foot{\unskip\lower\dp\strutbox\vbox to\dp\strutbox{}\egroup
 \iffn@\expandafter\fn@false\else
 \expandafter\postvanish@\fi}
\newif\ifplainfn@
\plainfn@true
\def\fancyfootnotes{\plainfn@false}
\newcount\fancyfootmarkcount@
\fancyfootmarkcount@\z@
\newcount\lastfnpage@
\lastfnpage@-\@M
\let\justfootmarklist@\empty
\def\footmark{\let\@sf\empty
 \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
 \DN@{\ifx"\next\expandafter\nextii@\else\expandafter\footmark@\fi}%
 \DNii@"##1"{%
  \iffirstchoice@
   {\let\style\footmark@S\let\numstyle\footmark@N
   \footmark@F##1%
   \noexpands@
   \let\style\foottext@S
   \Qlabel@{##1}%
   }%
   \iffn@\else
    {\noexpands@
    \xdef\Next@{{\Thelabel@}{\Thelabel@@}{\Thelabel@@@}{\Thelabel@@@@}}%
    }%
    \expandafter\rightappend@\Next@\to\justfootmarklist@
   \fi
  \fi
  \@sf\relax}%
 \FN@\next@}
\def\footmark@{%
 \iffirstchoice@
  \global\advance\footmark@C\@ne
  \ifplainfn@
   \xdef\adjustedfootmark@{\number\footmark@C}%
  \else
   {\let\\\or\xdef\Next@{\ifcase\number\footmark@C\fnpages@\else
     -\@M\fi}}%
   \ifnum\Next@=-\@M
    \xdef\adjustedfootmark@{\number\footmark@C}%
   \else
    \ifnum\Next@=\lastfnpage@
     \global\advance\fancyfootmarkcount@\@ne
    \else
     \global\fancyfootmarkcount@\@ne
     \global\lastfnpage@\Next@
    \fi
    \xdef\adjustedfootmark@{\number\fancyfootmarkcount@}%
   \fi
  \fi
  {\noexpands@
  \xdef\Thelabel@@@{\adjustedfootmark@}%
  \xdefThelabel@\footmark@N
  \xdef\Thelabel@@@@{\Thelabel@}%
  \xdefThelabel@@\foottext@S
  }%
  \iffn@\else
   {\noexpands@
   \xdef\Next@{{\Thelabel@}{\Thelabel@@}{\Thelabel@@@}{\Thelabel@@@@}}%
   }%
   \expandafter\rightappend@\Next@\to\justfootmarklist@
  \fi
  \ifplainfn@
  \else
   \edef\next@{\write\laxwrite@{F\noexpand\the\pageno}}\next@
  \fi
 \fi
 \footmark@S{\footmark@N{\adjustedfootmark@}}%
 \@sf\relax}
\def\foottext{\prevanish@
 \ifx\justfootmarklist@\empty
  \Err@{There is no \noexpand\footmark for this \string\foottext}\fi
 \DN@\\##1##2\next@{\DN@{##1}\gdef\justfootmarklist@{##2}}%
 \expandafter\next@\justfootmarklist@\next@
 \expandafter\foottext@\next@}
\def\foottext@#1#2#3#4{{\noexpands@
  \xdef\Thelabel@{#1}\xdef\Thelabel@@{#2}%
  \xdef\Thelabel@@@{#3}\xdef\Thelabel@@@@{#4}}%
  \vfootnote@{\thelabel@@}}
\rightadd@\foottext\to\vanishlist@
\def\footnote{\fn@true
 \let\@sf\empty
 \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
 \DN@{\ifx"\next\expandafter\nextii@\else\expandafter\nextiii@\fi}%
 \DNii@"##1"{\footmark"##1"\vfootnote@{\let\style\foottext@S
  \let\numstyle\footmark@N##1}}%
 \def\nextiii@{\footmark\vfootnote@{\foottext@S{\footmark@N
  {\adjustedfootmark@}}}}%
 \FN@\next@}
\newdimen\litindent
\litindent20\p@
\newbox\litbox@
\newbox\Litbox@
\newcount\interlitpenalty@
\interlitpenalty@\@M
\newcount\litlines@
{\obeyspaces\gdef\defspace@{\def {\allowbreak\hskip.5emminus.15em}}}
{\obeylines\gdef\letM@{\let^^M\CtrlM@}}
\def\CtrlM@{\egroup
 \ifcase\litlines@\advance\litlines@\@ne\or
 \box\litbox@\advance\litlines@\@ne\else
 \penalty\interlitpenalty@\box\litbox@\fi
 \Lit@}
\def\Lit@{\setbox\litbox@\hbox\bgroup\litdefs@\hskip\litindent}
\newcount\littab@
\littab@8
\def\littab#1{\littab@#1\relax}
{\catcode`\^^I=\active\gdef\letTAB@{\let^^I\TAB@}}
\def\TAB@{\egroup
 \dimen@\wd\litbox@
 \advance\dimen@-\litindent
 \setboxz@h{\tt0}%
 \dimen@ii\littab@\wdz@
 \divide\dimen@\dimen@ii
 \multiply\dimen@\dimen@ii
 \advance\dimen@\littab@\wdz@
 \advance\dimen@\litindent
 \setbox\litbox@\hbox\bgroup\litdefs@\hbox to\dimen@{\unhbox\litbox@\hfil}}
{\catcode`\`=\active\gdef`{\relax\lq}}
\let\litbs@\relax
\let\litbs@@\relax
\def\litbackslash#1{%
 \edef\litbs@{\catcode`\string#1=\z@
 \def\noexpand\litbs@@{\def\expandafter\noexpand\csname\string#1\endcsname
  {\char`\string#1}}}}
\def\litcodes@{\catcode`\\=12
 \catcode`\{=12 \catcode`\}=12
 \catcode`\$=12 \catcode`\&=12
 \catcode`\#=12
 \catcode`\^=12 \catcode`\_=12
 \catcode`\@=12 \catcode`\~=12 \catcode`\"=12
 \catcode`\;=12 \catcode`\:=12 \catcode`\!=12 \catcode`\?=12
 \catcode`\%=12 \litbs@\catcode`\`=\active\obeyspaces\defspace@}
\def\activate@#1#2{{\lccode`\~=`#2%
 \lowercase{%
  \if0#1%
  \gdef\Next@{\def~{\egroup\endgroup\bigskip\vskip-\parskip
   \def\next@{\noindent@@\FN@\pretendspace@}\FNSS@\next@}}\else
  \gdef\Next@{\def~{\egroup\egroup\endgroup}}\fi
  }%
 }}
\def\litdefs@{\let\0\empty\let\1\litdelim@\def\ {\char32 }\litbs@@}%
\def\litdelimiter#1{%
 \edef\litdelim@{\char`#1}%
 \def\lit#1{\leavevmode\begingroup\litcodes@\litdefs@
  \tt\hyphenchar\tentt\m@ne\lit@}%
 \def\lit@##1#1{##1\endgroup\null}%
 \def\Lit#1{\ifhmode$$\abovedisplayskip\bigskipamount
  \abovedisplayshortskip\bigskipamount
  \belowdisplayskip\z@\belowdisplayshortskip\z@
  \postdisplaypenalty\@M
  $$\vskip-\baselineskip\else\bigskip\fi
  \begingroup\litlines@\z@
  \catcode`#1=\active\activate@0#1\Next@
  \def\displaybreak{\egroup\break\litlines@\z@\Lit@}%
  \def\allowdisplaybreak{\egroup\allowbreak\litlines@\z@\Lit@}%
  \def\allowdisplaybreaks{\egroup\allowbreak\interlitpenalty@\z@
   \litlines@\z@\Lit@}%
  \litcodes@\tt\catcode`\^^I=\active\letTAB@
  \obeylines\letM@\Lit@}%
 \def\Litbox##1=#1{\begingroup\ifodd##1\relax\aftergroup\global\fi
  \aftergroup\setbox\aftergroup##1\aftergroup\box\aftergroup\Litbox@
  \def\allowdisplaybreak{\egroup\allowbreak\litlines@\z@\Lit@}%
  \def\allowdisplaybreaks{\egroup\allowbreak\interlitpenalty@\z@
   \litlines@\z@\Lit@}%
  \catcode`#1=\active\activate@1#1\Next@
  \litcodes@\tt\catcode`\^^I=\active\letTAB@
  \obeylines\letM@\global\setbox\Litbox@\vbox\bgroup\litindent\z@%
  \litlines@\z@\Lit@}%
}
\newbox\titlebox@
\setbox\titlebox@\vbox{}
\rightadd@\title\to\overlonglist@
\def\title{\begingroup\Let@
 \global\setbox\titlebox@\vbox\bgroup\tabskip\hss@
 \halign to\hsize\bgroup\bf\hfil\ignorespaces##\unskip\hfil\cr}
\def\endtitle{\crcr\egroup\egroup\endgroup\overlong@false}
\newbox\authorbox@
\rightadd@\author\to\overlonglist@
\def\author{\begingroup\Let@
 \global\setbox\authorbox@\vbox\bgroup\tabskip\hss@
 \halign to\hsize\bgroup\rm\hfil\ignorespaces##\unskip\hfil\cr}
\def\endauthor{\crcr\egroup\egroup\endgroup\overlong@false}
\newbox\affilbox@
\def\affil{\begingroup\Let@
 \global\setbox\affilbox@\vbox\bgroup\tabskip\hss@
 \halign to\hsize\bgroup\rm\hfil\ignorespaces##\unskip\hfil\cr}%
\def\endaffil{\crcr\egroup\egroup\endgroup\overlong@false}
\let\date@\relax
\def\date#1{\gdef\date@{\ignorespaces#1\unskip}}
\def\today{\ifcase\month\or January\or February\or March\or April\or May\or
 June\or July\or August\or September\or October\or November\or December\fi
 \space\number\day, \number\year}
\def\maketitle{\hrule\height\z@\vskip-\topskip
 \vskip24\p@ plus12\p@ minus12\p@
 \unvbox\titlebox@
 \ifvoid\authorbox@\else\vskip12\p@ plus6\p@ minus3\p@\unvbox\authorbox@\fi
 \ifvoid\affilbox@\else\vskip10\p@ plus5\p@ minus2\p@\unvbox\affilbox@\fi
 \ifx\date@\relax\else\vskip6\p@ plus2\p@ minus\p@\centerline{\rm\date@}\fi
 \vskip18\p@ plus12\p@ minus6\p@}
\def\cite{%
 \DNii@(##1)##2{{\rm[}{##2}, {##1\/}{\rm]}}%
 \def\nextiii@##1{{\rm[}{##1\/}{\rm]}}%
 \DN@{\ifx\next(\expandafter\nextii@\else\expandafter\nextiii@\fi}%
 \FN@\next@}
\def\makebib@W{Bibliography}
\def\makebib{\begingroup\rm\bigbreak\centerline{\smc\makebib@W}%
 \nobreak\medskip
 \sfcode`\.=\@m\everypar{}\parindent\z@
 \def\nopunct{\nopunct@true}\def\nospace{\nospace@true}%
 \nopunct@false\nospace@false
 \def\lkerns@{\null\kern\m@ne sp\kern\@ne sp}%
 \def\nkerns@{\null\kern-\tw@ sp\kern\tw@ sp}%
}
\let\endmak