%%
%% This is file `unicodes.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% aeb_pro.dtx  (with options: `copyright,unicode')
%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% aeb_pro.sty package,                  2006-9-08      %%
%% Copyright (C) 2006  D. P. Story                      %%
%%   dpstory@acrotex.net                                %%
%%                                                      %%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License        %%
%% Distributed from CTAN archives in directory          %%
%% macros/latex/base/lppl.txt; either version 1 of the  %%
%% License, or (at your option) any later version.      %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\define@key{ahref}{page}[0]{\def\ahref@page{#1}}
\def\ahref@page{0}
\define@key{ahref}{view}[Fit]{\def\ahref@view@keyvalue{/#1}}
\def\ahref@view@keyvalue{/Fit}
\define@key{ahref}{dest}[]{\def\ahref@dest{#1}}
\let\ahref@dest\@empty
\define@choicekey{ahref}{open}[\val\nr]{userpref,new,existing}
{%
        \ifcase\nr\relax
            \let\ahref@open@keyvalue\@empty
        \or
            \def\ahref@open@keyvalue{/NewWindow true }%
        \or
            \def\ahref@open@keyvalue{/NewWindow false }%
        \fi
}{}
\define@choicekey{ahref}{border}[\val\nr]{visible,invisible}
{%
    \ifcase\nr\relax
        \def\ahref@border{0 0 1}%
        \def\ahef@invisible@border{1}%
    \or
       \def\ahref@border{0 0 0}% W = 0 also?
       \let\ahef@invisible@border\@empty
    \fi
}{}

\define@choicekey{ahref}{highlight}[\val\nr]{none,invert,outline,insert}
{%
    \ifcase\nr\relax
        \let\ahref@highlight\@empty
    \or
        \def\ahref@highlight{/H/I}%
    \or
        \def\ahref@highlight{/H/O}%
    \or
        \def\ahref@highlight{/H/P}%
    \fi
}{}
\let\ahref@open@keyvalue\@empty
\define@key{ahref}{bordercolor}[]{\def\ahref@bordercolor{#1}} % r g b
\define@choicekey{ahref}{linestyle}[\val\nr]{solid,dashed,underlined}
{%
    \ifcase\nr\relax
        \def\ahref@linestyle@keyvalue{/S/S}%
    \or
        \def\ahref@linestyle@keyvalue{/S/D}% % Dashed [0 0 1[3.0]]
    \or
        \def\ahref@linestyle@keyvalue{/S/U}%
    \fi
}
\def\ahref@dashedlinetyle{/S/D}
\define@choicekey{ahref}{linewidth}[\val\nr]{thin,medium,thick}
{%
    \ifcase\nr\relax
        \def\ahref@linewidth{1}%
    \or
        \def\ahref@linewidth{2}%
    \or
        \def\ahref@linewidth{3}%
    \fi
}
\define@choicekey{ahref}{goto}[\val\nr]{p2c,c2p,c2c}
{%
    \ifcase\nr\relax
        \global\let\targetDictionary\targetDictionary@pc
    \or
        \global\let\targetDictionary\targetDictionary@cp
    \or
        \global\let\targetDictionary\targetDictionary@cc
    \fi
}{}
\define@choicekey{ahref}{launch}[\val\nr]{save,view,viewnosave}
    {\edef\ahref@launch@type{\nr}}{}
\def\ahref@launch@type{0}%
\define@key{ahref}{preset}[]{\def\ahref@preset{#1}}
\let\ahref@preset\@mpty
\def\ahrefcolor{red}
\def\targetDictionary@pc#1{/T<</N<\aeb@exiii\stringiiUnicode\aref(#1)\relax>/R/C>>}
\def\targetDictionary@cp#1{/T<</R/P>>}
\def\targetDictionary@cc#1{/T<</R/P/T<</N<\aeb@exiii\stringiiUnicode\aref(#1)\relax>/R/C>>>>}
\def\factory@ahyperref@defaults{goto=p2c,page,dest,open=userpref,view,%
    border=invisible,highlight=invert,linestyle=solid,linewidth=thin,%
    bordercolor,preset}
\newcommand{\setahyperrefDefaults}[1]{\def\aeb@setahyperrefDefaults{#1}}
\let\aeb@setahyperrefDefaults\@empty
\newcommand{\resetahyperrefDefaults}{\let\aeb@setahyperrefDefaults\@empty}
\def\aeb@initahref#1{%
    \ifx\aeb@setahyperrefDefaults\@empty
        \edef\expand@setkeys{\noexpand\setkeys{ahref}{\factory@ahyperref@defaults}}%
    \else\expand@setkeys{\noexpand\setkeys{ahref}{\factory@ahyperref@defaults,\aeb@setahyperrefDefaults}}%
    \fi\expand@setkeys
    \setkeys{ahref}{#1}%
    \ifx\ahref@preset\@empty\else\edef\expand@setkeys{\noexpand\setkeys{ahref}{\ahref@preset}}\expand@setkeys\fi
    \let\ahref@dasharray\@empty
    \ifx\ahref@linestyle@keyvalue\ahref@dashedlinetyle
        \def\aeb@border@parameters{0 0 \ahref@linewidth[3.0]}%
        \def\ahref@dasharray{/D[3.0]}%
    \else
        \edef\aeb@border@parameters{\ahref@border}%
    \fi
    \ifx\ahef@invisible@border\@empty\def\ahref@linewidth{0}\fi
    \def\ahref@BS@Dict{/BS<<\ahref@dasharray\ahref@linestyle@keyvalue/W \ahref@linewidth>>
    \ifx\ahref@bordercolor\@empty\else/C[\ahref@bordercolor]\fi\ahref@highlight}%
}
\newcommand{\ahyperref}[3][]{%
    \begingroup
    \def\u{\string\\u}%
    \aeb@initahref{#1}%
    \ifx\ahref@dest\@empty
        \def\ahref@dest@keyvalue{/D[\ahref@page\space\ahref@view@keyvalue]}%
    \else
        \edef\ahref@dest@keyvalue{/D(\labelRef{\ahref@dest})}%
    \fi
    \aeb@ahref@setlink{#2}{#3}%
}
\newcommand{\ahyperlink}[3][]{%
    \begingroup
    \def\u{\string\\u}%
    \aeb@initahref{#1}%
    \ifx\ahref@dest\@empty
        \def\ahref@dest@keyvalue{/D[\ahref@page\space\ahref@view@keyvalue]}%
    \else
        \def\ahref@dest@keyvalue{/D(\ahref@dest)}%
    \fi
    \aeb@ahref@setlink{#2}{#3}%
}
\def\aeb@ahref@setlink#1#2{%
    \setLinkText[\Border{\aeb@border@parameters}\rawPDF{\ahref@BS@Dict}%
    \A{\ahref@dest@keyvalue/S/GoToE\ahref@open@keyvalue\targetDictionary{#1}}]%
    {\textcolor{\ahrefcolor}{#2}}%
    \endgroup
}
\newcommand{\ahyperextract}[3][]
{%
    \begingroup
    \def\u{\string\\u}%
    \aeb@initahref{#1}%
    \setLinkText[\Border{\aeb@border@parameters}\rawPDF{\ahref@BS@Dict}%
    \A{\JS{this.exportDataObject({cName: "\aref(#2)", nLaunch: \ahref@launch@type})}}]%
    {\textcolor{\ahrefcolor}{#3}}%
    \endgroup
}
\def\convertChriiUnicode#1#2{%
    \expandafter\gdef\csname uni@#1\endcsname{#2}%
}%
\convertChriiUnicode\space{0020}
\convertChriiUnicode{!}{0021}
\convertChriiUnicode{#}{0023}
\convertChriiUnicode{$}{0024}
{\@makeother\%
\convertChriiUnicode{%}{0025}}
\convertChriiUnicode{&}{0026}
\convertChriiUnicode{'}{0027}
\convertChriiUnicode{(}{0028}
\convertChriiUnicode{)}{0029}
\convertChriiUnicode{*}{002A}
\convertChriiUnicode{+}{002B}
\convertChriiUnicode{,}{002C}
\convertChriiUnicode{-}{002D}
\convertChriiUnicode{.}{002E}
\convertChriiUnicode{/}{002F}
\convertChriiUnicode{0}{0030}
\convertChriiUnicode{1}{0031}
\convertChriiUnicode{2}{0032}
\convertChriiUnicode{3}{0033}
\convertChriiUnicode{4}{0034}
\convertChriiUnicode{5}{0035}
\convertChriiUnicode{6}{0036}
\convertChriiUnicode{7}{0037}
\convertChriiUnicode{8}{0038}
\convertChriiUnicode{9}{0039}
\convertChriiUnicode{:}{003A}
\convertChriiUnicode{;}{003B}
\convertChriiUnicode{<}{003C}
\convertChriiUnicode{=}{003D}
\convertChriiUnicode{>}{003E}
\convertChriiUnicode{?}{003F}
\convertChriiUnicode{@}{0040}
\convertChriiUnicode{A}{0041}
\convertChriiUnicode{B}{0042}
\convertChriiUnicode{C}{0043}
\convertChriiUnicode{D}{0044}
\convertChriiUnicode{E}{0045}
\convertChriiUnicode{F}{0046}
\convertChriiUnicode{G}{0047}
\convertChriiUnicode{H}{0048}
\convertChriiUnicode{I}{0049}
\convertChriiUnicode{J}{004A}
\convertChriiUnicode{K}{004B}
\convertChriiUnicode{L}{004C}
\convertChriiUnicode{M}{004D}
\convertChriiUnicode{N}{004E}
\convertChriiUnicode{O}{004F}
\convertChriiUnicode{P}{0050}
\convertChriiUnicode{Q}{0051}
\convertChriiUnicode{R}{0052}
\convertChriiUnicode{S}{0053}
\convertChriiUnicode{T}{0054}
\convertChriiUnicode{U}{0055}
\convertChriiUnicode{V}{0056}
\convertChriiUnicode{W}{0057}
\convertChriiUnicode{X}{0058}
\convertChriiUnicode{Y}{0059}
\convertChriiUnicode{Z}{005A}
\convertChriiUnicode{[}{005B}
\convertChriiUnicode{]}{005D}
\convertChriiUnicode{^}{005E}
\convertChriiUnicode{_}{005F}
\convertChriiUnicode{`}{0060}
\convertChriiUnicode{a}{0061}
\convertChriiUnicode{b}{0062}
\convertChriiUnicode{c}{0063}
\convertChriiUnicode{d}{0064}
\convertChriiUnicode{e}{0065}
\convertChriiUnicode{f}{0066}
\convertChriiUnicode{g}{0067}
\convertChriiUnicode{h}{0068}
\convertChriiUnicode{i}{0069}
\convertChriiUnicode{j}{006A}
\convertChriiUnicode{k}{006B}
\convertChriiUnicode{l}{006C}
\convertChriiUnicode{m}{006D}
\convertChriiUnicode{n}{006E}
\convertChriiUnicode{o}{006F}
\convertChriiUnicode{p}{0070}
\convertChriiUnicode{q}{0071}
\convertChriiUnicode{r}{0072}
\convertChriiUnicode{s}{0073}
\convertChriiUnicode{t}{0074}
\convertChriiUnicode{u}{0075}
\convertChriiUnicode{v}{0076}
\convertChriiUnicode{w}{0077}
\convertChriiUnicode{x}{0078}
\convertChriiUnicode{y}{0079}
\convertChriiUnicode{z}{007A}
\convertChriiUnicode{|}{007C}
{\@makeother~
\convertChriiUnicode{~}{007E}}
\def\EURO{20AC}
\def\BSLASH{005C}
\def\LBRACE{007B}
\def\RBRACE{007D}
\def\DQUOTE{0022}
\def\displayUnicode#1{\csname uni@#1\endcsname}
\def\stringiiUnicode{FEFF\expandafter\@stringiiUnicode}
\def\@stringiiUnicode#1{%
    \ifx#1\relax\else
        \ifx#1\u\aeb@exiii\getRawUnicode
        \else
            \displayUnicode{#1}\aeb@exiii\@stringiiUnicode
        \fi
    \fi
}
\def\getRawUnicode{\expandafter\@getRawUnicode}
\def\@getRawUnicode#1#2#3#4{#1#2#3#4\@stringiiUnicode}
\def\unicodeStr(#1){\aeb@exiii\stringiiUnicode\aref(#1)\relax}
\def\sanitize@attach{\@makeother\#\@makeother\$\@makeother\%\@makeother~}
{\obeyspaces\gdef\aebarg#1{\gdef\thearg{#1}\aeb@labelName}\gdef\aebargstar#1{\gdef\thearg{#1}\aeb@labelNamestar}}%
{\obeyspaces\gdef\xaebarg{\xdef\thearg{AeB Attachment \aeb@attachNum}\aeb@labelName}}%
\def\labelName#1{\bgroup\def\ddargi{#1}\obeyspaces\sanitize@attach\aebarg}%
\def\labelName@star#1{\bgroup\def\ddargi{#1}\obeyspaces\sanitize@attach\aebargstar}%
\def\aeb@@autolabelNum#1#2{\bgroup\def\ddargi{#1}\gdef\aeb@attachNum{#2}\obeyspaces\sanitize@attach\xaebarg}%
\newcommand{\autolabelNum}{\@ifstar{\aeb@autoLabelNumstar}{\aeb@autoLabelNum}}
\newcommand\aeb@autoLabelNum[2][]{\def\alnargi{#1}%
    \ifx\alnargi\@empty
         \def\aeb@next{\labelName{attach#2}{AeB\space Attachment\space #2}}%
    \else
        \def\aeb@next{\labelName{#1}{AeB\space Attachment\space #2}}%
    \fi
    \aeb@next%
}
\newcommand{\aeb@autoLabelNumstar}[2][]{\def\alnargi{#1}\gdef\@thisattachnum{#2}%
    \ifx\alnargi\@empty
        \def\aeb@next{\labelName@star{attach#2}}%
    \else
        \def\aeb@next{\labelName@star{#1}}%
    \fi
    \aeb@next
}
\def\aeb@labelName{\global\expandafter\let\csname aeb@aName@\ddargi\endcsname\thearg\egroup}
\def\aeb@labelNamestar{\global\expandafter\let\csname aeb@aName@\ddargi\endcsname\thearg
    \global\expandafter\let\csname aeb@aName@attach\@thisattachnum\endcsname\thearg\egroup
}
\@ifpackageloaded{exerquiz}{}
{%
    \def\verbatimwrite{\@bsphack
        \let\do\@makeother\dospecials
        \catcode`\^^M\active \catcode`\^^I=12
        \def\verbatim@processline{%
            \immediate\write\verbatim@out
            {\the\verbatim@line}}%
        \verbatim@start}
        \def\endverbatimwrite{\@esphack}
}
\newenvironment{attachmentNames}
{%
    \newwrite \aeb@attachments@xref
    \immediate\openout \aeb@attachments@xref \jobname_xref.cut
    \let\verbatim@out\aeb@attachments@xref
    \verbatimwrite}
{%
    \endverbatimwrite
    \immediate\closeout \aeb@attachments@xref
    \aftergroup\aeb@Input@xref
}
\def\aeb@Input@xref{\InputIfFileExists{\jobname_xref.cut}{}{}}
\endinput
%%
%% End of file `unicodes.def'.
