Tidying up techical notes
[barrelfish] / doc / style / hyperref.sty
1 %%
2 %% This is file `hyperref.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% hyperref.dtx  (with options: `package')
8 %% 
9 %% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
10 %% with portions written by David Carlisle and Heiko Oberdiek,
11 %% 2001-2012 Heiko Oberdiek.
12 %%
13 %% This file is part of the `Hyperref Bundle'.
14 %% -------------------------------------------
15 %%
16 %% This work may be distributed and/or modified under the
17 %% conditions of the LaTeX Project Public License, either version 1.3
18 %% of this license or (at your option) any later version.
19 %% The latest version of this license is in
20 %%   http://www.latex-project.org/lppl.txt
21 %% and version 1.3 or later is part of all distributions of LaTeX
22 %% version 2005/12/01 or later.
23 %%
24 %% This work has the LPPL maintenance status `maintained'.
25 %%
26 %% The Current Maintainer of this work is Heiko Oberdiek.
27 %%
28 %% The list of all files belonging to the `Hyperref Bundle' is
29 %% given in the file `manifest.txt'.
30 %%
31 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
32 \ProvidesPackage{hyperref}
33   [2012/02/06 v6.82o %
34   Hypertext links for LaTeX]
35 \begingroup
36   \@makeother\`%
37   \@makeother\=%
38   \edef\x{%
39     \edef\noexpand\x{%
40       \endgroup
41       \noexpand\toks@{%
42         \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
43         \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
44       }%
45     }%
46     \noexpand\x
47   }%
48 \x
49 \@makeother\`
50 \@makeother\=
51 \def\Hy@SetCatcodes{%
52   \@makeother\`%
53   \@makeother\=%
54   \catcode`\$=3 %
55   \catcode`\&=4 %
56   \catcode`\^=7 %
57   \catcode`\_=8 %
58   \@makeother\|%
59   \@makeother\:%
60   \@makeother\(%
61   \@makeother\)%
62   \@makeother\[%
63   \@makeother\]%
64   \@makeother\/%
65   \@makeother\!%
66   \@makeother\<%
67   \@makeother\>%
68   \@makeother\.%
69   \@makeother\;%
70   \@makeother\+%
71   \@makeother\-%
72   \@makeother\"%
73   \@makeother\'%
74 }
75 \begingroup
76   \def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
77   \xdef\Hy@RestoreCatcodes{%
78     \the\toks@
79     \x\$%
80     \x\&%
81     \x\^%
82     \x\_%
83     \x\|%
84     \x\:%
85     \x\(%
86     \x\)%
87     \x\[%
88     \x\]%
89     \x\/%
90     \x\!%
91     \x\<%
92     \x\>%
93     \x\.%
94     \x\;%
95     \x\+%
96     \x\-%
97     \x\"%
98     \x\'%
99   }%
100 \endgroup
101 \Hy@SetCatcodes
102 \IfFileExists{hobsub-hyperref.sty}{%
103   \RequirePackage{hobsub-hyperref}[2011/01/30]%
104 }{}
105 \RequirePackage{ltxcmds}[2010/10/25]
106 \RequirePackage{ifpdf}[2006/02/20]
107 \RequirePackage{pdftexcmds}[2009/04/10]
108 \@ifpackagelater{pdftexcmds}{2010/11/04}{}{%
109   \ltx@IfUndefined{pdfdraftmode}{%
110     \let\pdf@ifdraftmode\ltx@secondoftwo
111   }{%
112     \ifpdf
113       \def\pdf@ifdraftmode{%
114         \ifnum\pdfdraftmode=\ltx@one
115           \expandafter\ltx@firstoftwo
116         \else
117           \expandafter\ltx@secondoftwo
118         \fi
119       }%
120     \else
121       \let\pdf@ifdraftmode\ltx@secondoftwo
122     \fi
123   }%
124 }
125 \RequirePackage{infwarerr}[2010/04/08]
126 \RequirePackage{keyval}[1997/11/10]
127 \RequirePackage{kvsetkeys}[2007/09/29]
128 \RequirePackage{pdfescape}[2007/11/11]
129 \RequirePackage{ifvtex}
130 \RequirePackage{ifxetex}[2006/08/21]
131 \RequirePackage{hycolor}
132 \RequirePackage{letltxmacro}[2008/06/13]
133 \def\Hy@Error{\@PackageError{hyperref}}
134 \def\Hy@Warning{\@PackageWarning{hyperref}}
135 \def\Hy@WarningNoLine{\@PackageWarningNoLine{hyperref}}
136 \def\Hy@Info{\@PackageInfo{hyperref}}
137 \def\Hy@InfoNoLine{\@PackageInfoNoLine{hyperref}}
138 \def\Hy@Message#1{%
139   \GenericWarning{%
140     (hyperref)\@spaces\@spaces\@spaces\@spaces
141   }{%
142     Package hyperref Message: #1\ltx@gobble
143   }%
144 }
145 \chardef\Hy@VersionChecked=0 %
146 \def\Hy@VersionCheck#1{%
147   \begingroup
148     \ltx@IfUndefined{ver@hyperref.sty}{%
149       \Hy@Error{%
150         This should not happen!\MessageBreak
151         Missing hyperref version%
152       }\@ehd
153     }{%
154       \ltx@IfUndefined{ver@#1}{%
155         \Hy@Error{%
156           This should not happen!\MessageBreak
157           Missing version of `#1'%
158         }\@ehd
159       }{%
160         \def\x##1##2##3{%
161           \expandafter\expandafter\expandafter\Hy@@VersionCheck
162           \expandafter\expandafter\expandafter##2%
163           \csname ver@##3\endcsname##1##1\@nil
164         }%
165         \x{ }\y{hyperref.sty}%
166         \x{ }\z{#1}%
167         \ifx\y\z
168         \else
169           \Hy@Error{%
170             Version mismatch!\MessageBreak
171             * \y: hyperref.sty\MessageBreak
172             * \z: #1%
173           }\@ehd
174         \fi
175       }%
176     }%
177   \endgroup
178   \chardef\Hy@VersionChecked=1 %
179 }
180 \def\Hy@@VersionCheck #1#2 #3 #4\@nil{%
181   \def#1{#2 #3}%
182 }
183 \ltx@IfUndefined{pdfmatch}{%
184   \let\Hy@Match\ltx@gobblefour
185 }{%
186   \def\Hy@Match#1#2{%
187     \begingroup
188     \edef\^{\ltx@backslashchar\string^}%
189     \edef\.{\ltx@backslashchar.}%
190     \edef\[{\ltx@backslashchar[}% ]]
191     \edef\${\ltx@backslashchar$}%
192     \edef\({\ltx@backslashchar(}%
193     \edef\){\ltx@backslashchar)}%
194     \edef\|{\ltx@backslashchar|}%
195     \edef\*{\ltx@backslashchar*}%
196     \edef\+{\ltx@backslashchar+}%
197     \edef\?{\ltx@backslashchar?}%
198     \edef\{{\ltx@backslashchar\ltx@leftbracechar}%
199     \edef\}{\ltx@rightbracechar}%
200     \edef\\{\ltx@backslashchar\ltx@backslashchar}%
201     \let\ \ltx@space
202     \ifcase\pdfmatch{#2}{#1} %
203       \endgroup
204       \expandafter\ltx@secondoftwo
205     \or
206       \endgroup
207       \expandafter\ltx@firstoftwo
208     \else
209       \Hy@Warning{%
210         Internal error: Wrong pattern!\MessageBreak
211         --> #2 <--\MessageBreak
212         Pattern check ignored%
213       }%
214       \endgroup
215       \expandafter\ltx@firstoftwo
216     \fi
217   }%
218   \ltx@ifpackagelater{ltxcmds}{2010/09/11}{}{%
219     \begingroup
220       \lccode`0=`\{\relax
221     \lowercase{\endgroup
222       \def\ltx@leftbracechar{0}%
223     }%
224     \begingroup
225       \lccode`0=`\}\relax
226     \lowercase{\endgroup
227       \def\ltx@rightbracechar{0}%
228     }%
229   }%
230 }
231 \@ifundefined{AfterBeginDocument}{%
232   \def\AfterBeginDocument{\AtBeginDocument}%
233 }{}%
234 \def\Hy@AtBeginDocument{%
235   \ltx@LocalAppendToMacro\Hy@AtBeginDocumentHook
236 }
237 \def\Hy@AtEndOfPackage{%
238   \ltx@LocalAppendToMacro\Hy@AtEndOfPackageHook
239 }
240 \let\Hy@AtBeginDocumentHook\ltx@empty
241 \let\Hy@AtEndOfPackageHook\ltx@empty
242 \AtEndOfPackage{%
243   \Hy@AtEndOfPackageHook
244   \let\Hy@AtEndOfPackageHook\@undefined
245   \AfterBeginDocument{%
246     \Hy@AtBeginDocumentHook{}%
247     \let\Hy@AtBeginDocumentHook\@undefined
248   }%
249 }
250 \RequirePackage{kvoptions}[2009/07/21]
251 \newif\ifHy@stoppedearly
252 \newif\ifHy@typexml
253 \newif\ifHy@activeanchor
254 \newif\ifHy@backref
255 \newif\ifHy@bookmarks
256 \newif\ifHy@bookmarksnumbered
257 \newif\ifHy@bookmarksopen
258 \newif\ifHy@breaklinks
259 \newif\ifHy@pdfcenterwindow
260 \newif\ifHy@CJKbookmarks
261 \newif\ifHy@colorlinks
262 \newif\ifHy@draft
263 \let\Hy@finaltrue\Hy@draftfalse
264 \let\Hy@finalfalse\Hy@drafttrue
265 \newif\ifHy@pdfescapeform
266 \newif\ifHy@hyperfigures
267 \newif\ifHy@pdffitwindow
268 \newif\ifHy@frenchlinks
269 \newif\ifHy@hyperfootnotes
270 \newif\ifHy@hyperindex
271 \newif\ifHy@hypertexnames
272 \newif\ifHy@implicit
273 \newif\ifHy@linktocpage
274 \newif\ifHy@localanchorname
275 \newif\ifHy@pdfmenubar
276 \newif\ifHy@naturalnames
277 \newif\ifHy@nesting
278 \newif\ifHy@pdfnewwindowset
279 \newif\ifHy@pdfnewwindow
280 \newif\ifHy@ocgcolorlinks
281 \newif\ifHy@pageanchor
282 \newif\ifHy@pdfpagelabels
283 \newif\ifHy@pdfpagehidden
284 \newif\ifHy@pdfstring
285 \newif\ifHy@plainpages
286 \newif\ifHy@psize
287 \newif\ifHy@raiselinks
288 \newif\ifHy@seminarslides
289 \newif\ifHy@setpagesize
290 \newif\ifHy@texht
291 \newif\ifHy@pdftoolbar
292 \newif\ifHy@unicode
293 \newif\ifHy@pdfusetitle
294 \newif\ifHy@verbose
295 \let\Hy@debugtrue\Hy@verbosetrue
296 \let\Hy@debugfalse\Hy@verbosefalse
297 \newif\ifHy@pdfwindowui
298 \newif\ifHy@pdfdisplaydoctitle
299 \newif\ifHy@pdfa
300 \Hy@backreffalse
301 \Hy@bookmarksnumberedfalse
302 \Hy@bookmarksopenfalse
303 \Hy@bookmarkstrue
304 \Hy@breaklinksfalse
305 \Hy@pdfcenterwindowfalse
306 \Hy@CJKbookmarksfalse
307 \Hy@pdfescapeformfalse
308 \Hy@hyperfiguresfalse
309 \Hy@pdffitwindowfalse
310 \Hy@hyperfootnotestrue
311 \Hy@hyperindextrue
312 \Hy@hypertexnamestrue
313 \Hy@implicittrue
314 \Hy@linktocpagefalse
315 \Hy@localanchornamefalse
316 \Hy@pdfmenubartrue
317 \Hy@naturalnamesfalse
318 \Hy@nestingfalse
319 \Hy@pdfnewwindowsetfalse
320 \Hy@pdfnewwindowfalse
321 \Hy@pageanchortrue
322 \Hy@pdfpagelabelstrue
323 \Hy@pdfpagehiddenfalse
324 \Hy@pdfstringfalse
325 \Hy@plainpagesfalse
326 \Hy@raiselinksfalse
327 \Hy@setpagesizetrue
328 \Hy@texhtfalse
329 \Hy@pdftoolbartrue
330 \Hy@typexmlfalse
331 \Hy@unicodefalse
332 \Hy@pdfusetitlefalse
333 \Hy@verbosefalse
334 \Hy@pdfwindowuitrue
335 \Hy@pdfdisplaydoctitlefalse
336 \Hy@pdfafalse
337 \def\Hy@StepCount#1{\advance#1 by 1 }%
338 \def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }%
339 \newdimen\@linkdim
340 \let\Hy@driver\ltx@empty
341 \let\MaybeStopEarly\relax
342 \newcount\Hy@linkcounter
343 \newcount\Hy@pagecounter
344 \Hy@linkcounter0
345 \Hy@pagecounter0
346 \let\Hy@ReturnEnd\@empty
347 \long\def\Hy@ReturnAfterFiFiEnd#1\fi#2\Hy@ReturnEnd{\fi\fi#1}
348 \long\def\Hy@ReturnAfterElseFiFiEnd#1\else#2\Hy@ReturnEnd{\fi\fi#1}
349 \def\Hy@safe@activestrue{\csname @safe@activestrue\endcsname}
350 \def\Hy@safe@activesfalse{\csname @safe@activesfalse\endcsname}
351 \begingroup\expandafter\expandafter\expandafter\endgroup
352 \expandafter\ifx\csname dimexpr\endcsname\relax
353   \def\hypercalcbpdef#1#2{%
354     \begingroup
355       \toks@{}%
356       \HyCal@scan#2\hypercalcbp\@nil
357     \expandafter\endgroup
358     \expandafter\def\expandafter#1\expandafter{\the\toks@}%
359   }%
360   \def\HyCal@scan#1\hypercalcbp#2\@nil{%
361     \toks@\expandafter{\the\toks@ #1}%
362     \ifx\\#2\\%
363     \else
364       \ltx@ReturnAfterFi{%
365         \HyCal@do#2\@nil
366       }%
367     \fi
368   }%
369   \def\HyCal@do#1#2\@nil{%
370     \@ifpackageloaded{calc}{}{%
371       \Hy@Warning{%
372         For calculations \string\hypercalcbp\space needs\MessageBreak
373         package calc or e-TeX%
374       }%
375     }%
376     \setlength{\dimen@}{#1}%
377     \setlength{\dimen@}{0.99626401\dimen@}%
378     \edef\x{%
379       \toks@{%
380         \the\toks@
381         \strip@pt\dimen@
382       }%
383     }\x
384     \HyCal@scan#2\@nil
385   }%
386 \else
387   \def\hypercalcbp#1{%
388     \strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax
389   }%
390   \def\hypercalcbpdef{\def}%
391 \fi
392 \def\pdfstringdef#1#2{%
393   \begingroup
394     \escapechar`\\%
395     \edef\0{\string\0}%
396     \edef\1{\string\1}%
397     \edef\2{\string\2}%
398     \edef\3{\string\3}%
399     \ifHy@unicode
400       \edef\8{\string\8}%
401       \edef\9{\string\9}%
402       \fontencoding{PU}%
403       \HyPsd@UTFviii
404       \def\ifpdfstringunicode##1##2{##1}%
405     \else
406       \fontencoding{PD1}%
407       \def\ifpdfstringunicode##1##2{##2}%
408     \fi
409     \let\utf@viii@undeferr\HyPsd@utf@viii@undeferr
410     \enc@update
411     \@inmathwarn\pdfstringdef
412     \let\@inmathwarn\HyPsd@inmathwarn
413     \let\add@accent\HyPsd@add@accent
414     \let\{\textbraceleft
415     \let\}\textbraceright
416     \let\\\textbackslash
417     \let\#\textnumbersign
418     \let\$\textdollar
419     \let\%\textpercent
420     \let\&\textampersand
421     \let\_\textunderscore
422     \let\P\textparagraph
423     \let\ldots\textellipsis
424     \let\dots\textellipsis
425     \def\\{\pdfstringdefWarn\\}%
426     \def\newline{\pdfstringdefWarn\newline}%
427     \def\TeX{TeX}%
428     \def\LaTeX{La\TeX}%
429     \def\LaTeXe{%
430       \LaTeX2%
431       \ifHy@unicode\textepsilon\else e\fi
432     }%
433     \def\eTeX{%
434       \ifHy@unicode\textepsilon\else e\fi
435       -\TeX%
436     }%
437     \def\SliTeX{Sli\TeX}%
438     \def\MF{Metafont}%
439     \def\MP{Metapost}%
440     \let\fontencoding\@gobble
441     \let\fontfamily\@gobble
442     \let\fontseries\@gobble
443     \let\fontshape\@gobble
444     \let\fontsize\@gobbletwo
445     \let\selectfont\@empty
446     \let\usefont\@gobblefour
447     \let\emph\@firstofone
448     \let\textnormal\@firstofone
449     \let\textrm\@firstofone
450     \let\textsf\@firstofone
451     \let\texttt\@firstofone
452     \let\textbf\@firstofone
453     \let\textmd\@firstofone
454     \let\textit\@firstofone
455     \let\textsc\@firstofone
456     \let\textsl\@firstofone
457     \let\textup\@firstofone
458     \let\normalfont\@empty
459     \let\rmfamily\@empty
460     \let\sffamily\@empty
461     \let\ttfamily\@empty
462     \let\bfseries\@empty
463     \let\mdseries\@empty
464     \let\itshape\@empty
465     \let\scshape\@empty
466     \let\slshape\@empty
467     \let\upshape\@empty
468     \let\em\@empty
469     \let\rm\@empty
470     \let\Huge\@empty
471     \let\LARGE\@empty
472     \let\Large\@empty
473     \let\footnotesize\@empty
474     \let\huge\@empty
475     \let\large\@empty
476     \let\normalsize\@empty
477     \let\scriptsize\@empty
478     \let\small\@empty
479     \let\tiny\@empty
480     \let\mathversion\@gobble
481     \let\phantom\@gobble
482     \let\vphantom\@gobble
483     \let\hphantom\@gobble
484     \def\begin#1{\csname#1\endcsname}%
485     \def\end#1{\csname end#1\endcsname}%
486     \def\textcolor##1##{\@secondoftwo}%
487     \def\MakeUppercase{\MakeUppercaseUnsupportedInPdfStrings}%
488     \def\MakeLowercase{\MakeLowercaseUnsupportedInPdfStrings}%
489     \let\foreignlanguage\@secondoftwo
490     \let\textlatin\@firstofone
491     \ltx@IfUndefined{language@group}{}{%
492       \csname HyPsd@babel@\language@group\endcsname
493     }%
494     \HyPsd@GreekPatch
495     \HyPsd@SpanishPatch
496     \HyPsd@RussianPatch
497     \HyPsd@BabelPatch
498     \let\@safe@activestrue\relax
499     \let\@safe@activesfalse\relax
500     \let\cyr\relax
501     \let\es@roman\@Roman
502     \let\glqq\textglqq
503     \let\grqq\textgrqq
504     \let\glq\textglq
505     \let\grq\textgrq
506     \let\flqq\textflqq
507     \let\frqq\textfrqq
508     \let\flq\textflq
509     \let\frq\textfrq
510     \let\if@mid@expandable\@firstoftwo
511     \HyPsd@AMSclassfix
512     \let\hspace\HyPsd@hspace
513     \let\label\@gobble
514     \let\index\@gobble
515     \let\glossary\@gobble
516     \let\href\HyPsd@href
517     \let\@mkboth\@gobbletwo
518     \let\ref\HyPsd@ref
519     \let\pageref\HyPsd@pageref
520     \let\nameref\HyPsd@nameref
521     \let\autoref\HyPsd@autoref
522     \let\leavevmode\@empty
523     \let\mbox\@empty
524     \def\halign{\pdfstringdefWarn\halign\@gobble}%
525     \let\ignorespaces\HyPsd@ignorespaces
526     \let\Hy@SectionAnchorHref\@gobble
527     \HyPsd@CJKhook
528     \Hy@pdfstringtrue
529     \pdfstringdefPreHook
530     \HyPsd@LetUnexpandableSpace\space
531     \HyPsd@LetUnexpandableSpace\ %
532     \HyPsd@LetUnexpandableSpace~%
533     \HyPsd@LetUnexpandableSpace\nobreakspace
534     \ltx@IfUndefined{@xspace}{%
535       \let\xspace\HyPsd@ITALCORR
536     }{%
537       \let\xspace\HyPsd@XSPACE
538     }%
539     \let\/\HyPsd@ITALCORR
540     \let\bgroup\/%
541     \let\egroup\/%
542     \let\discretionary\@gobbletwo
543     \def\@ifnextchar{\HyPsd@ifnextchar\@ifnextchar}%
544     \def\kernel@ifnextchar{\HyPsd@ifnextchar\kernel@ifnextchar}%
545     \def\new@ifnextchar{\HyPsd@ifnextchar\new@ifnextchar}%
546     \let\@protected@testopt\HyPsd@protected@testopt
547     \let\@protected@testopt@xargs\HyPsd@protected@testopt
548     \begingroup
549       \let\GenericError\@gobblefour
550       \let\GenericWarning\@gobbletwo
551       \let\GenericInfo\@gobbletwo
552       \ifx\nofrenchguillemets\@undefined
553       \else
554         \nofrenchguillemets
555       \fi
556       \let\Hy@temp\xdef
557       \let\def\HyPsd@DefCommand
558       \let\gdef\HyPsd@DefCommand
559       \let\edef\HyPsd@DefCommand
560       \let\xdef\HyPsd@DefCommand
561       \let\futurelet\HyPsd@LetCommand
562       \let\let\HyPsd@LetCommand
563       \Hy@temp#1{#2}%
564     \endgroup
565     \ifx#1\@empty
566     \else
567       \HyPsd@ProtectSpaces#1%
568       \let\HyPsd@String\@empty
569       \expandafter\HyPsd@RemoveBraces\expandafter{#1|}%
570       \global\let#1\HyPsd@String
571       \let\HyPsd@SPACEOPTI\relax
572       {%
573          \let\HyPsd@String\@empty
574          \expandafter\HyPsd@CheckCatcodes#1\HyPsd@End
575          \global\let#1\HyPsd@String
576       }%
577       \expandafter\HyPsd@RemoveMask\expandafter
578         |\expandafter\@empty#1\HyPsd@End#1%
579       \expandafter\HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1%
580       \let\HyPsd@String\@empty
581       \expandafter\HyPsd@GlyphProcess#1\relax\@empty
582       \global\let#1\HyPsd@String
583       \HyPsd@StringSubst{\\}{\textbackslash}#1%
584       \ifHy@unicode
585         \expandafter\HyPsd@StringSubst\csname 80\040\endcsname
586           \HyPsd@SPACEOPTI#1%
587         \edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}%
588         \expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}%
589           {\HyPsd@SPACEOPTI\80\273}#1%
590       \else
591         \HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1%
592         \expandafter\HyPsd@Subst\expandafter{%
593           \expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI
594           \string\273}{\HyPsd@SPACEOPTI\273}#1%
595       \fi
596       \ifHy@unicode
597         \HyPsd@StringSubst{\)}{\80\051}#1%
598         \HyPsd@Subst){\80\051}#1%
599         \let\HyPsd@empty\relax
600         \expandafter\HyPsd@StringSubst\csname 80\051\endcsname
601           {\HyPsd@empty\80\051}#1%
602       \else
603         \HyPsd@StringSubst{\)}{\051}#1%
604         \HyPsd@Subst){\051}#1%
605         \let\HyPsd@empty\relax
606         \HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1%
607       \fi
608       \expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1%
609       \ltx@IfUndefined{@xspace}{%
610       }{%
611         \let\HyPsd@xspace\relax
612         \expandafter\HyPsd@Subst\expandafter
613           {\HyPsd@XSPACE}\HyPsd@xspace#1%
614         \let\HyPsd@xspace\HyPsd@doxspace
615       }%
616       \xdef#1{#1\HyPsd@empty}%
617       \HyPsd@Subst{---}\textemdash#1%
618       \HyPsd@Subst{--}\textendash#1%
619       \HyPsd@Subst{!`}\textexclamdown#1%
620       \HyPsd@Subst{?`}\textquestiondown#1%
621       \let\HyPsd@empty\@empty
622       \ifHy@unicode
623         \HyPsd@StringSubst\(\textparenleft#1%
624         \HyPsd@Subst(\textparenleft#1%
625       \else
626         \HyPsd@StringSubst\({\050}#1%
627         \HyPsd@Subst({\050}#1%
628         \HyPsd@StringSubst{\050}{\string\(}#1%
629       \fi
630       \ifHy@unicode
631         \edef\HyPsd@SPACEOPTI{\80\040}%
632       \else
633         \let\HyPsd@SPACEOPTI\HyPsd@spaceopti
634       \fi
635       \xdef#1{#1\@empty}%
636     \fi
637   \endgroup
638   \begingroup
639     \ifHy@unicode
640       \HyPsd@ConvertToUnicode#1%
641       \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
642         \ltx@IfUndefined{StringEncodingConvertTest}{%
643         }{%
644           \EdefUnescapeString\HyPsd@temp#1%
645           \ifxetex
646             \let\HyPsd@UnescapedString\HyPsd@temp
647             \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
648                                       {utf16be}{ascii-print}{%
649               \EdefEscapeString\HyPsd@temp\HyPsd@temp
650               \global\let#1\HyPsd@temp
651               \HyPsd@EscapeTeX#1%
652               \Hy@unicodefalse
653             }{%
654               \HyPsd@ToBigChars#1%
655             }%
656           \else
657             \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
658                                       {utf16be}{pdfdoc}{%
659               \EdefEscapeString\HyPsd@temp\HyPsd@temp
660               \global\let#1\HyPsd@temp
661               \HyPsd@EscapeTeX#1%
662               \Hy@unicodefalse
663             }{}%
664           \fi
665         }%
666       \fi
667     \fi
668     \HyPsd@XeTeXBigCharsfalse
669     \pdfstringdefPostHook#1%
670   \endgroup
671 }
672 \def\Hy@pdfstringdef#1#2{%
673   \pdfstringdef\Hy@gtemp{#2}%
674   \let#1\Hy@gtemp
675 }
676 \edef\Hy@temp{\catcode0=\the\catcode0\relax}
677 \catcode\z@=12 %
678 \ifxetex
679   \expandafter\@firstofone
680 \else
681   \let\HyPsd@XeTeXBigCharstrue\@empty
682   \let\HyPsd@XeTeXBigCharsfalse\@empty
683   \expandafter\@gobble
684 \fi
685 {%
686   \newif\ifHyPsd@XeTeXBigChars
687   \def\HyPsd@XeTeXBigCharsfalse{%
688     \global\let\ifHyPsd@XeTeXBigChars\iffalse
689   }%
690   \def\HyPsd@XeTeXBigCharstrue{%
691     \global\let\ifHyPsd@XeTeXBigChars\iftrue
692   }%
693   \def\HyPsd@ToBigChars#1{%
694     \ifHyPsd@XeTeXBigChars
695       \EdefEscapeHex\HyPsd@UnescapedString{%
696         \expandafter\@gobbletwo\HyPsd@UnescapedString
697       }%
698       \begingroup
699         \toks@{}%
700         \escapechar=92\relax
701         \let\x\HyPsd@ToBigChar
702         \expandafter\HyPsd@ToBigChar\HyPsd@UnescapedString
703         \relax\relax\relax\relax\relax\relax\relax
704       \edef\x{%
705         \endgroup
706         \gdef\noexpand#1{\the\toks@}%
707       }%
708       \x
709     \fi
710   }%
711   \def\HyPsd@ToBigChar#1#2#3#4{%
712     \ifx\relax#1\relax
713       \let\x\relax
714     \else
715       \count@="#1#2#3#4\relax
716       \let\y\@empty
717       \lccode\z@=\count@
718       \ifnum\count@=40 % (
719         \let\y\@backslashchar
720       \else
721         \ifnum\count@=41 % )
722           \let\y\@backslashchar
723         \else
724           \ifnum\count@=92 % backslash
725             \let\y\@backslashchar
726           \else
727             \ifnum\count@=10 % newline
728               \edef\y##1{\string\n}%
729             \else
730               \ifnum\count@=13 % carriage return
731                 \edef\y##1{\string\r}%
732               \fi
733             \fi
734           \fi
735         \fi
736       \fi
737       \lowercase{%
738         \toks@\expandafter{%
739           \the\expandafter\toks@
740           \y
741           ^^@%
742         }%
743       }%
744     \fi
745     \x
746   }%
747 }
748 \Hy@temp
749 \@ifpackageloaded{linguex}{%
750   \let\HyLinguex@OrgB\b
751   \let\HyLinguex@OrgC\c
752   \let\HyLinguex@OrgD\d
753   \def\HyLinguex@Restore{%
754     \let\b\HyLinguex@OrgB
755     \let\c\HyLinguex@OrgC
756     \let\d\HyLinguex@OrgD
757   }%
758   \Hy@AtEndOfPackage{%
759     \pdfstringdefDisableCommands{%
760       \ltx@IfUndefined{oldb}{}{\let\b\oldb}%
761       \ltx@IfUndefined{oldc}{}{\let\c\oldc}%
762       \ltx@IfUndefined{oldd}{}{\let\d\oldd}%
763     }%
764   }%
765 }{%
766   \let\HyLinguex@Restore\relax
767 }%
768 \@ifundefined{T@PD1}{%
769   \input{pd1enc.def}%
770   \HyLinguex@Restore
771 }{}
772 \DeclareFontFamily{PD1}{pdf}{}
773 \DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{}
774 \DeclareFontSubstitution{PD1}{pdf}{m}{n}
775 \def\HyPsd@InitUnicode{%
776   \@ifundefined{T@PU}{%
777     \input{puenc.def}%
778     \HyLinguex@Restore
779   }{}%
780   \DeclareFontFamily{PU}{pdf}{}%
781   \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
782   \DeclareFontSubstitution{PU}{pdf}{m}{n}%
783   \let\HyPsd@InitUnicode\relax
784 }
785 \def\texorpdfstring{%
786    \ifHy@pdfstring
787      \expandafter\@secondoftwo
788    \else
789      \expandafter\@firstoftwo
790    \fi
791 }
792 \@ifundefined{pdfstringdefPreHook}{%
793   \let\pdfstringdefPreHook\@empty
794 }{}
795 \@ifundefined{pdfstringdefPostHook}{%
796   \let\pdfstringdefPostHook\@gobble
797 }{}
798 \def\pdfstringdefDisableCommands{%
799   \begingroup
800     \makeatletter
801     \HyPsd@DisableCommands
802 }
803 \long\def\HyPsd@DisableCommands#1{%
804     \ltx@GlobalAppendToMacro\pdfstringdefPreHook{#1}%
805   \endgroup
806 }
807 \def\pdfstringdefWarn#1{%
808    \expandafter\noexpand\csname<>-\string#1\endcsname
809 }
810 \begingroup
811   \catcode0=12 %
812   \def\x{\endgroup
813     \def\HyPsd@ignorespaces{%
814       \romannumeral\expandafter`\expandafter^^@%
815       \romannumeral`^^@%
816     }%
817   }%
818 \x
819 \def\HyPsd@BabelPatch{%
820   \let\HyOrg@languageshorthands\languageshorthands
821   \let\languageshorthands\HyPsd@LanguageShorthands
822 }
823 \begingroup\expandafter\expandafter\expandafter\endgroup
824 \expandafter\ifx\csname pdf@strcmp\endcsname\relax
825   \let\HyPsd@langshort@system\@empty
826   \def\HyPsd@LanguageShorthands#1{%
827     \expandafter\ifx\csname HyPsd@langshort@#1\endcsname
828                     \HyPsd@langshort@system
829       \expandafter\@gobble
830     \else
831       \expandafter\@firstofone
832     \fi
833     {%
834       \HyOrg@languageshorthands{#1}%
835     }%
836   }%
837 \else
838   \def\HyPsd@LanguageShorthands#1{%
839     \ifnum\pdf@strcmp{#1}{system}=\z@
840       \expandafter\@gobble
841     \else
842       \expandafter\@firstofone
843     \fi
844     {%
845       \HyOrg@languageshorthands{#1}%
846     }%
847   }%
848 \fi
849 \def\Hy@temp{%
850   \@ifpackageloaded{babel}{%
851     \@ifpackagelater{babel}{2008/03/16}{%
852       \let\Hy@temp\@empty
853     }{%
854       \def\HyPsd@BabelPatch{%
855         \let\HyOrg@languageshorthands\languageshorthands
856       }%
857     }%
858   }{}%
859 }
860 \Hy@temp
861 \expandafter\Hy@AtBeginDocument\expandafter{\Hy@temp}
862 \newif\ifHy@next
863 \ltx@IfUndefined{danish@sh@"@sel}{}{%
864   \def\HyPsd@babel@danish{%
865     \declare@shorthand{danish}{"|}{}%
866     \declare@shorthand{danish}{"~}{-}%
867   }%
868 }
869 \ltx@IfUndefined{dutch@sh@"@sel}{}{%
870   \def\HyPsd@babel@dutch{%
871     \declare@shorthand{dutch}{"|}{}%
872     \declare@shorthand{dutch}{"~}{-}%
873   }%
874 }
875 \ltx@IfUndefined{finnish@sh@"@sel}{}{%
876   \def\HyPsd@babel@finnish{%
877     \declare@shorthand{finnish}{"|}{}%
878   }%
879 }
880 \ltx@IfUndefined{french@sh@:@sel}{}{%
881   \def\HyPsd@babel@frenchb{%
882     \def\guill@spacing{ }%
883   }%
884 }
885 \ltx@IfUndefined{german@sh@"@sel}{}{%
886   \def\HyPsd@babel@german{%
887     \declare@shorthand{german}{"f}{f}%
888     \declare@shorthand{german}{"|}{}%
889     \declare@shorthand{german}{"~}{-}%
890   }%
891 }
892 \ltx@IfUndefined{macedonian@sh@"@sel}{}{%
893   \def\HyPsd@babel@macedonian{%
894     \declare@shorthand{macedonian}{"|}{}%
895     \declare@shorthand{macedonian}{"~}{-}%
896   }%
897 }{}
898 \ltx@IfUndefined{ngerman@sh@"@sel}{}{%
899   \def\HyPsd@babel@ngerman{%
900     \declare@shorthand{ngerman}{"|}{}%
901     \declare@shorthand{ngerman}{"~}{-}%
902   }%
903 }
904 \ltx@IfUndefined{portuges@sh@"@sel}{}{%
905   \def\HyPsd@babel@portuges{%
906     \declare@shorthand{portuges}{"|}{}%
907   }%
908 }
909 \ltx@IfUndefined{russian@sh@"@sel}{}{%
910   \def\HyPsd@babel@russian{%
911     \declare@shorthand{russian}{"|}{}%
912     \declare@shorthand{russian}{"~}{-}%
913   }%
914 }
915 \ltx@IfUndefined{slovene@sh@"@sel}{}{%
916   \def\HyPsd@babel@slovene{%
917     \declare@shorthand{slovene}{"|}{}%
918   }%
919 }
920 \ltx@IfUndefined{spanish@sh@>@sel}{}{%
921   \def\HyPsd@babel@spanish{%
922     \declare@shorthand{spanish}{<<}{\guillemotleft}%
923     \declare@shorthand{spanish}{>>}{\guillemotright}%
924     \declare@shorthand{spanish}{"=}{-}%
925     \declare@shorthand{spanish}{"~}{-}%
926     \declare@shorthand{spanish}{"!}{\textexclamdown}%
927     \declare@shorthand{spanish}{"?}{\textquestiondown}%
928   }%
929 }
930 \ltx@IfUndefined{swedish@sh@"@sel}{}{%
931   \def\HyPsd@babel@swedish{%
932     \declare@shorthand{swedish}{"|}{}%
933     \declare@shorthand{swedish}{"~}{-}%
934   }%
935 }
936 \ltx@IfUndefined{ukrainian@sh@"@sel}{}{%
937   \def\HyPsd@babel@ukrainian{%
938     \declare@shorthand{ukrainian}{"|}{}%
939     \declare@shorthand{ukrainian}{"~}{-}%
940   }%
941 }
942 \ltx@IfUndefined{usorbian@sh@"@sel}{}{%
943   \def\HyPsd@babel@usorbian{%
944     \declare@shorthand{usorbian}{"f}{f}%
945     \declare@shorthand{usorbian}{"|}{}%
946   }%
947 }
948 \ltx@IfUndefined{greek@sh@\string~@sel}{%
949   \let\HyPsd@GreekPatch\@empty
950 }{%
951   \def\HyPsd@GreekPatch{%
952     \let\greeknumeral\HyPsd@greeknumeral
953     \let\Greeknumeral\HyPsd@Greeknumeral
954   }%
955 }
956 \def\HyPsd@greeknumeral#1{%
957   \HyPsd@GreekNum\@firstoftwo{#1}%
958 }
959 \def\HyPsd@Greeknumeral#1{%
960   \HyPsd@GreekNum\@secondoftwo{#1}%
961 }
962 \def\HyPsd@GreekNum#1#2{%
963   \ifHy@unicode
964     \ifnum#2<\@ne
965       \@arabic{#2}%
966     \else
967       \ifnum#2<1000000 %
968         \HyPsd@@GreekNum#1{#2}%
969       \else
970         \@arabic{#2}%
971       \fi
972     \fi
973   \else
974     \@arabic{#2}%
975   \fi
976 }
977 \def\HyPsd@@GreekNum#1#2{%
978   \ifnum#2<\@m
979     \ifnum#2<10 %
980       \expandafter\HyPsd@GreekNumI
981           \expandafter\@gobble\expandafter#1\number#2%
982     \else
983       \ifnum#2<100 %
984         \expandafter\HyPsd@GreekNumII
985             \expandafter\@gobble\expandafter#1\number#2%
986       \else
987         \expandafter\HyPsd@GreekNumIII
988             \expandafter\@gobble\expandafter#1\number#2%
989       \fi
990     \fi
991     \ifnum#2>\z@
992       \textnumeralsigngreek
993     \fi
994   \else
995     \ifnum#2<\@M
996       \expandafter\HyPsd@GreekNumIV\expandafter#1\number#2%
997     \else
998       \ifnum#2<100000 %
999         \expandafter\HyPsd@GreekNumV\expandafter#1\number#2%
1000       \else
1001         \expandafter\HyPsd@GreekNumVI\expandafter#1\number#2%
1002       \fi
1003     \fi
1004   \fi
1005 }
1006 \def\HyPsd@GreekNumI#1#2#3{%
1007   #1{%
1008     \ifnum#3>\z@
1009       \textnumeralsignlowergreek
1010     \fi
1011   }%
1012   \expandafter#2%
1013   \ifcase#3 %
1014     {}{}%
1015   \or\textalpha\textAlpha
1016   \or\textbeta\textBeta
1017   \or\textgamma\textGamma
1018   \or\textdelta\textDelta
1019   \or\textepsilon\textEpsilon
1020   \or\textstigmagreek\textStigmagreek
1021   \or\textzeta\textZeta
1022   \or\texteta\textEta
1023   \or\texttheta\textTheta
1024   \else
1025     {}{}%
1026   \fi
1027 }
1028 \def\HyPsd@GreekNumII#1#2#3#4{%
1029   #1{%
1030     \ifnum#3>\z@
1031       \textnumeralsignlowergreek
1032     \fi
1033   }%
1034   \expandafter#2%
1035   \ifcase#3 %
1036     {}{}%
1037   \or\textiota\textIota
1038   \or\textkappa\textKappa
1039   \or\textlambda\textLambda
1040   \or\textmu\textMu
1041   \or\textnu\textNu
1042   \or\textxi\textXi
1043   \or\textomicron\textOmicron
1044   \or\textpi\textPi
1045   \or\textkoppagreek\textKoppagreek
1046   \else
1047     {}{}%
1048   \fi
1049   \HyPsd@GreekNumI#1#2#4%
1050 }
1051 \def\HyPsd@GreekNumIII#1#2#3#4#5{%
1052   #1{%
1053     \ifnum#3>\z@
1054       \textnumeralsignlowergreek
1055     \fi
1056   }%
1057   \expandafter#2%
1058   \ifcase#3 %
1059     {}{}%
1060   \or\textrho\textRho
1061   \or\textsigma\textSigma
1062   \or\texttau\textTau
1063   \or\textupsilon\textUpsilon
1064   \or\textphi\textPhi
1065   \or\textchi\textChi
1066   \or\textpsi\textPsi
1067   \or\textomega\textOmega
1068   \or\textsampigreek\textSampigreek
1069   \else
1070     {}{}%
1071   \fi
1072   \HyPsd@GreekNumII#1#2#4#5%
1073 }
1074 \def\HyPsd@GreekNumIV#1#2#3#4#5{%
1075   \HyPsd@GreekNumI\@firstofone#1#2%
1076   \HyPsd@@GreekNum#1{#3#4#5}%
1077 }
1078 \def\HyPsd@GreekNumV#1#2#3#4#5#6{%
1079   \HyPsd@GreekNumII\@firstofone#1#2#3%
1080   \HyPsd@@GreekNum#1{#4#5#6}%
1081 }
1082 \def\HyPsd@GreekNumVI#1#2#3#4#5#6#7{%
1083   \HyPsd@GreekNumIII\@firstofone#1#2#3#4%
1084   \HyPsd@@GreekNum#1{#5#6#7}%
1085 }
1086 \def\HyPsd@SpanishPatch{%
1087   \ltx@IfUndefined{es@save@dot}{%
1088   }{%
1089     \let\.\es@save@dot
1090   }%
1091 }
1092 \def\HyPsd@RussianPatch{%
1093   \ltx@IfUndefined{russian@sh@"@-@}{%
1094   }{%
1095     \@namedef{russian@sh@"@-@}{-}%
1096   }%
1097 }
1098 \RequirePackage{intcalc}[2007/09/27]
1099 \def\HyPsd@CJKhook{%
1100   \ltx@ifpackageloaded{CJK}{%
1101     \let\CJK@kern\relax
1102     \let\CJKkern\relax
1103     \let\CJK@CJK\relax
1104     \ifHy@CJKbookmarks
1105       \HyPsd@CJKhook@bookmarks
1106     \fi
1107     \HyPsd@CJKhook@unicode
1108   }{}%
1109 }
1110 \begingroup
1111   \catcode"7F=\active
1112   \toks@{%
1113     \let\CJK@ignorespaces\empty
1114     \def\CJK@char#1{\@gobbletwo}%
1115     \let\CJK@charx\@gobblefour
1116     \let\CJK@punctchar\@gobblefour
1117     \def\CJK@punctcharx#1{\@gobblefour}%
1118     \catcode"7F=\active
1119     \def^^7f#1^^7f#2^^7f{%
1120       \string #1\HyPsd@DecimalToOctal{#2}%
1121     }%
1122     % ... ?
1123     \ifHy@unicode
1124       \def\Hy@cjkpu{\80}%
1125     \else
1126       \let\Hy@cjkpu\@empty
1127     \fi
1128     \HyPsd@CJKActiveChars
1129   }%
1130   \count@=127 %
1131   \@whilenum\count@<255 \do{%
1132     \advance\count@ by 1 %
1133     \lccode`\~=\count@
1134     \lowercase{%
1135       \toks@\expandafter{\the\toks@ ~}%
1136     }%
1137   }%
1138   \toks@\expandafter{\the\toks@ !}%
1139   \xdef\HyPsd@CJKhook@bookmarks{%
1140     \the\toks@
1141   }%
1142 \endgroup
1143 \def\HyPsd@CJKActiveChars#1{%
1144   \ifx#1!%
1145     \let\HyPsd@CJKActiveChars\relax
1146   \else
1147     \edef#1{\noexpand\Hy@cjkpu\string#1}%
1148   \fi
1149   \HyPsd@CJKActiveChars
1150 }
1151 \def\HyPsd@DecimalToOctal#1{%
1152   \ifcase #1 %
1153         \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
1154     \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
1155     \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
1156     \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
1157     \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
1158     \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
1159     \or    0\or    1\or    2\or    3\or    4\or    5\or    6\or    7%
1160     \or    8\or    9\or \072\or \073\or \074\or \075\or \076\or \077%
1161     \or    @\or    A\or    B\or    C\or    D\or    E\or    F\or    G%
1162     \or    H\or    I\or    J\or    K\or    L\or    M\or    N\or    O%
1163     \or    P\or    Q\or    R\or    S\or    T\or    U\or    V\or    W%
1164     \or    X\or    Y\or    Z\or \133\or \134\or \135\or \136\or \137%
1165     \or \140\or    a\or    b\or    c\or    d\or    e\or    f\or    g%
1166     \or    h\or    i\or    j\or    k\or    l\or    m\or    n\or    o%
1167     \or    p\or    q\or    r\or    s\or    t\or    u\or    v\or    w%
1168     \or    x\or    y\or    z\or \173\or \174\or \175\or \176\or \177%
1169     \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
1170     \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
1171     \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
1172     \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
1173     \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
1174     \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
1175     \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
1176     \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
1177     \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
1178     \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
1179     \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
1180     \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
1181     \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
1182     \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
1183     \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
1184     \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
1185   \fi
1186 }
1187 \def\HyPsd@CJKhook@unicode{%
1188   \let\Unicode\HyPsd@CJK@Unicode
1189   \let\CJKnumber\HyPsd@CJKnumber
1190   \let\CJKdigits\HyPsd@CJKdigits
1191 }
1192 \def\HyPsd@CJK@Unicode#1#2{%
1193   \ifnum#1<256 %
1194     \HyPsd@DecimalToOctalFirst{#1}%
1195     \HyPsd@DecimalToOctalSecond{#2}%
1196   \else
1197     \933%
1198     \expandafter\expandafter\expandafter\HyPsd@HighA
1199     \intcalcDiv{#1}{4}!%
1200     \933%
1201     \ifcase\intcalcMod{#1}{4} %
1202       4\or 5\or 6\or 7%
1203     \fi
1204     \HyPsd@DecimalToOctalSecond{#2}%
1205   \fi
1206 }
1207 \def\HyPsd@HighA#1!{%
1208   \expandafter\expandafter\expandafter\HyPsd@HighB
1209   \IntCalcDiv#1!64!!%
1210   \expandafter\expandafter\expandafter\HyPsd@HighD
1211   \IntCalcMod#1!64!!%
1212 }
1213 \def\HyPsd@HighB#1!{%
1214   \expandafter\expandafter\expandafter\HyPsd@HighC
1215   \IntCalcDec#1!!%
1216 }
1217 \def\HyPsd@HighC#1!{%
1218   \IntCalcDiv#1!4!%
1219   \@backslashchar
1220   \IntCalcMod#1!4!%
1221 }
1222 \def\HyPsd@HighD#1!{%
1223   \ifcase\IntCalcDiv#1!8! %
1224     0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
1225   \fi
1226   \ifcase\IntCalcMod#1!8! %
1227     0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
1228   \fi
1229 }
1230 \def\HyPsd@DecimalToOctalFirst#1{%
1231   \9%
1232   \ifcase#1 %
1233         000\or 001\or 002\or 003\or 004\or 005\or 006\or 007%
1234     \or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017%
1235     \or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027%
1236     \or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037%
1237     \or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047%
1238     \or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057%
1239     \or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067%
1240     \or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077%
1241     \or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107%
1242     \or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117%
1243     \or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127%
1244     \or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137%
1245     \or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147%
1246     \or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157%
1247     \or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167%
1248     \or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177%
1249     \or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207%
1250     \or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217%
1251     \or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227%
1252     \or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237%
1253     \or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247%
1254     \or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257%
1255     \or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267%
1256     \or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277%
1257     \or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307%
1258     \or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317%
1259     \or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327%
1260     \or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337%
1261     \or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347%
1262     \or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357%
1263     \or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367%
1264     \or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377%
1265   \fi
1266 }
1267 \def\HyPsd@DecimalToOctalSecond#1{%
1268   \ifcase #1 %
1269         \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
1270     \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
1271     \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
1272     \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
1273     \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
1274     \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
1275     \or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067%
1276     \or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077%
1277     \or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107%
1278     \or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117%
1279     \or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127%
1280     \or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137%
1281     \or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147%
1282     \or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157%
1283     \or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167%
1284     \or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177%
1285     \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
1286     \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
1287     \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
1288     \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
1289     \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
1290     \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
1291     \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
1292     \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
1293     \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
1294     \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
1295     \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
1296     \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
1297     \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
1298     \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
1299     \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
1300     \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
1301   \fi
1302 }
1303 \def\HyPsd@CJKnumber#1{%
1304   \ifnum#1<\z@
1305     \CJK@minus
1306     \expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}%
1307   \else
1308     \expandafter\HyPsd@@CJKnumber\expandafter{\number#1}%
1309   \fi
1310 }
1311 \def\HyPsd@@CJKnumber#1{%
1312   \ifcase#1 %
1313     \CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
1314     \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or
1315     \CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or
1316     \CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or
1317     \CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or
1318     \CJK@ten\CJK@nine
1319   \else
1320     \ifnum#1<10000 %
1321       \HyPsd@CJKnumberFour#1!\@empty{20}%
1322       \@empty
1323     \else
1324       \ifnum#1<100000000 %
1325         \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
1326           \IntCalcDiv#1!10000!%
1327         !{}{20}%
1328         \CJK@tenthousand
1329         \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
1330           \IntCalcMod#1!10000!%
1331         !\CJK@zero{10}%
1332         \@empty
1333       \else
1334         \expandafter\HyPsd@CJKnumberLarge
1335         \number\IntCalcDiv#1!100000000!\expandafter!%
1336         \number\IntCalcMod#1!100000000!!%
1337       \fi
1338     \fi
1339   \fi
1340 }
1341 \def\HyPsd@CJKnumberLarge#1!#2!{%
1342   \HyPsd@CJKnumberFour#1!{}{20}%
1343   \CJK@hundredmillion
1344   \ifnum#2=\z@
1345   \else
1346     \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
1347       \IntCalcDiv#2!10000!%
1348     !\CJK@zero{10}%
1349     \CJK@tenthousand
1350     \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
1351       \IntCalcMod#2!10000!%
1352     !\CJK@zero{10}%
1353     \@empty
1354   \fi
1355 }
1356 \def\HyPsd@CJKnumberFour#1!#2#3{%
1357   \ifnum#1=\z@
1358     \expandafter\@gobble
1359   \else
1360     \ifnum#1<1000 %
1361       #2%
1362       \HyPsd@CJKnumberThree#1!{}{#3}%
1363     \else
1364       \HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}%
1365       \CJK@thousand
1366       \expandafter\expandafter\expandafter\HyPsd@CJKnumberThree
1367         \IntCalcMod#1!1000!%
1368       !\CJK@zero{10}%
1369     \fi
1370   \fi
1371 }
1372 \def\HyPsd@CJKnumberThree#1!#2#3{%
1373   \ifnum#1=\z@
1374   \else
1375     \ifnum#1<100 %
1376       #2%
1377       \HyPsd@CJKnumberTwo#1!{}{#3}%
1378     \else
1379       \HyPsd@@CJKnumber{\IntCalcDiv#1!100!}%
1380       \CJK@hundred
1381       \expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo
1382         \IntCalcMod#1!100!%
1383       !\CJK@zero{10}%
1384     \fi
1385   \fi
1386 }
1387 \def\HyPsd@CJKnumberTwo#1!#2#3{%
1388   \ifnum#1=\z@
1389   \else
1390     \ifnum#1<#3 %
1391       #2%
1392       \HyPsd@@CJKnumber{#1}%
1393     \else
1394       \HyPsd@@CJKnumber{\IntCalcDiv#1!10!}%
1395       \CJK@ten
1396       \ifnum\IntCalcMod#1!10!=\z@
1397       \else
1398         \HyPsd@@CJKnumber{\IntCalcMod#1!10!}%
1399       \fi
1400     \fi
1401   \fi
1402 }
1403 \def\HyPsd@CJKdigits#1{%
1404   \ifx*#1\relax
1405     \expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero
1406   \else
1407     \HyPsd@@CJKdigits\CJK@null{#1}%
1408   \fi
1409 }
1410 \def\HyPsd@@CJKdigits#1#2{%
1411   \ifx\\#2\\%
1412   \else
1413     \HyPsd@@@CJKdigits#1#2\@nil
1414   \fi
1415 }%
1416 \def\HyPsd@@@CJKdigits#1#2#3\@nil{%
1417   \HyPsd@CJKdigit#1{#2}%
1418   \ifx\\#3\\%
1419     \expandafter\@gobble
1420   \else
1421     \expandafter\@firstofone
1422   \fi
1423   {%
1424     \HyPsd@@@CJKdigits#1#3\@nil
1425   }%
1426 }
1427 \def\HyPsd@CJKdigit#1#2{%
1428   \ifcase#2 %
1429     #1\or
1430     \CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
1431     \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine
1432   \fi
1433 }
1434 \def\HyPsd@inmathwarn#1#2{%
1435   \ifx#2\expandafter
1436     \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
1437       \HyPsd@GLYPHERR
1438       \expandafter\@gobble\string#1%
1439       >%
1440       \expandafter\expandafter\expandafter\HyPsd@EndWithElse
1441     \else
1442       \expandafter\expandafter\expandafter\HyPsd@GobbleFiFi
1443     \fi
1444   \else
1445     \expandafter#2%
1446   \fi
1447 }
1448 \def\HyPsd@GobbleFiFi#1\fi#2\fi{}
1449 \def\HyPsd@EndWithElse#1\else{\else}
1450 \def\HyPsd@add@accent#1#2{%
1451   \HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>%
1452   #2%
1453 }%
1454 \def\HyPsd@LetUnexpandableSpace#1{%
1455   \expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax
1456 }
1457 \HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace
1458 \edef\HyPsd@XSPACE{\string#\string X}
1459 \edef\HyPsd@ITALCORR{\string#\string I}
1460 \edef\HyPsd@GLYPHERR{\string#\string G}
1461 \def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END}
1462 \def\HyPsd@@hspace#1*#2\END{%
1463   \ifx\\#2\\%
1464     \HyPsd@hspacetest{#1}%
1465   \else
1466     \expandafter\HyPsd@hspacetest
1467   \fi
1468 }
1469 \def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
1470 \ltx@IfUndefined{tocsection}{%
1471   \let\HyPsd@AMSclassfix\relax
1472 }{%
1473   \def\HyPsd@AMSclassfix{%
1474     \let\tocpart\HyPsd@tocsection
1475     \let\tocchapter\HyPsd@tocsection
1476     \let\tocappendix\HyPsd@tocsection
1477     \let\tocsection\HyPsd@tocsection
1478     \let\tocsubsection\HyPsd@tocsection
1479     \let\tocsubsubsection\HyPsd@tocsection
1480     \let\tocparagraph\HyPsd@tocsection
1481   }%
1482   \def\HyPsd@tocsection#1#2#3{%
1483     \if @#2@\else\if @#1@\else#1 \fi#2. \fi
1484     #3%
1485   }%
1486 }
1487 \def\HyPsd@href#1#{\@secondoftwo}
1488 \def\HyPsd@ref#1{\HyPsd@@ref#1*\END}%
1489 \def\HyPsd@@ref#1*#2\END{%
1490   \ifx\\#2\\%
1491     \HyPsd@@@ref{#1}%
1492   \else
1493     \expandafter\HyPsd@@@ref
1494   \fi
1495 }%
1496 \def\HyPsd@@@ref#1{%
1497   \expandafter\ifx\csname r@#1\endcsname\relax
1498     ??%
1499   \else
1500     \expandafter\expandafter\expandafter
1501     \@car\csname r@#1\endcsname\@nil
1502   \fi
1503 }
1504 \def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END}
1505 \def\HyPsd@@pageref#1*#2\END{%
1506   \ifx\\#2\\%
1507     \HyPsd@@@pageref{#1}%
1508   \else
1509     \expandafter\HyPsd@@@pageref
1510   \fi
1511 }
1512 \def\HyPsd@@@pageref#1{%
1513   \expandafter\ifx\csname r@#1\endcsname\relax
1514     ??%
1515   \else
1516     \expandafter\expandafter\expandafter\expandafter
1517     \expandafter\expandafter\expandafter\@car
1518     \expandafter\expandafter\expandafter\@gobble
1519     \csname r@#1\endcsname{}\@nil
1520   \fi
1521 }
1522 \def\HyPsd@nameref#1{\HyPsd@@nameref#1*\END}
1523 \def\HyPsd@@nameref#1*#2\END{%
1524   \ifx\\#2\\%
1525     \HyPsd@@@nameref{#1}%
1526   \else
1527     \expandafter\HyPsd@@@nameref
1528   \fi
1529 }
1530 \def\HyPsd@@@nameref#1{%
1531   \expandafter\ifx\csname r@#1\endcsname\relax
1532     ??%
1533   \else
1534     \expandafter\expandafter\expandafter\expandafter
1535     \expandafter\expandafter\expandafter\@car
1536     \expandafter\expandafter\expandafter\@gobbletwo
1537     \csname r@#1\endcsname{}{}\@nil
1538   \fi
1539 }
1540 \def\HyPsd@autoref#1{\HyPsd@@autoref#1*\END}
1541 \def\HyPsd@@autoref#1*#2\END{%
1542   \ifx\\#2\\%
1543     \HyPsd@@@autoref{#1}%
1544   \else
1545     \expandafter\HyPsd@@@autoref
1546   \fi
1547 }
1548 \def\HyPsd@@@autoref#1{%
1549   \expandafter\ifx\csname r@#1\endcsname\relax
1550     ??%
1551   \else
1552     \expandafter\expandafter\expandafter\HyPsd@autorefname
1553         \csname r@#1\endcsname{}{}{}{}\@nil
1554     \expandafter\expandafter\expandafter
1555     \@car\csname r@#1\endcsname\@nil
1556   \fi
1557 }
1558 \def\HyPsd@autorefname#1#2#3#4#5\@nil{%
1559   \ifx\\#4\\%
1560   \else
1561     \HyPsd@@autorefname#4.\@nil
1562   \fi
1563 }
1564 \def\HyPsd@@autorefname#1.#2\@nil{%
1565   \ltx@IfUndefined{#1autorefname}{%
1566     \ltx@IfUndefined{#1name}{%
1567     }{%
1568       \csname#1name\endcsname\space
1569     }%
1570   }{%
1571     \csname#1autorefname\endcsname\space
1572   }%
1573 }
1574 \begingroup
1575   \def\x#1#2{%
1576     \endgroup
1577     \let#1\def
1578     \def\HyPsd@DefCommand##1##2##{%
1579       #1%
1580       \expandafter\noexpand
1581         \csname\expandafter\@gobble\string##1\@empty\endcsname
1582       \@gobble
1583     }%
1584     \let#2\let
1585     \def\HyPsd@@LetCommand##1{%
1586       \expandafter\ifx\csname##1\expandafter\endcsname
1587                       \csname iftrue\endcsname
1588         \pdfstringdefWarn\let
1589         \expandafter\@gobble
1590       \else
1591         \expandafter\ifx\csname##1\expandafter\endcsname
1592                         \csname iffalse\endcsname
1593           \pdfstringdefWarn\let
1594           \expandafter\expandafter\expandafter\@gobble
1595         \else
1596           #2%
1597           \expandafter\noexpand
1598             \csname##1\expandafter\expandafter\expandafter\endcsname
1599         \fi
1600       \fi
1601     }%
1602   }%
1603 \expandafter\x\csname <def>-command\expandafter\endcsname
1604               \csname <let>-command\endcsname
1605 \def\HyPsd@LetCommand#1{%
1606   \expandafter\expandafter\expandafter\HyPsd@@LetCommand
1607     \expandafter\expandafter\expandafter{%
1608     \expandafter\@gobble\string#1\@empty
1609   }%
1610 }
1611 \def\HyPsd@ifnextchar#1{%
1612   \pdfstringdefWarn#1%
1613   \expandafter\@gobbletwo\@gobble
1614 }
1615 \def\HyPsd@protected@testopt#1{%
1616   \pdfstringdefWarn#1%
1617   \@gobbletwo
1618 }
1619 \def\HyPsd@Warning#1{%
1620   \begingroup
1621     \let\space\ltx@space
1622     \Hy@Warning{#1}%
1623   \endgroup
1624 }
1625 \RequirePackage{etexcmds}[2007/09/09]
1626 \ifetex@unexpanded
1627   \expandafter\@secondoftwo
1628 \else
1629   \expandafter\@firstoftwo
1630 \fi
1631 {%
1632   \def\HyPsd@ProtectSpaces#1{%
1633     \iftrue
1634       \expandafter\HyPsd@@ProtectSpacesFi
1635         \expandafter|\expandafter\@empty#1| \HyPsd@End#1%
1636     \fi
1637   }%
1638   \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@End#3\fi{%
1639     \fi
1640     \ifx\scrollmode#2\scrollmode
1641       \HyPsd@RemoveMask#1\HyPsd@End#3%
1642     \else
1643       \gdef#3{#1\HyPsd@UnexpandableSpace#2}%
1644       \expandafter\HyPsd@@ProtectSpacesFi#3\HyPsd@End#3%
1645     \fi
1646   }%
1647   \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
1648     \toks@\expandafter{#1}%
1649     \xdef#2{\the\toks@}%
1650   }%
1651 }{%
1652   \let\HyPsd@fi\fi
1653   \def\HyPsd@ProtectSpaces#1{%
1654     \xdef#1{%
1655       \iftrue
1656         \expandafter\HyPsd@@ProtectSpacesFi
1657           \expandafter|\expandafter\@empty#1| %
1658       \HyPsd@fi
1659     }%
1660     \expandafter\HyPsd@RemoveMask#1\HyPsd@End#1%
1661   }%
1662   \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@fi{%
1663     \fi
1664     \etex@unexpanded{#1}%
1665     \ifx\scrollmode#2\scrollmode
1666     \else
1667       \HyPsd@@ProtectSpacesFi\HyPsd@UnexpandableSpace#2%
1668     \HyPsd@fi
1669   }%
1670   \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
1671     \xdef#2{\etex@unexpanded\expandafter{#1}}%
1672   }%
1673 }
1674 \def\HyPsd@RemoveBraces#1{%
1675   \ifx\scrollmode#1\scrollmode
1676   \else
1677     \HyPsd@@RemoveBracesFi#1\HyPsd@End{#1}%
1678   \fi
1679 }
1680 \def\HyPsd@@RemoveBracesFi#1#2\HyPsd@End#3\fi{%
1681   \fi
1682   \def\Hy@temp@A{#1#2}%
1683   \def\Hy@temp@B{#3}%
1684   \ifx\Hy@temp@A\Hy@temp@B
1685     \expandafter\def\expandafter\HyPsd@String\expandafter{%
1686       \HyPsd@String#1%
1687     }%
1688     \ifx\scrollmode#2\scrollmode
1689     \else
1690       \Hy@ReturnAfterFiFiEnd{%
1691         \HyPsd@RemoveBraces{#2}%
1692       }%
1693     \fi
1694   \else
1695     \def\Hy@temp@A{#1}%
1696     \HyPsd@AppendItalcorr\HyPsd@String
1697     \ifx\Hy@temp@A\@empty
1698       \Hy@ReturnAfterElseFiFiEnd{%
1699         \HyPsd@RemoveBraces{#2}%
1700       }%
1701     \else
1702       \HyPsd@ProtectSpaces\Hy@temp@A
1703       \HyPsd@AppendItalcorr\Hy@temp@A
1704       \Hy@ReturnAfterFiFiEnd{%
1705         \expandafter\HyPsd@RemoveBraces\expandafter
1706           {\Hy@temp@A#2}%
1707       }%
1708     \fi
1709   \fi
1710   \Hy@ReturnEnd
1711 }
1712 \def\HyPsd@AppendItalcorr#1{%
1713   \expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1%
1714 }
1715 \def\HyPsd@@AppendItalcorr#1#2{%
1716   \expandafter\def\expandafter#2\expandafter{#2#1}%
1717 }
1718 \def\HyPsd@CheckCatcodes#1#2\HyPsd@End{%
1719   \global\let\HyPsd@Rest\relax
1720   \ifcat\relax\noexpand#1\relax
1721     \ifx#1\protect
1722     \else
1723       \ifx#1\penalty
1724         \setbox\z@=\hbox{%
1725           \afterassignment\HyPsd@AfterCountRemove
1726           \count@=#2\HyPsd@End
1727         }%
1728       \else
1729         \ifx#1\kern
1730           \setbox\z@=\hbox{%
1731             \afterassignment\HyPsd@AfterDimenRemove
1732             \dimen@=#2\HyPsd@End
1733           }%
1734         \else
1735           \ifx#1\hskip
1736             \setbox\z@=\hbox{%
1737               \afterassignment\HyPsd@AfterSkipRemove
1738               \skip@=#2\HyPsd@End
1739             }%
1740           \else
1741             \HyPsd@CatcodeWarning{#1}%
1742           \fi
1743         \fi
1744       \fi
1745     \fi
1746   \else
1747     \ifcat#1A% letter
1748       \expandafter\def\expandafter\HyPsd@String\expandafter{%
1749         \HyPsd@String#1%
1750       }%
1751     \else
1752       \ifcat#1 % SPACE
1753         \expandafter\def\expandafter\HyPsd@String\expandafter{%
1754           \HyPsd@String\HyPsd@SPACEOPTI
1755         }%
1756       \else
1757         \ifcat$#1%
1758           \HyPsd@CatcodeWarning{math shift}%
1759         \else
1760           \ifcat&#1%
1761             \HyPsd@CatcodeWarning{alignment tab}%
1762           \else
1763             \ifcat^#1%
1764               \HyPsd@CatcodeWarning{superscript}%
1765             \else
1766               \ifcat_#1%
1767                 \HyPsd@CatcodeWarning{subscript}%
1768               \else
1769                 \expandafter\def\expandafter\HyPsd@String\expandafter{%
1770                   \HyPsd@String#1%
1771                 }%
1772               \fi
1773             \fi
1774           \fi
1775         \fi
1776       \fi
1777     \fi
1778   \fi
1779   \ifx\HyPsd@Rest\relax
1780     \ifx\scrollmode#2\scrollmode
1781     \else
1782       \Hy@ReturnAfterFiFiEnd{%
1783         \HyPsd@CheckCatcodes#2\HyPsd@End
1784       }%
1785     \fi
1786   \else
1787     \ifx\HyPsd@Rest\@empty
1788     \else
1789       \Hy@ReturnAfterFiFiEnd{%
1790         \expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End
1791       }%
1792     \fi
1793   \fi
1794   \Hy@ReturnEnd
1795 }
1796 \def\HyPsd@AfterCountRemove#1\HyPsd@End{%
1797   \gdef\HyPsd@Rest{#1}%
1798 }
1799 \def\HyPsd@AfterDimenRemove#1\HyPsd@End{%
1800   \ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex %
1801     \HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}%
1802     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
1803   \else
1804     \ifdim\dimen@=\z@
1805     \else
1806       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}%
1807     \fi
1808     \gdef\HyPsd@Rest{#1}%
1809   \fi
1810 }
1811 \def\HyPsd@AfterSkipRemove#1\HyPsd@End{%
1812   \ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex %
1813     \HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}%
1814     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
1815   \else
1816     \ifdim\skip@=\z@
1817     \else
1818       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}%
1819     \fi
1820     \gdef\HyPsd@Rest{#1}%
1821   \fi
1822 }
1823 \def\HyPsd@CatcodeWarning#1{%
1824   \HyPsd@Warning{%
1825     Token not allowed in a PDF string (%
1826     \ifHy@unicode
1827       Unicode%
1828     \else
1829       PDFDocEncoding%
1830     \fi
1831     ):%
1832     \MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
1833   }%
1834 }
1835 \begingroup
1836   \catcode`\|=0 %
1837   \catcode`\\=12 %
1838   |gdef|HyPsd@RemoveCmdPrefix#1{%
1839     |expandafter|HyPsd@@RemoveCmdPrefix
1840       |string#1|@empty\<>-|@empty|@empty
1841   }%
1842   |gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}%
1843 |endgroup
1844 \def\HyPsd@RemoveSpaceWarning#1{%
1845   \HyPsd@Warning{%
1846     Token not allowed in a PDF string (%
1847     \ifHy@unicode
1848       Unicode%
1849     \else
1850       PDFDocEncoding%
1851     \fi
1852     ):%
1853     \MessageBreak #1\MessageBreak
1854     removed%
1855   }%
1856 }
1857 \def\HyPsd@ReplaceSpaceWarning#1{%
1858   \HyPsd@Warning{%
1859     Token not allowed in a PDF string (%
1860     \ifHy@unicode
1861       Unicode%
1862     \else
1863       PDFDocEncoding%
1864     \fi
1865     ):%
1866     \MessageBreak #1\MessageBreak
1867     replaced by space%
1868   }%
1869 }
1870 \def\HyPsd@GlyphProcess#1\relax#2\@empty{%
1871   \expandafter\def\expandafter\HyPsd@String\expandafter{%
1872     \HyPsd@String#1%
1873   }%
1874   \ifx\\#2\\%
1875   \else
1876     \ltx@ReturnAfterFi{%
1877       \HyPsd@GlyphProcessWarning#2\@empty
1878     }%
1879   \fi
1880 }
1881 \def\HyPsd@GlyphProcessWarning#1>#2\@empty{%
1882   \HyPsd@@GlyphProcessWarning#1++>%
1883   \HyPsd@GlyphProcess#2\@empty
1884 }
1885 \def\HyPsd@@GlyphProcessWarning#1+#2+#3>{%
1886   \ifx\\#2\\%
1887     \HyPsd@Warning{%
1888       Glyph not defined in %
1889       P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak
1890       removing `\@backslashchar#1'%
1891     }%
1892   \else
1893     \HyPsd@Warning{%
1894       Composite letter `\@backslashchar#1+#2'\MessageBreak
1895       not defined in P\ifHy@unicode U\else D1\fi\space encoding,%
1896       \MessageBreak
1897       removing `\@backslashchar#1'%
1898     }%
1899   \fi
1900 }
1901 \def\HyPsd@spaceopti#1{ % first space
1902   \ifx\HyPsd@spaceopti#1%
1903     \040%
1904   \else
1905     #1%
1906   \fi
1907 }%
1908 \def\HyPsd@Subst#1#2#3{%
1909   \def\HyPsd@@ReplaceFi##1#1##2\END\fi{%
1910     \fi
1911     ##1%
1912     \ifx\scrollmode##2\scrollmode
1913     \else
1914       #2%
1915       \HyPsd@@ReplaceFi##2\END
1916     \fi
1917   }%
1918   \xdef#3{%
1919     \iftrue
1920       \expandafter\HyPsd@@ReplaceFi#3#1\END
1921     \fi
1922   }%
1923 }
1924 \def\HyPsd@StringSubst#1{%
1925   \expandafter\HyPsd@Subst\expandafter{\string#1}%
1926 }
1927 \begingroup
1928   \lccode`\!=`\%%
1929   \lccode`\|=`\\%
1930   \lccode`\(=`\{%
1931   \lccode`\)=`\}%
1932   \lccode`0=\ltx@zero
1933   \lccode`1=\ltx@zero
1934   \lccode`3=\ltx@zero
1935   \lccode`4=\ltx@zero
1936   \lccode`5=\ltx@zero
1937   \lccode`7=\ltx@zero
1938 \lowercase{\endgroup
1939   \def\HyPsd@EscapeTeX#1{%
1940     \HyPsd@Subst!{|045}#1%
1941     \HyPsd@Subst({|173}#1%
1942     \HyPsd@Subst){|175}#1%
1943   }%
1944 }
1945 \def\HyPsd@doxspace#1{%
1946   \ifx#1\relax\else
1947    \ifx#1.\else
1948     \ifx#1:\else
1949      \ifx#1,\else
1950       \ifx#1;\else
1951        \ifx#1!\else
1952         \ifx#1?\else
1953          \ifx#1/\else
1954           \ifx#1-\else
1955            \ifx#1'\else
1956              \HyPsd@SPACEOPTI
1957            \fi
1958           \fi
1959          \fi
1960         \fi
1961        \fi
1962       \fi
1963      \fi
1964     \fi
1965    \fi
1966   \fi
1967   #1%
1968 }%
1969 \begingroup
1970   \catcode`\|=0 %
1971   \catcode`\\=12 %
1972   |gdef|HyPsd@ConvertToUnicode#1{%
1973     |xdef#1{%
1974       |expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
1975     }%
1976     |ifx#1|@empty
1977     |else
1978       |xdef#1{%
1979         \376\377%
1980         #1%
1981       }%
1982     |fi
1983   }%
1984   |gdef|HyPsd@DoConvert#1{%
1985     |ifx#1|@empty
1986     |else
1987       |ltx@ReturnAfterFi{%
1988         |ifx#1\%%
1989           \%%
1990           |expandafter|HyPsd@DoEscape
1991         |else
1992           |HyPsd@Char{#1}%
1993           |expandafter|HyPsd@DoConvert
1994         |fi
1995       }%
1996     |fi
1997   }%
1998   |gdef|HyPsd@DoEscape#1{%
1999     |ifx#19%
2000       |expandafter|HyPsd@GetTwoBytes
2001     |else
2002       |ltx@ReturnAfterFi{%
2003         |ifx#18%
2004           00%
2005           |expandafter|HyPsd@GetTwoBytes
2006         |else
2007           #1%
2008           |expandafter|HyPsd@GetOneByte
2009         |fi
2010       }%
2011     |fi
2012   }%
2013   |gdef|HyPsd@GetTwoBytes#1\#2#3#4{%
2014     #1\#2#3#4%
2015     |HyPsd@DoConvert
2016   }%
2017   |gdef|HyPsd@GetOneByte#1#2{%
2018     #1#2%
2019     |HyPsd@DoConvert
2020   }%
2021 |endgroup
2022 \def\HyPsd@GetNextTwoTokens#1#2#3\END#4{%
2023   \xdef#4{#4#1#2}%
2024   \HyPsd@@ConvertToUnicode#3\END#4%
2025 }
2026 \begingroup
2027   \catcode0=9 %
2028   \catcode`\^=7 %
2029   \catcode`\^^^=12 %
2030   \def\x{^^^^0000}%
2031 \expandafter\endgroup
2032 \ifx\x\@empty
2033   \def\HyPsd@Char#1{%
2034     \ifnum`#1<128 %
2035       \@backslashchar 000#1%
2036     \else
2037       \ifnum`#1<65536 %
2038         \expandafter\HyPsd@CharTwoByte\number`#1!%
2039       \else
2040         \expandafter\expandafter\expandafter\HyPsd@CharSurrogate
2041         \intcalcSub{`#1}{65536}!%
2042       \fi
2043     \fi
2044   }%
2045   \def\HyPsd@CharTwoByte#1!{%
2046     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
2047     \IntCalcDiv#1!256!!%
2048     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
2049     \IntCalcMod#1!256!!%
2050   }%
2051   \def\HyPsd@CharOctByte#1!{%
2052     \@backslashchar
2053     \IntCalcDiv#1!64!%
2054     \intcalcDiv{\IntCalcMod#1!64!}{8}%
2055     \IntCalcMod#1!8!%
2056   }%
2057   \def\HyPsd@CharSurrogate#1!{%
2058     \@backslashchar 33%
2059     \IntCalcDiv#1!262144!%
2060     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
2061     \intcalcDiv{\IntCalcMod#1!262144!}{1024}!%
2062     \@backslashchar 33%
2063     \expandafter\expandafter\expandafter\IntCalcAdd
2064     \intcalcDiv{\IntCalcMod#1!1024!}{256}!4!%
2065     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
2066     \IntCalcMod#1!256!!%
2067   }%
2068 \else
2069   \def\HyPsd@Char#1{%
2070     \@backslashchar 000#1%
2071   }%
2072 \fi
2073 \begingroup\expandafter\expandafter\expandafter\endgroup
2074 \expandafter\ifx\csname numexpr\endcsname\relax
2075   \let\HyPsd@UTFviii\relax
2076 \else
2077   \begingroup
2078     \lccode`\~=`^^f4\relax
2079   \lowercase{\endgroup
2080     \def\HyPsd@UTFviii{%
2081       \let\UTFviii@two@octets\HyPsd@UTFviii@two
2082       \let\UTFviii@three@octets\HyPsd@UTFviii@three
2083       \let\UTFviii@four@octets\HyPsd@UTFviii@four
2084       \ifx~\HyPsd@UTFviii@ccxliv@undef
2085         \let~\HyPsd@UTFviii@ccxliv@def
2086       \fi
2087       \let\unichar\HyPsd@unichar
2088     }%
2089   }%
2090   \def\HyPsd@UTFviii@ccxliv@undef{\@inpenc@undefined@{utf8}}%
2091   \edef\HyPsd@UTFviii@ccxliv@def{%
2092     \noexpand\UTFviii@four@octets\string ^^f4%
2093   }%
2094   \def\HyPsd@UTFviii@two#1#2{%
2095     \expandafter\HyPsd@UTFviii@@two
2096       \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
2097       \number`#1\expandafter|%
2098       \number\dimexpr.125\dimexpr`#2sp\expandafter\relax\expandafter|%
2099       \number`#2 \@nil
2100   }%
2101   \def\HyPsd@UTFviii@@two#1|#2|#3|#4\@nil{%
2102     \expandafter\8%
2103     \number\numexpr #1-48\expandafter\relax
2104     \csname\number\numexpr #2-4*#1\relax\expandafter\endcsname
2105     \number\numexpr #3-8*%
2106         \number\dimexpr.125\dimexpr#3sp\relax\relax\expandafter\relax
2107     \number\numexpr #4-8*#3\relax
2108   }%
2109   \def\HyPsd@UTFviii@three#1#2#3{%
2110     \expandafter\HyPsd@UTFviii@@three
2111       \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
2112       \number`#1\expandafter|%
2113       \number\ifnum\numexpr`#2-128\relax <32 0\else 1\fi\expandafter|%
2114       \number\dimexpr.25\dimexpr`#2sp\expandafter\relax\expandafter|%
2115       \number`#2\expandafter|%
2116       \number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|%
2117       \number`#3 \@nil
2118   }%
2119   \def\HyPsd@UTFviii@@three#1|#2|#3|#4|#5|#6|#7\@nil{%
2120     \expandafter\9%
2121     \number\numexpr #1-56\expandafter\relax
2122     \number\numexpr 2*(#2-4*#1)+#3\expandafter\relax
2123     \number\numexpr #4 - 32 -\ifcase#3 0\else 8\fi\expandafter\relax
2124     \csname\number\numexpr #5-4*#4\relax\expandafter\endcsname
2125     \number\numexpr #6-16\expandafter\relax
2126     \number\numexpr #7-8*#6\relax
2127   }%
2128   \def\HyPsd@UTFviii@four#1#2{%
2129     \expandafter\HyPsd@@UTFviii@four\number
2130     \numexpr-1+(`#1-240)*4+\dimexpr.0625\dimexpr`#2sp-128sp%
2131     \expandafter|\number
2132     \numexpr`#2-16*\dimexpr.0625\dimexpr`#2sp|%
2133   }%
2134   \def\HyPsd@@UTFviii@four#1|#2|#3{%
2135     \933\number\dimexpr.25\dimexpr#1sp\relax\relax
2136     \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
2137     \ifodd#2 %
2138       \number\numexpr(#2-1)/2\relax
2139     \else
2140       \number\numexpr#2/2\relax
2141     \fi
2142     \number\numexpr\ifodd#2 4+\fi
2143         \dimexpr.0625\dimexpr`#3sp-128sp\relax\relax\relax
2144     \933%
2145     \expandafter\HyPsd@@@UTFviii@four\number
2146     \numexpr`#3-16*\dimexpr.0625\dimexpr`#3sp|%
2147   }%
2148   \def\HyPsd@@@UTFviii@four#1|#2{%
2149     \number\numexpr4+\dimexpr.25\dimexpr#1sp\relax\relax\relax
2150     \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
2151     \number\dimexpr.125\dimexpr`#2sp-128sp\relax\relax
2152     \number\numexpr`#2-8*\dimexpr.125\dimexpr`#2sp\relax\relax\relax
2153   }%
2154   \def\HyPsd@unichar#1{%
2155     \ifHy@unicode
2156       \ifnum#1>"10FFFF %
2157         \HyPsd@UnicodeReplacementCharacter % illegal
2158       \else
2159         \ifnum#1>"FFFF %
2160           \expandafter\HyPsd@unichar\expandafter{%
2161             \number\numexpr 55296+%
2162                 \dimexpr.0009765625\dimexpr\number#1sp-\p@
2163                 \relax\relax\relax
2164           }%
2165           \expandafter\HyPsd@unichar\expandafter{%
2166             \number\numexpr#1-9216%
2167                 -1024*\dimexpr.0009765625\dimexpr\number#1sp-\p@
2168                 \relax\relax\relax
2169         }%
2170         \else
2171           \ifnum#1>"7FF %
2172             \9%
2173             \expandafter\HyPsd@unichar@first@byte\expandafter{%
2174               \number
2175               \dimexpr.00390625\dimexpr\number#1sp\relax\relax
2176             }%
2177           \else
2178             \8%
2179             \number\dimexpr.00390625\dimexpr\number#1sp\relax\relax
2180           \fi
2181           \expandafter\HyPsd@unichar@second@byte\expandafter{%
2182             \number
2183             \numexpr#1-256*\number
2184                 \dimexpr.00390625\dimexpr\number#1sp\relax\relax\relax
2185           }%
2186         \fi
2187       \fi
2188     \else
2189       .% unsupported (Unicode -> PDF Doc Encoding)
2190     \fi
2191   }%
2192   \def\HyPsd@UnicodeReplacementCharacter{\9377\375}%
2193   \def\HyPsd@unichar@first@byte#1{%
2194     \number\dimexpr.015625\dimexpr#1sp\relax\relax
2195     \expandafter\HyPsd@unichar@octtwo\expandafter{%
2196       \number
2197       \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
2198       \relax\relax\relax
2199     }%
2200   }%
2201   \def\HyPsd@unichar@second@byte#1{%
2202     \csname\number\dimexpr.015625\dimexpr#1sp\relax\relax\endcsname
2203     \expandafter\HyPsd@unichar@octtwo\expandafter{%
2204       \number
2205       \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
2206       \relax\relax\relax
2207     }%
2208   }%
2209   \def\HyPsd@unichar@octtwo#1{%
2210     \number\dimexpr.125\dimexpr#1sp\relax\relax
2211     \number\numexpr#1-8*\number\dimexpr.125\dimexpr#1sp%
2212     \relax\relax\relax
2213   }%
2214 \fi
2215 \def\HyPsd@utf@viii@undeferr#1#2#3#4#5#6{%
2216   \ifx\@gobble#1%
2217   \else
2218     [Please insert \textbackslash PrerenderUnicode%
2219     \textbraceleft#1\textbraceright\space
2220     into preamble]%
2221   \fi
2222 }%
2223 \@ifclassloaded{memoir}{%
2224   \Hy@AtEndOfPackage{\RequirePackage{memhfixc}}%
2225 }{}
2226 \@ifpackageloaded{subfigure}{%
2227   \ltx@IfUndefined{sub@label}{%
2228     \Hy@hypertexnamesfalse
2229   }{%
2230     \renewcommand*{\sub@label}[1]{%
2231       \@bsphack
2232       \subfig@oldlabel{#1}%
2233       \if@filesw
2234         \begingroup
2235           \edef\@currentlabstr{%
2236             \expandafter\strip@prefix\meaning\@currentlabelname
2237           }%
2238           \protected@write\@auxout{}{%
2239             \string\newlabel{sub@#1}{%
2240               {\@nameuse{@@thesub\@captype}}%
2241               {\thepage}%
2242               {%
2243                 \expandafter\strip@period\@currentlabstr
2244                 \relax.\relax\@@@%
2245               }%
2246               {\@currentHref}%
2247               {}%
2248             }%
2249           }%
2250         \endgroup
2251       \fi
2252       \@esphack
2253     }%
2254     \@ifpackagelater{subfigure}{2002/03/26}{}{%
2255       \providecommand*{\toclevel@subfigure}{1}%
2256       \providecommand*{\toclevel@subtable}{1}%
2257     }%
2258   }%
2259 }{}
2260 \ltx@IfUndefined{XR@addURL}{%
2261 }{%
2262   \def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}%
2263   \def\XR@@dURL#1#2#3#4#5\\{%
2264     {#1}{#2}%
2265     \if!#4!%
2266     \else
2267       {#3}{#4}{\XR@URL}%
2268     \fi
2269   }%
2270 }
2271 \def\Hy@true{true}
2272 \def\Hy@false{false}
2273 \let\literalps@out\@gobble
2274 \newcommand\pdfbookmark[3][]{}
2275 \def\Acrobatmenu#1#2{\leavevmode#2}
2276 \def\Hy@writebookmark#1#2#3#4#5{}%
2277 \let\HyperRaiseLinkHook\@empty
2278 \def\HyperRaiseLinkDefault{\baselineskip}
2279 \newcount\Hy@SavedSpaceFactor
2280 \def\Hy@SaveSpaceFactor{%
2281   \global\Hy@SavedSpaceFactor=\ifhmode\spacefactor\else\z@\fi
2282 }
2283 \def\Hy@RestoreSpaceFactor{%
2284   \relax
2285   \ifhmode
2286     \ifnum\Hy@SavedSpaceFactor>\z@
2287       \spacefactor=\Hy@SavedSpaceFactor
2288     \fi
2289   \fi
2290 }
2291 \def\Hy@SaveSavedSpaceFactor{%
2292   \edef\Hy@RestoreSavedSpaceFactor{%
2293     \global\Hy@SavedSpaceFactor=\the\Hy@SavedSpaceFactor\relax
2294   }%
2295 }
2296 \def\Hy@raisedlink#1{%
2297   \ifvmode
2298     #1%
2299   \else
2300     \Hy@SaveSpaceFactor
2301     \penalty\@M
2302     \smash{%
2303       \begingroup
2304         \let\HyperRaiseLinkLength\@tempdima
2305         \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
2306         \HyperRaiseLinkHook
2307       \expandafter\endgroup
2308       \expandafter\raise\the\HyperRaiseLinkLength\hbox{%
2309         \Hy@RestoreSpaceFactor
2310         #1%
2311         \Hy@SaveSpaceFactor
2312       }%
2313     }%
2314     \Hy@RestoreSpaceFactor
2315   \fi
2316 }
2317 \def\Hy@SaveLastskip{%
2318   \let\Hy@RestoreLastskip\relax
2319   \ifvmode
2320     \ifdim\lastskip=\z@
2321       \let\Hy@RestoreLastskip\nobreak
2322     \else
2323       \begingroup
2324         \skip@=-\lastskip
2325         \edef\x{%
2326           \endgroup
2327           \def\noexpand\Hy@RestoreLastskip{%
2328             \noexpand\ifvmode
2329               \noexpand\nobreak
2330               \vskip\the\skip@
2331               \vskip\the\lastskip\relax
2332             \noexpand\fi
2333           }%
2334         }%
2335       \x
2336     \fi
2337   \else
2338     \ifhmode
2339       \ifdim\lastskip=\z@
2340         \let\Hy@RestoreLastskip\nobreak
2341       \else
2342         \begingroup
2343           \skip@=-\lastskip
2344           \edef\x{%
2345             \endgroup
2346             \def\noexpand\Hy@RestoreLastskip{%
2347               \noexpand\ifhmode
2348                 \noexpand\nobreak
2349                 \hskip\the\skip@
2350                 \hskip\the\lastskip\relax
2351               \noexpand\fi
2352             }%
2353           }%
2354         \x
2355       \fi
2356     \fi
2357   \fi
2358 }%
2359 \SetupKeyvalOptions{%
2360   family=Hyp,%
2361   prefix=HyOpt%
2362 }
2363 \def\IfHyperBooleanExists#1{%
2364   \ltx@ifundefined{Hy@#1false}\ltx@secondoftwo{%
2365     \ltx@ifundefined{KV@Hyp@#1@default}\ltx@secondoftwo\ltx@firstoftwo
2366   }%
2367 }
2368 \@namedef{KV@Hyp@stoppedearly@default}{}
2369 \def\IfHyperBoolean#1{%
2370   \IfHyperBooleanExists{#1}{%
2371     \csname ifHy@#1\endcsname
2372       \expandafter\ltx@firstoftwo
2373     \else
2374       \expandafter\ltx@secondoftwo
2375     \fi
2376   }\ltx@secondoftwo
2377 }
2378 \def\Hy@boolkey#1#2{%
2379   \edef\Hy@tempa{#2}%
2380   \lowercase\expandafter{%
2381     \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
2382   }%
2383   \ifx\Hy@tempa\@empty
2384     \let\Hy@tempa\Hy@true
2385   \fi
2386   \ifx\Hy@tempa\Hy@true
2387   \else
2388     \ifx\Hy@tempa\Hy@false
2389     \else
2390       \let\Hy@tempa\relax
2391     \fi
2392   \fi
2393   \ifx\Hy@tempa\relax
2394     \Hy@WarnOptionValue{#2}{#1}{`true' or 'false'}%
2395   \else
2396     \Hy@Info{Option `#1' set `\Hy@tempa'}%
2397     \csname Hy@#1\Hy@tempa\endcsname
2398   \fi
2399 }
2400 \def\Hy@WarnOptionValue#1#2#3{%
2401   \Hy@Warning{%
2402     Unexpected value `#1'\MessageBreak
2403     of option `#2' instead of\MessageBreak
2404     #3%
2405   }%
2406 }
2407 \def\Hy@DisableOption#1{%
2408   \ltx@ifundefined{KV@Hyp@#1@default}{%
2409     \define@key{Hyp}{#1}%
2410   }{%
2411     \define@key{Hyp}{#1}[]%
2412   }%
2413   {\Hy@WarnOptionDisabled{#1}}%
2414 }
2415 \def\Hy@WarnOptionDisabled#1{%
2416   \Hy@Warning{%
2417     Option `#1' has already been used,\MessageBreak
2418     setting the option has no effect%
2419   }%
2420 }
2421 \def\Hy@CheckOptionValue#1#2#3{%
2422   \begingroup
2423     \edef\x{#1}%
2424     \@onelevel@sanitize\x
2425     \let\y=y%
2426     \def\do##1##2{%
2427       \def\z{##1}%
2428       \@onelevel@sanitize\z
2429       \ifx\x\z
2430         \let\y=n%
2431         \let\do\@gobbletwo
2432       \fi
2433     }%
2434     #3%
2435     \ifx\y y%
2436       \def\do##1##2{%
2437         * `##1'%
2438         \ifx\\##2\\\else\space(##2)\fi
2439         \MessageBreak
2440       }%
2441       \Hy@Warning{%
2442         Values of option `#2':\MessageBreak
2443         #3%
2444         * An empty value disables the option.\MessageBreak
2445         Unknown value `\x'%
2446       }%
2447     \fi
2448   \endgroup
2449 }
2450 \def\Hy@DefNameKey#1{%
2451   \expandafter\Hy@@DefNameKey\csname @#1\endcsname{#1}%
2452 }
2453 \def\Hy@@DefNameKey#1#2#3{%
2454   \define@key{Hyp}{#2}{%
2455     \edef#1{##1}%
2456     \ifx#1\@empty
2457     \else
2458       \Hy@CheckOptionValue{##1}{#2}{#3}%
2459     \fi
2460   }%
2461   \let#1\@empty
2462 }
2463 \def\Hy@UseNameKey#1#2{%
2464   \ifx#2\@empty
2465   \else
2466     /#1/#2%
2467   \fi
2468 }
2469 \define@key{Hyp}{implicit}[true]{%
2470   \Hy@boolkey{implicit}{#1}%
2471 }
2472 \define@key{Hyp}{draft}[true]{%
2473   \Hy@boolkey{draft}{#1}%
2474 }
2475 \define@key{Hyp}{final}[true]{%
2476   \Hy@boolkey{final}{#1}%
2477 }
2478 \let\KV@Hyp@nolinks\KV@Hyp@draft
2479 \def\Hy@ObsoletePaperOption#1{%
2480   \Hy@WarningNoLine{%
2481     Option `#1' is no longer used%
2482   }%
2483   \define@key{Hyp}{#1}[true]{}%
2484 }
2485 \def\Hy@temp#1{%
2486   \define@key{Hyp}{#1}[true]{%
2487     \Hy@ObsoletePaperOption{#1}%
2488   }%
2489 }
2490 \Hy@temp{a4paper}
2491 \Hy@temp{a5paper}
2492 \Hy@temp{b5paper}
2493 \Hy@temp{letterpaper}
2494 \Hy@temp{legalpaper}
2495 \Hy@temp{executivepaper}
2496 \define@key{Hyp}{setpagesize}[true]{%
2497   \Hy@boolkey{setpagesize}{#1}%
2498 }
2499 \define@key{Hyp}{debug}[true]{%
2500   \Hy@boolkey{debug}{#1}%
2501 }
2502 \define@key{Hyp}{linktocpage}[true]{%
2503   \Hy@boolkey{linktocpage}{#1}%
2504   \ifHy@linktocpage
2505     \let\Hy@linktoc\Hy@linktoc@page
2506   \else
2507     \let\Hy@linktoc\Hy@linktoc@section
2508   \fi
2509 }
2510 \chardef\Hy@linktoc@none=0 %
2511 \chardef\Hy@linktoc@section=1 %
2512 \chardef\Hy@linktoc@page=2 %
2513 \chardef\Hy@linktoc@all=3 %
2514 \ifHy@linktocpage
2515   \let\Hy@linktoc\Hy@linktoc@page
2516 \else
2517   \let\Hy@linktoc\Hy@linktoc@section
2518 \fi
2519 \define@key{Hyp}{linktoc}{%
2520   \@ifundefined{Hy@linktoc@#1}{%
2521     \Hy@Warning{%
2522       Unexpected value `#1' of\MessageBreak
2523       option `linktoc' instead of `none',\MessageBreak
2524       `section', `page' or `all'%
2525     }%
2526   }{%
2527     \expandafter\let\expandafter\Hy@linktoc
2528     \csname Hy@linktoc@#1\endcsname
2529   }%
2530 }
2531 \define@key{Hyp}{extension}{\def\XR@ext{#1}}
2532 \let\XR@ext\relax
2533 \define@key{Hyp}{verbose}[true]{%
2534   \Hy@boolkey{verbose}{#1}%
2535 }
2536 \define@key{Hyp}{typexml}[true]{%
2537   \Hy@boolkey{typexml}{#1}%
2538 }
2539 \define@key{Hyp}{raiselinks}[true]{%
2540   \Hy@boolkey{raiselinks}{#1}%
2541 }
2542 \def\Hy@setbreaklinks#1{%
2543   \csname breaklinks#1\endcsname
2544 }
2545 \def\Hy@breaklinks@unsupported{%
2546   \ifx\Hy@setbreaklinks\@gobble
2547     \ifHy@breaklinks
2548       \Hy@WarningNoLine{%
2549         You have enabled option `breaklinks'.\MessageBreak
2550         But driver `\Hy@driver.def' does not suppport this.\MessageBreak
2551         Expect trouble with the link areas of broken links%
2552       }%
2553     \fi
2554   \fi
2555 }
2556 \define@key{Hyp}{breaklinks}[true]{%
2557   \Hy@boolkey{breaklinks}{#1}%
2558   \let\Hy@setbreaklinks\@gobble
2559 }
2560 \define@key{Hyp}{localanchorname}[true]{%
2561   \Hy@boolkey{localanchorname}{#1}%
2562 }
2563 \define@key{Hyp}{pageanchor}[true]{%
2564   \Hy@boolkey{pageanchor}{#1}%
2565 }
2566 \define@key{Hyp}{plainpages}[true]{%
2567   \Hy@boolkey{plainpages}{#1}%
2568 }
2569 \define@key{Hyp}{naturalnames}[true]{%
2570   \Hy@boolkey{naturalnames}{#1}%
2571 }
2572 \define@key{Hyp}{hypertexnames}[true]{%
2573   \Hy@boolkey{hypertexnames}{#1}%
2574 }
2575 \define@key{Hyp}{nesting}[true]{%
2576   \Hy@boolkey{nesting}{#1}%
2577 }
2578 \define@key{Hyp}{unicode}[true]{%
2579   \Hy@boolkey{unicode}{#1}%
2580   \ifHy@unicode
2581     \def\HyPsd@pdfencoding{unicode}%
2582     \HyPsd@LoadUnicode
2583   \else
2584     \def\HyPsd@pdfencoding{pdfdoc}%
2585   \fi
2586 }
2587 \def\HyPsd@LoadUnicode{%
2588   \@ifundefined{T@PU}{%
2589     \input{puenc.def}%
2590     \HyLinguex@Restore
2591   }{}%
2592   \DeclareFontFamily{PU}{pdf}{}%
2593   \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
2594   \DeclareFontSubstitution{PU}{pdf}{m}{n}%
2595   \global\let\HyPsd@LoadUnicode\relax
2596 }
2597 \Hy@AtBeginDocument{%
2598   \ifx\HyPsd@LoadUnicode\relax
2599   \else
2600     \def\HyPsd@LoadUnicode{%
2601       \Hy@Error{%
2602         Unicode support for bookmarks is not available.\MessageBreak
2603         Activate unicode support by using one of the options\MessageBreak
2604         `unicode', `pdfencoding=unicode', `pdfencoding=auto'\MessageBreak
2605         in the preamble%
2606       }\@ehc
2607       \global\let\HyPsd@LoadUnicode\relax
2608       \global\Hy@unicodefalse
2609       \global\let\Hy@unicodetrue\Hy@unicodefalse
2610     }%
2611   \fi
2612 }
2613 \define@key{Hyp}{pdfencoding}{%
2614   \edef\HyPsd@temp{#1}%
2615   \ifx\HyPsd@temp\HyPsd@pdfencoding@pdfdoc
2616     \let\HyPsd@pdfencoding\HyPsd@temp
2617     \Hy@unicodefalse
2618   \else
2619     \ifcase\ifx\HyPsd@temp\HyPsd@pdfencoding@unicode
2620              \z@
2621            \else
2622              \ifx\HyPsd@temp\HyPsd@pdfencoding@auto
2623                \z@
2624              \else
2625                \@ne
2626              \fi
2627            \fi
2628       \let\HyPsd@pdfencoding\HyPsd@temp
2629       \hypersetup{unicode}%
2630       \ifHy@unicode
2631         \def\HyPsd@pdfencoding{#1}%
2632         \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
2633           \HyPsd@LoadStringEnc
2634         \fi
2635       \else
2636         \Hy@Warning{Cannot switch to unicode bookmarks}%
2637         \let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc
2638       \fi
2639     \else
2640       \@onelevel@sanitize\HyPsd@temp
2641       \Hy@Warning{%
2642         Values of option `pdfencoding':\MessageBreak
2643         `pdfdoc', `unicode', `auto'.\MessageBreak
2644         Ignoring unknown value `\HyPsd@temp'%
2645       }%
2646     \fi
2647   \fi
2648 }
2649 \def\HyPsd@pdfencoding@auto{auto}
2650 \def\HyPsd@pdfencoding@pdfdoc{pdfdoc}
2651 \def\HyPsd@pdfencoding@unicode{unicode}
2652 \let\HyPsd@pdfencoding\Hy@pdfencoding@pdfdoc
2653 \def\HyPsd@LoadStringEnc{%
2654   \RequirePackage{stringenc}[2009/12/15]%
2655   \let\HyPsd@LoadStringEnc\relax
2656 }
2657 \Hy@AtBeginDocument{%
2658   \@ifpackageloaded{stringenc}{%
2659     \let\HyPsd@LoadStringEnc\relax
2660   }{%
2661     \def\HyPsd@LoadStringEnc{%
2662       \Hy@WarningNoLine{%
2663         Missing package `stringenc'. Use `pdfencoding=auto'\MessageBreak
2664         in the preamble or load the package there%
2665       }%
2666     }%
2667   }%
2668 }
2669 \def\hypersetup{\kvsetkeys{Hyp}}
2670 \newif\ifHy@setpdfversion
2671 \define@key{Hyp}{pdfversion}{%
2672   \@ifundefined{Hy@pdfversion@#1}{%
2673     \PackageWarning{hyperref}{%
2674       Unsupported PDF version `#1'.\MessageBreak
2675       Valid values: 1.2 until 1.9%
2676     }%
2677   }{%
2678     \Hy@setpdfversiontrue
2679     \edef\Hy@pdfversion{\@nameuse{Hy@pdfversion@#1}}%
2680   }%
2681 }
2682 \@namedef{Hy@pdfversion@1.2}{2}%
2683 \@namedef{Hy@pdfversion@1.3}{3}%
2684 \@namedef{Hy@pdfversion@1.4}{4}%
2685 \@namedef{Hy@pdfversion@1.5}{5}%
2686 \@namedef{Hy@pdfversion@1.6}{6}%
2687 \@namedef{Hy@pdfversion@1.7}{7}%
2688 \@namedef{Hy@pdfversion@1.8}{8}%
2689 \@namedef{Hy@pdfversion@1.9}{9}%
2690 \def\Hy@pdfversion{2}
2691 \newif\ifHy@DviMode
2692 \let\Hy@DviErrMsg\ltx@empty
2693 \ifpdf
2694   \def\Hy@DviErrMsg{pdfTeX or LuaTeX is running in PDF mode}%
2695 \else
2696   \ifxetex
2697     \def\Hy@DviErrMsg{XeTeX is running}%
2698   \else
2699     \ifvtex
2700       \ifvtexdvi
2701         \Hy@DviModetrue
2702       \else
2703         \def\Hy@DviErrMsg{VTeX is running, but not in DVI mode}%
2704       \fi
2705     \else
2706       \Hy@DviModetrue
2707     \fi
2708   \fi
2709 \fi
2710 \def\HyOpt@CheckDvi#1{%
2711   \ifHy@DviMode
2712     \expandafter\ltx@firstofone
2713   \else
2714     \Hy@Error{%
2715       Wrong DVI mode driver option `#1',\MessageBreak
2716       because \Hy@DviErrMsg
2717     }\@ehc
2718     \expandafter\ltx@gobble
2719   \fi
2720 }
2721 \DeclareVoidOption{tex4ht}{%
2722   \Hy@texhttrue
2723   \kvsetkeys{Hyp}{colorlinks=true}%
2724   \def\BeforeTeXIVht{\RequirePackage{color}}%
2725   \def\Hy@driver{htex4ht}%
2726   \def\MaybeStopEarly{%
2727     \Hy@Message{Stopped early}%
2728     \Hy@AtBeginDocument{%
2729       \PDF@FinishDoc
2730       \gdef\PDF@FinishDoc{}%
2731     }%
2732     \endinput
2733   }%
2734 }
2735 \DeclareVoidOption{pdftex}{%
2736   \ifpdf
2737     \def\Hy@driver{hpdftex}%
2738   \else
2739     \Hy@Error{%
2740       Wrong driver option `pdftex',\MessageBreak
2741       because pdfTeX in PDF mode is not detected%
2742     }\@ehc
2743   \fi
2744 }
2745 \DeclareVoidOption{nativepdf}{%
2746   \HyOpt@CheckDvi{nativepdf}{%
2747     \def\Hy@driver{hdvips}%
2748   }%
2749 }
2750 \DeclareVoidOption{dvipdfm}{%
2751   \HyOpt@CheckDvi{dvipdfm}{%
2752     \def\Hy@driver{hdvipdfm}%
2753   }%
2754 }
2755 \DeclareVoidOption{dvipdfmx}{%
2756   \HyOpt@CheckDvi{dvipdfmx}{%
2757     \def\Hy@driver{hdvipdfm}%
2758   }%
2759 }
2760 \define@key{Hyp}{dvipdfmx-outline-open}[true]{%
2761   \expandafter\ifx\csname if#1\expandafter\endcsname
2762                   \csname iftrue\endcsname
2763     \chardef\SpecialDvipdfmxOutlineOpen\@ne
2764   \else
2765     \chardef\SpecialDvipdfmxOutlineOpen\z@
2766   \fi
2767 }
2768 \DeclareVoidOption{xetex}{%
2769   \ifxetex
2770     \def\Hy@driver{hxetex}%
2771   \else
2772     \Hy@Error{%
2773       Wrong driver option `xetex',\MessageBreak
2774       because XeTeX is not detected%
2775     }\@ehc
2776   \fi
2777 }
2778 \DeclareVoidOption{pdfmark}{%
2779   \HyOpt@CheckDvi{pdfmark}{%
2780     \def\Hy@driver{hdvips}%
2781   }%
2782 }
2783 \DeclareVoidOption{dvips}{%
2784   \HyOpt@CheckDvi{dvips}{%
2785     \def\Hy@driver{hdvips}%
2786   }%
2787 }
2788 \DeclareVoidOption{hypertex}{%
2789   \HyOpt@CheckDvi{hypertex}{%
2790     \def\Hy@driver{hypertex}%
2791   }%
2792 }
2793 \let\Hy@MaybeStopNow\relax
2794 \DeclareVoidOption{vtex}{%
2795   \ifvtex
2796     \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
2797       \def\Hy@driver{hvtex}%
2798     \else
2799       \ifnum\OpMode=10\relax
2800         \def\Hy@driver{hvtexhtm}%
2801         \def\MaybeStopEarly{%
2802            \Hy@Message{Stopped early}%
2803            \Hy@AtBeginDocument{%
2804              \PDF@FinishDoc
2805              \gdef\PDF@FinishDoc{}%
2806            }%
2807            \endinput
2808         }%
2809       \else
2810         \Hy@Error{%
2811           Wrong driver option `vtex',\MessageBreak
2812           because of wrong OpMode (\the\OpMode)%
2813         }\@ehc
2814       \fi
2815     \fi
2816   \else
2817     \Hy@Error{%
2818       Wrong driver option `vtex',\MessageBreak
2819       because VTeX is not running%
2820     }\@ehc
2821   \fi
2822 }
2823 \DeclareVoidOption{vtexpdfmark}{%
2824   \ifvtex
2825     \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
2826       \def\Hy@driver{hvtexmrk}%
2827     \else
2828       \Hy@Error{%
2829         Wrong driver option `vtexpdfmark',\MessageBreak
2830         because of wrong OpMode (\the\OpMode)%
2831       }\@ehc
2832     \fi
2833   \else
2834     \Hy@Error{%
2835       Wrong driver option `vtexpdfmark,\MessageBreak
2836       because VTeX is not running%
2837     }\@ehc
2838   \fi
2839 }
2840 \DeclareVoidOption{dviwindo}{%
2841   \HyOpt@CheckDvi{dviwindo}{%
2842     \def\Hy@driver{hdviwind}%
2843     \kvsetkeys{Hyp}{colorlinks}%
2844     \PassOptionsToPackage{dviwindo}{color}%
2845   }%
2846 }
2847 \DeclareVoidOption{dvipsone}{%
2848   \HyOpt@CheckDvi{dvipsone}{%
2849     \def\Hy@driver{hdvipson}%
2850   }%
2851 }
2852 \DeclareVoidOption{textures}{%
2853   \HyOpt@CheckDvi{textures}{%
2854     \def\Hy@driver{htexture}%
2855   }%
2856 }
2857 \DeclareVoidOption{latex2html}{%
2858   \HyOpt@CheckDvi{latex2html}{%
2859     \Hy@AtBeginDocument{\@@latextohtmlX}%
2860   }%
2861 }
2862 \DeclareVoidOption{ps2pdf}{%
2863   \HyOpt@CheckDvi{ps2pdf}{%
2864     \def\Hy@driver{hdvips}%
2865   }%
2866 }
2867 \let\HyOpt@DriverFallback\ltx@empty
2868 \define@key{Hyp}{driverfallback}{%
2869   \ifHy@DviMode
2870     \def\HyOpt@DriverFallback{#1}%
2871     \Hy@Match\HyOpt@DriverFallback{%
2872       ^(|dvipdfm|dvipdfmx|dvips|dvipsone|dviwindo|hypertex|ps2pdf|%
2873        latex2html|tex4ht)$%
2874     }{}{%
2875       \let\HyOpt@DriverFallback\ltx@empty
2876     }%
2877   \fi
2878 }
2879 \define@key{Hyp}{hyperfigures}[true]{%
2880   \Hy@boolkey{hyperfigures}{#1}%
2881 }
2882 \define@key{Hyp}{hyperfootnotes}[true]{%
2883   \Hy@boolkey{hyperfootnotes}{#1}%
2884 }
2885 \def\back@none{none}
2886 \def\back@section{section}
2887 \def\back@page{page}
2888 \def\back@slide{slide}
2889 \define@key{Hyp}{backref}[section]{%
2890   \lowercase{\def\Hy@tempa{#1}}%
2891   \ifx\Hy@tempa\@empty
2892     \let\Hy@tempa\back@section
2893   \fi
2894   \ifx\Hy@tempa\Hy@false
2895     \let\Hy@tempa\back@none
2896   \fi
2897   \ifx\Hy@tempa\back@slide
2898     \let\Hy@tempa\back@section
2899   \fi
2900   \ifx\Hy@tempa\back@page
2901     \PassOptionsToPackage{hyperpageref}{backref}%
2902     \Hy@backreftrue
2903   \else
2904     \ifx\Hy@tempa\back@section
2905       \PassOptionsToPackage{hyperref}{backref}%
2906       \Hy@backreftrue
2907     \else
2908       \ifx\Hy@tempa\back@none
2909         \Hy@backreffalse
2910       \else
2911         \Hy@WarnOptionValue{#1}{backref}{%
2912           `section', `slide', `page', `none',\MessageBreak
2913           or `false'}%
2914       \fi
2915     \fi
2916   \fi
2917 }
2918 \define@key{Hyp}{pagebackref}[true]{%
2919   \edef\Hy@tempa{#1}%
2920   \lowercase\expandafter{%
2921     \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
2922   }%
2923   \ifx\Hy@tempa\@empty
2924     \let\Hy@tempa\Hy@true
2925   \fi
2926   \ifx\Hy@tempa\Hy@true
2927     \PassOptionsToPackage{hyperpageref}{backref}%
2928     \Hy@backreftrue
2929   \else
2930     \ifx\Hy@tempa\Hy@false
2931       \Hy@backreffalse
2932     \else
2933       \Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}%
2934     \fi
2935   \fi
2936 }
2937 \define@key{Hyp}{hyperindex}[true]{%
2938   \Hy@boolkey{hyperindex}{#1}%
2939 }
2940 \define@key{Hyp}{encap}[\|]{%
2941   \def\HyInd@EncapChar{#1}%
2942 }
2943 \def\HyLang@afrikaans{%
2944   \def\equationautorefname{Vergelyking}%
2945   \def\footnoteautorefname{Voetnota}%
2946   \def\itemautorefname{Item}%
2947   \def\figureautorefname{Figuur}%
2948   \def\tableautorefname{Tabel}%
2949   \def\partautorefname{Deel}%
2950   \def\appendixautorefname{Bylae}%
2951   \def\chapterautorefname{Hoofstuk}%
2952   \def\sectionautorefname{Afdeling}%
2953   \def\subsectionautorefname{Subafdeling}%
2954   \def\subsubsectionautorefname{Subsubafdeling}%
2955   \def\paragraphautorefname{Paragraaf}%
2956   \def\subparagraphautorefname{Subparagraaf}%
2957   \def\FancyVerbLineautorefname{Lyn}%
2958   \def\theoremautorefname{Teorema}%
2959   \def\pageautorefname{Bladsy}%
2960 }
2961 \def\HyLang@english{%
2962   \def\equationautorefname{Equation}%
2963   \def\footnoteautorefname{footnote}%
2964   \def\itemautorefname{item}%
2965   \def\figureautorefname{Figure}%
2966   \def\tableautorefname{Table}%
2967   \def\partautorefname{Part}%
2968   \def\appendixautorefname{Appendix}%
2969   \def\chapterautorefname{chapter}%
2970   \def\sectionautorefname{section}%
2971   \def\subsectionautorefname{subsection}%
2972   \def\subsubsectionautorefname{subsubsection}%
2973   \def\paragraphautorefname{paragraph}%
2974   \def\subparagraphautorefname{subparagraph}%
2975   \def\FancyVerbLineautorefname{line}%
2976   \def\theoremautorefname{Theorem}%
2977   \def\pageautorefname{page}%
2978 }
2979 \def\HyLang@french{%
2980   \def\equationautorefname{\'Equation}%
2981   \def\footnoteautorefname{note}%
2982   \def\itemautorefname{item}%
2983   \def\figureautorefname{Figure}%
2984   \def\tableautorefname{Tableau}%
2985   \def\partautorefname{Partie}%
2986   \def\appendixautorefname{Appendice}%
2987   \def\chapterautorefname{chapitre}%
2988   \def\sectionautorefname{section}%
2989   \def\subsectionautorefname{sous-section}%
2990   \def\subsubsectionautorefname{sous-sous-section}%
2991   \def\paragraphautorefname{paragraphe}%
2992   \def\subparagraphautorefname{sous-paragraphe}%
2993   \def\FancyVerbLineautorefname{ligne}%
2994   \def\theoremautorefname{Th\'eor\`eme}%
2995   \def\pageautorefname{page}%
2996 }
2997 \def\HyLang@german{%
2998   \def\equationautorefname{Gleichung}%
2999   \def\footnoteautorefname{Fu\ss note}%
3000   \def\itemautorefname{Punkt}%
3001   \def\figureautorefname{Abbildung}%
3002   \def\tableautorefname{Tabelle}%
3003   \def\partautorefname{Teil}%
3004   \def\appendixautorefname{Anhang}%
3005   \def\chapterautorefname{Kapitel}%
3006   \def\sectionautorefname{Abschnitt}%
3007   \def\subsectionautorefname{Unterabschnitt}%
3008   \def\subsubsectionautorefname{Unterunterabschnitt}%
3009   \def\paragraphautorefname{Absatz}%
3010   \def\subparagraphautorefname{Unterabsatz}%
3011   \def\FancyVerbLineautorefname{Zeile}%
3012   \def\theoremautorefname{Theorem}%
3013   \def\pageautorefname{Seite}%
3014 }
3015 \def\HyLang@italian{%
3016   \def\equationautorefname{Equazione}%
3017   \def\footnoteautorefname{nota}%
3018   \def\itemautorefname{punto}%
3019   \def\figureautorefname{Figura}%
3020   \def\tableautorefname{Tabella}%
3021   \def\partautorefname{Parte}%
3022   \def\appendixautorefname{Appendice}%
3023   \def\chapterautorefname{Capitolo}%
3024   \def\sectionautorefname{sezione}%
3025   \def\subsectionautorefname{sottosezione}%
3026   \def\subsubsectionautorefname{sottosottosezione}%
3027   \def\paragraphautorefname{paragrafo}%
3028   \def\subparagraphautorefname{sottoparagrafo}%
3029   \def\FancyVerbLineautorefname{linea}%
3030   \def\theoremautorefname{Teorema}%
3031   \def\pageautorefname{Pag.\@}%
3032 }
3033 \def\HyLang@magyar{%
3034   \def\equationautorefname{Egyenlet}%
3035   \def\footnoteautorefname{l\'abjegyzet}%
3036   \def\itemautorefname{Elem}%
3037   \def\figureautorefname{\'Abra}%
3038   \def\tableautorefname{T\'abl\'azat}%
3039   \def\partautorefname{R\'esz}%
3040   \def\appendixautorefname{F\"uggel\'ek}%
3041   \def\chapterautorefname{fejezet}%
3042   \def\sectionautorefname{szakasz}%
3043   \def\subsectionautorefname{alszakasz}%
3044   \def\subsubsectionautorefname{alalszakasz}%
3045   \def\paragraphautorefname{bekezd\'es}%
3046   \def\subparagraphautorefname{albekezd\'es}%
3047   \def\FancyVerbLineautorefname{sor}%
3048   \def\theoremautorefname{T\'etel}%
3049   \def\pageautorefname{oldal}%
3050 }
3051 \def\HyLang@portuges{%
3052   \def\equationautorefname{Equa\c c\~ao}%
3053   \def\footnoteautorefname{Nota de rodap\'e}%
3054   \def\itemautorefname{Item}%
3055   \def\figureautorefname{Figura}%
3056   \def\tableautorefname{Tabela}%
3057   \def\partautorefname{Parte}%
3058   \def\appendixautorefname{Ap\^endice}%
3059   \def\chapterautorefname{Cap\'itulo}%
3060   \def\sectionautorefname{Se\c c\~ao}%
3061   \def\subsectionautorefname{Subse\c c\~ao}%
3062   \def\subsubsectionautorefname{Subsubse\c c\~ao}%
3063   \def\paragraphautorefname{par\'agrafo}%
3064   \def\subparagraphautorefname{subpar\'agrafo}%
3065   \def\FancyVerbLineautorefname{linha}%
3066   \def\theoremautorefname{Teorema}%
3067   \def\pageautorefname{P\'agina}%
3068 }
3069 \def\HyLang@russian{%
3070   \def\equationautorefname{\cyr\cyrv\cyrery\cyrr.}%
3071   \def\footnoteautorefname{%
3072     \cyr\cyrp\cyro\cyrd\cyrs\cyrt\cyrr.\ \cyrp\cyrr\cyri\cyrm.%
3073   }%
3074   \def\itemautorefname{\cyr\cyrp.}%
3075   \def\figureautorefname{\cyr\cyrr\cyri\cyrs.}%
3076   \def\tableautorefname{\cyr\cyrt\cyra\cyrb\cyrl.}%
3077   \def\partautorefname{\cyr\cyrch.}%
3078   \def\chapterautorefname{\cyr\cyrg\cyrl.}%
3079   \def\sectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
3080   \def\appendixautorefname{\cyr\cyrp\cyrr\cyri\cyrl.}%
3081   \def\subsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
3082   \def\subsubsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
3083   \def\paragraphautorefname{\cyr\cyrp.}%
3084   \def\subparagraphautorefname{\cyr\cyrp.}%
3085   \def\FancyVerbLineautorefname{\cyr\cyrs\cyrt\cyrr.}%
3086   \def\theoremautorefname{\cyr\cyrt\cyre\cyro\cyrr.}%
3087   \def\pageautorefname{\cyr\cyrs.}%
3088 }
3089 \def\HyLang@spanish{%
3090   \def\equationautorefname{Ecuaci\'on}%
3091   \def\footnoteautorefname{Nota a pie de p\'agina}%
3092   \def\itemautorefname{Elemento}%
3093   \def\figureautorefname{Figura}%
3094   \def\tableautorefname{Tabla}%
3095   \def\partautorefname{Parte}%
3096   \def\appendixautorefname{Ap\'endice}%
3097   \def\chapterautorefname{Cap\'itulo}%
3098   \def\sectionautorefname{Secci\'on}%
3099   \def\subsectionautorefname{Subsecci\'on}%
3100   \def\subsubsectionautorefname{Subsubsecci\'on}%
3101   \def\paragraphautorefname{P\'arrafo}%
3102   \def\subparagraphautorefname{Subp\'arrafo}%
3103   \def\FancyVerbLineautorefname{L\'inea}%
3104   \def\theoremautorefname{Teorema}%
3105   \def\pageautorefname{P\'agina}%
3106 }
3107 \def\HyLang@vietnamese{%
3108   \def\equationautorefname{Ph\uhorn{}\ohorn{}ng tr\`inh}%
3109   \def\footnoteautorefname{Ch\'u th\'ich}%
3110   \def\itemautorefname{m\d{u}c}%
3111   \def\figureautorefname{H\`inh}%
3112   \def\tableautorefname{B\h{a}ng}%
3113   \def\partautorefname{Ph\`\acircumflex{}n}%
3114   \def\appendixautorefname{Ph\d{u} l\d{u}c}%
3115   \def\chapterautorefname{ch\uhorn{}\ohorn{}ng}%
3116   \def\sectionautorefname{m\d{u}c}%
3117   \def\subsectionautorefname{m\d{u}c}%
3118   \def\subsubsectionautorefname{m\d{u}c}%
3119   \def\paragraphautorefname{\dj{}o\d{a}n}%
3120   \def\subparagraphautorefname{\dj{}o\d{a}n}%
3121   \def\FancyVerbLineautorefname{d\`ong}%
3122   \def\theoremautorefname{\DJ{}\d{i}nh l\'y}%
3123   \def\pageautorefname{Trang}%
3124 }
3125 \def\HyLang@addto#1#2{%
3126   #2%
3127   \@temptokena{#2}%
3128   \ifx#1\relax
3129     \let#1\@empty
3130   \fi
3131   \ifx#1\@undefined
3132     \edef#1{\the\@temptokena}%
3133   \else
3134     \toks@\expandafter{#1}%
3135     \edef#1{\the\toks@\the\@temptokena}%
3136   \fi
3137   \@temptokena{}\toks@\@temptokena
3138 }
3139 \def\HyLang@DeclareLang#1#2#3{%
3140   \@ifpackagewith{babel}{#1}{%
3141     \expandafter\HyLang@addto
3142         \csname extras#1\expandafter\endcsname
3143         \csname HyLang@#2\endcsname
3144     \begingroup
3145       \edef\x{\endgroup
3146         #3%
3147       }%
3148     \x
3149     \@namedef{HyLang@#1@done}{}%
3150   }{}%
3151   \begingroup
3152     \edef\x##1##2{%
3153       \noexpand\ifx##2\relax
3154         \errmessage{No definitions for language #2' found!}%
3155       \noexpand\fi
3156       \endgroup
3157       \noexpand\define@key{Hyp}{#1}[]{%
3158         \noexpand\@ifundefined{HyLang@#1@done}{%
3159           \noexpand\HyLang@addto{\noexpand##1}{\noexpand##2}%
3160           #3%
3161           \noexpand\@namedef{HyLang@#1@done}{}%
3162         }{}%
3163       }%
3164     }%
3165   \expandafter\x\csname extras#1\expandafter\endcsname
3166                 \csname HyLang@#2\endcsname
3167 }
3168 \HyLang@DeclareLang{english}{english}{}
3169 \HyLang@DeclareLang{UKenglish}{english}{}
3170 \HyLang@DeclareLang{british}{english}{}
3171 \HyLang@DeclareLang{USenglish}{english}{}
3172 \HyLang@DeclareLang{american}{english}{}
3173 \HyLang@DeclareLang{german}{german}{}
3174 \HyLang@DeclareLang{austrian}{german}{}
3175 \HyLang@DeclareLang{ngerman}{german}{}
3176 \HyLang@DeclareLang{naustrian}{german}{}
3177 \HyLang@DeclareLang{russian}{russian}{\noexpand\hypersetup{unicode}}
3178 \HyLang@DeclareLang{brazil}{portuges}{}
3179 \HyLang@DeclareLang{brazilian}{portuges}{}
3180 \HyLang@DeclareLang{portuguese}{portuges}{}
3181 \HyLang@DeclareLang{spanish}{spanish}{}
3182 \HyLang@DeclareLang{afrikaans}{afrikaans}{}
3183 \HyLang@DeclareLang{french}{french}{}
3184 \HyLang@DeclareLang{frenchb}{french}{}
3185 \HyLang@DeclareLang{francais}{french}{}
3186 \HyLang@DeclareLang{acadian}{french}{}
3187 \HyLang@DeclareLang{canadien}{french}{}
3188 \HyLang@DeclareLang{italian}{italian}{}
3189 \HyLang@DeclareLang{magyar}{magyar}{}
3190 \HyLang@DeclareLang{hungarian}{magyar}{}
3191 \DeclareVoidOption{vietnamese}{%
3192   \HyLang@addto\extrasvietnamese\HyLang@vietnamese
3193   \Hy@AtEndOfPackage{%
3194     \@ifundefined{T@PU}{}{%
3195       \input{puvnenc.def}%
3196     }%
3197   }%
3198 }
3199 \DeclareVoidOption{vietnam}{%
3200   \HyLang@addto\extrasvietnam\HyLang@vietnamese
3201   \Hy@AtEndOfPackage{%
3202     \@ifundefined{T@PU}{}{%
3203       \input{puvnenc.def}%
3204     }%
3205   }%
3206 }
3207 \DeclareVoidOption{arabic}{%
3208   \Hy@AtEndOfPackage{%
3209     \@ifundefined{T@PU}{}{%
3210       \input{puarenc.def}%
3211     }%
3212   }%
3213 }
3214 \define@key{Hyp}{colorlinks}[true]{%
3215   \Hy@boolkey{colorlinks}{#1}%
3216 }
3217 \DeclareVoidOption{hidelinks}{%
3218   \Hy@colorlinksfalse
3219   \Hy@ocgcolorlinksfalse
3220   \Hy@frenchlinksfalse
3221   \def\Hy@colorlink##1{\begingroup}%
3222   \def\Hy@endcolorlink{\endgroup}%
3223   \def\@pdfborder{0 0 0}%
3224   \let\@pdfborderstyle\ltx@empty
3225 }
3226 \define@key{Hyp}{ocgcolorlinks}[true]{%
3227   \Hy@boolkey{ocgcolorlinks}{#1}%
3228 }
3229 \Hy@AtBeginDocument{%
3230   \begingroup
3231     \@ifundefined{OBJ@OCG@view}{%
3232       \ifHy@ocgcolorlinks
3233         \Hy@Warning{%
3234           Driver does not support `ocgcolorlinks',\MessageBreak
3235           using `colorlinks' instead%
3236         }%
3237       \fi
3238     }{}%
3239   \endgroup
3240 }
3241 \define@key{Hyp}{frenchlinks}[true]{%
3242   \Hy@boolkey{frenchlinks}{#1}%
3243 }
3244 \begingroup\expandafter\expandafter\expandafter\endgroup
3245 \expandafter\ifx\csname chapter\endcsname\relax
3246   \def\toclevel@part{0}%
3247 \else
3248   \def\toclevel@part{-1}%
3249 \fi
3250 \def\toclevel@chapter{0}
3251 \def\toclevel@section{1}
3252 \def\toclevel@subsection{2}
3253 \def\toclevel@subsubsection{3}
3254 \def\toclevel@paragraph{4}
3255 \def\toclevel@subparagraph{5}
3256 \def\toclevel@figure{0}
3257 \def\toclevel@table{0}
3258 \@ifpackageloaded{listings}{%
3259   \providecommand*\theHlstlisting{\thelstlisting}%
3260   \providecommand*\toclevel@lstlisting{0}%
3261 }{}
3262 \@ifpackageloaded{listing}{%
3263   \providecommand*\theHlisting{\thelisting}%
3264   \providecommand*\toclevel@listing{0}%
3265 }{}
3266 \define@key{Hyp}{bookmarks}[true]{%
3267   \Hy@boolkey{bookmarks}{#1}%
3268 }
3269 \define@key{Hyp}{bookmarksopen}[true]{%
3270   \Hy@boolkey{bookmarksopen}{#1}%
3271 }
3272 \let\Hy@bookmarksdepth\c@tocdepth
3273 \define@key{Hyp}{bookmarksdepth}[]{%
3274   \begingroup
3275     \edef\x{#1}%
3276     \ifx\x\empty
3277       \global\let\Hy@bookmarksdepth\c@tocdepth
3278     \else
3279       \@ifundefined{toclevel@\x}{%
3280         \@onelevel@sanitize\x
3281         \edef\y{\expandafter\@car\x\@nil}%
3282         \ifcase 0\expandafter\ifx\y-1\fi
3283                  \expandafter\ifnum\expandafter`\y>47 %
3284                    \expandafter\ifnum\expandafter`\y<58 1\fi\fi\relax
3285           \Hy@Warning{Unknown document division name (\x)}%
3286         \else
3287           \setbox\z@=\hbox{%
3288             \count@=\x
3289             \xdef\Hy@bookmarksdepth{\the\count@}%
3290           }%
3291         \fi
3292       }{%
3293         \setbox\z@=\hbox{%
3294           \count@=\csname toclevel@\x\endcsname
3295           \xdef\Hy@bookmarksdepth{\the\count@}%
3296         }%
3297       }%
3298     \fi
3299   \endgroup
3300 }
3301 \define@key{Hyp}{bookmarksopenlevel}{%
3302   \def\@bookmarksopenlevel{#1}%
3303 }
3304 \def\@bookmarksopenlevel{\maxdimen}
3305 \define@key{Hyp}{bookmarkstype}{%
3306   \def\Hy@bookmarkstype{#1}%
3307 }
3308 \def\Hy@bookmarkstype{toc}
3309 \define@key{Hyp}{bookmarksnumbered}[true]{%
3310   \Hy@boolkey{bookmarksnumbered}{#1}%
3311 }
3312 \define@key{Hyp}{CJKbookmarks}[true]{%
3313   \Hy@boolkey{CJKbookmarks}{#1}%
3314 }
3315 \def\Hy@temp#1{%
3316   \expandafter\Hy@@temp\csname @#1color\endcsname{#1}%
3317 }
3318 \def\Hy@@temp#1#2#3{%
3319   \define@key{Hyp}{#2color}{%
3320     \HyColor@HyperrefColor{##1}#1%
3321   }%
3322   \def#1{#3}%
3323 }
3324 \Hy@temp{link}{red}
3325 \Hy@temp{anchor}{black}
3326 \Hy@temp{cite}{green}
3327 \Hy@temp{file}{cyan}
3328 \Hy@temp{url}{magenta}
3329 \Hy@temp{menu}{red}
3330 \Hy@temp{run}{\@filecolor}
3331 \define@key{Hyp}{pagecolor}{%
3332   \Hy@WarningPageColor
3333 }
3334 \def\Hy@WarningPageColor{%
3335   \Hy@WarningNoLine{Option `pagecolor' is not available anymore}%
3336   \global\let\Hy@WarningPageColor\relax
3337 }
3338 \define@key{Hyp}{allcolors}{%
3339   \HyColor@HyperrefColor{#1}\@linkcolor
3340   \HyColor@HyperrefColor{#1}\@anchorcolor
3341   \HyColor@HyperrefColor{#1}\@citecolor
3342   \HyColor@HyperrefColor{#1}\@filecolor
3343   \HyColor@HyperrefColor{#1}\@urlcolor
3344   \HyColor@HyperrefColor{#1}\@menucolor
3345   \HyColor@HyperrefColor{#1}\@runcolor
3346 }
3347 \def\hyperbaseurl#1{\def\@baseurl{#1}}
3348 \define@key{Hyp}{baseurl}{\hyperbaseurl{#1}}
3349 \let\@baseurl\@empty
3350 \def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}}
3351 \define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}}
3352 \hyperlinkfileprefix{file:}
3353 \let\@pdfpagetransition\relax
3354 \define@key{Hyp}{pdfpagetransition}{%
3355   \def\@pdfpagetransition{#1}%
3356 }
3357 \let\@pdfpageduration\relax
3358 \define@key{Hyp}{pdfpageduration}{%
3359   \def\@pdfpageduration{#1}%
3360   \Hy@Match\@pdfpageduration{%
3361     ^(|[0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)$%
3362   }{}{%
3363     \Hy@Warning{%
3364       Invalid value `\@pdfpageduration'\MessageBreak
3365       of option `pdfpageduration'\MessageBreak
3366       is replaced by an empty value%
3367     }%
3368     \let\@pdfpageduration\ltx@empty
3369   }%
3370 }
3371 \newif\ifHy@useHidKey
3372 \Hy@useHidKeyfalse
3373 \define@key{Hyp}{pdfpagehidden}[true]{%
3374   \Hy@boolkey{pdfpagehidden}{#1}%
3375   \ifHy@pdfpagehidden
3376     \global\Hy@useHidKeytrue
3377   \fi
3378 }
3379 \def\Hy@ColorList{cite,file,link,menu,run,url}
3380 \@for\Hy@temp:=\Hy@ColorList\do{%
3381   \edef\Hy@temp{%
3382     \noexpand\define@key{Hyp}{\Hy@temp bordercolor}{%
3383       \noexpand\HyColor@HyperrefBorderColor
3384           {##1}%
3385           \expandafter\noexpand\csname @\Hy@temp bordercolor\endcsname
3386           {hyperref}%
3387           {\Hy@temp bordercolor}%
3388     }%
3389   }%
3390   \Hy@temp
3391 }
3392 \define@key{Hyp}{pagebordercolor}{%
3393   \Hy@WarningPageBorderColor
3394 }
3395 \def\Hy@WarningPageBorderColor{%
3396   \Hy@WarningNoLine{Option `pagebordercolor' is not available anymore}%
3397   \global\let\Hy@WarningPageBorderColor\relax
3398 }
3399 \define@key{Hyp}{allbordercolors}{%
3400   \def\Hy@temp##1##2{%
3401     \HyColor@HyperrefBorderColor{#1}##1{hyperref}{##2bordercolor}%
3402   }%
3403   \Hy@temp\@citebordercolor{cite}%
3404   \Hy@temp\@filebordercolor{file}%
3405   \Hy@temp\@linkbordercolor{link}%
3406   \Hy@temp\@menubordercolor{menu}%
3407   \Hy@temp\@runbordercolor{run}%
3408   \Hy@temp\@urlbordercolor{url}%
3409 }
3410 \define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
3411 \Hy@DefNameKey{pdfhighlight}{%
3412   \do{/I}{Invert}%
3413   \do{/N}{None}%
3414   \do{/O}{Outline}%
3415   \do{/P}{Push}%
3416 }
3417 \define@key{Hyp}{pdfborder}{%
3418   \let\Hy@temp\@pdfborder
3419   \def\@pdfborder{#1}%
3420   \Hy@Match\@pdfborder{%
3421     ^\HyPat@NonNegativeReal/ %
3422      \HyPat@NonNegativeReal/ %
3423      \HyPat@NonNegativeReal/%
3424      ( ?\[\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)*])?$%
3425   }{}{%
3426     \Hy@Warning{%
3427       Invalid value `\@pdfborder'\MessageBreak
3428       for option `pdfborder'.\MessageBreak
3429       Option setting is ignored%
3430     }%
3431     \let\@pdfborder\Hy@temp
3432   }%
3433 }
3434 \define@key{Hyp}{pdfborderstyle}{%
3435   \let\Hy@temp\@pdfborderstyle
3436   \def\@pdfborderstyle{#1}%
3437   \Hy@Match\@pdfborderstyle{%
3438     ^%
3439     ( */Type */Border%
3440     | */W +\HyPat@NonNegativeReal/%
3441     | */S */[SDBIU]%
3442     | */D *\[ *(\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)?)?]%
3443     )* *$%
3444   }{}{%
3445     \Hy@Warning{%
3446       Invalid value `\@pdfborderstyle'\MessageBreak
3447       for option `pdfborderstyle'.\MessageBreak
3448       Option setting is ignored%
3449     }%
3450     \let\@pdfborderstyle\Hy@temp
3451   }%
3452 }
3453 \def\Hy@setpdfborder{%
3454   \ifx\@pdfborder\@empty
3455   \else
3456     /Border[\@pdfborder]%
3457   \fi
3458   \ifx\@pdfborderstyle\@empty
3459   \else
3460     /BS<<\@pdfborderstyle>>%
3461   \fi
3462 }
3463 \Hy@DefNameKey{pdfpagemode}{%
3464   \do{UseNone}{}%
3465   \do{UseOutlines}{}%
3466   \do{UseThumbs}{}%
3467   \do{FullScreen}{}%
3468   \do{UseOC}{PDF 1.5}%
3469   \do{UseAttachments}{PDF 1.6}%
3470 }
3471 \Hy@DefNameKey{pdfnonfullscreenpagemode}{%
3472   \do{UseNone}{}%
3473   \do{UseOutlines}{}%
3474   \do{UseThumbs}{}%
3475   \do{FullScreen}{}%
3476   \do{UseOC}{PDF 1.5}%
3477   \do{UseAttachments}{PDF 1.6}%
3478 }
3479 \Hy@DefNameKey{pdfdirection}{%
3480   \do{L2R}{Left to right}%
3481   \do{R2L}{Right to left}%
3482 }
3483 \Hy@DefNameKey{pdfviewarea}{%
3484   \do{MediaBox}{}%
3485   \do{CropBox}{}%
3486   \do{BleedBox}{}%
3487   \do{TrimBox}{}%
3488   \do{ArtBox}{}%
3489 }
3490 \Hy@DefNameKey{pdfviewclip}{%
3491   \do{MediaBox}{}%
3492   \do{CropBox}{}%
3493   \do{BleedBox}{}%
3494   \do{TrimBox}{}%
3495   \do{ArtBox}{}%
3496 }
3497 \Hy@DefNameKey{pdfprintarea}{%
3498   \do{MediaBox}{}%
3499   \do{CropBox}{}%
3500   \do{BleedBox}{}%
3501   \do{TrimBox}{}%
3502   \do{ArtBox}{}%
3503 }
3504 \Hy@DefNameKey{pdfprintclip}{%
3505   \do{MediaBox}{}%
3506   \do{CropBox}{}%
3507   \do{BleedBox}{}%
3508   \do{TrimBox}{}%
3509   \do{ArtBox}{}%
3510 }
3511 \Hy@DefNameKey{pdfprintscaling}{%
3512   \do{AppDefault}{}%
3513   \do{None}{}%
3514 }
3515 \Hy@DefNameKey{pdfduplex}{%
3516   \do{Simplex}{}%
3517   \do{DuplexFlipShortEdge}{}%
3518   \do{DuplexFlipLongEdge}{}%
3519 }
3520 \Hy@DefNameKey{pdfpicktraybypdfsize}{%
3521   \do{true}{}%
3522   \do{false}{}%
3523 }
3524 \define@key{Hyp}{pdfprintpagerange}{%
3525   \def\@pdfprintpagerange{#1}%
3526 }
3527 \Hy@DefNameKey{pdfnumcopies}{%
3528   \do{2}{two copies}%
3529   \do{3}{three copies}%
3530   \do{4}{four copies}%
3531   \do{5}{five copies}%
3532 }
3533 \define@key{Hyp}{pdfusetitle}[true]{%
3534   \Hy@boolkey{pdfusetitle}{#1}%
3535 }
3536 \def\HyXeTeX@CheckUnicode{%
3537   \ifxetex
3538     \ifHy@unicode
3539     \else
3540       \Hy@WarningNoLine{%
3541         XeTeX driver only supports unicode.\MessageBreak
3542         Enabling option `unicode'%
3543       }%
3544       \kvsetkeys{Hyp}{unicode}%
3545     \fi
3546   \else
3547     \let\HyXeTeX@CheckUnicode\relax
3548   \fi
3549 }
3550 \def\HyPsd@PrerenderUnicode#1{%
3551   \begingroup
3552     \expandafter\ifx\csname PrerenderUnicode\endcsname\relax
3553     \else
3554       \sbox0{%
3555         \let\GenericInfo\@gobbletwo
3556         \let\GenericWarning\@gobbletwo
3557         \let\GenericError\@gobblefour
3558         \PrerenderUnicode{#1}%
3559        }%
3560     \fi
3561   \endgroup
3562 }
3563 \define@key{Hyp}{pdftitle}{%
3564   \HyXeTeX@CheckUnicode
3565   \HyPsd@XeTeXBigCharstrue
3566   \HyPsd@PrerenderUnicode{#1}%
3567   \pdfstringdef\@pdftitle{#1}%
3568 }
3569 \define@key{Hyp}{pdfauthor}{%
3570   \HyXeTeX@CheckUnicode
3571   \HyPsd@XeTeXBigCharstrue
3572   \HyPsd@PrerenderUnicode{#1}%
3573   \pdfstringdef\@pdfauthor{#1}%
3574 }
3575 \define@key{Hyp}{pdfproducer}{%
3576   \HyXeTeX@CheckUnicode
3577   \HyPsd@XeTeXBigCharstrue
3578   \HyPsd@PrerenderUnicode{#1}%
3579   \pdfstringdef\@pdfproducer{#1}%
3580 }
3581 \define@key{Hyp}{pdfcreator}{%
3582   \HyXeTeX@CheckUnicode
3583   \HyPsd@XeTeXBigCharstrue
3584   \HyPsd@PrerenderUnicode{#1}%
3585   \pdfstringdef\@pdfcreator{#1}%
3586 }
3587 \define@key{Hyp}{pdfcreationdate}{%
3588   \begingroup
3589     \Hy@unicodefalse
3590     \pdfstringdef\@pdfcreationdate{#1}%
3591   \endgroup
3592 }
3593 \define@key{Hyp}{pdfmoddate}{%
3594   \begingroup
3595     \Hy@unicodefalse
3596     \pdfstringdef\@pdfmoddate{#1}%
3597   \endgroup
3598 }
3599 \define@key{Hyp}{pdfsubject}{%
3600   \HyXeTeX@CheckUnicode
3601   \HyPsd@XeTeXBigCharstrue
3602   \HyPsd@PrerenderUnicode{#1}%
3603   \pdfstringdef\@pdfsubject{#1}%
3604 }
3605 \define@key{Hyp}{pdfkeywords}{%
3606   \HyXeTeX@CheckUnicode
3607   \HyPsd@XeTeXBigCharstrue
3608   \HyPsd@PrerenderUnicode{#1}%
3609   \pdfstringdef\@pdfkeywords{#1}%
3610 }
3611 \define@key{Hyp}{pdftrapped}{%
3612   \lowercase{\edef\Hy@temp{#1}}%
3613   \ifx\Hy@temp\HyInfo@trapped@true
3614     \def\@pdftrapped{True}%
3615   \else
3616     \ifx\Hy@temp\HyInfo@trapped@false
3617       \def\@pdftrapped{False}%
3618     \else
3619       \ifx\Hy@temp\HyInfo@trapped@unknown
3620         \def\@pdftrapped{Unknown}%
3621       \else
3622         \ifx\Hy@temp\@empty
3623         \else
3624           \Hy@Warning{%
3625             Unsupported value `#1'\MessageBreak
3626             for option `pdftrapped'%
3627           }%
3628         \fi
3629         \def\@pdftrapped{}%
3630       \fi
3631     \fi
3632   \fi
3633 }
3634 \def\HyInfo@trapped@true{true}
3635 \def\HyInfo@trapped@false{false}
3636 \def\HyInfo@trapped@unknown{unknown}
3637 \def\HyInfo@TrappedUnsupported{%
3638   \ifx\@pdftrapped\@empty
3639   \else
3640     \Hy@WarningNoLine{`pdftrapped' is not supported by this driver}%
3641     \gdef\HyInfo@TrappedUnsupported{}%
3642   \fi
3643 }
3644 \define@key{Hyp}{pdfinfo}{%
3645   \kvsetkeys{pdfinfo}{#1}%
3646 }
3647 \def\Hy@temp#1{%
3648   \lowercase{\Hy@temp@A{#1}}{#1}%
3649 }
3650 \def\Hy@temp@A#1#2{%
3651   \define@key{pdfinfo}{#2}{%
3652     \hypersetup{pdf#1={##1}}%
3653   }%
3654 }
3655 \Hy@temp{Title}
3656 \Hy@temp{Author}
3657 \Hy@temp{Keywords}
3658 \Hy@temp{Subject}
3659 \Hy@temp{Creator}
3660 \Hy@temp{Producer}
3661 \Hy@temp{CreationDate}
3662 \Hy@temp{ModDate}
3663 \Hy@temp{Trapped}
3664 \newif\ifHyInfo@AddonUnsupported
3665 \kv@set@family@handler{pdfinfo}{%
3666   \HyInfo@AddonHandler{#1}{#2}%
3667 }
3668 \let\HyInfo@do\relax
3669 \def\HyInfo@AddonHandler#1#2{%
3670   \ifx\kv@value\relax
3671     \Hy@Warning{%
3672       Option `pdfinfo': ignoring key `\kv@key' without value%
3673     }%
3674   \else
3675     \EdefEscapeName\HyInfo@KeyEscaped{\kv@key}%
3676     \EdefUnescapeName\HyInfo@Key{\HyInfo@KeyEscaped}%
3677     \expandafter\ifx\csname KV@pdfinfo@\HyInfo@Key\endcsname\relax
3678       \ifHyInfo@AddonUnsupported
3679         \Hy@Warning{%
3680           This driver does not support additional\MessageBreak
3681           information entries, therefore\MessageBreak
3682           `\kv@key' is ignored%
3683         }%
3684       \else
3685         \define@key{pdfinfo}{\HyInfo@Key}{%
3686           \HyXeTeX@CheckUnicode
3687           \HyPsd@XeTeXBigCharstrue
3688           \HyPsd@PrerenderUnicode{##1}%
3689           \pdfstringdef\HyInfo@Value{##1}%
3690           \expandafter\let\csname HyInfo@Value@\HyInfo@Key\endcsname
3691               \HyInfo@Value
3692         }%
3693         \edef\HyInfo@AddonList{%
3694           \HyInfo@AddonList
3695           \HyInfo@do{\HyInfo@Key}%
3696         }%
3697         \kv@parse@normalized{%
3698           \HyInfo@Key={#2}%
3699         }{%
3700           \kv@processor@default{pdfinfo}%
3701         }%
3702       \fi
3703     \else
3704       \kv@parse@normalized{%
3705         \HyInfo@Key={#2}%
3706       }{%
3707         \kv@processor@default{pdfinfo}%
3708       }%
3709     \fi
3710   \fi
3711 }
3712 \def\HyInfo@GenerateAddons{%
3713   \ifHyInfo@AddonUnsupported
3714     \def\HyInfo@Addons{}%
3715   \else
3716     \begingroup
3717       \toks@{}%
3718       \def\HyInfo@do##1{%
3719         \EdefEscapeName\HyInfo@Key{##1}%
3720         \edef\x{%
3721           \toks@{%
3722             \the\toks@
3723             /\HyInfo@Key(\csname HyInfo@Value@##1\endcsname)%
3724           }%
3725         }%
3726         \x
3727       }%
3728       \HyInfo@AddonList
3729       \edef\x{\endgroup
3730         \def\noexpand\HyInfo@Addons{\the\toks@}%
3731       }%
3732     \x
3733   \fi
3734 }
3735 \let\HyInfo@AddonList\ltx@empty
3736 \define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
3737 \define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}}
3738 \let\setpdflinkmargin\@gobble
3739 \def\calculate@pdfview#1 #2\\{%
3740   \def\@pdfview{#1}%
3741   \ifx\\#2\\%
3742     \def\@pdfviewparams{ -32768}%
3743   \else
3744     \def\@pdfviewparams{ #2}%
3745   \fi
3746 }
3747 \begingroup\expandafter\expandafter\expandafter\endgroup
3748 \expandafter\ifx\csname numexpr\endcsname\relax
3749   \def\Hy@number#1{%
3750     \expandafter\@firstofone\expandafter{\number#1}%
3751   }%
3752 \else
3753   \def\Hy@number#1{%
3754     \the\numexpr#1\relax
3755   }%
3756 \fi
3757 \define@key{Hyp}{pdfstartpage}{%
3758   \ifx\\#1\\%
3759     \let\@pdfstartpage\ltx@empty
3760   \else
3761     \edef\@pdfstartpage{\Hy@number{#1}}%
3762   \fi
3763 }%
3764 \define@key{Hyp}{pdfstartview}{%
3765   \ifx\\#1\\%
3766     \let\@pdfstartview\ltx@empty
3767   \else
3768     \hypercalcbpdef\@pdfstartview{/#1}%
3769   \fi
3770 }
3771 \def\HyPat@NonNegativeReal/{%
3772   \ *([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+) *%
3773 }
3774 \define@key{Hyp}{pdfremotestartview}{%
3775   \ifx\\#1\\%
3776     \def\@pdfremotestartview{/Fit}%
3777   \else
3778     \hypercalcbpdef\@pdfremotestartview{#1}%
3779     \edef\@pdfremotestartview{\@pdfremotestartview}%
3780     \Hy@Match\@pdfremotestartview{%
3781       ^(XYZ -?(null|\HyPat@NonNegativeReal/) %
3782             -?(null|\HyPat@NonNegativeReal/) %
3783             (null|\HyPat@NonNegativeReal/)|%
3784         Fit(|B|%
3785          (H|V|BH|BV) (null|\HyPat@NonNegativeReal/)|%
3786          R \HyPat@NonNegativeReal/ \HyPat@NonNegativeReal/ %
3787            \HyPat@NonNegativeReal/ \HyPat@NonNegativeReal/%
3788       ))$%
3789     }{}{%
3790       \Hy@Warning{%
3791          Invalid value `\@pdfremotestartview'\MessageBreak
3792          of `pdfremotestartview'\MessageBreak
3793          is replaced by `Fit'%
3794       }%
3795       \let\@pdfremotestartview\@empty
3796     }%
3797     \ifx\@pdfremotestartview\@empty
3798       \def\@pdfremotestartview{/Fit}%
3799     \else
3800       \edef\@pdfremotestartview{/\@pdfremotestartview}%
3801     \fi
3802   \fi
3803 }
3804 \define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}}
3805 \define@key{Hyp}{pdftoolbar}[true]{%
3806   \Hy@boolkey{pdftoolbar}{#1}%
3807 }
3808 \define@key{Hyp}{pdfmenubar}[true]{%
3809   \Hy@boolkey{pdfmenubar}{#1}%
3810 }
3811 \define@key{Hyp}{pdfwindowui}[true]{%
3812   \Hy@boolkey{pdfwindowui}{#1}%
3813 }
3814 \define@key{Hyp}{pdffitwindow}[true]{%
3815   \Hy@boolkey{pdffitwindow}{#1}%
3816 }
3817 \define@key{Hyp}{pdfcenterwindow}[true]{%
3818   \Hy@boolkey{pdfcenterwindow}{#1}%
3819 }
3820 \define@key{Hyp}{pdfdisplaydoctitle}[true]{%
3821   \Hy@boolkey{pdfdisplaydoctitle}{#1}%
3822 }
3823 \define@key{Hyp}{pdfa}[true]{%
3824   \Hy@boolkey{pdfa}{#1}%
3825 }
3826 \define@key{Hyp}{pdfnewwindow}[true]{%
3827   \def\Hy@temp{#1}%
3828   \ifx\Hy@temp\@empty
3829     \Hy@pdfnewwindowsetfalse
3830   \else
3831     \Hy@pdfnewwindowsettrue
3832     \Hy@boolkey{pdfnewwindow}{#1}%
3833   \fi
3834 }
3835 \def\Hy@SetNewWindow{%
3836   \ifHy@pdfnewwindowset
3837     /NewWindow %
3838     \ifHy@pdfnewwindow true\else false\fi
3839   \fi
3840 }
3841 \Hy@DefNameKey{pdfpagelayout}{%
3842   \do{SinglePage}{}%
3843   \do{OneColumn}{}%
3844   \do{TwoColumnLeft}{}%
3845   \do{TwoColumnRight}{}%
3846   \do{TwoPageLeft}{PDF 1.5}%
3847   \do{TwoPageRight}{PDF 1.5}%
3848 }
3849 \define@key{Hyp}{pdflang}{%
3850   \def\@pdflang{#1}%
3851 }
3852 \define@key{Hyp}{pdfpagelabels}[true]{%
3853   \Hy@boolkey{pdfpagelabels}{#1}%
3854 }
3855 \define@key{Hyp}{pdfescapeform}[true]{%
3856   \Hy@boolkey{pdfescapeform}{#1}%
3857 }
3858 \def\@linkbordercolor{1 0 0}
3859 \def\@urlbordercolor{0 1 1}
3860 \def\@menubordercolor{1 0 0}
3861 \def\@filebordercolor{0 .5 .5}
3862 \def\@runbordercolor{0 .7 .7}
3863 \def\@citebordercolor{0 1 0}
3864 \def\@pdfhighlight{/I}
3865 \let\@pdftitle\ltx@empty
3866 \let\@pdfauthor\ltx@empty
3867 \let\@pdfproducer\relax
3868 \def\@pdfcreator{LaTeX with hyperref package}
3869 \let\@pdfcreationdate\ltx@empty
3870 \let\@pdfmoddate\ltx@empty
3871 \let\@pdfsubject\ltx@empty
3872 \let\@pdfkeywords\ltx@empty
3873 \let\@pdftrapped\ltx@empty
3874 \let\@pdfpagescrop\ltx@empty
3875 \def\@pdfstartview{/Fit}
3876 \def\@pdfremotestartview{/Fit}
3877 \def\@pdfstartpage{1}
3878 \let\@pdfprintpagerange\ltx@empty
3879 \let\@pdflang\ltx@empty
3880 \let\PDF@SetupDoc\@empty
3881 \let\PDF@FinishDoc\@empty
3882 \let\phantomsection\@empty
3883 \let\special@paper\@empty
3884 \def\HyperDestNameFilter#1{#1}
3885 \Hy@AtBeginDocument{%
3886   \begingroup
3887     \edef\x{\@ifundefined{stockheight}\paperheight\stockheight}%
3888     \dimen@=\x\relax
3889     \ifdim\dimen@>\z@
3890     \else
3891       \dimen@=11in\relax
3892       \Hy@WarningNoLine{%
3893         Height of page (\expandafter\string\x) %
3894         is invalid (\the\x),\MessageBreak
3895         using 11in%
3896       }%
3897     \fi
3898     \dimen@=0.99626401\dimen@
3899     \xdef\Hy@pageheight{\strip@pt\dimen@}%
3900   \endgroup
3901 }
3902 \def\HyInd@EncapChar{\|}
3903 \let\hyper@normalise\ExecuteOptions
3904 \let\ExecuteOptions\hypersetup
3905 \Hy@RestoreCatcodes
3906 \InputIfFileExists{hyperref.cfg}{}{}
3907 \Hy@SetCatcodes
3908 \let\ExecuteOptions\hyper@normalise
3909 \ifx\Hy@MaybeStopNow\relax
3910 \else
3911   \Hy@stoppedearlytrue
3912   \expandafter\Hy@MaybeStopNow
3913 \fi
3914 \Hy@stoppedearlyfalse
3915 \SetupKeyvalOptions{family=Hyp}
3916 \DeclareLocalOptions{%
3917   a4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper%
3918 }
3919 \@ifpackageloaded{tex4ht}{%
3920   \@ifpackagewith{hyperref}{tex4ht}{}{%
3921     \PassOptionsToPackage{tex4ht}{hyperref}%
3922   }%
3923 }{}
3924 \let\ReadBookmarks\relax
3925 \ProcessKeyvalOptions{Hyp}
3926 \def\Hy@xspace@end{}
3927 \ltx@IfUndefined{xspaceaddexceptions}{%
3928   \Hy@AtBeginDocument{%
3929     \ltx@IfUndefined{xspaceaddexceptions}{%
3930     }{%
3931       \def\Hy@xspace@end{%
3932         \ltx@gobble{end for xspace}%
3933       }%
3934       \xspaceaddexceptions{\Hy@xspace@end,\hyper@linkend,\hyper@anchorend}%
3935     }%
3936   }%
3937 }{%
3938   \def\Hy@xspace@end{%
3939     \ltx@gobble{end for xspace}%
3940   }%
3941   \xspaceaddexceptions{\Hy@xspace@end,\hyper@linkend,\hyper@anchorend}%
3942 }
3943 \Hy@AtBeginDocument{%
3944   \ifHy@draft
3945     \let\hyper@@anchor\@gobble
3946     \gdef\hyper@link#1#2#3{#3\Hy@xspace@end}%
3947     \def\hyper@anchorstart#1#2{#2\Hy@xspace@end}%
3948     \def\hyper@anchorend{\Hy@xspace@end}%
3949     \let\hyper@linkstart\@gobbletwo
3950     \def\hyper@linkend{\Hy@xspace@end}%
3951     \def\hyper@linkurl#1#2{#1\Hy@xspace@end}%
3952     \def\hyper@linkfile#1#2#3{#1\Hy@xspace@end}%
3953     \def\hyper@link@[#1]#2#3#4{#4\Hy@xspace@end}%
3954     \def\Acrobatmenu#1#2{\leavevmode#2\Hy@xspace@end}%
3955     \let\PDF@SetupDoc\@empty
3956     \let\PDF@FinishDoc\@empty
3957     \let\@fifthoffive\@secondoftwo
3958     \let\@secondoffive\@secondoftwo
3959     \let\ReadBookmarks\relax
3960     \let\WriteBookmarks\relax
3961     \Hy@WarningNoLine{Draft mode on}%
3962   \fi
3963   \Hy@DisableOption{draft}%
3964   \Hy@DisableOption{nolinks}%
3965   \Hy@DisableOption{final}%
3966 }
3967 \Hy@DisableOption{pdfa}
3968 \ifHy@pdfa
3969   \kvsetkeys{Hyp}{pdfversion=1.4}%
3970   \def\Hy@Acrobatmenu#1#2{%
3971     \leavevmode
3972     \begingroup
3973       \edef\x{#1}%
3974       \@onelevel@sanitize\x
3975       \ifx\x\Hy@NextPage
3976         \let\y=Y%
3977       \else
3978         \ifx\x\Hy@PrevPage
3979           \let\y=Y%
3980         \else
3981           \ifx\x\Hy@FirstPage
3982             \let\y=Y%
3983           \else
3984             \ifx\x\Hy@LastPage
3985               \let\y=Y%
3986             \else
3987               \let\y=N%
3988             \fi
3989           \fi
3990         \fi
3991       \fi
3992     \expandafter\endgroup
3993     \ifx\y Y%
3994     \else
3995       \Hy@Error{%
3996         PDF/A: Named action `#1' is not permitted%
3997       }\@ehc
3998       {#2}%
3999       \expandafter\@gobble
4000     \fi
4001   }%
4002   \def\Hy@temp#1{%
4003     \expandafter\def\csname Hy@#1\endcsname{#1}%
4004     \expandafter\@onelevel@sanitize\csname Hy@#1\endcsname
4005   }%
4006   \Hy@temp{NextPage}%
4007   \Hy@temp{PrevPage}%
4008   \Hy@temp{FirstPage}%
4009   \Hy@temp{LastPage}%
4010 \else
4011   \def\Hy@Acrobatmenu#1#2{\leavevmode}%
4012 \fi
4013 \Hy@nextfalse
4014 \ltx@IfUndefined{spanish@sh@"@sel}{}{\Hy@nexttrue}
4015 \ltx@IfUndefined{galician@sh@"@sel}{}{\Hy@nexttrue}
4016 \ltx@IfUndefined{estonian@sh@"@sel}{}{\Hy@nexttrue}
4017 \ifHy@next
4018   \let\texttilde\~%
4019 \fi
4020 \def\Hy@wrapper@babel#1#2{%
4021   \begingroup
4022     \Hy@safe@activestrue
4023     \set@display@protect
4024     \edef\x{#2}%
4025     \@onelevel@sanitize\x
4026     \toks@{#1}%
4027     \edef\x{\endgroup\the\toks@{\x}}%
4028   \x
4029 }
4030 \def\Hy@WrapperDef#1{%
4031   \begingroup
4032     \escapechar=\m@ne
4033     \xdef\Hy@gtemp{%
4034       \expandafter\noexpand\csname HyWrap@\string#1\endcsname
4035     }%
4036   \endgroup
4037   \edef#1{%
4038     \noexpand\Hy@wrapper@babel
4039     \expandafter\noexpand\Hy@gtemp
4040   }%
4041   \expandafter\def\Hy@gtemp
4042 }
4043 \ifHy@hyperfigures
4044   \Hy@Info{Hyper figures ON}%
4045 \else
4046   \Hy@Info{Hyper figures OFF}%
4047 \fi
4048 \ifHy@nesting
4049   \Hy@Info{Link nesting ON}%
4050 \else
4051   \Hy@Info{Link nesting OFF}%
4052 \fi
4053 \ifHy@hyperindex
4054   \Hy@Info{Hyper index ON}%
4055 \else
4056   \Hy@Info{Hyper index OFF}%
4057 \fi
4058 \ifHy@plainpages
4059   \Hy@Info{Plain pages ON}%
4060 \else
4061   \Hy@Info{Plain pages OFF}%
4062 \fi
4063 \ifHy@backref
4064   \Hy@Info{Backreferencing ON}%
4065 \else
4066   \Hy@Info{Backreferencing OFF}%
4067 \fi
4068 \ifHy@typexml
4069   \Hy@AtEndOfPackage{%
4070     \RequirePackage{color}%
4071     \RequirePackage{nameref}%
4072   }%
4073 \fi
4074 \Hy@DisableOption{typexml}
4075 \ifHy@implicit
4076   \Hy@InfoNoLine{Implicit mode ON; LaTeX internals redefined}%
4077 \else
4078   \Hy@InfoNoLine{Implicit mode OFF; no redefinition of LaTeX internals}%
4079   \def\MaybeStopEarly{%
4080     \Hy@Message{Stopped early}%
4081     \Hy@AtBeginDocument{%
4082       \PDF@FinishDoc
4083       \gdef\PDF@FinishDoc{}%
4084     }%
4085     \endinput
4086   }%
4087   \Hy@AtBeginDocument{%
4088     \let\autoref\ref
4089     \let\autopageref\pageref
4090     \ifx\@pdfpagemode\@empty
4091       \gdef\@pdfpagemode{UseNone}%
4092     \fi
4093     \global\Hy@backreffalse
4094   }%
4095   \Hy@AtEndOfPackage{%
4096     \global\let\ReadBookmarks\relax
4097     \global\let\WriteBookmarks\relax
4098   }%
4099 \fi
4100 \Hy@DisableOption{implicit}
4101 \Hy@AtEndOfPackage{%
4102   \@ifpackageloaded{tex4ht}{%
4103     \def\Hy@driver{htex4ht}%
4104     \Hy@texhttrue
4105   }{}%
4106   \ifx\Hy@driver\@empty
4107   \else
4108     \def\Hy@temp{hpdftex}%
4109     \ifpdf
4110       \ifx\Hy@driver\Hy@temp
4111       \else
4112         \Hy@WarningNoLine{%
4113           Wrong driver `\Hy@driver.def';\MessageBreak
4114           pdfTeX is running in PDF mode.\MessageBreak
4115           Forcing driver `\Hy@temp.def'%
4116         }%
4117         \let\Hy@driver\Hy@temp
4118       \fi
4119     \else
4120       \ifx\Hy@driver\Hy@temp
4121         \Hy@WarningNoLine{%
4122           Wrong driver `\Hy@driver.def';\MessageBreak
4123           pdfTeX is not running in PDF mode.\MessageBreak
4124           Using default driver%
4125         }%
4126     &nb