{\obeyspaces\AtBeginDocument{\global\let =\ }} \def\nwopt@nomargintag{\let\nwmargintag=\@gobble}
\def\nwopt@margintag{ \def\nwmargintag##1{\leavevmode\llap{##1\kern\nwmarginglue\kern\codemargin}}}
\def\nwopt@margintag{ \def\nwmargintag##1{\leavevmode\kern-\codemargin\nwthemargintag{##1}\kern\codemargin}}
\def\nwthemargintag#1{\llap{#1\kern\nwmarginglue}}
\nwopt@margintag
\newdimen\nwmarginglue
\nwmarginglue=0.3in
\def\nwtagstyle{\footnotesize\Rm}
\setbox0=\hbox{\tt m}
\newdimen\codehsize
\codehsize=91\wd0 \newdimen\codemargin
\codemargin=0pt
\newdimen\nwdefspace
\nwdefspace=\codehsize
\ifx\textwidth\undefined
\advance\nwdefspace by -\hsize\relax
\else
\advance\nwdefspace by -\textwidth\relax
\fi
\chardef\other=12
\def\setupcode{ \chardef\\=`\\
\chardef\{=`\{
\chardef\}=`\}
\catcode`\$=\other
\catcode`\&=\other
\catcode`\#=\other
\catcode`\%=\other
\catcode`\~=\other
\catcode`\_=\other
\catcode`\^=\other
\catcode`\"=\other \obeyspaces\Tt
}
\def\nwendquote{\relax\ifhmode\spacefactor=1000 \fi}
{\catcode`\^^M=\active \gdef\newlines{\catcode`\^^M=\active \def^^M{\par\startline}} \gdef\eatline#1^^M{\relax}}
\def\startline{\noindent\hskip\parindent\ignorespaces}
\def\nwnewline{\ifvmode\else\hfil\break\leavevmode\hbox{}\fi}
\def\setupmodname{ \catcode`\$=3
\catcode`\&=4
\catcode`\#=6
\catcode`\%=14
\catcode`\~=13
\catcode`\_=8
\catcode`\^=7
\catcode`\ =10
\catcode`\^^M=5
\let\nwlbrace\lbrace
\let\nwrbrace\rbrace
\let\{\nwlbrace
\let\}\nwrbrace
\Rm}
\def\LA{\begingroup\maybehbox\bgroup\setupmodname\It$\langle$}
\def\RA{\/$\rangle$\egroup\endgroup}
\def\code{\leavevmode\begingroup\setupcode\newlines}
\def\edoc{\endgroup}
\let\maybehbox\relax
\newbox\equivbox
\setbox\equivbox=\hbox{$\equiv$}
\newbox\plusequivbox
\setbox\plusequivbox=\hbox{$\mathord{+}\mathord{\equiv}$}
\def\moddef{\leavevmode\kern-\codemargin\LA}
\def\endmoddef{\RA\ifmmode\equiv\else\unhcopy\equivbox\fi
\nobreak\hfill\nobreak}
\def\plusendmoddef{\RA\ifmmode\mathord{+}\mathord{\equiv}\else\unhcopy\plusequivbox\fi
\nobreak\hfill\nobreak}
\def\chunklist{\errhelp{I changed \chunklist to \nowebchunks.
I'll try to avoid such incompatible changes in the future.}\errmessage{Use \string\nowebchunks\space instead of \string\chunklist}}
\def\nowebchunks{\message{<Warning: You need noweave -x to use \string\nowebchunks>}}
\def\nowebindex{\message{<Warning: You need noweave -index to use \string\nowebindex>}}
\ifx\documentstyle\undefined
\let\Rm=\rm \let\It=\it \let\Tt=\tt \else\ifx\selectfont\undefined
\let\Rm=\rm \let\It=\it \let\Tt=\tt \else \def\Rm{\reset@font\rm}
\def\It{\reset@font\it}
\def\Tt{\reset@font\tt}
\def\Bf{\reset@font\bf}
\fi\fi
\ifx\reset@font\undefined \let\reset@font=\relax \fi
\def\noweboptions#1{ \def\@nwoptionlist{#1} \@for\@nwoption:=\@nwoptionlist\do{ \@ifundefined{nwopt@\@nwoption}{ \@latexerr{There is no such noweb option as '\@nwoption'}\@eha}{ \csname nwopt@\@nwoption\endcsname}}}
\codemargin=10pt
\advance\codehsize by \codemargin \advance\nwdefspace by \codemargin \def\setcodemargin#1{ \advance\codehsize by -\codemargin \advance\nwdefspace by -\codemargin \codemargin=#1
\advance\codehsize by \codemargin \advance\nwdefspace by \codemargin }
\def\nwopt@shift{ \dimen@=-0.8in
\if@twoside \advance\evensidemargin by \dimen@
\else \advance\evensidemargin by \dimen@
\advance\oddsidemargin by \dimen@
\fi
}
\let\nwopt@noshift\@empty
\def\nwbegincode#1{ \begingroup
\topsep \nwcodetopsep
\@beginparpenalty \@highpenalty
\@endparpenalty -\@highpenalty
\@begincode }
\def\nwendcode{\endtrivlist \endgroup \filbreak}
\newenvironment{webcode}{ \@begincode
}{ \endtrivlist}
\def\@begincode{ \trivlist \item[] \leftskip\@totalleftmargin \advance\leftskip\codemargin
\rightskip\hsize \advance\rightskip -\codehsize
\parskip\z@ \parindent\z@ \parfillskip\@flushglue
\linewidth\codehsize
\@@par
\def\par{\leavevmode\null \@@par \penalty\nwcodepenalty} \obeylines
\@noligs \ifx\verbatim@nolig@list\undefined\else
\let\do=\nw@makeother \verbatim@nolig@list \do@noligs\`
\fi
\setupcode \frenchspacing \@vobeyspaces
\nowebsize \setupcode
\let\maybehbox\mbox }
\newskip\nwcodetopsep \nwcodetopsep = 3pt plus 1.2pt minus 1pt
\let\nowebsize=\normalsize
\def\nwopt@tinycode{\let\nowebsize=\tiny}
\def\nwopt@footnotesizecode{\let\nowebsize=\footnotesize}
\def\nwopt@scriptsizecode{\let\nowebsize=\scriptsize}
\def\nwopt@smallcode{\let\nowebsize=\small}
\def\nwopt@normalsizecode{\let\nowebsize=\normalsize}
\def\nwopt@largecode{\let\nowebsize=\large}
\def\nwopt@Largecode{\let\nowebsize=\Large}
\def\nwopt@LARGEcode{\let\nowebsize=\LARGE}
\def\nwopt@hugecode{\let\nowebsize=\huge}
\def\nwopt@Hugecode{\let\nowebsize=\Huge}
\newcount\nwcodepenalty \nwcodepenalty=\@highpenalty
\def\nw@makeother#1{\catcode`#1=12 }
\def\nwbegindocs#1{\ifvmode\noindent\fi}
\let\nwenddocs=\relax
\let\nwdocspar=\filbreak
\def\@nwsemifilbreak#1{\vskip0pt plus#1\penalty-200\vskip0pt plus -#1}
\newdimen\nwbreakcodespace
\nwbreakcodespace=0.2in \def\nwopt@breakcode{ \def\nwdocspar{\@nwsemifilbreak{0.2in}} \def\nwendcode{\endtrivlist\endgroup} }
\raggedbottom
\def\code{\leavevmode\begingroup\setupcode\@vobeyspaces\obeylines}
\let\edoc=\endgroup
\newdimen\@original@textwidth
\def\ps@noweb{ \@original@textwidth=\textwidth
\let\@mkboth\@gobbletwo
\def\@oddfoot{}\def\@evenfoot{} \if@twoside \def\@evenhead{\hbox to \@original@textwidth{ \Rm \thepage\qquad{\Tt\leftmark}\hfil\today}} \def\@oddhead{\hbox to \@original@textwidth{ \Rm \today\hfil{\Tt\leftmark}\qquad\thepage}} \else \def\@oddhead{\hbox to \@original@textwidth{ \Rm \today\hfil{\Tt\leftmark}\qquad\thepage}} \let\@evenhead\@oddhead
\fi
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\subsectionmark\@gobble
\let\subsubsectionmark\@gobble
\let\paragraphmark\@gobble
\let\subparagraphmark\@gobble
\def\nwfilename{\begingroup\let\do\@makeother\dospecials
\catcode`\{=1 \catcode`\}=2 \nw@filename}
\def\nw@filename##1{\endgroup\markboth{##1}{##1}\let\nw@filename=\nw@laterfilename}}
\def\nw@laterfilename#1{\endgroup\clearpage \markboth{#1}{#1}}
\let\nwfilename=\@gobble
\def\nwcodecomment#1{\@@par\penalty\nwcodepenalty
\if@firstnwcodecomment
\vskip\nwcodecommentsep\penalty\nwcodepenalty\@firstnwcodecommentfalse
\fi \hspace{-\codemargin}{ \rightskip=0pt plus1in
\interlinepenalty\nwcodepenalty
\let\\\relax\footnotesize\Rm #1\@@par\penalty\nwcodepenalty}}
\def\@nwalsodefined#1{\nwcodecomment{\@nwlangdepdef\ \nwpageprep\ \@pagesl{#1}.}}
\def\@nwused#1{\nwcodecomment{\@nwlangdepcud\ \nwpageprep\ \@pagesl{#1}.}}
\def\@nwnotused#1{\nwcodecomment{\@nwlangdeprtc.}}
\def\nwoutput#1{\nwcodecomment{\@nwlangdepcwf\ {\Tt \@stripstar#1*\stripped}.}}
\def\@stripstar#1*#2\stripped{#1}
\newcommand{\nwprevdefptr}[1]{ \mbox{$\mathord{\triangleleft}\,\mathord{\mbox{\subpageref{#1}}}$}}
\newcommand{\nwnextdefptr}[1]{ \mbox{$\mathord{\mbox{\subpageref{#1}}}\,\mathord{\triangleright}$}}
\newcommand{\@nwprevnextdefs}[2]{ {\nwtagstyle
\ifx\relax#1\else ~~\nwprevdefptr{#1}\fi
\ifx\relax#2\else ~~\nwnextdefptr{#2}\fi}}
\newcommand{\@nwusesondefline}[1]{{\nwtagstyle~~(\@pagenumsl{#1})}}
\newcommand{\@nwstartdeflinemarkup}{\nobreak\hskip 1.5em plus 1fill\nobreak}
\newcommand{\@nwenddeflinemarkup}{\nobreak\hskip \nwdefspace minus\nwdefspace\nobreak}
\def\nwopt@longxref{ \let\nwalsodefined\@nwalsodefined
\let\nwused\@nwused
\let\nwnotused\@nwnotused
\let\nwprevnextdefs\@gobbletwo
\let\nwusesondefline\@gobble
\let\nwstartdeflinemarkup\relax
\let\nwenddeflinemarkup\relax
}
\def\nwopt@shortxref{ \let\nwalsodefined\@gobble
\let\nwused\@gobble
\let\nwnotused\@gobble
\let\nwprevnextdefs\@nwprevnextdefs
\let\nwusesondefline\@nwusesondefline
\let\nwstartdeflinemarkup\@nwstartdeflinemarkup
\let\nwenddeflinemarkup\@nwenddeflinemarkup
}
\def\nwopt@noxref{ \let\nwalsodefined\@gobble
\let\nwused\@gobble
\let\nwnotused\@gobble
\let\nwprevnextdefs\@gobbletwo
\let\nwusesondefline\@gobble
\let\nwstartdeflinemarkup\relax
\let\nwenddeflinemarkup\relax
}
\nwopt@shortxref \newskip\nwcodecommentsep \nwcodecommentsep=3pt plus 1pt minus 1pt
\newif\if@firstnwcodecomment\@firstnwcodecommenttrue
\newcount\@nwlopage\newcount\@nwhipage \newcount\@nwlosub \newcount\@nwhisub \def\@nwfirstpage#1#2#3{ \@nwlopage=#2 \@nwlosub=#1
\def\@nwloxreftag{#3} \advance\@nwpagecount by \@ne
\@nwhipage=\@nwlopage\advance\@nwhipage by \@ne }
\def\@nwnextpage#1#2#3{ \ifnum\@nwhipage=#2
\advance\@nwhipage by \@ne
\advance\@nwpagecount by \@ne
\@nwhisub=#1
\def\@nwhixreftag{#3}\else
\ifnum#2<\@nwlopage \advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa\@nwfirstpage{#1}{#2}{#3}\else
\ifnum#2>\@nwhipage \advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa\@nwfirstpage{#1}{#2}{#3}\else
\@nwlosub=0 \@nwhisub=0
\fi\fi\fi
}
\newcount\@nwpagetemp
\newcount\@nwpagecount
\def\@nwfirstpagel#1{ \@ifundefined{r@#1}{\@warning{Reference `#1' on page \thepage \space undefined} \nwix@cons\nw@pages{\\{\bf ??}}}{ \edef\@tempa{\noexpand\@nwfirstpage\subpagepair{#1}{#1}}\@tempa}}
\def\@nwnextpagel#1{ \@ifundefined{r@#1}{\@warning{Reference `#1' on page \thepage \space undefined} \nwix@cons\nw@pages{\\{\bf ??}}}{ \edef\@tempa{\noexpand\@nwnextpage\subpagepair{#1}{#1}}\@tempa}}
\def\@pagesl#1{ \gdef\nw@pages{}\@nwpagecount=0
\def\\##1{\@nwfirstpagel{##1}\let\\=\@nwnextpagel}#1 \advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa\def\\##1{\@nwhyperpagenum##1} \ifnum\@nwpagecount=1 \nwpageword \else \nwpagesword\fi~\commafy{\nw@pages}}
\def\@nwhyperpagenum#1#2{\nwhyperreference{#2}{#1}}
\def\@pagenumsl#1{ \gdef\nw@pages{}\@nwpagecount=0
\def\\##1{\@nwfirstpagel{##1}\let\\=\@nwnextpagel}#1 \advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa \def\\##1{\@nwhyperpagenum##1\let\\=\@nwpagenumslrest}\nw@pages}
\def\@nwpagenumslrest#1{~\@nwhyperpagenum#1}
\def\subpages#1{ \gdef\nw@pages{}\@nwpagecount=0
\def\\##1{\edef\@tempa{\noexpand\@nwfirstpage##1{}}\@tempa
\def\\####1{\edef\@tempa{\noexpand\@nwnextpage####1}\@tempa}}#1 \advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa\def\\##1{\@firstoftwo##1} \ifnum\@nwpagecount=1 \nwpageword \else \nwpagesword\fi~\commafy{\nw@pages}}
\def\@nwaddrange{\advance\@nwhipage by \m@ne
\ifnum\@nwhipage=\@nwlopage
\edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}}} \else
\count@=\@nwhipage \advance\count@ by \m@ne
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwlosub}{\number\@nwlopage}} {\@nwloxreftag}} \noexpand\noexpand\noexpand\\ {{\nwthepagenum{\number\@nwhisub}{\number\@nwhipage}}
{\@nwhixreftag}}} \else \ifnum\@nwlopage<110 \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100 \multiply\count@ by 100
\ifnum\count@=\@nwlopage \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}}\else
\count@=\@nwlopage \divide\count@ by 100
\@nwpagetemp=\@nwhipage \divide\@nwpagetemp by 100
\ifnum\count@=\@nwpagetemp \multiply\@nwpagetemp by 100
\advance \@nwhipage by -\@nwpagetemp
\edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \else \edef\@tempa{\noexpand\noexpand\noexpand\\{{\number\@nwlopage--\number\@nwhipage}{}}} \fi
\fi
\fi \fi
\fi \edef\@tempa{\noexpand\nwix@cons\noexpand\nw@pages{\@tempa}}\@tempa}
\def\nwpageword{\@nwlangdepchk} \def\nwpagesword{\@nwlangdepchks} \def\nwpageprep{\@nwlangdepin} \newcommand\nw@genericref[2]{ \expandafter\nw@g@nericref\csname r@#2\endcsname#1{#2}}
\newcommand\nw@g@nericref[3]{ \ifx#1\relax
\ref{#3} \else
\expandafter#2#1.\\ \fi}
\def\nw@selectone#1#2#3\\{#1}
\def\nw@selecttwo#1#2#3\\{#2}
\def\nw@selectonetwo#1#2#3\\{{#1}{#2}}
\newcommand{\subpageref}[1]{ \nwhyperreference{#1}{\nw@genericref\@subpageref{#1}}}
\def\@subpageref#1#2#3\\{ \@ifundefined{2on#2}{#2}{\nwthepagenum{#1}{#2}}}
\newcommand{\subpagepair}[1]{ \@ifundefined{r@#1} {{0}{0}} {\nw@genericref\@subpagepair{#1}}}
\def\@subpagepair#1#2#3\\{ \@ifundefined{2on#2}{{0}{#2}}{{#1}{#2}}}
\newcommand{\sublabel}[1]{ \leavevmode \@bsphack
\nwblindhyperanchor{#1} \if@filesw {\let\thepage\relax
\def\protect{\noexpand\noexpand\noexpand} \edef\@tempa{\write\@auxout{\string
\newsublabel{#1}{{}{\thepage}}}} \expandafter}\@tempa
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\newcommand{\nosublabel}[1]{ \@bsphack\if@filesw {\let\thepage\relax
\def\protect{\noexpand\noexpand\noexpand} \edef\@tempa{\write\@auxout{\string
\newlabel{#1}{{0}{\thepage}}}} \expandafter}\@tempa
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\newcommand\newsublabel{ \nw@settrailers
\global\let\newsublabel\@newsublabel
\@newsublabel}
\newcommand{\@newsublabel}[2]{ \edef\this@page{\@cdr#2\@nil} \ifx\this@page\last@page\else
\sub@page=\z@
\fi
\edef\last@page{\this@page}
\advance\sub@page by \@ne
\ifnum\sub@page=\tw@
\global\@namedef{2on\this@page}{} \fi
\pendingsublabel{#1} \edef\@tempa##1{\noexpand\newlabel{##1} {{\number\sub@page}{\this@page}\nw@labeltrailers}} \pending@sublabels
\def\pending@sublabels{}}
\newcommand\nw@settrailers{ \@ifpackageloaded{nameref} {\gdef\nw@labeltrailers{{}{}{}}} {\gdef\nw@labeltrailers{}}}
\renewcommand\nw@settrailers{ \@ifundefined{@secondoffive} {\gdef\nw@labeltrailers{}} {\gdef\nw@labeltrailers{{}{}{}}}}
\newcommand{\nextchunklabel}[1]{ \nwblindhyperanchor{#1} \@bsphack\if@filesw {\let\thepage\relax
\edef\@tempa{\write\@auxout{\string\pendingsublabel{#1}}} \expandafter}\@tempa
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\newcommand\pendingsublabel[1]{ \def\@tempa{\noexpand\@tempa} \edef\pending@sublabels{\noexpand\@tempa{#1}\pending@sublabels}}
\def\pending@sublabels{}
\def\last@page{\relax}
\newcount\sub@page
\def\@alphasubpagenum#1#2{#2\ifnum#1=0 \else\@alph{#1}\fi}
\def\@nosubpagenum#1#2{#2}
\def\@numsubpagenum#1#2{#2\ifnum#1=0 \else.\@arabic{#1}\fi}
\def\nwopt@nosubpage{\let\nwthepagenum=\@nosubpagenum\nwopt@nomargintag}
\def\nwopt@numsubpage{\let\nwthepagenum=\@numsubpagenum}
\def\nwopt@alphasubpage{\let\nwthepagenum=\@alphasubpagenum}
\nwopt@alphasubpage
\newcount\@nwalph@n
\let\@nwalph@d\@tempcnta
\let\@nwalph@bound\@tempcntb
\def\@nwlongalph#1{{ \@nwalph@n=#1\advance\@nwalph@n by-1
\@nwalph@bound=26
\loop\ifnum\@nwalph@n<\@nwalph@bound\else
\advance\@nwalph@n by -\@nwalph@bound
\multiply\@nwalph@bound by 26
\repeat
\loop\ifnum\@nwalph@bound>1
\divide\@nwalph@bound by 26
\@nwalph@d=\@nwalph@n\divide\@nwalph@d by \@nwalph@bound
\multiply\@nwalph@d by \@nwalph@bound
\advance\@nwalph@n by -\@nwalph@d
\divide\@nwalph@d by \@nwalph@bound
\advance\@nwalph@d by 1 \@alph{\@nwalph@d} \repeat
}}
\newcount\nw@chunkcount
\nw@chunkcount=\@ne
\newcommand{\weblabel}[1]{ \@bsphack
\nwblindhyperanchor{#1} \if@filesw {\let\thepage\relax
\def\protect{\noexpand\noexpand\noexpand} \edef\@tempa{\write\@auxout{\string
\newsublabel{#1}{{}{\number\nw@chunkcount}}}} \expandafter}\@tempa
\global\advance\nw@chunkcount by \@ne
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\def\nwopt@webnumbering{ \let\sublabel=\weblabel
\def\nwpageword{chunk}\def\nwpagesword{chunks} \def\nwpageprep{in}}
\def\nwindexdefn#1#2#3{\@auxix{\protect\nwixd}{#2}{#3}}
\def\nwindexuse#1#2#3{\@auxix{\protect\nwixu}{#2}{#3}}
\def\@auxix#1#2#3{ \@bsphack\if@filesw {\let\nwixd\relax\let\nwixu\relax
\def\protect{\noexpand\noexpand\noexpand} \edef\@tempa{\write\@auxout{\string\nwixadd{#1}{#2}{#3}}} \expandafter}\@tempa
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\def\nwixadd#1#2#3{ \@ifundefined{nwixl@#2} {\global\@namedef{nwixl@#2}{#1{#3}}} {\expandafter\nwix@cons\csname nwixl@#2\endcsname{#1{#3}}}}
\def\@nwsubscriptident#1#2{\mbox{$\mbox{#1}_{\mathrm{\subpageref{#2}}}$}}
\def\@nwnosubscriptident#1#2{#1}
\def\@nwhyperident#1#2{\leavevmode\nwhyperreference{#2}{#1}}
\def\nwopt@subscriptidents{ \let\nwlinkedidentq\@nwsubscriptident
\let\nwlinkedidentc\@nwsubscriptident
}
\def\nwopt@nosubscriptidents{ \let\nwlinkedidentq\@nwnosubscriptident
\let\nwlinkedidentc\@nwnosubscriptident
}
\def\nwopt@hyperidents{ \let\nwlinkedidentq\@nwhyperident
\let\nwlinkedidentc\@nwhyperident
}
\def\nwopt@nohyperidents{ \let\nwlinkedidentq\@nwnosubscriptident
\let\nwlinkedidentc\@nwnosubscriptident
}
\def\nwopt@subscriptquotedidents{ \let\nwlinkedidentq\@nwsubscriptident
}
\def\nwopt@nosubscriptquotedidents{ \let\nwlinkedidentq\@nwnosubscriptident
}
\def\nwopt@hyperquotedidents{ \let\nwlinkedidentq\@nwhyperident
}
\def\nwopt@nohyperquotedidents{ \let\nwlinkedidentq\@nwnosubscriptident
}
\nwopt@hyperidents
\newcount\@commacount
\def\commafy#1{ {\nwix@listcount{#1}\@commacount=\nwix@counter
\let\@comma@each=\\ \ifcase\@commacount\let\\=\@comma@each\or\let\\=\@comma@each\or
\def\\{\def\\{ \@nwlangdepand\ \@comma@each}\@comma@each}\else
\def\\{\def\\{, \advance\@commacount by \m@ne
\ifnum\@commacount=1 \@nwlangdepand~\fi\@comma@each}\@comma@each}\fi
#1}}
\def\nwix@cons#1#2{ {\toks0=\expandafter{#1}\def\@tempa{#2}\toks2=\expandafter{\@tempa} \xdef#1{\the\toks0 \the\toks2 }}}
\def\nwix@uses#1{ \def\nwixu{\\}\let\nwixd\@gobble\@nameuse{nwixl@#1}}
\def\nwix@defs#1{ \def\nwixd{\\}\let\nwixu\@gobble\@nameuse{nwixl@#1}}
\newcount\nwix@counter
\def\nwix@listcount#1{ {\count@=0
\def\\##1{\advance\count@ by \@ne } #1\global\nwix@counter=\count@ }}
\def\nwix@usecount#1{\nwix@listcount{\nwix@uses{#1}}}
\def\nwix@defcount#1{\nwix@listcount{\nwix@defs{#1}}}
\def\nwix@id@defs#1{ {{\Tt \@car#1\@nil} \def\\##1{\nwix@defs@space\subpageref{##1}}\nwix@defs{\@cdr#1\@nil}}}
\def\nwopt@breakdefs{\def\nwix@defs@space{\penalty200\ }}
\def\nwopt@nobreakdefs{\def\nwix@defs@space{~}} \nwopt@breakdefs
\def\nwidentuses#1{ \nwcodecomment{\@nwlangdepuss\ \let\\=\nwix@id@defs\commafy{#1}.}}
\def\nwix@totaluses#1{ {\count@=0
\def\\##1{\nwix@usecount{\@cdr##1\@nil}\advance\count@ by\nwix@counter} #1\global\nwix@counter\count@ }}
\def\nwix@id@uses#1#2{ \nwix@usecount{#2}\ifnum\nwix@counter>0
{\advance\leftskip by \codemargin
\nwcodecomment{{\Tt #1}, \@nwlangdepusd\ \nwpageprep\ \@pagesl{\nwix@uses{#2}}.}} \else
\ifnw@hideunuseddefs\else
{\advance\leftskip by \codemargin \nwcodecomment{{\Tt #1}, \@nwlangdepnvu.}} \fi
\fi}
\def\nwidentdefs#1{ \ifnw@hideunuseddefs\nwix@totaluses{#1}\else\nwix@listcount{#1}\fi
\ifnum\nwix@counter>0
\nwcodecomment{\@nwlangdepdfs:} {\def\\##1{\nwix@id@uses ##1}#1} \fi}
\newif\ifnw@hideunuseddefs\nw@hideunuseddefsfalse
\def\nwopt@hideunuseddefs{\nw@hideunuseddefstrue}
\def\nwopt@noidentxref{ \let\nwidentdefs\@gobble
\let\nwidentuses\@gobble}
\def\nw@underlinedefs{ \let\\=\relax\def\nw@comma{, }
\def\nwixd##1{\\\underline{\subpageref{##1}}\let\\\nw@comma} \def\nwixu##1{\\\subpageref{##1}\let\\\nw@comma}}
\def\nw@indexline#1#2{ {\indent {\Tt #1}: \nw@underlinedefs\@nameuse{nwixl@#2}\par}}
\newenvironment{thenowebindex}{\parindent=-10pt \parskip=\z@
\advance\leftskip by 10pt
\advance\rightskip by 0pt plus1in\par\@afterindenttrue
\def\\##1{\nw@indexline##1}}{}
\def\nowebindex{ \@ifundefined{nwixs@i} {\@warning{The \string\nowebindex\space is empty}} {\begin{thenowebindex}\@nameuse{nwixs@i}\end{thenowebindex}}}
\def\nowebindex@external{ {\let\nwixadds@c=\@gobble
\def\nwixadds@i##1{\nw@indexline##1} \def\nwixaddsx##1##2{\@nameuse{nwixadds@##1}{##2}} \begin{thenowebindex}\@input{\jobname.nwi}\end{thenowebindex}}}
\def\nwixlogsorted#1#2{ \@bsphack\if@filesw
\toks0={#2}\immediate\write\@auxout{\string\nwixadds{#1}{\the\toks0}}
\if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
\def\nwixadds#1#2{ \@ifundefined{nwixs@#1} {\global\@namedef{nwixs@#1}{\\{#2}}} {\expandafter\nwix@cons\csname nwixs@#1\endcsname{\\{#2}}}}
\let\nwixaddsx=\@gobbletwo
\def\nwopt@externalindex{ \ifx\nwixadds\@gobbletwo \else
\let\nwixaddsx=\nwixadds \let\nwixadds=\@gobbletwo
\let\nowebindex=\nowebindex@external
\let\nowebchunks=\nowebchunks@external
\fi}
\def\nowebchunks{ \@ifundefined{nwixs@c} {\@warning{The are no \string\nowebchunks}} {\begin{thenowebchunks}\@nameuse{nwixs@c}\end{thenowebchunks}}}
\def\nowebchunks@external{ {\let\nwixadds@i=\@gobble
\def\nwixadds@c##1{\nw@onechunk##1} \def\nwixaddsx##1##2{\@nameuse{nwixadds@##1}{##2}} \begin{thenowebchunks}\@input{\jobname.nwi}\end{thenowebchunks}}}
\@namedef{r@nw@notdef}{{0}{(\@nwlangdepnvd)}}
\def\nw@chunkunderlinedefs{ \let\\=\relax\def\nw@comma{, }
\def\nwixd##1{\\\underline{\subpageref{##1}}\let\\\nw@comma} \def\nwixu##1{\\\subpageref{##1}\let\\\nw@comma}}
\def\nw@onechunk#1#2#3{ \@ifundefined{r@#2}{}{ \indent\LA #1~{\nwtagstyle\subpageref{#2}}\RA
\if@nwlongchunks{~\nw@chunkunderlinedefs#3}\fi\par}}
\newenvironment{thenowebchunks}{\vskip3pt
\parskip=\z@\parindent=-10pt \advance\leftskip by 10pt
\advance\rightskip by 0pt plus10pt \@afterindenttrue
\def\\##1{\nw@onechunk##1}}{}
\newif\if@nwlongchunks
\@nwlongchunksfalse
\let\nwopt@longchunks\@nwlongchunkstrue
\newcommand\@nw@hyper@ref{\hyperreference} \newcommand\@nw@hyper@anc{\blindhyperanchor} \newcommand\@nw@hyperref@ref[2]{\hyperlink{noweb.#1}{#2}} \newcommand\@nw@hyperref@anc[1]{\hypertarget{noweb.#1}{\relax}} \newcommand\nwhyperreference{ \@ifundefined{hyperlink}
{\@ifundefined{hyperreference}
{\global\let\nwhyperreference\@gobble}
{\global\let\nwhyperreference\@nw@hyper@ref}}
{\global\let\nwhyperreference\@nw@hyperref@ref} \nwhyperreference
}
\newcommand\nwblindhyperanchor{ \@ifundefined{hyperlink}
{\@ifundefined{hyperreference}
{\global\let\nwblindhyperanchor\@gobble}
{\global\let\nwblindhyperanchor\@nw@hyper@anc}}
{\global\let\nwblindhyperanchor\@nw@hyperref@anc} \nwblindhyperanchor
}
\newcommand\nwanchorto{ \begingroup\let\do\@makeother\dospecials
\catcode`\{=1 \catcode`\}=2 \nw@anchorto}
\newcommand\nw@anchorto[1]{\endgroup\def\nw@next{#1}\nw@anchortofin}
\newcommand\nw@anchortofin[1]{#1\footnote{See URL \texttt{\nw@next}.}}
\let\nwanchorname\@gobble
\newif\ifhtml
\htmlfalse
\let\nwixident=\relax
\def\nwbackslash{\char92}
\def\nwlbrace{\char123}
\def\nwrbrace{\char125}
\def\nwopt@english{ \def\@nwlangdepdef{This definition is continued} \def\@nwlangdepcud{This code is used} \def\@nwlangdeprtc{Root chunk (not used in this document)} \def\@nwlangdepcwf{This code is written to file} \def\@nwlangdepchk{chunk} \def\@nwlangdepchks{chunks} \def\@nwlangdepin{in} \def\@nwlangdepand{and} \def\@nwlangdepuss{Uses} \def\@nwlangdepusd{used} \def\@nwlangdepnvu{never used} \def\@nwlangdepdfs{Defines} \def\@nwlangdepnvd{never defined}}
\let\nwopt@american\nwopt@english
\def\nwopt@portuges{ \def\@nwlangdepdef{Defini\c{c}\~ao continuada em} \def\@nwlangdepcud{C\'odigo usado em} \def\@nwlangdeprtc{Fragmento de topo (sem uso no documento)} \def\@nwlangdepcwf{Este c\'odigo foi escrito no ficheiro} \def\@nwlangdepchk{fragmento} \def\@nwlangdepchks{fragmentos} \def\@nwlangdepin{no(s)} \def\@nwlangdepand{e} \def\@nwlangdepuss{Usa} \def\@nwlangdepusd{usado} \def\@nwlangdepnvu{nunca usado} \def\@nwlangdepdfs{Define} \def\@nwlangdepnvd{nunca definido} }
\def\nwopt@frenchb{ \def\@nwlangdepdef{Suite de la d\'efinition} \def\@nwlangdepcud{Ce code est employ\'e} \def\@nwlangdeprtc{Morceau racine (pas employ\'e dans ce document)} \def\@nwlangdepcwf{Ce code est \'ecrit dans le fichier} \def\@nwlangdepchk{le morceau} \def\@nwlangdepchks{les morceaux} \def\@nwlangdepin{dans} \def\@nwlangdepand{et} \def\@nwlangdepuss{Utilise} \def\@nwlangdepusd{utilis\'{e}} \def\@nwlangdepnvu{jamais employ\'{e}} \def\@nwlangdepdfs{D\'{e}finit} \def\@nwlangdepnvd{jamais defini} }
\let\nwopt@french\nwopt@frenchb
\def\nwopt@german{ \def\@nwlangdepdef{Diese Definition wird fortgesetzt} \def\@nwlangdepcud{Dieser Code wird benutzt} \def\@nwlangdeprtc{Hauptteil (nicht in diesem Dokument benutzt)} \def\@nwlangdepcwf{Dieser Code geht in Datei} \def\@nwlangdepchk{dem Teil} \def\@nwlangdepchks{den Teilen} \def\@nwlangdepin{in} \def\@nwlangdepand{und} \def\@nwlangdepuss{Benutzt} \def\@nwlangdepusd{benutzt} \def\@nwlangdepnvu{nicht benutzt} \def\@nwlangdepdfs{Definiert} \def\@nwlangdepnvd{nicht definiert} }
\def\nwopt@german{ \def\@nwlangdepdef{Diese Definition wird fortgesetzt} \def\@nwlangdepcud{Dieser Code wird benutzt} \def\@nwlangdeprtc{Hauptteil (nicht in diesem Dokument benutzt)} \def\@nwlangdepcwf{Dieser Code schreibt man zum File} \def\@nwlangdepchk{Teil} \def\@nwlangdepchks{Teils} \def\@nwlangdepin{im} \def\@nwlangdepand{und} \def\@nwlangdepuss{Benutzt} \def\@nwlangdepusd{benutzt} \def\@nwlangdepnvu{nicht benutzt} \def\@nwlangdepdfs{Definiert} \def\@nwlangdepnvd{nicht definiert} }
\let\nwopt@ngerman\nwopt@german
\ifx\languagename\undefined \noweboptions{english}
\else
\@ifundefined{nwopt@\languagename}
{\noweboptions{english}}
{\expandafter\noweboptions\expandafter{\languagename}}
\fi